历史上的今天
今天是:2025年03月01日(星期六)
2018年03月01日 | 单片机间多机串行通信方式
2018-03-01 来源:eefocus
单片机双机通信完成的只是点对点之间的数据传输,但是,在实际应用中,经常会出现由多个单片机构成的多机通信系统。
单片机多机通信是指由两台以上单片机组成的网络结构,可以通过串行通信方式共同实现对某一过程的最终控制。多机通信的网络拓扑形式较多,可分为星型、环型和主从式多机型等多种,其中以主从式多机型应用较多。主从式多机通信系统中,一般有一台主机和多台从机。主机发送的信息可以传送到各个从机或指定从机,从机发送的信息只能被主机所接收,各从机之间不能直接通信,其结构形式如下图所示。

由图可知,主机的RXD、TXD与所有从机的TXD、RXD端相连接,主机发送的信号可被各从机接收,而各从机发送的信息则只能由主机接收。
在多机通信系统中,首先要解决的是如何识别从机的问题,其次才是如何发送数据等。
识别从机一般都是通过地址来实现,即给从机分别设定地址信息。MCS-51系列单片机串行通信中的SM2位(多机通信控制位)专门用来识别不同的从机。
MCS-51系列单片机串行口方式2、3很适合主从式的通信结构。当串口以方式2或方式3工作时,发送和接收的每一帧数据都是11位(如下图所示):1位起始位(0),8位数据位(低位在前),一位可设置的第9位数据和一位停止位。其中,第9位数据位可用于识别发送的前8位数据是地址帧还是数据帧,为1则为地址帧,为0则为数据帧,此位可通过对SCON寄存器的TB8位赋值来置位。当TB8为1时,单片机发出的一帧数据中的第9位为1,否则为0。
作为接收方的串行口同样工作在方式2或方式3状态,它的SM2和RB8(接收到的第9位)的组合有如下的特性。
·若从机的控制位SM2设为1,则当接收数据的第9位是l时,即地址帧时,数据装入SBUF,并置RI为l,向CPU发出中断申请;当接收数据的第9位是0时,即数据帧时,不会产生中断,信息被丢弃。
·若SM2设为0,则无论是地址帧还是数据帧都将产生RI=1中断标志,8位数据均装入SBUF。
利用这个特征,单片机在进行主从式多机通信时,系统初始化后,所有从机的SM2均置为1,并处于允许串行口中断接收状态;主机要与某一从机通信时,首先向所有从机发出地址帧,由于各从机的SM2=1,并处于允许串行口中断接收状态,各从机均接收该地址帧,从机接收到该地址帧后,申请中断,转向中断服务程序,各从机在中断服务程序里判断本机地址是否与主机所发送的地址相同,若相同,该从机将SM2置为0,并向主机发送回应答信号。此时,只有主机和被呼叫的从机之间能交换数据。因为若从机的地址与主机发送的地址不同,则该从机继续维持SM2为1,在主机后来发来的数据和命令时,其第9位数据位(RB8)为0,由于SM2为l,从机不会发生中断。

上一篇:通过红外接口实现单片机之间的通信
史海拾趣
|
1、判断极性首先将万用表拨在R×1KΩ挡,用万用表测量时,若某一极与其它两极阻值为无穷大,调换表笔后该极与其它两极的阻值仍为无穷大,则判断此极为栅极(G)。其余两极再用万用表测量,若测得阻值为无穷大,调换表笔后测量阻值较小。在测量阻值 ...… 查看全部问答> |
|
很奇怪的问题 wince 串口测试应用程序 writefile(...)函数没有执行完就失败了,然后程序死掉了。 串口测试的writefile(...)函数没有执行完就失败了,没有任何返回结果。writefile的下一个语句做断点,没有执行到。 if(hComm!=INVALID_HANDLE_VALUE&&dwCharToWrite!=0) { &nbs ...… 查看全部问答> |
|
异常是导致处理器脱离正常运行转向执行特殊代码的任何事件,如果系统不及时处理,系统轻则出错,重着导致系统毁灭性的瘫痪。所以正确地处理异常避免错误的发生是提高软件的鲁棒性重要的一方面,对于嵌入式系统更加如此。 异常可以分成两类 ...… 查看全部问答> |
|
DIY导航避障车小组今日下午展开第一次例会,在本次例会中大家集中讨论了无线的选择,避障的选择等等部分,并对小车进行了前景规划,以谷歌的自动驾驶车为终极目标,大家积极发言例会持续了一个半小时,并表示未来会采用各种新技术。下次再来把细节 ...… 查看全部问答> |
|
您知道“软文”的含义吗?什么,不知道。赶紧百度一下吧,别被OUT了 [ 本帖最后由 longxtianya 于 2011-11-6 20:19 编辑 ]… 查看全部问答> |
|
4月24日阴雨天气,阿牛哥上午9点去北京朝阳区五洲皇冠大酒店参加泰克2012年度春季创新论坛。热情的工程师们朋友已经在会场里聆听泰克的测试测量行业趋势观点,泰克领先测试测量方案,还有一些工程师朋友在展厅参观泰克最新 ...… 查看全部问答> |




