This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] BQ76PL455A:与唤醒信号相关的 UART 通信

Guru**** 2496305 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/719847/bq76pl455a-uart-communication-in-relation-to-wakeup-signal

器件型号:BQ76PL455A
主题中讨论的其他器件: BQ76PL455EVM

我们使用基于 EVM 的 BQ76PL455进行了设计。

BQ76PL455位于与"初级侧"隔离的"次级侧"上、其中包含与另一台设备的连接。

我们使用基于 EVM 的 BQ76PL455进行了设计。

BQ76PL455位于与"初级侧"隔离的"次级侧"上、其中包含与另一台设备的连接。

在为初级侧供电时、我们看到电池监控器唤醒。 (VIO 达到5.3V)。

当我们开始通过 GUI 从 EVM 进行通信时、我们看到传输了1个字节、电池监控器立即关闭。 我们现在必须再次发送唤醒脉冲、然后才能重试。 每次重试都会得到相同的结果。

当我们稍微改变启动时:我们强制唤醒为高电平、直到建立通信(此时会显示包含器件数量和地址的窗口)。 通信似乎在正常运行。

如果我们按“Send comm. GUI 第二个选项卡上的“重置”按钮,我们遇到与启动时相同的问题。 我们关闭电池监控器的电源。

您能给我们一些小贴士吗?您可以在哪里找到解决方案? 我们可以始终将唤醒保持在高电平、但不能将电池监控器置于睡眠状态。 我们希望能够将电池监控器置于睡眠状态。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Leo、

    请尽可能分享您的原理图。 我已将此帖子通知我们的团队、我们中的一位将能够帮助研究该帖子。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果 VIO 为5.3V、则器件唤醒。 您无需执行任何操作即可将其唤醒。 您现在可以开始了。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    将其用作要 调试的 O 范围捕获。 第一步是 确认发生了干净的唤醒。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    相关部分下面。

    我们打算在存储和运输过程中关闭电池控制器。 因此、我们需要一种唤醒电池的方法。

    问题在于、在开始通信时、电池管理 IC 进入关断状态(除非我们将 Wakeup 输入保持在高电平、直到它识别到 TI GUI 中存在的器件数量)。 之后、我们可以将唤醒设置为低电平、并使其继续工作)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Leo、

    很抱歉、我的示波器捕获附件没有第一次出现。

    听起来您的器件正在唤醒 pulse..below 图1确认、但器件不应关闭 down..please 确认、如果唤醒脉冲在基本器件上是一次突发脉冲。  v5vAO 已启动...图2中也显示了稳压器和的序列

    唤醒后的重要充电功能。

    问题似乎是器件未接收到干净的唤醒脉冲。 请参阅 所需的 d/s 脉冲宽度。

    92)什么是电池组电压?

    图1

    图2

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Vish、

    我制作了一些示波器图片:

    以上内容对我来说一切正常。 (与您的图片相比、唤醒时的斜率略有不同。)

    我们使用50V 电池组电压。

    在图片下方、通过 RX 引脚唤醒(总计)、此图片中也为5VAO。

    从这张图片放大到下面图片中的第一个和最后一个部分:

    在最后一张图片中、您可以看到、在接收到第一次通信后、电池控制器关闭、RESUktt 不再可能进行通信。 我检查了 GUI 的正常行为。 它通常向电池控制器发送最多七倍的相同字节。 然后发送一些其他数据。

    如果我在与 GUI 通信的第一部分(直到它检测到板的数量)期间强制唤醒为高电平、并使其再次变为低电平。 我可以与电池控制器进行通信、而不会出现任何问题。

    我已经在多个电路板上尝试过这种方法。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Leo、

    为了帮助进一步调试问题、您是否能够执行以下3项测试? 每项工作都应单独完成。

    1.如上所述唤醒器件时、监控并捕获 COMMH+/COMMH-。 查看这些线路上是否发送了任何数据。 如果没有、则确保 VP、VDIG、VIO 和 VDD 都正确达到其 POR 阈值、因为这意味着器件不会达到唤醒传播级。

    2.尝试发送一系列唤醒脉冲(类似于 Vish 在示波器捕获中显示的脉冲),并查看设备是否仍然响应相同:
    -尝试5个2ms 脉冲、在脉冲之间间隔10ms (如 Vish 的示波器图所示)。 查看器件是否能够通信。

    3.如果可以,请尝试以下操作:
    -尝试5个500us 脉冲(如图所示)、其间为3ms。 查看器件是否能够通信。

    这将帮助我们更好地确定唤醒序列中遇到问题的位置、以及器件之间是否正确传播唤醒信号到器件。

    谢谢、
    Vince
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Vince:

    第1点我知道我在差分总线上获得唤醒信号到我已经检查的下一部分。

    第2点对于5个脉冲、它仍然无法通信(我甚至增加到100个脉冲、但结果相同)

    我仍然具有相同的行为。 我认为电池管理 IC 处于唤醒状态。 但它会收到它决定睡眠的东西。 如果我们在 GUI 初始化期间将 WAKE 引脚保持为高电平、然后将其设为低电平、则通信将继续进行、直到按下按钮重新进行串行通信。 之后、IC 再次处于睡眠状态。

    我已尝试在76PL455EVM 上重现此问题。 我部分成功地复制了。 如果您断开与 J3的 PIN6的连接(从 FTDI 唤醒),则永远不能与 BMS 通信?????? 。 这与我们自己的电路板之间的区别在于、我们自己的电路板在接收到第一个字节后会关断。 EVM 保持唤醒状态。

    下面是在 EVM 上进行的测量(J3的引脚6仍处于连接状态)

    我在 EVM 上看到、只要有唤醒脉冲、就会接收到一个字节、然后是下一个唤醒脉冲(重复多次)、然后开始通信。 唤醒和接收到的字节之间似乎存在关系。 (这是真的吗?)。 数据表中没有提到 WAKE 和 RX 之间的任何关系。 它也没有提到您需要发送超过1个唤醒脉冲!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Leo、

    要回答您提出的问题:
    1.是的、如果您移除了 J3的 PIN6的 WAKE 引脚连接(从 FTDI 唤醒)、则无法唤醒器件、因此无法与器件通信、因为器件从未唤醒。 这可以在数据表中看到。
    2.您无需发送超过1个唤醒脉冲即可唤醒器件。 这仅在有多个器件堆叠在一起时有用。 如果有多个器件、示例代码将多次发送断电信号(等于堆栈中器件数量的一半)、 然后发送多个唤醒信号(等于堆栈中器件数量的一半)以确保所有器件都加电。

    在您的回复中、您提到了将信号从 PC 发送到 μ~唤醒引脚(J3的 PIN6)、该引脚被指定为反相引脚。 这意味着您没有将正确发送的唤醒信号反相。 根据数据表:"来自 PC 的唤醒信号在被定向至 bq76PL455A-Q1之前在 bq76PL455EVM 上被反相。" 您必须反转唤醒信号、以便在 EVM 上使用~唤醒等反相引脚时正确唤醒器件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Vince:

    1开始通信时 EVM 已唤醒。 存在 Vp 和 Vdig。 您是否能够使用 EVM 对此进行测试? (从 J3断开引脚6或从 FTDI 连接器拉出触点)。 您的结果是什么?

    2正常、因此1个唤醒脉冲应该足够了。 我知道我的器件处于唤醒状态、但由于某种未知原因、它在接收到第一个字节后进入睡眠状态。

    我将尝试反转来自 FTDI 的唤醒信号、并在明天将其连接到我们自己的电路板。 我将告诉您结果。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Leo、

    要回答您的问题:
    在运行期间将唤醒保持未连接或断开是超出设计规格的(请参阅数据表中的引脚功能表)、可能会导致意外行为。 这可能是您在问题2中看到的内容的一部分。

    请告诉我该建议是否能解决问题、或者您是否需要任何进一步的帮助!

    谢谢、
    Vince
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Vince:

    我再次使用 EVM 进行了测试。

    这次我从 FTDI 断开了 J3的引脚6、但我放置了一个从引脚3 (VCC)到引脚6 (WAKE)的上拉电阻。

    如果我这么做、唤醒引脚被定义为零。 在电路板加电后、我在 WAKE 引脚上手动给出一个脉冲(引脚1和引脚6之间短路)。 验证电路板是否处于唤醒状态(测量 VP1)后、我尝试启动 GUI。 这样得出的结果与我们自己的电路板上的结果完全相同。 通信将无法启动、电池芯片进入睡眠状态。

    那么、EVM 与我们的板完全相同!?。

    因此、我的问题尚未得到解决。 串行通信开始时需要非常具体的东西。 (提醒您、如果我们将 WAKEUP 引脚连接到高电平、则通信始终处于启动状态。 但我们无法将芯片置于睡眠模式)。

    欢迎使用其他提示和要测试的想法。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Leo、

    您是否能够在您的电路板上测试以下内容并让我们知道结果? 这将帮助我们缩小导致这种奇怪行为的其他潜在原因:
    -在微控制器/主机上电或连接之前、但在 PL455处于唤醒状态之后、测量 PL455的 VIO 电压。 [某些输入(GPIO、FAULT_N、RX 和 TX 引脚)必须小于 VIO+0.3V]
    执行 COMM_RESET 并尝试通信

    谢谢、
    Vince

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Vince:

    在我们开始通信之前、VIO 在唤醒后为5.3V。

    请注意、我们不直接使用 CPU。 我们为串行接口使用 RS485至 TTL 转换 IC。 该转换器 IC 始终连接到次级(电池)侧的 VIO (请参阅此线程开头的原理图)。

    如果我强制通信开始(通过长唤醒脉冲(10秒))、我可以运行 GUI。 如果我在 GUI (第二个选项卡)中按下重新初始化通信按钮、我可以看到 COMM_RESET 已完成、并且之后的序列与启动 GUI 时的序列相同。 结果也是一样的。 虽然在按下重新通信之前器件正在正常通信、但器件会关闭。

    简而言之:当我提供10秒的唤醒脉冲时、我在这10秒内启动 GUI、我进行了通信。 直到我关闭 GUI 并再次启动它、或者我按下再通信按钮。 断开 FTDI 的引脚6并在 WAKE 的开路输入上施加上拉电阻、也可以在 EVM 上重现这一点。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Leo、

    我建议检查与唤醒/通信线路相关的组件的功能、并确保没有损坏。 唤醒线路的任何断开或波动、甚至是暂时的、都可能导致您在每次尝试通信时看到的问题。 由于您的设计在整个通信过程中强制拉高唤醒电平时起作用、因此在每次通信期间可能会导致 VIO 或 VP 波动。 因此、在发送/接收通信时、确保 VIO、VP 或 VDIG 没有变化将是有益的。

    谢谢、
    Vince