DSA通讯协议:
主机:EM78P372N
从机:3518E
1.主机通讯申请:主机在Data为1时,将data=0,并检测ack是否为0(从机响应)
2.从机检测通讯:从机在闲时检测data是否为0,如果为0,表示有通讯申请。
3.从机响应通讯申请:从机写ack=0表示接受申请。
4.通讯申请完成:从机响应申请之后,检测data是否为1,如果为1,表示同步完成,从机写ack=1表示准备接受数据了。
5.主机检测ack是否为1,表示可以发送数据了。
6.主机发数据到data
7.主机将stb=0,通知从机数据已经发送
8.从机从data读数据
9.从机写ack=0,表示数据已经收取
10.主机检测ack=0
11.主机写stb=1,表示准备发送第二个数据
12.从机检测stb是否为1,表示从机准备接受第二个数据
13.从机写ack=1表示准备接受数据
14.主机发现ack=1,准备发送第二个数据。
重复上述传输数据
主机写ack=0
从机等待ack=0,如果ack=0,写stb=0
主机等待stb=0,并写ack=data=1
从机检测ack=1,
从机写stb=1,准备下一轮通讯
从机端程序流程:
开始:
检测data是否为0
data为0,则写ack=0,并检测data是否为1
如果data=1,写ack=1