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.

[参考译文] BQ40Z50:使用 MCP2221 SMBus 命令操作进行读/写。

Guru**** 2587365 points
Other Parts Discussed in Thread: BQ40Z50

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1364094/bq40z50-read-write-using-mcp2221-smbus-command-manipulation

器件型号:BQ40Z50

希望使用 基于 MCP2221的系统/SMBus 命令操作来读取 BQ40z50中的数据并将数据写入 BQ40z50;尝试以下操作时没有任何乐趣。

-smbw=1 -slave8=0x0B -register=0x1f -PEC = on-speed= 100000

-smbw=1 -slave8=17 -register=44、1f -PEC = on-speed= 100000

派生自以下配置规则。

SMBR= 从<8|7>= 寄存器= [PEC = ][速度=<通信速度][f= ]
SMBus 读操作。 将从连接到 MCP2221的 SMBus 从器件读取所需的字节数。

选项:
->从器件<8|7>-要从中读取数据的8位或7位从器件地址
->寄存器-我们将读取的寄存器的8位十六进制值
-> PEC = -启用/禁用数据包错误检查。 如果未配置此选项、则默认值为"off"
->速度-通信速度(十进制)。 48000至400000。 如果此选项不存在、将使用100000 bps。
-> f -将读取数据保存到文件。 如果此选项不存在、数据将打印到命令行。

示例:-smbr=5 -slave8=a0 -register=0 -pec=on -speed=400000 -f="C:\read.txt"
从地址 A0从从从器件读取5个字节、从寄存器索引0开始、使用400000bps 速度。
针对该操作启用数据包错误检查、读取的数据将保存在"read.txt"文件中。

I2C/SMBus 错误代码
------------------
-4 MCP2221写入失败
-5 MCP2221读取失败
-8命令失败
-11接收到 SMBus 从数据 NACK
-12错误 PEC (仅限 SMBus)
-17复制内存时出错
-18超时
-19 I2C/SMBus 发送错误
-21设置 I2C/SMBus 速度时出错
-22无效 I2C 状态
-23接收到地址 NACK
-24无法传输
-25命令失败
-26无法读取数据
-27接收的数据字节数超过请求的字节数

我们尝试过的所有组合返回错误18超时,任何人都能支持吗?

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

    大家好、Jason、

    您能否确认发送的读取/写入操作遵循如下所示结构:

    https://www.ti.com/lit/pdf/slua475 

    您是否还能确认您使用的 MCU 支持时钟延展?

    此致、

    安东尼·巴尔迪诺