主题中讨论的其他器件:BQSTUDIO
尊敬的先生:
从下面的 I2C 回读使用 BQ Studio、我想与您确认什么是正确的命令、以及我们如何读取和转换制造商日期、序列号和安全状态的值? 我无法从技术参考中找到有关此内容的任何信息。 需要您的帮助。
希望尽快收到您的回复!
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.
您好 Kat、
TRM 的第12.2节对此进行了讨论。 对于 altmfg 访问、只需在0x3E 进行通信并以小端字节序发送命令。
例如、
发送 MAC Gauging(),通过 AltManufacturerAccess()启用它。
1.禁用 Impedance Track 后,将 Gauging()(0x0021)发送到 AltManufacturerAccess()
(A) I2C 写入、起始地址= 0x3E (或0x00)。 数据= 21 00 (数据必须以小端字节序发送)。
2、已启用、ManufacturingStatus ()[GAUGEN_EN]= 1。
示例:通过 AltManufacturerAccess()读取 Chemical ID()(0x0006)。
1.将 Chemical ID()发送到 AltManufacturerAccess()。
(A) I2C 写入、起始地址= 0x3E (或0x00)。 发送的数据= 06 00 (数据必须以小端字节序发送)。
2.从 AltManufacturerAccess()和 MfgMACData()读取结果。
(a) I2C 读取、起始地址= 0x3E 长度= 36字节。 响应的前4个字节将是06 00 10 12。
(b)前两个字节"06 00"是 MAC 命令(用于验证)。
(C)后两个字节"10 12"是小端字节序中的 Chem ID。 即、0x1210代表 ChemID 1210。
(D) 36字节块的最后两个字节将是校验和和长度。 长度
是6。 校验和为0xFF–(第一个长度之和–2个字节)。 长度和校验和
用于验证块响应。
建议将“命令专用”操作发送到0x00和0x01,并为设置命令
以相同的方式回读。 这样做的原因是、它始终可以重置任何传统支持选项
可能有效;但是、某些传统支持选项使用0x3E 和0x3F 进行其他用途。 但是、
0x3E 和0x3F 可以一直安全地用于块读取。 为了实现向后兼容性、需要执行的请求
器件编号或版本将报告0x00/0x01上的读取值。 两个 MAC 的响应字
命令 dev 和版本(0x0001和0x0002)应将0xFFA5报告为传统响应。 这种情况
表示实际响应位于扩展块上的主机的令牌。 "命令
只有”操作在字写入后立即发生。
您好、Batt、
我们能够使用这些步骤读取化学 ID。 但是、我们不仅要读取化学 ID。 我们还需要从 AltManufacturerAccess()中阅读其它详细信息,例如:Manufacturer Date、Serial Number 和 Safety Status。 例如、我们必须在制造商日期(0x004D)的小端字节序数据之后执行0x3E、然后从0x3E 读取36个字节。
问题是、我们如何确定制造商日期字节以及如何转换这些字节。 SLUUA65C 的解释非常模糊和不清楚。