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

止语sz 2019-01-02 08:40:02
从机为硬件iic,主机为io模拟iic,主机iic为正点原子中提供的例程,速率为60k,实际通讯中,主机读到的的数据总是有跳变,经各种排除法,发现速率为20k时无跳变。 现在问题也算解决,将墨模拟iic的程序中,所以的delay的值翻了4倍,最终用逻辑分析仪看到的速率为20k,此时不会出现数据乱跳的情况。 但是觉得很奇怪,这种模拟iic的例程应该很完善了,理论上不会出现问题才对,但实际真的会接受到乱七八糟的数据,真是想不通
...全文
471 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly 100% 2019-01-03
  • 打赏
  • 举报
回复
看一下clk 上升沿对应的data 是不是稳态,建立时间要短,保持时间要长
yishumei 2019-01-03
  • 打赏
  • 举报
回复
引用 楼主 止语sz 的回复:
从机为硬件iic,主机为io模拟iic,主机iic为正点原子中提供的例程,速率为60k,实际通讯中,主机读到的的数据总是有跳变,经各种排除法,发现速率为20k时无跳变。 现在问题也算解决,将墨模拟iic的程序中,所以的delay的值翻了4倍,最终用逻辑分析仪看到的速率为20k,此时不会出现数据乱跳的情况。 但是觉得很奇怪,这种模拟iic的例程应该很完善了,理论上不会出现问题才对,但实际真的会接受到乱七八糟的数据,真是想不通
例程或许没问题,硬件电路包括布线一样吗?高频传输会改变线路自有的阻抗,而且电磁波在电路中会产生反射,设计高频电路时需要考虑这些问题的。
诺水城子 2019-01-03
  • 打赏
  • 举报
回复
你这个查一下高频干扰问题。再者就是时钟信号

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧