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.

[参考译文] BQ25155:BQ25155:

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1464837/bq25155-bq25155

器件型号:BQ25155

工具与软件:

我正在使用 I2C 读取寄存器0x42上的 Vbat 值。 我可以获得读取 MSB 后跟 LSB 的2个字节 。 当读取应包含 LSB 的寄存器0x43时、它与第一次读取的 LSB 不匹配。

PG 向下至模数转换器模块、以更改 VBAT 值。

多个读数集(暂停时间为30秒)显示具有相同读数的重复日志。

由于 LSB 值稍有差异、我无法确定要使用的 LSB 值。 正确的测量值位于2组之间。

从 Saleae 逻辑分析仪日志:

名称类型 start_time 持续时间 ack address 读取数据
I2C 地址20.8408064 0.00008864 TRUE 0x6B FALSE
I2C 数据20.84090016 0.00008848真实0x42        请求寄存器0x42
I2C stop 20.84104928 0.00000016
I2C start 20.84113408 0.00000016
I2C 地址20.84114416 0.00008864 TRUE 0x6B TRUE
I2C 数据20.84123792 0.00008848真实0xA5        读取 VBAT MSB/LSB
I2C 数据20.84133152 0.00008864虚假0x81       这是 VBAT LSB 吗?
I2C stop 20.84143072 0.00000016
I2C start 20.8448 0.00000016
I2C 地址20.84481008 0.00008864 TRUE 0x6B FALSE
I2C 数据20.84490384 0.00008848真实0x43        请求寄存器0x43
I2C STOP 20.84505296 0.00000016
I2C 启动20.84513776 0.00000016
I2C 地址20.84514784 0.00008864 TRUE 0x6B TRUE
I2C 数据20.8452416 0.00008864真实0x7D      读取0x43 -> VBAT-LSB
I2C 数据20.8453352 0.00008864虚假0x53

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

    您好!

    您能否共享您的 ADC 设置寄存器值?  

    此致、

    Juan Ospina

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

    您好、Juan

    感谢快速响应。

     

    我想您请求寄存器0x40和0x41的值

     

    寄存器0x40在开始设置为0x03时、这意味着 compperator-1需要使我进行 VBAT 计算。

    我将寄存器0x40设置为0x23以启动手动比较(PG 电源状态不佳)

    我在2ms 后询问寄存器、将寄存器0x40的值设置为0x02 (位5已消失、但应在比较周期内保持不变、该周期应为24ms (最高精度)。在我看来、测量还没有开始–有问题吗?

     

    40ms 后、我读出 VBAT 值。 同时作为一个字和两个单字节。 我希望 t 值至少在前12位上相同、但它们不同。 只有 MSB 是相同的。 计算字的 VBAT 值、根据2个单值字节、我得到高于和低于多测试仪测量的正确值的值。 我的问题是:获取 VBAT 值的正确方法是什么。 如果单字节读取是正确的方式、那么读取的字中的字节2代表什么?

     

    ADCCTRL1寄存器0x41的值是0x40 (今天检查)这是否意味着 compperator-2用于 TS? 这应该没有任何影响。

     

    目标值

    Henning

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

    尊敬的 Henning:

    根据您配置的寄存器值(0x23)、它应该配置为在24ms 时手动读取、并将 COMP1设置为 VBAT。 您的适配器此时是否存在或仅在有电池的情况下存在? 读回0x02也是您意外发生的情况、因为这表明 COMP1通道值已更改。  

    您对寄存器值的理解没有误、在寄存器0x42读取2个字节与在寄存器0x43读取1个字节时、这两种情况下都应读回存储器中的同一个点、在这两种情况下都读取寄存器0x43。 如果继续重复读取0x43、您是否发现值继续变化?

    此致、

    Juan Ospina

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

    您好、Juan。 我发现使模数转换器在无 PG 模式下工作。 我需要听到的是寄存器0x58需要包含所需的数据类型。 当此寄存器为0x00时、A/D 转换器不工作、0x40的位5被清除、并且不发送中断-同时红色的0x05并不表示 A/D 转换已完成。 设置寄存器0x58以测量系统在 ADC_CONV_START 位中采用的 VBAT 并进行测量。

    我认为 BQ252155数据表第99.3.3.1章"在有源电池模式和低功耗模式下运行 ADC"中应该会提到这一点、但事实并非如此。 我需要的位"EN_VBAT_READ"只提到一次、未加以说明。 但现在它对我来说是有效的。

    现在、我只需要知道信任的价值。 与在寄存器0x42和0x43上读取2次相比、从寄存器0x42读取2个字节会提供不同的值。 如果不运行 A/D 转换器一次、则两个通道上的结果读数都将达到以下目的:(实际电池电压为4.16V)

     插槽操作:电源不正常842442909
    reg_content 0x05 = 0x80状态7 0
    reg_content 0X58 = 0x8时间842447727
    reg_content 0x58设置为=0x8
    reg_content 0X58 = 0x8时间842453663
    reg_content 0x40 = 0x2时间842459890
    reg_content 0x40设置为=0x22
    reg_content 0x40 = 0x22
    REG_content 0x05 = 0x0状态8 0时间842469679
    VBAT 为2个单字节0xB1 0xB1 VbatMeasurement = 0xB1B1 VBAT 值:4164
    VBAT 读数为1个单字 VBAT =0x8CB1 4161
    VBAT 为2个单字节0xB1 0xB1 VbatMeasurement = 0xB1B1 VBAT 值:4164
    VBAT 读数为1个单字 VBAT =0x8CB1 4161
    VBAT 为2个单字节0xB1 0xB1 VbatMeasurement = 0xB1B1 VBAT 值:4164
    VBAT 读数为1个单字 VBAT =0x8CB1 4161

    正确的值是什么?

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

    尊敬的 Henning:

    [报价 userid="639323" url="~/support/power-management-group/power-management/f/power-management-forum/1464837/bq25155-bq25155/5632713 #5632713"]VBAT 作为2个单字节0xb1 0xb1 vbatMeasurement =0xB1B1 VBAT 值:4164[/QUOT]

    在本例中、0xB1看起来好像两次、似乎很不可能。 您能否确认读取两次不是0x42吗?

    [报价 userid="639323" URL"~/support/power-management-group/power-management/f/power-management-forum/1464837/bq25155-bq25155/5632713 #5632713"]VBAT 读数为1个单字 VBAT =0x8CB1 4161[/QUOT]

    我认为、在这种情况下、VBAT 值的字节序会翻转、 但位是正确的。 0xB18C 应对应于4.16125mV、这似乎接近于您的预期值。

    此致、

    Juan Ospina

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

    尊敬的 Henning:

    我能够重塑你的行为。 根据实验行为、最准确的读数应是以连续两个字节的形式读取寄存器0x42。 回读寄存器0x43时似乎存在问题、回读寄存器0x43似乎为 TS ADC 数据提供了翻转的位。 我建议仅使用0x42 2字节读取进行计算。 感谢您提醒我们注意这一点。

    此致、

    Juan Ospina

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

    大家好、Juan thanx、感谢您的清空。 我将读取 VBATT 的一个字。 我希望未来的客户可以请求向 BQ25155数据表第9.3.3.1章添加一些内容、说明需要设置寄存器0x58才能选择请求的工作。 我认为这完全是遗漏的、造成了我4天的沮丧感。  

    接下来、我再次感谢并关闭该问题。 Br Henning Carlsen GN