打印

I2C总线挂两个芯片是否会有问题?

[复制链接]
3052|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
    以前做个了产品,是用单片机模拟I2C与存储器通讯,产品在读写存储器一直没有问题。
    现在做产品改进,要在I2C线上多挂一个LED驱动芯片,目前发现有个别产品在读写存储器出现数据错误的情况,而个别产品发现LED驱动芯片无法驱动LED的情况,但其余大部分仪器是正常的,所以不知道哪方面除了问题?I2C总线挂两个芯片是否会有问题?

相关帖子

沙发
gingaer| | 2013-8-9 15:34 | 只看该作者
I2C总线当然支持挂2个从设备啊,LZ遇到的问题原因估计不在于此吧。

使用特权

评论回复
板凳
jjjyufan| | 2013-8-9 15:55 | 只看该作者
地址不一样 一般没有问题,
除非驱动能力的问题,上拉你用多少?换4.7k试试
电平得一致 读写的时候IIC设备都要通电 不要关闭其中一个 以免信号拉低

使用特权

评论回复
地板
清风致影|  楼主 | 2013-8-9 16:53 | 只看该作者
jjjyufan 发表于 2013-8-9 15:55
地址不一样 一般没有问题,
除非驱动能力的问题,上拉你用多少?换4.7k试试
电平得一致 读写的时候IIC设备 ...

地址不一样的,上拉用4.7k的
ic是一直通电的

使用特权

评论回复
5
hyminzhu| | 2013-8-9 17:13 | 只看该作者
用示波器抓波形,分析一下数据丢失情况

使用特权

评论回复
6
jjjyufan| | 2013-8-9 17:21 | 只看该作者
速度放慢点

使用特权

评论回复
7
iceyu| | 2013-8-9 22:35 | 只看该作者
本帖最后由 iceyu 于 2013-8-9 22:39 编辑

如果两个芯片不一样的话可以的。但是如果两个芯片一样的,我觉得就不行了,因为两个芯片都会响应,导致两个slave抢占iic的sda信号。
话说IIC还真是各种问题,特别是上电的时候,IIC上有可能产生start信号,导致设备工作不正常,还是用示波器捕捉看看吧。

使用特权

评论回复
8
soso| | 2013-8-9 23:02 | 只看该作者
推挽驱动SCLK

使用特权

评论回复
9
fastolf| | 2013-8-10 10:14 | 只看该作者
与挂几个设备无关。I2C问题更有可能是总线上某一根线由于无效的读写操作等造成总线没有释放,SDA或者SCL处于低电平状态,也就是I2C锁死,类似的问题论坛里面很多。。。

使用特权

评论回复
10
飞鹰嵌入式| | 2013-8-10 12:30 | 只看该作者
3楼正解

使用特权

评论回复
11
清风致影|  楼主 | 2013-8-10 14:25 | 只看该作者
fastolf 发表于 2013-8-10 10:14
与挂几个设备无关。I2C问题更有可能是总线上某一根线由于无效的读写操作等造成总线没有释放,SDA或者SCL处 ...

你的意思是 即使是读写错误也要考虑要释放总线的处理?

使用特权

评论回复
12
gx_huang| | 2013-8-10 14:44 | 只看该作者
要确认一下个别板子的问题是一直有问题,还是偶尔有问题?
一般是I2C驱动做的不规范,先用示波器看看一个完整的I2C读写波形。
驱动时序,比如ACK的判断,都要完全按照要求处理。

使用特权

评论回复
13
fastolf| | 2013-8-10 14:45 | 只看该作者
清风致影 发表于 2013-8-10 14:25
你的意思是 即使是读写错误也要考虑要释放总线的处理?

是的,你用IO模拟的I2C,遇到错误,可以将I2C复位的。详见截图:

QQ图片20130810144140.jpg (124.57 KB )

如图是对I2C复位处理

如图是对I2C复位处理

S24C01C_02C_C.pdf

880.57 KB

EEPROM

使用特权

评论回复
14
xvbct| | 2013-8-10 20:45 | 只看该作者
协议问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:我在背后默默的看着你 默默的看着你渐去渐远渐无影

164

主题

1166

帖子

2

粉丝