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.

[参考译文] BQ76920:OV_THRESH_base 问题

Guru**** 2386610 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/647175/bq76920-ov_thresh_base-question

器件型号:BQ76920

嗨、大家好
我们可以在"bq769x0_I2C_SAMPLE_CODE_带_CRC"中看到
OVTrip 的计算结果是 OV_THRESH_base(0x2008)和 UV_THRESH_base(0x1000。
但是、我们无法在 有关 OV_TRIP_FULL 的数据表中看到 OV_THRESH_BASE 和+ 0.5将用于何处。

那么、我想知道我们将遵循哪一条规则、示例代码或数据表?


bqMaximo_Ctrl_G2553.h
#define OV_THRESH_base 0x2008
#define UV_THRESH_base 0x1000
Registers.OVTrip =(unsigned char)(((unsigned short)(((OVPThreshold - Registers.ADCOffset)/增益+ 0.5)- OV_THRESH_base)>> 4)& 0xFF);
Registers.UVTrip =(unsigned char)((((unsigned short)((UVPThreshold - Registers.ADCOffset)/增益+ 0.5)- UV_THRESH_base)>> 4)& 0xFF);

bq769x0数据表:
3.计算满足所需 OV 和 UV 跳闸阈值所需的完整14位 ADC 值、如下所示:
(a) OV_TRIP_FULL =(OV–ADCOFFSET)÷ADCGAIN
(b) UV_TRIP_FULL =(UV–ADCOFFSET)÷ADCGAIN
4.从完整的14位值中删除上部2 MSB 和下部4 LSB、仅保留其余部分
中间8位。 这可以通过移动 OV_TRIP_FULL 和 UV_TRIP_FULL 二进制值4来实现
并删除高2 MSB。

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    作为一般准则,我建议遵循 d/s
    软件片段和实现可能来自传统版本。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    +0.5将数据类型 float 转换为无符号短整型、即数据4和5。

    是传统方法