在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: qq2007go

[求助] I2C从机设计

[复制链接]
发表于 2021-2-4 15:14:55 | 显示全部楼层


qq2007go 发表于 2021-2-4 15:10
从机向master发送数据的时候检测到了start 不看做 这两种情况吗


你从机还在向master发送数据,也就是从机状态机在TX_DATA状态,然后收到了master发过来的start信号,协议就没有这种规定啊,这就属于通讯error了。
发表于 2021-2-10 10:07:39 | 显示全部楼层


qq2007go 发表于 2021-2-4 13:35
我想咨询一下I2C从机在向master发送数据的时候会不会检测start和stop?


会检测start和stop的,scl线和sda线在发送数据和产生start/stop信号这两种情况是天然矛盾的。也就是说如果在发送数据时,你的scl或sda线没有满足相应的时序要求,而误产生了满足start和stop信号的波形,那master就会判断为start和stop。
 楼主| 发表于 2021-2-19 16:45:42 | 显示全部楼层


nuaa_zdh_yzy 发表于 2021-2-10 10:07
会检测start和stop的,scl线和sda线在发送数据和产生start/stop信号这两种情况是天然矛盾的。也就是说如 ...


那从机slave 会进入IDLE态吗
发表于 2021-2-20 10:52:26 | 显示全部楼层


qq2007go 发表于 2021-2-4 15:10
从机向master发送数据的时候检测到了start 不看做 这两种情况吗


如果不是应该收到start或者restart的时候,说明出bug了,要么是master bug,要么是你自己代码bug,都需要找出原因,否则就用不了。

当然为了robust设计,有可能这个start是个干扰,那么本次传输就是出错了。你应该记录一下出错的status,回到idle,等待下一次正确的传输。
发表于 2021-2-22 08:43:35 | 显示全部楼层


qq2007go 发表于 2021-2-19 16:45
那从机slave 会进入IDLE态吗


会的,出现start或者stop信号,slave会被复位到IDLE状态。
发表于 2021-2-22 11:41:01 | 显示全部楼层
可以试试异步fifo
发表于 2021-2-22 15:05:13 | 显示全部楼层


nuaa_zdh_yzy 发表于 2021-2-10 10:07
会检测start和stop的,scl线和sda线在发送数据和产生start/stop信号这两种情况是天然矛盾的。也就是说如 ...


master 会判断start和stop????MASTER只是用来产生star和stop的吧!
从机接收start和stop的吧

发表于 2021-2-22 15:07:28 | 显示全部楼层


zpalwaysyoung 发表于 2021-2-4 15:14
你从机还在向master发送数据,也就是从机状态机在TX_DATA状态,然后收到了master发过来的start信号,协议 ...


有可能通信的时候产生了一个大的glitch,导致误判断为 start或者stop的哦
发表于 2021-2-23 10:26:51 | 显示全部楼层


fhy420462303 发表于 2021-2-22 15:05
master 会判断start和stop????MASTER只是用来产生star和stop的吧!
从机接收start和stop的吧


抱歉最后一句笔误了,是从机判断出start和stop信号,从而复位状态机到IDLE。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 19:24 , Processed in 0.020380 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表