Part Number:BQ27426Other Parts Discussed in Thread: EV2400
使用STM32通过IIC与BQ27426通信,看用户手册第4.2章节里,在获取 Current Chem ID.时,指令是rd 0x00 0x08 0x00,根据3.1和3.3的内容,我先发送写指令0xAA 0x00 0x08 0x00,再发送读指令0xAA 0x00 0xAB register,查看返回的register,返回0xFF,理论应该是0x00,请问错在哪了,有没有27426和STM32通信的历程,在2015版用户手册第59页里提到的Sample C code, which can interact with the gauge (read/write registers and commands) as well as configure the gauge, can be found here: processors.wiki.ti.com/…/Android_Software_Solutions_for_TI_Singlecell_Gas_Gauges.目前已经失效了
Star Xu:
您好,请参考Gauge Communication, 希望对您有帮助.
www.ti.com/…/slua801.pdf
,
zhang shegn:
你好,我看完了相关介绍,我用示波器查看IIC的时钟和数据信号,发现发送起始信号和地址字节后,收不到BQ27426的ACK信号,按照协议获取Chem ID,数据信号保持常高,时钟频率为50KHz
,
Star Xu:
您好,用EV2400是否能读出来,如果能正常读出参数证明您的硬件等没有什么问题, 主要在软件上。那么用EV2400只读取一个数,如电池电压,然后用示波器把i2c的波形抓取下来。再抓一下自己软件编写的的i2c波形,同样读取这个电压,看看两者有什么区别,很快就能定位到问题。比如ACK信号有没有?发送地址对不对?发送命令时序对不对等。
,
zhang shegn:
目前手头没有EV2400,最新结果为以获取平均电流为例,发送地址字节0xAA或0xAB都有ACK信号,但紧跟0xAA后边的0x10就没ACK应答了,读取的数据也全为低电平
,
Star Xu:
您好,请用逻辑分析仪抓一下异常发过来看一下。