IO口模拟iic出现数据乱跳的问题

[复制链接]
查看11 | 回复3 | 2021-1-27 06:20:34 | 显示全部楼层 |阅读模式
从机为硬件iic,主机为io模拟iic,主机iic为正点原子中提供的例程,速率为60k,实际通讯中,主机读到的的数据总是有跳变,经各种排除法,发现速率为20k时无跳变。
现在问题也算解决,将墨模拟iic的程序中,所以的delay的值翻了4倍,最终用逻辑分析仪看到的速率为20k,此时不会出现数据乱跳的情况。
但是觉得很奇怪,这种模拟iic的例程应该很完善了,理论上不会出现问题才对,但实际真的会接受到乱七八糟的数据,真是想不通
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:20:34 | 显示全部楼层
引用楼主止语sz的回复:从机为硬件iic,主机为io模拟iic,主机iic为正点原子中提供的例程,速率为60k,实际通讯中,主机读到的的数据总是有跳变,经各种排除法,发现速率为20k时无跳变。
现在问题也算解决,将墨模拟iic的程序中,所以的delay的值翻了4倍,最终用逻辑分析仪看到的速率为20k,此时不会出现数据乱跳的情况。
但是觉得很奇怪,这种模拟iic的例程应该很完善了,理论上不会出现问题才对,但实际真的会接受到乱七八糟的数据,真是想不通

例程或许没问题,硬件电路包括布线一样吗?高频传输会改变线路自有的阻抗,而且电磁波在电路中会产生反射,设计高频电路时需要考虑这些问题的。
回复

使用道具 举报

千问 | 2021-1-27 06:20:34 | 显示全部楼层
看一下clk上升沿对应的data是不是稳态,建立时间要短,保持时间要长
回复

使用道具 举报

千问 | 2021-1-27 06:20:34 | 显示全部楼层
你这个查一下高频干扰问题。再者就是时钟信号
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行