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.

[参考译文] BQ40Z60:与TI器件(例如bq40z60)相关的I2C总线限制

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/573459/bq40z60-i2c-bus-limitation-with-respect-to-ti-device-such-as-bq40z60

部件号:BQ40Z60
主题中讨论的其他部件: BQSTUDIOBQ34Z100

我对I2C总线的理解是它本身是一个8位的内部寄存器地址。

即我只能将8位寄存器地址寻址到设备的内部寄存器。

但是,TI器件(如BQ40Z60)具有超过8位限制的闪存/EEPROM (大约为256个寄存器),

因此,如何使用I2C总线来寻址具有256个以上内部寄存器的TI器件?

格式是什么?

谢谢!

Andy

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

    Andy,

    如果您需要读取和更新数据闪存中的存储器位置,则可以使用44命令访问数据。 将地址写入命令,然后读取32字节的数据。 您可以继续读取数据块,固件将自动增加地址。

    Tom

    e2e.ti.com/.../6215.Bq40z50-Data-Memory-Programming-for-Mass-Production.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Tom,您好!
    感谢您提供此文档。 非常有帮助。
    根据文档和bqStudio工具,每个块一次读出32字节。
    但假设我写了自己的代码,我可以读出我喜欢的任意字节数,正确吗?

    例如,如果我想在地址0x4045处只读出8个字节,那么我将执行如下操作:
    写入44 45 40.
    改为44 08.

    这是否正确?
    谢谢!
    Andy
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    该设备处理23字节块的内存访问。 命令的处理方式不同,但内存不同。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Thomas:

    感谢您提供的有用信息。  我提出这个问题的原因,是因为我们的公司

    正在寻求自动执行.srec加载。  所以我想进一步了解如何绘制地图

    将.srec格式输入到特定设备内存中。  

    例如,BQ34Z100中的.srec外观如下:

    S00F0.0046万57303130305F305F31360D</s>57.3031万 3.0305万3.136万
    S31A00004000831878C2972D7A96FA99F60C0000934651F6C9F41476</s>2972 00009346514.1476万
    S31A0.004万15520921326D00000000D07E17DF000017F300003A36B7</s>15.5209万 2.1326万0万0.0017万30.0003万
    S31A0.0402万AFD910025300100EF0511050100001001003C00503CB3</s>91.0025万 30.01万051105010000100100300503
    S31A0.0403万F00643C00200BB00000021069FED5FB950002001403F4</s>0.0643万 0.02万0万2.1069万95.0002万0.1403万
    S31A0.4054万E8030001F4001E003C0E10000A46051E030F03200051</s>803万 40011万4.6051万320.0051万

    .

    S31A0.0043万C601A5FE59FFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
    S31A0.0043万DBFFFFFFFFFFFFFFFFFFDC
    S3.15亿F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7

    …………
    S31A0.1万000033FFEA0033FAB10033FB6C0033FE950033FEAD009D</s>0.0033万 00331.0033万003395.0033万
    S31A0.1万15155454003FFFFFFF003FFFFFFF003FFFFFFF003FFFFFFF003FFFFF003FD0</s>15.1554万 5.4003万

    根据我所知,地址从0x0.4万开始,从0x0.0005万FFF开始

    是闪存数据,以上任何内容都是说明,应忽略。

    我知道BQ34Z100闪存是以块组织的,我可以进行偏移

    使用TI工作室工具手动读/写。  但如何映射.srec格式

    至BQ34Z100分块/偏移格式?  提前感谢您的帮助。

    Andy

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Andy,
    数据闪存位于地址4000h到5FFFH之间,您可以忽略其余的。 您会发现使用df.fs格式的文件更容易。 它提供I2C命令和数据来对您的设备进行编程,并且也可以使用bqStudio程序导出。

    Tom