永发信息网

真心求教,困扰半年了。I2C传输问题

答案:2  悬赏:0  手机版
解决时间 2021-03-23 14:10
真心求教,困扰半年了。I2C传输问题
最佳答案
先分析你的问题:0. 无法传输 1. 卡主 2. I2C找不到从设备地址 3.干扰

0. 无法传输:晃动几下又好 ->是否是接触不良的问题,先想办法确认没有接触不良。
3. 干扰问题:你提到测试通过了,测试的环境是否也可以用相同的距离晃晃。然后在实际环境能否把线接短,再晃晃试试。
2. I2C找不到从设备:可否理解为从设备没有接收到正确地址,没有ACK给主设备?这种情况下主设备只有多试几次就可以了,怎么会卡主?如果是因为不停尝试而导致通讯卡住,则根本的问题在硬件连接和干扰。能否有证据确定是因为不停尝试而导致通讯阻塞?
1. 卡主:是不是主从设备都要有超时处理,来处理卡主的问题?

真正的问题好像还没有出现,能否再进一步把问题找出来?然后再考虑具体解决的办法。
如果需要进一步联系可以留下email。追问感谢你的回答。
0.无法传输:这个问题我试过了,确认不是接触不良
3.干扰问题:实际应用的环境中就是我当前测试的情况,所以不能再改变线的长度。
2.当前情况是,I2C的主设备向从设备发送命令,从设备认为不是自己的地址,没有ACK相应(可能主要是电压问题,但是CPLD只能接受3.3V电压,无法增大到5V),主设备发送不成功后,不断尝试,导致整个I2C被卡住并且命令发不出去。追答根据你的回答,有几个新问题:
1. 你的通讯速度是多少?速度不太高的话应该对硬件要求不太高。
2. 从设备能否监测接收的I2C数据,同时用示波器抓住I2C上面的波形,然后对比二者谁出了问题。
3. 如果硬件波形不对,可以查查发送硬件。如果是硬件波形失真,可以尝试看看有没有办法减低总线电容(换传输介质或者检查其他电路加在总线上的容性)或者尝试减低通讯速度。降低多少速度,可以通过观察硬件的波形得出。
全部回答
Suggestions:
1. SCL/SDA 在 cable 两端 各加下地滤波电容 (一般 47~100pF,视 I2C 速度而言)
2. 如果可能, 尽量争增加 SCL/SDA signal swing 电压 (3.3volt -> 5.0volt)
3. Master/Slaver firmware 针对 SDA 取样 加入 debounce/filter (最简单为,连续取样几次,是否为相同值)
4. Master firmware 考虑 no-ack 是否重发 command
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
单选题与马共同特征最多的动物是A.猪B.羊C.牛
白学经典台词改编,请问余华的小说兄弟改编的
钟氏的来历
济宁通达驾校C1考完科目二等多长时间学习科目
阿里巴巴和腾讯将来会有可能合并吗
1除以40等于百分之几
不锈钢锻态直接冷轧前需要退火吗?目的是不是
apec蓝的认识和理解
一个龙下边一个虫念什么
不相信命运励志语句,励志座右铭
中科达机械地址有知道的么?有点事想过去
桂林和杭州两大旅游城市在接待境外游客方面常
兰舍硅藻泥好处有什么
PS橙红色的rgb
洗小红果时水变成黄色是什么原因
推荐资讯
阿木木哪个皮肤有特效,这是瑞文的什么皮肤啊
云南石化研究生待遇怎么样,云南石化有发展吗
......得......造句
长治市飞路通达汽车销售有限公司在哪里啊,我
安静夜晚的句子,一些经典的句子,如:有人说
一woman is Tom’s mother?一The one in the
律吕调阳是什么意思
清朝的两广地盘有现在的多大?
水杉是草本植物吗
帮我查一种八字二00年11月初八下午7点50分
中国电信兴坪镇兴坪营业厅这个地址在什么地方
笔记本的键盘布局怎么设置?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?