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.

[参考译文] BQ76930:I2C 协议与放大器;CRC

Guru**** 2609955 points
Other Parts Discussed in Thread: BQ76940, BQ76930, MSP430G2553

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/767309/bq76930-i2c-protocol-crc

器件型号:BQ76930
主题中讨论的其他器件:BQ76940MSP430G2553

你(们)好  

我正在尝试调试使用 BQ7693003的7S 电池组。 我没有仅具有 I2C 分析仪的 EVM。

当我在启动时读取 I2C 时、我得到这个值。 问题在于 CHG 和 DSG 引脚都为零、因此不会驱动 LoSide FET。

我对该协议有点困惑(如下所示、希望获得一些帮助来分析我是否可以获得错误的线索)

还有人能否解释一下《儿童权利公约》的方法以及如何在其中一种方法中得出这一方法。

谢谢  

Tom  

1 Setup 写入[0x08]+ ACK
I2C 写入
 
2. 0x0B + ACK 寄存器 B?  
3. 0x19 + ACK 数据?  
4. 0x7A + ACK     CRC?  
5. Setup 写入[0x08]+ ACK 从机地址?
6. 0x0B + ACK 寄存器 B?  
7. 设置读取到[0x08]+ ACK  
8. 0x19 + ACK  
9. 0x0D + NAK     将从机置于空闲状态?
10. Setup 写入[0x08]+ ACK    
11. 0x51 + ACK    
ADCOFFSET
 
12. 设置读取到[0x08]+ ACK SYS_STAT  
13. 0x2C + ACK      
14. 0x86 + NAK     将从器件置于空闲状态
15. Setup 写入[0x08]+ ACK
重复启动时读取?
16. 0x51 + ACK  
17. 设置读取到[0x08]+ ACK  
18 0x2C + ACK  
19. 0x86 + NAK        
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Tomas、
    分析器当然很有用。 在上面的列表中、有2个要确定的参数、即 CRC 和协议。
    对于 CRC、请参阅 bq76930数据表第7.3.1.4节、另请参阅应用手册"bq76940与的 I2C 通信示例代码"
    基于 MSP430G2553" 的 CRC 选项 www.ti.com/.../slva626b.pdf 及其相关软件、可在产品文件夹工具和软件选项卡 www.ti.com/.../toolssoftware 中找到
    如数据表或应用手册中所示、使用合适的多项式选择一个您喜欢的 CRC 计算器也很方便。 它有时表示为1 0000 0111、0x107或0x07。
    请记住、当 CRC 包含器件地址时、必须对其进行编码、因为它将出现在总线上。 bq769x0 0x08的7位地址将左移至0x10进行写入、并添加0x11的读取位进行读取。
    对于上述步骤1到3的序列、总线上的字节将包括 CRC、器件必须获得正确的 CRC 或将忽略写入:0x10、0x0B、0x19、0x7A。 在联机 CRC 计算器中输入字符串以检查主机发送的数据不需要空格时、请输入100b19、结果为7A
    这是 CC 控制寄存器的设置、地址 B 为所需的0x19值。
    下一组字节步骤5至9会读回该值。 如数据表和注释中所示、CRC 对最后一个器件地址和数据完成、以检查 ENTER 1119、结果计算为0x0D。
    附加序列的计算方法与此类似。 图中还显示了2个(10-14和15-19)读取地址51、即 ADC 偏移量。 步骤10和11设置读取指针、步骤12-14获取数据和 CRC。 0x86的 CRC 检查正确、不清楚主机为什么读取两次。
    为了确定为什么 CHG 和 DSG 未导通、 通过协议搜索发送到控制寄存器的命令以及之前和之后的状态、以确定主机是否看到故障而不是设置上的位、或者是否有错误清除位。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您对此 WM5295的帮助和说明。  我将调查您的所有建议。 多项式 CRC 是让我失望的事情、因为我的 CRC 生成一直很简单(即 XOR 字节)!