感谢该论坛先前的帮助、我设法与 BQ76920建立了 I2C 通信。 我现在尝试使用内部 ADC 测量电池5的电压。 下面是与器件的 I2C 通信的屏幕截图。
- 选择 SYS_CTRL1寄存器
- 接收 SYS_CTRL1寄存器
- 在 ADC_EN 位被置位的情况下、发回经修改的 SYS_CTRL1寄存器
- 选择 ADCGAINHI 寄存器
- 读取 ADCGAINHI 寄存器
- 选择 ADCGAINLO 寄存器
- 读取 ADCGAINLO 寄存器
- 选择 ADCOFFSET 寄存器
- 接收 ADCOFFSET 寄存器
- 选择 VC5_HI 寄存器
- 读取 VC5_HI 寄存器
- 选择 VC5_LO 寄存器
- 接收 VC5_LO 寄存器
通过分析这些数据、ADC 增益为377uV/LSB、偏移为50mV。 我读取的 ADC 值为5526。 使用计算得出的电芯电压= ADC*增益+偏移、电压为2.13V。 实际电压约为2.8V、因此这非常不准确。 使用的电路如下所示。
引脚 VC5上的电压读数应为2.8V。 我还将在这里添加一个链接到包含 LA 迹线的 Imgur 相册: https://imgur.com/a/lN7xt
那么、我的问题是、ADC 为何如此不准确? 我的寄存器配置是否不正确? 或者我的电路是否不够复杂? 感谢你的帮助。