2197566_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2197566_zh-CN

2197566_zh-CN

I2C 问题:使用 I2C3 (Yocto BSP) 在 i.mx8MP Phytech 板上未检测到 RRC2040 SMBus 电池 (0x0B)

你好,恩智浦社区、

我正在开发一款运行基于 Yocto 的 Linux 映像的 i.MX8MP Phytech 评估板
我正在尝试通过 I²C 连接 RRC2040 SM Bus 智能电池组。

硬件设置:
-板: Phytech i.mx8MP 评估板
-电池:RRC2040(SMBus 智能电池)
-I²C 端口:I²C3(通过外部接头连接)-预期
SMBus 地址:0x0B
-用于表示荷电状态 (RSOC) 的命令:0x0D

软件环境
-适用于 i.mx8MP 的 Yocto 电路板支持包(未修改)
-带有 `/dev/i2c-3` 设备节点可用的 Linux 内核
-使用 `i2cdetect -y 3` 来探测总线

问题:
地址为 0x0B 的电池出现在 `i2cdetect` 扫描中。
可以正确检测到电路板上的其他 I²C 设备。
即使以根用户身份运行,0x0B 也没有响应。

测试代码:
我还使用 `i2c-dev` 和 `i2c_smbus_read_word_data(fd, 0x0D)`测试了一个最小的 C++ 程序:

cpp
#include
#include
#include
#include
#include
#include
extern"C" { #include}

int main () {
const char* dev = " /dev/i2c-3 ";
int fd = 打开(dev,O_RDWR);i
octl(fd,I2C_SLAVE,0x0B);int res = i2c_smbus_read_word_data(fd,0x0D);//RSOC 命令 std:: cou
t < < " 结果:" < < <
< std:: endl;}



kartikjva_1-1762178530944.pngkartikjva_1-1762178530944.png
因此,我尝试了其他 i2c 端口,如 /dev/i2c-0 和 /dev/i2c-1,但都不起作用。
我的硬件连接是正确的。




Re: I2C ISSUE :RRC2040 SMBus battery (0x0B) not detected on i.MX8MP Phytech board using I2C3 (Yocto

你好,

你的测试结果证明总线工作正常,电池组也能正常工作,你有关于如何连接的简单示意图吗?

您是否检查过电池组是否需要驱动程序才能正常工作?

如果板可能遇到任何硬件问题,我建议联系 phytec。

致以最崇高的敬意/问候,
Aldo。

Re: I2C ISSUE :RRC2040 SMBus battery (0x0B) not detected on i.MX8MP Phytech board using I2C3 (Yocto

我们测试了另一个传感器,即 DS3231,在 Phytec i.MX8MP 板上可以正确检测到其 I²C 地址。

我们还在其他平台(如 Arduino、STM32 和 Raspberry Pi)上对电池组进行了测试,以验证其工作正常。但是,在 Phytec i.MX8MP 板上未检测到它。

此外,我们确认使用的上拉电阻为 10kΩ。

Re: I2C ISSUE :RRC2040 SMBus battery (0x0B) not detected on i.MX8MP Phytech board using I2C3 (Yocto

您好,

这可能是电池组造成的,可能需要一些额外的连接,我建议先检查一下。

另外,如果可能的话,我建议尝试连接另一个 I2C 设备,以确保 I2C 通信正常运行。

致以最崇高的敬意/问候,
Aldo。

Tags (1)
No ratings
Version history
Last update:
‎11-20-2025 10:22 PM
Updated by: