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:寄存器访问

Guru**** 2538950 points
Other Parts Discussed in Thread: BQ25798

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1327417/bq25798-register-access

器件型号:BQ25798

您好!

BQ25798具有8位和16位寄存器。  您能否确认如何正确读取/写入?

  • 您是否首先写入最低有效字节、然后写入 MSB?  它是地址、字节、下一个地址、字节顺序吗?

数据表的第53页指出、任何超过25的寄存器读取都将返回0xFF。  

  • 不过、数据表中的寄存器映射高达48 (第128页)。  这是一个拼写错误吗?

谢谢、Keith

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

    尊敬的 Keith:

    要正确读取/写入16位寄存器、您只需访问该寄存器的低字节和高字节、中间没有其他地址。

    例如、要写入充电电压、应首先写入地址0x01、然后写入0x02。  如果您只写入第一个字节、将不会更新任何内容。 如果您只写入第二个字节、第一个字节将得到垃圾数据。

    为此、您可以执行2个单独的写入事务:第一个写入0x01、第二个写入0x02。

    也可以使用下面的突发方法并写入从0x01开始的2个字节。

    是的、这是一个拼写错误。

    此致、
    杰夫

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

    大家好、Jeff、Reg01_REG01 Charge_Voltage_Limit 是16位访问的一个很好的示例、因为充电电压是这两个字节的一部分。

    我通过以下问题来更好地了解16位寄存器访问: BQ25798vSLUSDV2B–2020年5月–2023年1月修订

    1. Reg01_REG01_16 Charge_Voltage_Limit 位寄存器。 地址为0x01、因为寄存器为16位、下一个寄存器 REG03_RE03 Charge_Current_Limit 位于地址0x03。 这表示地址0x01和地址0x02用于 Charge_Voltage_Limit。 是这样吗?
    2. 地址0x01是否为最高有效字节、地址0x02是否为 Register01的最低有效字节?
    3. 是否应使用多写/读访问来写入或读取 Reg01? Write to Reg01 (写入 Reg01):    
    4. CAN 单写访问可用于访问 Reg01、它要求先发送地址0x01和数据、然后再发送地址0x02和数据。 那么、数据应该按照什么顺序写入呢?

    期待您的意见。

    此致、

    吉姆  

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

    您好、Jim、

    关于1、是的。

    关于2、是的。

    关于3、是的、也可以进行单次写入、首先是0x01、然后是0x02。

    关于4、是的。  首先为0x01。

    此致、

    杰夫