TI中文支持网
TI专业的中文技术问题搜集分享网站

关于BQ40Z50与单片机数据传输问题

新接触一款锂电池管理芯片BQ40Z50-R1,但不知道该如何写BQ40Z50寄存器命令和采集内部数据,请指导!!

BQ40Z50是不是通过IIC与单片机通信的呀?并且能够将其内部的电压、电流、温度等数据传输给单片机的? 

Cheng.W:

是SMBus通信, 建议先看以下SBS1.1通讯规范

bin li16:

回复 Cheng.W:

明白了!是通过SMBus通信的吧。。可是BQ40Z50-R1的寄存器地址怎么写呀?有没有提供底层程序呀?而且找了好久,并没有找到关于讲解它的内部寄存器的资料呀???该怎么办呢。。。

Wzr_Nx:

回复 bin li16:

请问我怎么用MSP430单片机发指令控制BQ40Z50-R1的DSG和CHG引脚?

Richard Tang:

回复 Wzr_Nx:

请参考附件的技术参考文档,里面有详细的介绍。

如果想控制CHG/DSG的驱动,用单片机无法单独控制,只能通过PRES管脚控制同时打开或者关闭。不知道你需要控制这两个引脚起什么作用呢?

Wzr_Nx:

回复 Richard Tang:

我的硬件电路设计就是要实现CHG和DSG的同时打开或者关闭,那PRES管脚怎么需要MSP430单片机发送什么指令来控制CHG和DSG的同时打开或者关闭呢?而且CHG和DSG的状态或者PRES的状态我通过哪个指令可以读到?

jie kong:

回复 Richard Tang:

麻烦请问一下 为什么我在技术文档里一直找不到器件地址和读写地址 还是SMBUS通讯不需要读写地址 直接发送和读取寄存器的起始地址就可以了?

Write to DF example:Assuming: data1 locates at address 0x4000 and data2 locates at address 0x4002.Both data1 and data2 are U2 type.To update data1 and data2, send an SMBus block write with command = 0x44block = starting address + DF data block= 0x00 + 0x40 + data1_LowByte + data1_HighByte + data2_LowByte + data2_HighByteTo read the DF, send an SMBus block write to the ManufacturerBlockAccess(), followed by the startingaddress, then send an SMBus block read to the ManufacturerBlockAccess(). The return data contains thestarting address followed by 32 bytes of DF data in Little Endian.Read from DF example:Taking the same assuming from the read DF example, to read DF,a. Send SMBus write block with command 0x44, block = 0x00 + 0x40b. Send SMBus read block with command 0x44The returned block = a starting address + 32 bytes of DF data= 0x00 + 0x40 + data1_LowByte + data1_HighByte + data2_LowByte + data2_HighByte….data32_LowByte + data32_HighByte

lihong zhang:

回复 jie kong:

器件地址为0001  011共七位地址,加上读写位,0为写,1为读,合并为0x16 写,0x17读,两个地址。

参考《System Management Bus Specification V1.1 》中的附件:

Appendix C: SMBus Device Address Assignments

 

赞(0)
未经允许不得转载:TI中文支持网 » 关于BQ40Z50与单片机数据传输问题
分享到: 更多 (0)