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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/597577/bq76pl455a-q1-bq76pl455a-q1

器件型号:BQ76PL455A-Q1

您好!

对于48伏应用,我将使用单 个 bq76pl455A-Q1 (15节电池)和控制器 MPC5746R。

在将 WAKE 引  脚置为高电平后、我将通过 UART 发送数据来读取故障汇总寄存器。

数据如下:

Command_Data_Tx[0]= 0x81;  //Single_Dev_win_Resp_1B:初始化帧

COMMAND_Data_Tx[1]=0x52;//故障汇总寄存器地址

 Command_Data_Tx[2]=0x01; /*数据:预期数据字节:1 */

/* CRC 计算*/

U16_cal_CRC = H_PL455_CRC16 (Command_Data_Tx、3);

Command_Data_Tx[3]=((U16_cal_CRC 和0xFF00)>8);
COMMAND_Data_Tx[4]=(U16_cal_CRC 和0x00FF);

计算出的 CRC=0xAC88;

UART_Start_Tx_Buffer (Command_Data_Tx、5);//发送5字节数据,单个器件写,带响应*/

但是、我从从器件接收到的任何东西是、我要发送的回读故障汇总寄存器是正确的、还是我还需要发送器件地址(由于单个器件、因此器件地址为零)

我这样做的原因是为了确认天气从属设备是否正在响应。

请帮助解决此问题。

谢谢、此致

n sujendra

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

    我会诚实地说、支持这一点可能是一项挑战、因为您使用的是 NXP MCU、而这个问题似乎主要是 MCU/固件问题。 话虽如此,我将给它最好的镜头!

    让我们从1号方形开始.... 这是在 pl455 EVM 上还是在您制作的电路板上?

    如果在 EVM 上、您是否将 VSNS15短接至 VSNS16/TOP? 开关是否配置为"单个"? VP、VIO、VDIG 等电源是否启动、5VAO 等电源电压是否约为5V? 如果您进行测量、这些测量将对您自己的电路板进行良好的完整性检查。

    您是否确认 FAULT、WAKEUP、TX 和 RX 引脚连接正确?

    您能否提供 TX/RX 总线的示波器快照/逻辑分析仪数据? 如果我们可以看到流量(用于解码十六进制值的奖励点)、这将非常有助于调试类似的内容。

    看起来您没有正确构建通信数据包。 我建议查看软件设计参考(www.ti.com/.../slva617a.pdf)

    这将向您显示用于发送各种命令/读取的十六进制值。

    数据表的第7.5.3.1.2.1节还举例说明了如何请求从 pl455读取寄存器。 您确实需要在数据包中包含器件地址。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David:

    根据数据表第7.5.3.1.2.1节、我已发送相同的数据包 来读取命令通道选择

    寄存器。

    数据包发送 0x81、0x00、0x03、0x03、0x68、0XCD}。

    我们不使用 EVB、我们制造了自己的原型板、FAULT、WAKEUP、TX 和 RX 引脚已正确连接。

    对于发送的这个数据包、我没有接收到从器件的任何响应。

    请查找以下在 while 循环中捕获的数据传输(TX){仅最后一个字节}快照。

    RX 总线(默认高电平 I 正在接收)

    数据 TX:

    请在这方面帮助我获取从器件的响应。

     

    谢谢、此致

    n Sujendra

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


    我将不断检查基础知识...
    您能否确认您通信的波特率是否正确? pl455的默认值为250k。
    您能否在示波器上捕获全部4个通道(唤醒、故障、TX、RX)并获得缩小一点的捕获?

    您是否遵循了 EVM 原理图/布局?

    是否可以探测 MCU TX 和455 RX、以确保数据实际到达引脚?
    同样、是否可以同时探测 MCU RX 和455 TX?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David W:

    我们以250k 波特率进行通信、请找到捕获的唤醒、故障、TX、RX。

    为供您参考,我随附了 BQ 的原理图。

    我们检查了 BQ 引脚的 RX、TX、发送到引脚的数据未收到从器件的响应。

    通道1:TX (数据从 MCU 发送到 BQ

    通道2:RX (从 BQ 到 MCU 的数据接收)

    唤醒信号:

    故障信号:

     

    e2e.ti.com/.../6153.Battery-Monitoring-IC.PDF

     

    请帮助我解决此问题。

    提前感谢。

    此致

    n Sujendra

     

     

     

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

    Sujendra、


    感谢您提供波形和原理图...

    您似乎正在正确构建数据包... 您能澄清 COMCONFIG 寄存器吗? 您好像在写入0x10E0、如果可以确认、这似乎没问题。

    在原理图中、我认为您缺少 COMML+/-上推荐的 PU/PD、这是推荐用于基本器件的。 FAULT_N 上还应该有50k 的下拉电阻、这是数据表中推荐的。

    您能否验证所有电源都出现了? VP、VDIG、VIO、5VA0等...

    您是在隔离之后(455侧)还是在隔离之前(MCU 侧)测量信号?

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

    尊敬的 David:

    我正在将0x10E0写入 COMCONFIG 寄存器。

    我已经为 FAULT_N 提供了50k 下拉电阻

    我收到了以下命令的响应

    已发送读取命令以读取器件地址(因为我们使用的是单个器件、因此器件地址设置为零)

    对于此命令、我接收到4字节响应1字节响应帧、1字节数据(0x00)、2字节 CRC。

    已发送读取命令以读取 SREV

    对于此命令,我将接收5个字节的响应1字节响应帧,2字节 SREV,2字节 CRC。

    我收到的 SREV 为0x0600、但在数据表中为0x0806、这会因器件而异、或所有器件的 SREV 相同。

    请澄清我收到的任何信息是否正确。

    3.向单个 bq76PL455A-Q1器件发送样片请求以返回采样结果

    对于此命令、我仅接收一个字节的响应、但预期还会随 CRC、响应帧通道数据一起接收。

    命令发送如下

    81 =有响应的单器件写操作、8位寻址、推荐消息中的1个数据字节

    00=器件地址0

    02 =寄存器地址2 (命令寄存器)

    01 =同步采样通道命令(高3位=000)和命令器件的地址(低5位= 00001)

    CRC

    4.发送具有嵌入式通道和过采样信息的采样请求

    96 =单器件写6字节无响应(8位寄存器寻址)

    00=器件地址0

    02 =寄存器地址2 (命令寄存器)

    00 = SYNC 采样命令(用于采样和存储)

    00FF03C0 =通道选择数据(电芯通道1至8、辅助通道1和0、两个内部温度通道)

    00 =过采样选择(无过采样)

     CRC

    从单板读取之前采样的数据

    81 =有响应的单个器件写操作(8位寄存器寻址)

    00=器件地址0

    02 =寄存器地址2

    20 =读取采样值命令

    CRC

    但对于此命令、我希望数据为27个字节、但我仅接收一个字节(0x00)

    请告诉我、如果我尝试读取其他寄存器、但没有得到任何响应、那么我无法读取除 SREV 和器件地址之外的其他寄存器可能是什么问题。

    对于采样和返回通道数据、根据数据表、所有配置我正在发送、但我仅接收一个字节的数据

    可能是什么问题。

    请查找随附的捕获

    已发送读取命令以读取器件地址(因为我们使用的是单个器件、因此器件地址设置为零)

    已发送读取命令以读取 SREV

    3.向单个 bq76PL455A-Q1器件发送样片请求以返回采样结果

    所附的所有捕捉是从 BQ 接收到的响应。

    请告诉我、要获取其他寄存器的读取命令的响应以及读取采样值、可能会出现什么问题。

     

    谢谢、此致

    n Sujendra

     

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

    您能不能尽快查看上述问题。

    提前感谢。

    此致
    n Sujendra