单片机多机通信系统原理是怎么样的?
1个回答
展开全部
数据的传递
主机发送信息,可以传送到各个从机或指定从机,各从机发送的信息只能被主机接收。
多机通信(关键是地址帧的识别)
主机发送:地址帧、数据帧的鉴别是通过第9位数据确定:
TB8=1,地址帧
TB8=0,数据帧
从机接收:
各从机串行口工作在方式2、方式3下;
多机通信标志SM2(SCON.5)=1;
检查接收到的第9位RB8(SCON.2),当:
RB8=1:地址帧,将地址装入SBUF,置位RI,发出接收中断请求;判断主机发送地址是否与本机相符,若相符,则将从机SM2清0(变成直通方式),准备接收其后传送来的数据。
RB8=0:数据帧,对SM2=1,RB8=0的从机,接收数据丢弃,而对SM2=0的从机:直通方式,不论RB8是0还是1,都将接受到的数据送SBUF,并发出中断请求。
多机通信的过程总结如下:
(1)全部从机串行口工作方式初始化为2或3,置位SM2,允许中断;
(2)主机置位TB8,发送要寻址的从机地址;
(3)所有的从机均接收主机发送的地址,进入中断进行地址比较;
(4)确认寻址从机,自身SM2清0,向主机返回地址供主机核对;
(5)主机核对无误,向被寻址从机发送发送命令,通知从机进行一对一数据通信。
主机发送信息,可以传送到各个从机或指定从机,各从机发送的信息只能被主机接收。
多机通信(关键是地址帧的识别)
主机发送:地址帧、数据帧的鉴别是通过第9位数据确定:
TB8=1,地址帧
TB8=0,数据帧
从机接收:
各从机串行口工作在方式2、方式3下;
多机通信标志SM2(SCON.5)=1;
检查接收到的第9位RB8(SCON.2),当:
RB8=1:地址帧,将地址装入SBUF,置位RI,发出接收中断请求;判断主机发送地址是否与本机相符,若相符,则将从机SM2清0(变成直通方式),准备接收其后传送来的数据。
RB8=0:数据帧,对SM2=1,RB8=0的从机,接收数据丢弃,而对SM2=0的从机:直通方式,不论RB8是0还是1,都将接受到的数据送SBUF,并发出中断请求。
多机通信的过程总结如下:
(1)全部从机串行口工作方式初始化为2或3,置位SM2,允许中断;
(2)主机置位TB8,发送要寻址的从机地址;
(3)所有的从机均接收主机发送的地址,进入中断进行地址比较;
(4)确认寻址从机,自身SM2清0,向主机返回地址供主机核对;
(5)主机核对无误,向被寻址从机发送发送命令,通知从机进行一对一数据通信。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询