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:BQ76菊花链测量设置-无预期响应;故障排除

Guru**** 2482225 points


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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/697300/bq76pl455a-bq76-daisy-chain-measurement-settings---no-responses-as-expected-troubleshooting

器件型号:BQ76PL455A

尊敬的所有人:

我有一个菊花链设置、目前正在测试3个 BQ 芯片(我们的电池组具有10个、但首先尝试简单)。 我使用软件参考手册(slva617a.pdf)初始化了寄存器。 我包含了以下代码。 请注意:广播消息的实现方式非常难看:由于这些消息缺少地址字段、寄存器字段位于地址字段中、寄存器字段位于地址字段中(在我包含的代码中)。 数据长度字段指定字节数。 如果设置为0、则不传输任何数据字节。

代码当前一直运行到以下时刻:自动寻址工作正常! 所有连接的电路板都响应其地址(测试了不同数量的 BQ 芯片、即使是全部10个)。 然后、从'step10'开始、测量设置被发送到电路板(仍然遵循软件参考手册)。

问题从这里开始:在连接了1、2或3个板(地址0、1和2)的情况下、同步采样通道命令(软件参考手册中的第3.2章)只返回网络中第一个板(地址0)的数据。 发送同步示例消息、后跟特定读取消息(Boardaskx)也不能按预期工作。 链中的任何电路板都不会发送响应。 奇怪的是、将同步样本与 aksBoardx 重复5次、突然从板编号0报告数据。 即使我询问电路板2的数据、电路板0也会在5次传输后回复。 我在下面添加了询问消息的数据。

这让我相信我在设置 BQ 芯片的寄存器时出错了。 我尝试了不同的设置、但没有成功。 我希望有人遇到过类似的问题并解决了这些问题、或者愿意查看我配置的设置并检测到错误。

非常非常非常非常非常感谢。

///---------------- 要求提供数据讯息-----------------------------------------

       UARTsendMessage synchroSampleChannels;
       askData.bit.type = 0xE1;
       askData.bit.address = 0x02;//register 字段、因为这是一个广播命令
       askData.bit.register = 0x02;//测量所有电池和所有 AUX 连接器,因为这是一个广播命令
       uint64_t message0 = 0x99;//数据长度设置为0,因此该字节不发送
       askData.bit.data =信息0;
       askData.bit.datalthength = 0;

       UARTsendMessage synctimple;
       askData.bit.type = 0xF1;
       askData.bit.address = 0x02;//register 字段、因为这是一个广播命令
       askData.bit.register = 0x00;//数据的第一部分、因为这是一个广播命令
       uint64_t Message1 = 0x99;//数据长度设置为0,因此不发送该字节
       askData.bit.data =&Message1;
       askData.bit.datalthength = 0;

       UARTsendMessage askBoard2;
       askData.bit.type = 0x81;
       askData.bit.address = 0x02;
       askData.bit.register = 0x02;
       uint64_t message2 = 0x20;//测量所有电池和所有 AUX 连接器
       askData.bit.data =信息2;
       askData.bit.datalthength = 1;

e2e.ti.com/.../SatBoard.cpp

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

    您能否在 UART 上放置一个逻辑分析仪来查看流量?

    您是否将所有器件设置为相同的波特率? 我还建议使用示波器观察菊花链。

    您是否已通过单个电路板成功通信? 我建议从那里开始、并逐步添加更多内容。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David:

    感谢您的回复! 实际上、我一直在使用串行监视器检查数据。 但是、您是对的、首先要做的是。 今晚我将简单地开始:一个电路板、一组数据等 然后从此处展开。 会让您随时了解最新信息!

    再次感谢你们,度过了一个愉快的周末:)

    Jeroen