Re: 关于SMBUS Fifo问题

8 views
Skip to first unread message

Adam Jiang

unread,
May 27, 2010, 1:23:05 AM5/27/10
to 刘阳, linux-...@zh-kernel.org, embedded-linux-zh-CN
2010/5/27 刘阳 <hangbi...@gmail.com>:
> 请教大家一个问题:
> 我现在调试SMBUS出现问题是:
> 不外接I2C设备能发fifo里面的数据, 但是我接上I2C设备时,fifo的数据就发不走了,
> 数据一直在fifo里面。
> 本人觉得HOST SCLK的时钟与外接I2c设备不匹配造成的,去做时序匹配比较麻烦。
> 请问大家有什么其它办法呢

I2C设备的SCL接在哪里?是否可以和SMBus同步?
一般来说,I2C可以使用arbitary clock,这里可能需要看你硬件的设计和驱动的实现。
如果真的时序不匹配,那么恐怕只有将它匹配起来才能发消息。

可以在I2C上单独做个实验,看看从master到slave是否可以正常通讯,如果可以,
可否查一下START消息后面的I2C地址是否正确;如果这两个正确,再考虑时序
可能比较妥当。

/大头阿当

> _______________________________________________
> Linux 内核开发中文邮件列表
> Linux-...@zh-kernel.org
> http://zh-kernel.org/mailman/listinfo/linux-kernel
> Linux 内核开发中文社区: http://zh-kernel.org

--
Adam Jiang
-----------------------------------
e-mail:jiang...@gmail.com
http://www.adamjiang.com
-----------------------------------

Adam Jiang

unread,
May 27, 2010, 2:14:22 AM5/27/10
to 刘阳, linux-...@zh-kernel.org, embedded-linux-zh-CN
2010/5/27 Adam Jiang <jiang...@gmail.com>:

> 2010/5/27 刘阳 <hangbi...@gmail.com>:
>> 请教大家一个问题:
>> 我现在调试SMBUS出现问题是:
>> 不外接I2C设备能发fifo里面的数据, 但是我接上I2C设备时,fifo的数据就发不走了,
>> 数据一直在fifo里面。
>> 本人觉得HOST SCLK的时钟与外接I2c设备不匹配造成的,去做时序匹配比较麻烦。
>> 请问大家有什么其它办法呢

更多相关i2c在Linux内核中实现的问题可以看这里

https://i2c.wiki.kernel.org/index.php/Main_Page

另外,如果是时钟的问题,可以用oscilloscope看看具体的信号,
因为低速设备接到i2c上之后可能发生clockstretching,这也可能是数据传送不成功的
原因。

/大头阿当

Reply all
Reply to author
Forward
0 new messages