搜索
bottom↓
回复: 6
打印 上一主题 下一主题

I2C一主多从通信ackfail

[复制链接]

出0入0汤圆

跳转到指定楼层
1
发表于 2024-5-18 09:33:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
I2C通信(硬件I2C DMA 400kHz)1个主机2个从机(从机A & 从机B)

测试一主一从的时候可以通信,从机A和从机B长时间单独通信都没问题

但是测试一主2从的时候,只有从机B可以正常通信返回数据,从机A一直ackfail

拔了从机B,重新上电从机A又可以正常通信了

就很奇怪,大佬们遇到过类似的问题吗?

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入442汤圆

2
发表于 2024-5-18 09:39:25 | 只看该作者
频率高了。降到100k。

用示波器看一下边沿就知道了。

出0入4汤圆

3
发表于 2024-5-18 13:50:55 来自手机 | 只看该作者
看看iic的技术手册,对分布电容,上升下降沿时间等都有要求,降频率,调电阻,多试试

出0入0汤圆

4
 楼主| 发表于 2024-5-18 19:55:22 | 只看该作者
liuqian 发表于 2024-5-18 13:50
看看iic的技术手册,对分布电容,上升下降沿时间等都有要求,降频率,调电阻,多试试 ...
(引用自3楼)

有个神奇的发现,上电时,从机B之间的SDA线先不连接,保持断开,上电后再连接,这样一切都通信正常了,2个从机的数据都能正常收到


但是,如果上电时从机B的SDA线连接了,从机A就会一直ack fail,只能与从机B通信......


所以我猜测,BUG可能和初始化时的某些特殊行为有关

出0入0汤圆

5
发表于 2024-5-19 11:22:15 | 只看该作者
IIC有地址的

出0入4汤圆

6
发表于 2024-5-19 12:58:56 来自手机 | 只看该作者
挂上示波器看,在这里瞎猜没用。看看器件的手册,有没有iic总线超时功能。

出0入0汤圆

7
 楼主| 发表于 2024-5-19 20:15:48 | 只看该作者
liuqian 发表于 2024-5-19 12:58
挂上示波器看,在这里瞎猜没用。看看器件的手册,有没有iic总线超时功能。 ...
(引用自6楼)

已经解决了,看波形发现上电后对SDA引脚OD模式的初始化会导致引脚拉低一小段时间(不知道是芯片bug还是PCB设计问题),只要把SDA引脚初始化和I2C初始化分开,GPIO开漏模式初始化完成后,等100ms再初始化I2C就没问题了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-2 18:35

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表