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.

BQ40Z50电压读取问题

Other Parts Discussed in Thread: BQ40Z50, BQSTUDIO, BQ40Z50-R1

Hi

我使用自己的IIC与BQ40Z50通信,先写入0x16(地址),0x00(Command),0x21,0x00(data),然后读取电池包电压值,写入地址0x09,读出的是0x01D4,此时电池包电压在11.7V,是我有落下什么操作吗?

  • The bq40z50 uses SMbus protocol. More information on this can be found at www.ti.com/.../slua475.pdf
    The 8-bit address is 0x16/0x17, where the lowest bit indicates if it is a read ( bit is 1) or a write(bit is 0).
    You should be able to send a read word command of 0x09 with return length of 2-bytes to get the Voltage.

    You can also try this in the "Advanced Comm SMB" tab of bqStudio while monitoring it with a bus sniffer, and duplicate the sequence in your code:

  • 是的,我按照您所描述的进行操作,但是所读取的数值0X01D0明显不正确,是否有可能存在IC损坏?或者是否有需要对BQ40Z50的初始化操作?或者是需要硬件上的唤醒?

  • 您用BQSTUDIO连接正常吗?
  • 通信板太贵了,学生党承受不起,我现在使用的是430MCU与BQ40Z50通信,按照你们的SMBus协议自己编写模拟SMBus通信协议,能够正常写入通信,板子是闲鱼的二手货,买来验证数据。之前的LED显示是只有一颗灯在闪烁,但是Bat电压并不是很低,现在我重新购买更换了新的BQ40Z50-R1(卖家的IC我不是很清楚是哪个版本),现在LED的电量显示与设想中的一致,但是现在通信读取上有问题,现在我读了很多的可读的寄存器,读出的数据都是0x0000。问题并没有得到解决。

  • 您的采样频率是多少,您用100khz试试
    您的板子是二手的,不确定是不是锁码吗?锁码以后有的参数是读不到的,要先解码才能读
  • 你好!再次麻烦您,有些问题需要请教,我现在的通信频率在50KHz,能够读出一些数据
    现在我的操作是:
    ManufacturerAccess(0x41); 复位设备

    ManufacturerAccess(0x1E);
    ManufacturerAccess(0x1F);
    ManufacturerAccess(0x20);在接入电源的情况下打开MOS,唤醒BQ40Z50

    ManufacturerAccess(0x27);使能LED功能
    ManufacturerAccess(0x2B);LED全亮
    ManufacturerAccess(0x2C);按键亮LED,操作的结果是成功的

    ManufacturerAccess(0x21);使能测量,请问这是打开ADC检测吗?
    其中的Command是0x00.

    最后是根据SMBus的50KHz的通信速率读取0x09寄存器,读出来0x09的寄存器的数据不是很正常,使用的是3节电池电压,电池电压在11.74V,每个300ms读取一次数据,读出的数据(MSB,LSB)有(0X7F,0XE7),(0XBF,0XE4),(0XBF,0XE4),(0X7F,0XF0),(0XFF,0XF3),(0XBF,0XED),这些是其中一部分。
    请问我上述的操作是否可以能够正常读出电池包的电压?读取的数据是否需要通过公式转换?
    谢谢支持!
  • 您好,最近我也再调这个芯片,有些问题想请教您下。

  • 18042674265,您方便的话加一下wx,调了好久了这块板子