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**** 2539500 points
Other Parts Discussed in Thread: BQ25798

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1322375/bq25798-how-to-preform-multi-write-and-multi-read-to-the-register

器件型号:BQ25798

根据 数据表、BQ25798 Ic 支持多写和多读、如下:

但一些寄存器是1个字节、而其他寄存器是2个字节、因此在多写(或读取)事务中、发送第一个  寄存器地址后、会向每个寄存器发送以下数据

是1字节或2字节,但上面的图表似乎都是1字节数据。 如何处理这个问题?  

或者、假设 IC 会接受所有1字节数据并识别其中一些数据、它们相应地是2字节?

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

    Ni NaN、

    这个数字并不完全正确。  IC 可以处理单字节或2字节写入。

    此致、

    杰夫

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

    尊敬的 Jeff:

    这是否意味着1字节和2字节数据可以混合发送、只是将它们组合在一起而不使用别名?

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

    您好、NaN:

    这是我的理解。  上周我有其他人提出了同样的问题、我的数字设计师 回答了以下问题:

    是否可以通过依次写入2个字节中的一个来成功写入16位寄存器?是否需要2字节写入?

    实现

    无论采用哪种方式、只要两个字节之间没有其他地址被访问即可。

    此致、

    杰夫

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

    寄存器地址的格式与数据的格式、芯片如何区分它是两个数据之间的地址或数据? 我是说 多字节事务具有 I2C 的一个地址、但不会开始另一个转换。

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

    您好、NaN:

    上图所示为标准 I2C 突发读取/写入。 您可以通过这种方式读取/写入任何一组寄存器。

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

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

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

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

    此致、
    杰夫

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

    非常感谢