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.

[参考译文] BQ27220:如何设置外部热敏电阻

Guru**** 2587345 points
Other Parts Discussed in Thread: BQ27220, BQSTUDIO

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1172255/bq27220-how-to-set-external-thermistor

器件型号:BQ27220
主题中讨论的其他器件: BQSTUDIO

各位专家、您好!

我的客户希望将 BQ27220与外部热敏电阻配合使用。 但进展不顺利。 请回答以下问题吗?

[情形]

(1)测得的数字值约为2970。

(2) 当 BIN 上拉电阻器从1.8MΩ Ω 变为10kΩ Ω 时、模拟电压发生变化、但是发送到微控制器的数字值几乎没有变化。

(3)客户认为  BQ27220内部的热敏电阻已启用、并且由于(2)的结果未启用外部热敏电阻。

(4)《技术参考手册》(下图)指出、可以通过更改运行配置 A 的值来使用外部热敏电阻测量温度

[问题]

(1)我找不到有关 Operation Config A 地址的说明。我不知道如何更改值、所以您可以告诉我吗?

(2) 作为 BIN 的上拉电阻器、它们参考数据表和评估板的电路图、连接了1.8MΩ Ω 电阻器。 实际连接外部热敏电阻时、上拉电阻值1.8MΩ Ω 是否正确?

感谢你的帮助。

BES 此致、

太藤竹村

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

    您可以通过探测监测计上的热敏电阻引脚来检查是否启用了外部热敏电阻。 如果已启用、则监测计将在正常模式(非睡眠)期间每秒打开一个内部偏置电阻器(大约1.8k Ω)几毫秒、因此有效分压器(热敏电阻到内部偏置||外部上拉电阻)产生的电压在示波器上可见。

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

    操作配置数据存储器中的位置

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

    尊敬的 Dominik、Shirish:

    感谢您的回答。

    在客户的电路板上、通过 I2C 通信直接从 MCU 指定和写入地址。  当它们在"技术参考手册"中描述的0x9206时、发生了一个错误。  0x9206作为数据地址是否存在任何问题? 此外、如果地址为0x9206、并且没有问题、是否有任何其他可能的错误原因?

    此致、

    太藤竹村

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

    有关如何从 MCU 读取/写入的示例、请参阅 TRM 第6.1节"数据存储器参数更新示例"

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

    尊敬的 Shrish:

    感谢您的评论。

    我让客户按照《技术参考手册》第6章的内容操作、但不起作用。 请告诉我从内部热敏电阻切换至外部热敏电阻的步骤吗?

    他们根据第6章中的指令执行 I2C 通信、但有时通信会在没有返回 Ack 的情况下失败。 您能否告诉我们 I2C 通信期间是否存在任何限制、例如时间限制?

    感谢你的帮助。

    此致、

    太藤竹村

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

    Takemura-San、您好!

    请附上已发送命令的日志。 我们可以检查它并查看是否存在任何问题

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

    尊敬的 Shrish:

    发送到 BQ27220的命令如下所示。
    命令根据技术参考手册的第6章发送。 与第6章的区别在于下表中的步骤5&6部分、它们 指的是技术参考手册 P32上"Operation Config A"的地址值。 "写入"通常失败、读取的值不稳定。

    代码

    步骤1.

    W/R

    地址

    数据

    W

    0x00

    0x14

    W

    0x01

    0x04

    W

    0x00

    0x72

    W

    0x01

    0x36

    步骤2.

    W

    0x00

    0xFF

    W

    0x01

    0xFF

    W

    0x00

    0xFF

    W

    0x01

    0xFF

    步骤3.

    W

    0x00

    0x90

    W

    0x01

    0x00

    步骤4.

    R

    0x3B

    步骤5.

    W

    0x3E

    0x06

    步骤6.

    W

    0x3F

    0x92

    步骤7.

    R

    0x60

    步骤8.

    R

    0x61

    步骤9.

    R

    0x40

    R

    0x41

    感谢你的帮助。

    此致、

    太藤竹村

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

    步骤4:需要获取值并确保设置了位2。 重复读操作、直至置位。

    请提供已读取字节的值

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

    您好、Shirish、

    我将共享他们读取的字节的值。 (步骤4、7、8和9)

    请您就他们的情况向我们提供您的意见吗?

    代码

    步骤1.

    W/R

    地址

    数据

    W

    0x00

    0x14

    W

    0x01

    0x04

    W

    0x00

    0x72

    W

    0x01

    0x36

    步骤2.

    W

    0x00

    0xFF

    W

    0x01

    0xFF

    W

    0x00

    0xFF

    W

    0x01

    0xFF

    步骤3.

    W

    0x00

    0x90

    W

    0x01

    0x00

    步骤4.

    R

    0x3B

    0xb804.

    步骤5.

    W

    0x3E

    0x06

    步骤6.

    W

    0x3F

    0x92

    步骤7.

    R

    0x60

    0x2411

    步骤8.

    R

    0x61

    0x24

    步骤9.

    R

    0x40

    0x3c00

    R

    0x41

    0x003c

    感谢你的帮助。

    此致。

    太藤竹村

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

    在步骤4中、位2 (高字节)尚未置位。 等待几毫秒、然后再次读取寄存器、直到它被置位。

    更新了:为了清楚起见、只从0x3B 读取1个字节。 可能该位已设置?

    该示例中有16个步骤。 您需要完成该过程。 最后、如果是、请与 bqStudio 检查该值是否已正确更新

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

    您好、Shirish、

    >更新:为了清晰起见,只从0x3B 读取1个字节。 可能该位已设置?

    当在步骤4中只从地址0x3B 寄存器中读取1个字节时、确认0x04可稳定返回。 没关系吗?

    >示例中有16个步骤。 您需要完成该过程

    关于步骤9之后的步骤、技术参考手册仅介绍了更改设计容量时的步骤。
    因此、我们不知道在步骤9后对外部热敏电阻发出的更改命令。
    当更改为外部热敏电阻时、您能否在步骤9之后告诉我命令?

    感谢你的帮助。

    此致、

    太藤竹村

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

    Takemura-San、您好!

    我建议您编写设计容量以验证该过程。 在该操作完成后、您可以更改地址和值以写入配置。

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

    尊敬的 Shrish:

     当更改为外部热敏电阻时、您能否在步骤9之后告诉我具体的命令?

    此致、

    太藤竹村

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

    您好 Shrish、

    很抱歉、您的帖子是连续帖子。

    他们执行了如下所示的命令。


    问题1. 在步骤11中计算 new_Checksum。 下表中红色单元格的计算公式中是否有错误?

    问题2. 他们如何在以下步骤中确定变更的成功/失败? 是否可以通过在某个位置读取寄存器来确认它? (我想告诉我如何在 bqStudio 之外进行操作)

    代码

    W/R

    地址

    数据

    步骤1.

    W

    0x00

    0x14

    W

    0x01

    0x04

    W

    0x00

    0x72

    W

    0x01

    0x36

    步骤2.

    W

    0x00

    0xFF

    W

    0x01

    0xFF

    W

    0x00

    0xFF

    W

    0x01

    0xFF

    步骤3.

    W

    0x00

    0x90

    W

    0x01

    0x00

    步骤4.

    R

    0x3B

    0x04

    操作状态

    步骤5.

    W

    0x3E

    0x06

    步骤6.

    W

    0x3F

    0x92

    步骤7.

    R

    0x60

    0x11

    OLD_Checksum

    步骤8.

    R

    0x61

    0x24

    数据长度

    步骤9.

    R

    0x40

    0x00

    OLD_DC_MSB

    R

    0x41

    0x3C

    OLD_DC_LSB

    步骤10.

    W

    0x40

    0x04

    W

    0x41

    0xB0

    步骤11.

    -

    TEM=(255-OLE_Chacksum-OLE_DC_MSB-OLE_DC_LSB)% 256

    -

    new_Checksum = 255 -(Temp+0x04+0xB0)%256

    步骤12.

    W

    0x60

    新校验和

    步骤13.

    W

    0x61

    数据长度

    步骤14

    W

    0x00

    0x92

    步骤15.

    W

    0x01

    0x00

    步骤16

    W

    0x00

    0x30

    W

    0x01

    0x00

    感谢你的帮助。

    此致、

    Taito Takemrua

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

    Takemura-San、您好!

    校验和计算正确。 但检查正在写入的值。 您希望或与0x8000一起设置 Operation config 中的 TEMPS 位。 0x803C。 因此 New_Checksum = 255 -(Temp+0x80+0x3C)%256

    2.重复步骤9,检查值是否已更新。 旧值将是写入后的新值。

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

    尊敬的 Shrish:

    感谢您的回答。 请允许我检查其他事项吗?

    (下面问题中提到的命令参考之前发布的步骤1至16表)

    问题1.  执行步骤1至16后、我再次执行步骤1至9、但第二次在步骤9中读取的值与第一次相同。 您能否再次检查正在写入/读取的地址和值是否有任何错误?

    问题2. 如果要更改 Operation ConfigA、在步骤5和步骤6中读取的地址是否合适?

    问题3. 步骤10中写入的值是否正确?

    Q4.在第11步中、被指出使用"New_Checksum = 255-(Temp+0x80+0x3C)%256"进行计算。 但是、在"技术参考手册"的第11步中、它是"Temp + 0x04 + 0xB0"。
    我认为有必要将步骤10中写入的值添加到 Temp 中。 我的理解是否正确?

    感谢你的帮助。

    此致、

    太藤竹村

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

    您是否将0x04B0写入操作配置? 如果是、则所有原始步骤均正确。 校验和包括写入的数据(您在 Q4中的解释正确)

    请注意、如果您写入0x04B0、TEMPS 位将仍然为0。

    如果您未获得正确的结果、我 建议您尝试编写示例中所示的设计容量、并查看其是否起作用。 重置器件将重置 RAM 的内容、因此您可以尝试多次进行测试

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

    尊敬的 Shrish:

    我将分享客户命令结果的最新信息。

    按照《BQ27220技术参考手册》第6章(更改设计容量)中所述的步骤操作后、他们再次检查了步骤1至9。 因此、在第二步9中读取的 DC_MSB 和 DC_LSB 与第一次读取的相同。

    如果每条命令中有任何错误、以及要写入的数值、您可以告诉我您的意见吗?

    感谢你的帮助。

    第一个

    代码

    W/R

    地址

    数据

    步骤1.

    W

    0x00

    0x14

    W

    0x01

    0x04

    W

    0x00

    0x72

    W

    0x01

    0x36

    步骤2.

    W

    0x00

    0xFF

    W

    0x01

    0xFF

    W

    0x00

    0xFF

    W

    0x01

    0xFF

    步骤3.

    W

    0x00

    0x90

    W

    0x01

    0x00

    步骤4.

    R

    0x3B

    0x04

    操作状态

    步骤5.

    W

    0x3E

    0x9F

    步骤6.

    W

    0x3F

    0x92

    步骤7.

    R

    0x60

    0xA1

    OLD_Checksum

    步骤8.

    R

    0x61

    0x24

    数据长度

    步骤9.

    R

    0x40

    0x0F

    OLD_DC_MSB

    R

    0x41

    0xCB

    OLD_DC_LSB

    步骤10.

    W

    0x40

    0x04

    W

    0x41

    0xB0

    步骤11.

    -

    TEM=(255-OLE_Chacksum-OLE_DC_MSB-OLE_DC_LSB)% 256

    -

    new_Checksum = 255 -(Temp+0x84+0x84)%256

    步骤12.

    W

    0x60

    新校验和

    0xC7

    步骤13.

    W

    0x61

    数据长度

    0x24

    步骤14

    W

    0x00

    0x91

    步骤15.

    W

    0x01

    0x00

    步骤16

    W

    0x00

    0x30

    W

    0x01

    0x00

     

    第二个

    代码

    W/R

    地址

    数据

    步骤1.

    W

    0x00

    0x14

    W

    0x01

    0x04

    W

    0x00

    0x72

    W

    0x01

    0x36

    步骤2.

    W

    0x00

    0xFF

    W

    0x01

    0xFF

    W

    0x00

    0xFF

    W

    0x01

    0xFF

    步骤3.

    W

    0x00

    0x90

    W

    0x01

    0x00

    步骤4.

    R

    0x3B

    0x04

    操作状态

    步骤5.

    W

    0x3E

    0x9F

    步骤6.

    W

    0x3F

    0x92

    步骤7.

    R

    0x60

    0xA1

    OLD_Checksum

    步骤8.

    R

    0x61

    0x24

    数据长度

    步骤9.

    R

    0x40

    0x0F

    NEW _DC_MSB

    R

    0x41

    0xCB

    new_DC_LSB


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

    要求块数据的子命令在 MACDataSum()和 MACDataLen()作为一个字被写在一起之前不会被执行。

    您能否确保校验和和 DATA_LEN 被写为一个字?

    0xAA (I2C 地址) 0x60 (块地址) 0xC7 0x24