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.

[参考译文] BQ25798:读取 BQ25798 的内置 NTC 温度

Guru**** 2455560 points
Other Parts Discussed in Thread: BQ25798, TPS25751

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1542355/bq25798-read-the-built-in-ntc-temperature-of-bq25798

器件型号:BQ25798
主题中讨论的其他器件: TPS25751

工具/软件:

您好团队、

在读取 BQ25798 的内置 NTC 温度时,我们遇到了以下问题:热风枪吹着充电器 IC ,但温度保持不变
我们阅读的步骤如下:
① 启用 ADC、将 0xC4 写入 REG2E_ADC_Control 寄存器(偏移=2Eh)
② 读取 REG41_TDIE-ADC 寄存器(偏移= 41h)
③ 每 10 秒循环一次
但我们发现、当我们使用热风枪吹扫充电器 IC 时、读回的数据保持不变、为 45。 由于位步长:0.5℃、实际温度值为 45 * 0.5 = 22.5、这与我们的实际值不匹配
请问这种情况的原因是什么? 应如何解决?

此致!

光圈

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

    尊敬的 Iris:

    真奇怪。  我进行了这个精确的测试、已经看到 ADC tie 温度升高、然后充电器进入热关断状态。  其他 ADC 寄存器是否正确读取?

    此致、

    Jeff

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

    尊敬的 Jeff:

    我是否可以询问您是否已实际读取 REG41_TDIE-ADC 寄存器(偏移=41h)以查看温度读数是多少?

    ① 其他 ADC 的读数是正常的、例如步骤 1 使能 ADC、将 0xC4 写入 REG2E_ADC_Control 寄存器(偏移=2Eh)。 设置完毕后、再次读取寄存器、发现该值与写入寄存器的值相同
    ② 你能告诉我你的代码,以便我可以比较和看看是否有任何问题,或者我可以显示我的代码,以便你可以看看
    ③ 可能需要配置其他寄存器?μ s

    使用热风枪吹扫充电器 IC 真的很奇怪、并且读回的温度在室温下保持恒定

    (__LW_AT__ps、读回的数据需要乘以 0.5、这在此代码中没有反映。 我已在其他地方进行了相应的处理)

    static uint16_t read_reg(const msdk_device_t *dev, bq25798_reg_t reg, uint8_t reg_width)
    {
        int ret;
        uint8_t data[2] = {0};
        bq25798_cfg_t *dev_config = (bq25798_cfg_t *) dev->config;
    
        ret = msdk_i2c_read_reg(dev_config->i2c_dev, dev_config->i2c_addr, reg, data, reg_width);
        if (ret != MSDK_STATUS__OK) {
            MSDK_LOG_ERR("read_reg failed addr: 0x%x", reg);
        }
    
        if (reg_width == 1) {
            return data[0];
        } else {
            return (uint16_t)(data[0] << 8 | data[1]);
        }
    }
    static void get_tdie_temp(const msdk_device_t *dev, int16_t *tdie_temp)
    {
        uint16_t data = 0;
    
        data = read_reg(dev, 0x41, 2);
        MSDK_LOG_DBG("bq25798 get_tdie_temp: %d  data);
    
        *tdie_temp = (int16_t)data;
    }

    此致!

    光圈

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

    尊敬的 Iris:

    您是定期写入 WD 计时器还是禁用了看门狗?  否则、当看门狗计时器到期时、EN_ADC 复位为 0。


    此致、

    Jeff

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

    您好、Jeff

    我们禁用了看门狗。 在初始化期间、我们将 REG10_A01 寄存器(偏移=10h)写入 Charger_Control_、其中相应的位 0~2 为 0、这表示禁用

    我们每十秒执行一次测试并读取 REG10_ADC1 寄存器和 Charger_Controlle_寄存器。 看门狗被禁用、温度读回保持不变

    此致!

    光圈

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

    尊敬的 Iris:

    因此、即使转换器在 SYS 上有 4A 负载并且在 VBUS 上提供输入功率(即转换器正在进行开关并提供此负载电流)、T_DIE 也不会增加?   

    此致、

    Jeff

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

    您好、Jeff

    我们已经确定问题并使用单短路模式。 读取一次后、单次短接模式会将 EN_ADC 设置为 0。 读取之前需要设置 EN_ADC

    最好的摄政酒店!

    光圈

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

    尊敬的 Jeff:

    当我们在测试期间使用热风枪吹扫充电器 IC 时、它始终会触发 USB 插入检测中断。 这是什么原因?
    如果您不使用热风枪进行吹扫、它不会触发 USB 插入检测中断。

    此致!

    光圈

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

    尊敬的 Iris:

    这是一个 TPS25751 问题。 我会将这个职位转移给该团队。

    此致、

    Jeff

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

    尊敬的 Iris:  

    在 TPS25751 JSON 配置中、您是否  在 I2Ct_IRQ (0x16) 的寄存器中断屏蔽中启用了插头插入或删除[3]中断事件?  

    在热风枪测试期间、是否在 USB Type-C 端口处插入或断开任何连接?  

    如果启用了中断事件、您能否读回状态寄存器 (0x1a)、以便我们可以查看发生了哪些变化? 最好在应用热风枪之前和之后获取状态 (0x1a) 寄存器转储。  

    谢谢。此致、

    Raymond Lin

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

    您好:林瑞杰:

    1) 是、我   在 I2Ct_IRQ (0x16) 的寄存器中断屏蔽中启用插头插入或删除[3]中断事件

    2) 进入中断后、USB 插入状态和灌电流/拉电流将持续变化、μ s、进入中断后、进入中断环路。

    附件是捕获的日志。

     e2e.ti.com/.../20250725_5F00_TDIE_5F00_INTERRUPT.txt

    此致!

    光圈

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

    尊敬的 Iris:  

    使用热风枪时、您或客户是否在端口插入/拔下任何部件、或者端口是否始终处于未连接状态?  

    此外、是否可以在中断触发之前和之后读回 TPS25751 状态寄存器 (0x1A)?

    状态寄存器中的某些内容正在更新(即插拔,数据角色更改等)、因此查看中断寄存器转储之前和之后会非常有用。 您提供的日志在检查和清除中断后没有显示任何寄存器读取。  

    谢谢。此致、

    Raymond Lin