打印

I2C通信的两个问题

[复制链接]
3495|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laibour|  楼主 | 2011-11-15 14:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、在做一个项目的时候,用到多主一从的硬件I2C,采用总线竞争的方式进行通信。在测试的过程中,有出现过两个主芯片同时收到数据产生竞争,其中一个抢到线的主芯片一直进入I2C中断,但是不会发数据出来,导致“死”在那里了。这样由于总线没有被释放,其它的主芯片也就没办法通信。不知道大家有没有遇到过,是什么原因?
2、I2C通信时,我采用了校验和重发机制。收到停止位后,若数据不全或者校验错误,就用一个引脚用作信号线通知主芯片,让主芯片重发一次。重发正确的数据后就释放这根信号线。不知道这种重发机制正不正确,有没有其它更好一点的方法。
沙发
laibour|  楼主 | 2011-11-16 08:02 | 只看该作者
自己顶一下,期待有人回答,谢谢!

使用特权

评论回复
板凳
yewuyi| | 2011-11-16 08:27 | 只看该作者
抢到总线的肯定要发送数据到从机,此时其它主机释放总线,当前主机发送完数据后自然要释放总线,不释放还有什么意义?

使用特权

评论回复
地板
laibour|  楼主 | 2011-11-16 08:31 | 只看该作者
3# yewuyi
问题是,抢到总线的主机只是一直进入中断,而不发送数据。导致接线一直被占据着,整个系统就死掉了。

使用特权

评论回复
5
ayb_ice| | 2011-11-16 10:49 | 只看该作者
3# yewuyi  
问题是,抢到总线的主机只是一直进入中断,而不发送数据。导致接线一直被占据着,整个系统就死掉了。
laibour 发表于 2011-11-16 08:31

占着茅坑不拉屎,别人当然没有办法

使用特权

评论回复
6
xaq79| | 2011-11-16 11:15 | 只看该作者
为什么搞这么多主?其他主怎么识别总行被占用?

使用特权

评论回复
7
yewuyi| | 2011-11-16 12:08 | 只看该作者
3# yewuyi  
问题是,抢到总线的主机只是一直进入中断,而不发送数据。导致接线一直被占据着,整个系统就死掉了。
laibour 发表于 2011-11-16 08:31


你不发送数据你占着总线干什么?占着玩!?

抢到总线后发数据,发完数据后释放总线等着下一次的总线竞争。

使用特权

评论回复
8
laibour|  楼主 | 2011-11-16 13:39 | 只看该作者
5# ayb_ice
对啊,就是“占着茅坑不拉屎”,问题就是它为什么会“占着茅坑不拉屎”?

使用特权

评论回复
9
laibour|  楼主 | 2011-11-16 13:43 | 只看该作者
7# yewuyi
现在的问题是抢到总线后,偶尔总线一直被占着而且不发数据,奇怪的是这种情况又不是每次都出现。还有不知道第二个问题,那样操作对不对,希望能指教一下,谢谢!

使用特权

评论回复
10
yewuyi| | 2011-11-16 14:13 | 只看该作者
5# ayb_ice
对啊,就是“占着茅坑不拉屎”,问题就是它为什么会“占着茅坑不拉屎”?
laibour 发表于 2011-11-16 13:39


这要问你自己啊,你为什么在让主机释放总线的时候还老是占着呢?

使用特权

评论回复
11
yewuyi| | 2011-11-16 14:14 | 只看该作者
7# yewuyi
现在的问题是抢到总线后,偶尔总线一直被占着而且不发数据,奇怪的是这种情况又不是每次都出现。还有不知道第二个问题,那样操作对不对,希望能指教一下,谢谢! ...
laibour 发表于 2011-11-16 13:43


问题那么清楚,还要指教什么呢?

使用特权

评论回复
12
asspeed| | 2011-11-16 15:11 | 只看该作者
因为那个主机是别人设计的吧!?

使用特权

评论回复
13
yewuyi| | 2011-11-16 15:52 | 只看该作者
因为那个主机是别人设计的吧!?
asspeed 发表于 2011-11-16 15:11


如果主机不释放总线,这个主机如果做多主IIC ?

无解,除非自己设计好主机。

使用特权

评论回复
14
laibour|  楼主 | 2011-11-16 21:00 | 只看该作者
好吧,等下回去自己好好检讨检讨:D,先把贴结了,呵呵~

使用特权

评论回复
15
涵潇舒雅| | 2013-10-24 17:03 | 只看该作者
前辈,我也有个主从通信的问题,能否请教一下!!!!!!
硬件主从通信

使用特权

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

本版积分规则

22

主题

81

帖子

0

粉丝