基于RS485多机通信设计Word格式.docx
- 文档编号:15121026
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:17
- 大小:227.86KB
基于RS485多机通信设计Word格式.docx
《基于RS485多机通信设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于RS485多机通信设计Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
本次课程设计就是利用单片机,基于RS-485芯片,设计一种简单的多机通信——一主两从。
但是本次课程设计由于实验条件限制,没有RS-485芯片接口,所以实验中用RS-232代替RS-485来实现实验目的,两个芯片只是高低电平的表示不同,其他性能基本类似。
二、设计方案
在多机通信中,最重要的是保证通信有条不紊地进行,因此需要严格的通信协议和完善的通信软件,本次课程设计就是利用RS-485电气特性和简单的结构方式,基于RS-485的多机通信系统,采用自定义串行通信协议,实现2个通信终端之间互相通信的功能
该设计方案通信距离远、抗干扰能力强也可实现主机与从机的通信,但不能实现从机之间的通信。
RS-485方式构成的多机通信系统采用主从式结构:
主机控制多个从机,作为从机的单片机不主动发送命令或数据,一切都由主机单片机控制;
并且在一个多机系统中,只有一台主机,各台从机之间不能相互通信,即使有信息交换也必须通过主机转发。
采用RS-485构成的多机通信系统原理。
在总线末端接一个匹配电阻,吸收总线上的反射信号,使得正常传输信号无毛刺。
匹配电阻的取值应该与总线的特性阻抗相当。
在总线上没有信号传输时,总线处于悬浮状态,容易受干扰信号的影响。
将总线上的差分信号的正端A+和负端B-之间接一个10K的电阻;
负端B-和地间接一个10K的电阻,形成一个电阻网路。
当总线上没有信号传输时,正端A+的电平大约为3.2V,负端B-的电平大约为1.6V,即使有干扰信号,也很难产生串行通信的起始信号0,从而增加了总线抗干扰的能力。
基本框图
三、硬件分析
1.MAX232及485芯片简介
RS-485采用平衡发送和差分接收方式来实现通信:
在发送端TXD将串行口的TTL电平信号转换成差分信号A、B两路输出,经传输后在接收端将差分信号还原成TTL电平信号。
两条传输线通常使用双绞线,又是差分传输,因此有极强的抗共模干扰的能力,接收灵敏度也相当高。
同时,最大传输速率和最大传输距离也大大提高。
如果以10Kbps速率传输数据时传输距离可达12m,而用100Kbps时传输距离可达1.2km。
如果降低波特率,传输距离还可进一步提高。
另外RS-485实现了多点互连,最多可达256台驱动器和256台接收器,非常便于多器件的连接。
不仅可以实现半双工通信,而且可以实现全双工通信。
本系统采用MAX232芯片为RS-232总线驱动芯片,MAX232芯片内部含有一个驱动器和接收器,用于实现RS-232的半双工通信。
MAX232采用单一电源+5V工作,额定电流为300uA,完成将TTL电平转换为RS-485电平的功能。
MAX232的A端和B端分别为接收和发送的信号端,当A引脚的电平高于B时,代表发送的数据为1;
当A的电平低于B端时,代表发送的数据为0,在MAX485的A和B端之间需要连接一个匹配电阻,一般可选120欧的电阻。
串口通信电路
2.AT89C52单片机
2.1简介
89C52是片内有ROM/EPROM的单片机,这种芯片构成的最小系统简单﹑可靠。
用89C52单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可。
由于集成度的限制,最小应用系统只能用作一些小型的控制单元。
其应用特点:
(1)有可供用户使用的大量I/O口线。
(2)内部存储器容量有限。
(3)应用系统开发具有特殊性。
2.2结构
89C52单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。
如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器。
它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。
但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。
89C52芯片
(1)微处理器
该单片机中有一个8位的微处理器,与通用的微处理器基本相同,同样包括了运算器和控制器两大部分,只是增加了面向控制的处理功能,不仅可处理数据,还可以进行位变量的处理。
(2)数据存储器
片内为128个字节,片外最多可外扩至64k字节,用来存储程序在运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等,所以称为数据存储器。
(3)程序存储器
由于受集成度限制,片内只读存储器一般容量较小,如果片内的只读存储器的容量不够,则需用扩展片外的只读存储器,片外最多可外扩至64k字节。
(4)中断系统
具有5个中断源,2级中断优先权。
(5)定时器/计数器
片内有2个16位的定时器/计数器,具有四种工作方式。
(6)串行口
1个全双工的串行口,具有四种工作方式。
可用来进行串行通讯,扩展并行I/O口,甚至与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广。
(7)P1、P2、P3、P4为4个并行8位I/O。
(8)特殊功能寄存器
共有21个,用于对片内的个功能的部件进行管理、控制、监视。
实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。
由上可见,89C52单片机的硬件结构具有功能部件种类全,功能强等特点。
特别值得一提的是该单片机CPU中的位处理器,它实际上是一个完整的1位微计算机,这个一位微计算机有自己的CPU、位寄存器、I/O口和指令集。
1位机在开关决策、逻辑电路仿真、过程控制方面非常有效;
而8位机在数据采集,运算处理方面有明显的长处。
MCS-51单片机中8位机和1位机的硬件资源复合在一起,二者相辅相承,它是单片机技术上的一个突破,这也是MCS-51单片机在设计的精美之处。
四、工作原理
在多机通信中,每台从机均分配有一个从机地址,主机与从机之间进行串行通信时,通常是主机先呼叫某从机地址,唤醒被叫从机后,主、从两机之间进行数据交换。
而未被呼叫的从机则继续进行各自的工作。
多机通信中,要保证主机与从机实现可靠通信,必须通信接口具有识别功能,而单片机的串行口控制寄存器SCON中的SM2就是满足这一要求而设置的。
在串行口以方式2或方式3工作时,发送和接收的每一帧信息都是11位,其中第9数据位是可编程位,通过对SCON的TB8赋1或0,来区别发送的是地址帧还是数据帧(规定地址帧的第9位为1,数据帧的第9位为0。
若从机的控制位SM2=1,则当接收的是地址帧时,数据装入SBUF,并置RI=1;
若接收的是数据帧,则不置RI,信息将抛弃;
若SM2=0,则无论是地址帧还是数据帧都产生RI=1中断标志,数据装入SBUF。
多机通信的实现,主要靠主、从机正确地设置与判断多机通信控制位SM2和发送或接收的第9位数据(TB8或RB8)。
当主机给从机发送信息时,要根据发送信息的性质来设置TB8,发送地址信号时,设置TB8=1;
发送数据或命令时,设置TB8=0。
当从机的SM2为1时,该从机只接收地址帧(RB8位为1),对数据帧(RB8位为0)将不予理睬。
而当SM2为0时,该从机接收所有发送来的信息。
多机通信过程如下:
(1)使所有从机的SM2置1,处于只接收地址帧的状态(即从机复位);
(2)主机发送一地址帧信息,其中包含8位地址,第9位为地址、数据标志位,第9位置1表示发送的是地址;
(3)从机接收到地址帧后,各自中断CPU,把接收到的地址与本地址作比较;
(4)地址相符的从机,使SM2清零以接收主机随后发来的所有信息,对于地址不相符的从机,仍保持SM2=1状态,对主机随后发送的数据不予理睬,直到主机发送来新的地址帧;
(5)主机发送数据或控制信息给被寻址的从机;
(6)被寻址的从机,因SM2=0,可以接收主机发送过来的所有数据,当从机接收数据结束时,置位SM2,返回接收地址帧状态(复位状态);
(7)当主机改为与另外从机联系时,可再发地址帧寻址其从机,而先前被寻址过的从机恢复SM2=1。
五、通信协议
1.信息格式
该协议的信息格式如下:
(1)编码格式;
二进制代码。
(2)波特率:
9600b/s。
(3)通信方式:
半双工。
(4)每个字符由u位组成;
1位:
起始位(0);
8位:
数据位;
地址/数据识别位(1为地址,o为数据);
l位:
停止位
(1)。
(5)字符发送顺序;
低位在先
(6)帧结束标志:
通信线路空闲3.5ms以上
(7)帧校验方式:
数据和(2字节)
(8)主机询问的一般格式如下图:
从机地址码
命令码
数据个数
数据
校验和
1从机地址码I命令码l数据个数数据l校验和从机地址码;
两字节二进制数,后一字节是前一字节的反码。
2命令码:
一字节二进制数,O1H代表主机读,02H代表主机写。
3数据个数:
表示主机要蒺写的字节个数,一字节二进制数。
④校验和:
两字节二进制数,是将从机地址码、命令和数据按字节从头依次相加,生成两字节的校验和。
(9)从机应答的一般格式如下图:
返回地址码
2.通信过程
一次完整的通信过程分为3个阶段:
主机询问、从机应答和链路释放。
主机询问阶段,主机以帧的形式将从机地址码、命令、数据和校验码传送到指定从机;
从机应答阶段,从机解释接收的命令码,并组织相应帧信息回送到主机;
链路释放阶段,从机清除接收缓冲区及相关变量,准备与主机下次通信。
任何一次完整的通信过程都是由主机方发起的,从机在被主机寻址前只能处于侦听状态,从机在接收到地址码的第2个字节后,立即判断是否寻址自己,如果是.继续接受下面的数据,否则不与理睬。
六、通信软件设计
1.从机通信软件设计
在该系统中,从机的主要任务是对被检测设备进行故障检测和故障定位,通信软件的主要功能是接收主机的命令并将检测的结果回送主机。
从机通信软件由2部分组成:
串行中断服务程序和定时器TO中断服务程序。
串行中断服务程序用于接收或发送数据;
TO中断服务程序用于当从机接收完一帧信息后进行解释并启动通信向主机应答,另外也用于当从机发送超时后的一些处理。
从机上电处
于侦听状态,当主机寻址时,便进人中断服务程序,其程序流程图如下图所示。
串行通信中断服务程序流程图
首先判断是接收中断还是发送中断,若是接收中断,则清除RI,同时启动字符间隔定时器TO,并置收发标志为收。
当接收完第2个字节后,各从机立即判断是否寻址本机,若是,则置SM2为‘0’,继续接收主机送来的数据;
若不是,则禁止T0定时,不在接收后面的数据。
当被寻址从机接收完一帧信息后,字符间隔定时器会产生定时中断,进入TO中断服务程序。
下图是TO中断服务程序流程图。
TO中断服务程序流程图
进入TO中断服务程序后,首先清除TO中断请求标志,停止TO定时器,接着判断是接收完成还是发送超时,若是接收完成,再判断校验和是否正确,若正确,对接收的命令进行解释,看是主机读还是主机写操作,若是主机读,则将数据打包,送到专门用于通信的数组,接着,禁止接收,置本机为应答工作方式,最后启动发送,发送第一个字节,同时启动发送时限定时器TO。
当一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 RS485 通信 设计