主题中讨论的其他器件: BQSTUDIO、、 EV2400
您好!
我正在使用带有 BQ27Z561 IC 的定制电路板、并且我正在为其编写一个驱动程序。 与 IC 的通信工作原理:我能够运行"标准数据命令"(如 slubo7中所述),例如 ControlStatus()、Voltage()或 RelativeStateOfCharge ()。 我还能够执行 MAC 命令、例如"Device Name"。 但是、 当我尝试在数据闪存中读取数据时、似乎停止工作。 可以进行通信、我得到了正确的校验和、但我要读取的数据没有意义。 例如、我尝试读取"I2C 配置"、根据 sluubo7、它位于数据闪存中的地址0x4481处。 以下是代码的功能:
- I2C 写入事务:将0x3E、0x80、0x44写入 I2C (地址为0x4480而不是0x4481、因为我还想检查0x4480处的"I2C Gauging Configuration")。
- I2C 写/读事务:将0x3E 写入 I2C ,读取36个字节(2字节 AltManufacturerAccess ()+ 32字节数据+ 1字节长度+ 1字节校验和)
如前所述、可以正确读取数据(校验和匹配、从 AltManufacturerAccess 读取的2个字节与请求的地址匹配、并且长度字段为 OK)、但我为"I2C 配置"获得的值为0x12、这是无效的值。 同样、"I2C Gauging Configuration"的值为0x10、这同样似乎是无效值。
I2C 接口以100KHz 运行。
状态(从 ContolStatus()读取)为0x200,因此 IC 处于"完全访问"模式。
由于采用定制电路板设计、无法使用 BQStudio。
您能告诉我我做错了什么吗?
其他(但有点相关)问题:
-是否真的可以通过更新 IC 上的固件将 BQ27Z561 "转换为 BQ27Z561-R2 ?
-是否有一些示例代码可以让我将设计中的 BQ27Z561 IC 连接到 BQStudio ,而无需使用 EV2400 (我无法物理连接到我们的板)?
BTW、我看到了对类似问题的各种回答、告诉人们阅读"Gauge comunization"(slua801)以尝试修复他们的问题(slua801也列在 https://www.ti.com/product/BQ27Z561#tech-docs 下)。 读完该文档后、我认为它不适用于 BQ27Z561、至少对于似乎使用寻址方案(将32字节数据块编号发送到器件)的数据闪存读取/写入例程来说不是如此、 我认为这与 BQ27Z561访问数据闪存的方式不兼容。
谢谢。
博格丹



