×
单片机 > 单片机程序设计 > 详情

STC89C52MCU -- 双机通信及多机通信

发布时间:2020-05-18 发布时间:
|

单片机的通信有长距离短距离之分,通常一米之内成为短距离,1000左右成为长距离。如若更长距离,需要借助其他无线设备方可实现。通常单片机通信有以下四个方式:TTL电平通信(单片机串口直接互联)、RS-232C通信、RS-422A通信和RS-485通信等;

1. TTL电平通信

双机TXD和RXD互联,但是两个单片机必须共地,即把他们的系统电源地线连接在一起。单片机的TTL电平通信多在同一系统中。当一个单片机连接两个或者两个以上的单片机 时,可以采用一机对多机的通信方式。

3. RS-232C通信

RS-232C是EIA(美国电子工业协会)1969年制定的通信标准。它定义了数据端设备(DTE)与数据通信设备(DCE)之间的物理接口标准。


RS-232C标准接口引脚定义
插针序号信号名称功能信号方向
1DCD载波检测DCE->DTE
2RXD接收数据DCE->DTE
3TXD发送数据DTE->DCE
4DTRDTE就绪DTE->DCE
5GND信号地线
6DSRDCE就绪DCE->DTE
7RTS请求发送DTE->DCE
8CTS允许发送DCE->DTE
9RI振铃指示DCE->DTE

RS-232C最初用于远程通信时候的调制解调器上,就是我们所用的“猫”;但是用于双机通信时候,只用到了RXD,TXD和GND。RS-232C电平进行数据传输时候,相比TTL电平距离要远,RS-232C总线标准受电容允许值的约束,使用传输距离一般不超过15m。其最高传输速度为20kbps。RS-232C 总线标准要求收,发双方必须共地。通信距离较大时,由于收发双方的地位差较大,在信号地上将有较大的电流产生压降,这样会形成电平偏移。RS-232C在电平转换时候采用单端输入输出,在传输过程中,干燥和噪声会混在正常信号内,为了提高信噪比,RS-232C总线标准采用较大的电压摆幅;

3.RS-422A通信

4.RS - 485通信

单片机构成的多机系统常采用总线型主从结构。所谓主从模式就是整个单片机中,有一个是主机,其余是从机。从机要服从主机的调度支配。51单片机的串口方式2和3适用于这种主从通信模式。当然,采用怒同的通信标准时,还需要进行相应的电平转换。有时候还要进行光电转换进行隔离。在实际多机系统中,常采用RS-485串行标准总线进行数据传输。

多机通信时,要遵守以下原则:

1: 所有从机的SM2位置1,处于接收地址帧状态;

2: 主机发送一地址帧,其中八位是地址,第九位是地址/数据的区分标志,该位置1表示该帧位地址帧。所有从机接收到地址帧后,都将接收到的地址帧与本机地址比较,对于地址相符的从机,使自己的SM2置0,并把本机地址发回到主机作为应答。对于抵制不符的从机,将SM2置1,对主机发送来的数据帧不予理睬;

3: 从机发送数据结束后,要发送一帧校验和,并置第九位TB8为1,作为主机数据传送结束标志。

4: 主机接收数据时,首先判断数据接收为RB8,若RB8为1,表示数据传输结束,并比较此帧校验和,若正确则回送信号00H,命令该从机复位(即从新等待地址帧);若校验和出错,则发送信号0FFH,命令该从机重新发送数据;若界首镇RB8 =0,则将数据存到缓冲区,并准备接受下一帧信息。

5: 主机收到从机应答地址后,确认地址是否相同,如果地址不符,则发复位信号(数据帧中TB8=1);如果地址相符,则TB清零,开始发送数据。

从机接收到复位信号后回到监听地址(SM2=1),否则开始接收数据和命令。

编写程序时可以按照以下方式操作:

1. 主机发送的联络信号位00H,01H,02H,...(即从机设备地址);地址FFH位命令各从机复位,即恢复SM2 =1;

2. 主机命令编码如下: 01H--主机命令从机接收数据;02H -- 主机命令从机发送数据,若有其它数据,则都按02H接待。

3. 从机状态字格式如下表


从机状态字格式
D7D6D5D4D3D2D1D0
ERR00000TRDYRRDY

若 ERR =1, 从机接收到非法命令。

若 TRDY = 1,从机发送准备就绪。

若 RRDY =1, 从机接收准备就绪。

通常从机以中断方式控制和主机的通信。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil(MDK-ARM)系列教程(七)_菜单