首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未检测到OMAP 3 Linux I2C SMBUS SmartBattery (SBS)

未检测到OMAP 3 Linux I2C SMBUS SmartBattery (SBS)
EN

Stack Overflow用户
提问于 2012-08-25 05:06:51
回答 1查看 1.8K关注 0票数 0

我正在用OMAP3730做一个嵌入式Linux项目。我们使用的是3.2.23版本的内核。I2C工作正常,我可以在总线#2上看到电路板上的各种传感器。I2C总线#3只连接了一个智能电池,我可以拔下电源线,电池可以保持电路板运行。问题是我无法检测或以其他方式扫描智能电池。我尝试过i2ctools中的各种程序,但都没有成功。我们将电路板挂到示波器上,可以看到3号总线上的活动。我还在内核中的Device Drivers > I2C Support下启用了每个相关选项。

如何在i2c总线上查看我的智能电池?我是否需要在内核中启用其他功能?

代码语言:javascript
复制
Standard SMBus slave address assignments for SBS devices include:
0x10 -- SMBus System Host
0x12 -- Smart Battery Charger
0x14 -- Smart Battery Selector
0x16 -- Smart Battery

# ls /dev/i2c-?
/dev/i2c-1  /dev/i2c-2  /dev/i2c-3

# i2cget -y 3 0x10 0x00 w p
Error: Read failed
# 
# i2cget -y 3 0x0b 0x00 w p
Error: Read failed

# i2cdetect -r 3
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-3 using read byte commands.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- 

# i2cdetect -F 3
Functionalities implemented by /dev/i2c-3:
I2C                              yes
SMBus Quick Command              no
SMBus Send Byte                  yes
SMBus Receive Byte               yes
SMBus Write Byte                 yes
SMBus Read Byte                  yes
SMBus Write Word                 yes
SMBus Read Word                  yes
SMBus Process Call               yes
SMBus Block Write                yes
SMBus Block Read                 no
SMBus Block Process Call         no
SMBus PEC                        yes
I2C Block Write                  yes
I2C Block Read                   yes

# i2cdetect -l
i2c-1   i2c         OMAP I2C adapter                    I2C adapter
i2c-2   i2c         OMAP I2C adapter                    I2C adapter
i2c-3   i2c         OMAP I2C adapter                    I2C adapter
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-29 01:55:45

解决方案是将燃气表芯片所在总线的总线速度降低到100 KHz。在那之后,我得到:

代码语言:javascript
复制
# i2cdetect -y -r 3
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- 0b -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12116660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档