SMBus 地址和波特率

SMBus Address and BaudRate

我需要与一些电池(来自 BrenTronics 的 BT-70791CK)通信。他们使用 SMBus ver 1.1 进行通信,但在电池的数据表中没有关于他们拥有的 SMBus 地址或波特率的信息。我问过他们,他们告诉我这是他们唯一的文件。所以我开始想,也许我不需要知道 SMBus 地址或 SMBus 通信的波特率。我的问题是

  1. 我还能与使用 SMBus ver 1.1 的设备通信吗?不知道他们的地址或波特率?

  2. 是否有电池或 SMBus ver1.1 的特定波特率或 SMBus 地址?

如果您或其他人正在寻找这些答案,我将 post 一些 link 和有关智能电池数据规范 v1.1 和系统管理总线 (SMBus) 的简短描述v1.1.

  • 电池地址(Bren Tronics == 0x16)-> ||我已经看到一个 sheet,其中包含充电器、电池和其他设备的标准地址,但我似乎找不到它。请随时在“你知道在哪里可以找到它”中评论 link,我会将其添加到上面的 link。

  • 智能电池数据 -> Here ||这包含所有 values/codes 您可以 read/write 到符合 SMBus v1.1 的智能电池。它还包含一个关于如何读/写电池的小介绍,SMBus 功能,如读取块或读取字。为了节省一些时间,请注意有关如何从电池读取数据的例外情况。几乎所有 "codes" 都允许您从 2 个字节 + CRC8(总共 3 个字节,如果您的软件将使用 CRC8 校验)读取一个值

    • SMBus v1.1 -> Here ||智能电池数据会显示电池相关操作,但它使用 SMBus(非常接近 I2C,但有一些重要区别!)要实现智能电池功能,您需要了解 SMBus 以及 I2C 的工作原理。

    • I2C -> Here ||对 I2C 有疑问?我强烈推荐这个网页。

  • Bren Tronics 实施 SMBus -> Here ||这包含实现 SMBus 时最常见的错误。在没有中继器或其他更巧妙的方式提供上拉电压的情况下,密切注意从主站到从站的最大距离。

如果任何 link 损坏或由于某种原因,规范 sheet 将从 "WWW" 中删除。在 post 中标记我,我确实有离线存储的 PDF 文件。

如果您需要在 I2C 上查找地址,RaspberryPI 3b+ 具有 I2C GPIO。 只要你的上拉电阻正确,你可以像我一样,用RPI找到电池地址。

RaspberryPI 上的另一个线程 + i2cDetect("AddressFinder") -> Here