3线双向零等待IO通讯机制
很多设施必须根据IO通信互动数据信息,怎样才保证速率更快,通信靠谱,常用資源又少呢?
下边详细介绍一个我撰写的通信协议:
它沒有1线,2线那般节约IO資源,可是它的通信速率肯定更快,不用延迟,且无需终断,还能够
对等传送.
具体情况下C51撰写,完成了50us传送一个字节,折算160Kbps上下,晶振电路22M。
特性以下:
应用3根一般IO通信
不应用终断
双方都能够积极进行数据通信,也都能够处于被动读取数据,即能够对等传送.
有推送和接受的查验等候体制,推送方了解另一方何时收了数据信息,接受方了解推送方什么时
候发过数据信息.
不用开展数据信息延迟,较大也许地加速了通信速率.
CPU闲的情况下通信速度能够更快.忙的情况下又可以无尽等候.确保肯定同歩,不容易错误.
彼此CPU工作中速率能够随意,即便是51和P4通信,也可以确保恰当准确无误.
ask w1 w2 w3 w4 w5 w6 w7 w8
MCLK ┐┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌───
└┘ └──┘ └──┘ └──┘ └──┘
SDT __.┌─┐┌─┐┌─┐┌─┐┌─┐┌─┐┌─┐┌─┐________
└─┘└─┘└─┘└─┘└─┘└─┘└─┘└─┘
SCLK ┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌─
└─┘ └──┘ └──┘ └──┘ └──┘
res r1 r2 r3 r4 r5 r6 r7 r8
1.服务器进行通信申请办理到从机
服务器检验MCLK是不是为0,为0得话是别人在申请办理通信,撤出涵数.
服务器检验到MCLK=1,表明通信空余.
服务器将MCLK=0,表明申请办理通信. 以后检验SCLK是不是为0(是不是回应通信)
2.从机回应通信,从机在闲暇时检验MCLK是不是为0,发觉为0则服务器向它进行了通信申请办理.
从机将SCLK=0,表明接纳申请办理,以后检验MCLK是不是变成1,假如是1则服务器早已产生了第一个bit
的数据信息.
3.服务器发觉SCLK=0,了解从机早已逐渐开始打算接纳数据信息.
4.服务器推送第一个bit到SDA.
5.服务器将MCLK=1,表明早已推送第一个bit到SDA.
6.从机发觉MCLK=1,了解服务器早已传出第一个数据信息
7.从机收第一个bit的数据信息.
8.从机将SCLK=1,表明早已收了第一个bit.以后等候MCLK是不是变0,假如变0,则服务器早已传出
了第二个bit
9.服务器发觉SCLK=1,了解从机早已逐渐开始打算接纳第二个数据信息.
10.服务器推送第二个bit到SDA.
11.服务器将MCLK=0,表明早已推送第二个bit到SDA.
12.从机发觉MCLK=0,了解服务器早已传出第二个数据信息
13.从机收第二个bit的数据信息.
14.从机将SCLK=0,表明早已收了第二个bit.以后等候MCLK是不是变1,假如变1,则服务器早已传出
了第三个bit
15.再反复3-14,3遍,传完8bit数据信息.
16.服务器发觉SCLK=0,了解从机早已收完了8位数据信息
17.服务器将MCLK=1,提前准备下一轮通信
18.从机发觉MCLK=1,了解服务器早已收拢MCLK
19.从机将SCLK=1,提前准备下一轮通信
上一篇:HDMI接口的噪声抑制方法