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-Q1:BQ76PL455A-Q1菊花链问题、无法读取级联器件地址

Guru**** 2575565 points


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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/750774/bq76pl455a-q1-bq76pl455a-q1-daisy-chain-questions-fail-reading-cascading-device-address

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

你(们)好

您能不能就 Hella 的一个简短问题给我提供帮助? 他们正在与 BQ76PL455一起进行预先研究的 BMS 项目,并有一些问题,他们正在寻求答案。 拓扑为菊花链,它们可以读取第一个芯片器件地址,但无法读取第二个芯片的地址。 是因为他们使用的是广播命令吗? 随附的代码如下所示、您能在这种情况下提供帮助吗?

           WRITE_Broadcast (0xF2、0x10、0x10E0.2);                                          //完全启用差分接口并选择自动寻址模式

           

           WRITE_Broadcast (0xF1、0x0E、0x10、1);                                              //将 bq76PL455A-Q1器件配置为使用自动寻址来选择地址

           

           WRITE_Broadcast (0xF1、0x0C、0x08、1);                                              //配置 bq76PL455A-Q1器件以进入自动寻址模式                   

 

           WRITE_Broadcast (0xF1、0x0A、0x00、1);            

 

           WRITE_Broadcast (0xF1、0x0A、0x01、1);            

           

           WRITE_Reg (0x81、0x00、0x0A、0x00、1);

           

           UART_Receive_array (4);

           

           alarm_LED1_ON ();

           

    if (Receive_Buffer[1]= 0x00)

           {

             alarm_LED2_on ();

           }

           其他

           {

             alarm_LED2_off ();

           }

           

           WRITE_Reg (0x81、0x01、0x0A、0x00、1);

           

           UART_Receive_array (4);

           

           if (Receive_Buffer[1]= 0x01)

           {

             alarm_LED3_on ();

           }

           其他

           {

             alarm_LED3_off ();

           }

 

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

    如果他们还没有看到自动寻址、本文档提供了逐步实现自动寻址的过程。 请参阅第1节:www.ti.com/lit/an/slva617a/slva617a.pdf

    我将它们的过程与文档中的过程进行了比较,认为它们的 write_broadcast()和 write_reg()函数执行正确(例如,CRC 计算正确,函数按正确的顺序发送字节)是正确的。

    以下是几个问题:
    1) 1)此软件是由他们开发的吗?
    2) 2)他们是否使用 TI 的 bq76PL455A EVM 或他们开发的电路板?

    让我们首先关注硬件调试。 我建议按下列顺序尝试以下操作:
    1) 1)确认硬件在用作堆叠器件时配置正确。 请参阅 bq76PL455A EVM 用户指南的第6.7和6.8节、了解如何配置和连接堆叠器件:www.ti.com/lit/ug/sluuba7a/sluuba7a.pdf
    2) 2)确认当发送 WAKEUP 信号时、堆栈中的两个器件都正确唤醒。 为此、它们可以测量电源引脚(VDIG、VP、VIO、VREF)上的电压、以确认两个器件均已正确加电。 请参阅数据表中的第7.4.4节"上电复位(POR)或唤醒":www.ti.com/lit/ds/symlink/bq76pl455a-q1.pdf
    3) 3)将示波器连接到顶部器件上的 COMML+-端子、并确认当基础器件上的 UART 发送广播写入命令时、顶部器件在引脚中接收到信号

    此致、
    Leslie