基于单片机多机通信模型的RS485

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1毕业论文题目基于RS485的单片机多机通信模型专业电气自动化技术班级06151学生姓名指导教师答辩日期2摘要在多机通信领域.由于单片机具有灵活高效的多机通信功能和价格优势,应用越来越广泛,但由于单片机的收发信号都是TTI电平,驱动能力和抗干扰性有限,实用中常配合其它总线实现互联,RS485总线就是其中之一。RS485总线是平衡差分传输,抗干扰性好,最远可传输4000m,可互联多达128个单片机,非常适台组成多机通信系统。在多机通信中,最重要的是保证通信有条不紊地进行,因此需要严格的通信协议和完善的通信软件,本文将重点介绍应用于某大型工程的单片机多机通信协议和通信软件的设计方法。本文介绍一种利用单片机本身所提供的串行通讯口,采用自定义串行通信协议,加上总线驱动器如MAX481、MAX483、MAX485、MAX487等组合成简单的RS-485通讯网络,完成单片机间的多机通讯。关键词:单片机;串行通信;RS-485总线:多机通信协议3目录第1章绪论...................................................第2章总体介绍2.1总体说..............................................第3章硬件设计及原理.......................................3.180C51单片机硬件结构.....................................3.2最小应用系统设计........................................3.3总线驱动芯片............................................第4章系统问题及其解决.......................................4.1通信规则................................................4.2可靠性及常见故障.......................................4.3总线匹配................................................4.4RO及DI端配置上拉电阻.................................4.5总线隔离..............................................4.6失效保护...............................................4.7地线与接地............................................4.8电磁干扰(EMI)问题....................................4.9瞬态保护...............................................第5章软件设计................................................5.1系统结构................................................5.2通信协议................................................5.3通信软件设计.............................................第6章程序设计.................................................第7章系统仿真................................................4第1章绪论RS-485采用平衡发送和差分接收方式来实现通信:在发送端TXD将串行口的TTL电平信号转换成差分信号A、B两路输出,经传输后在接收端将差分信号还原成TTL电平信号。两条传输线通常使用双绞线,又是差分传输,因此有极强的抗共模干扰的能力,接收灵敏度也相当高。同时,最大传输速率和最大传输距离也大大提高。如果以10Kbps速率传输数据时传输距离可达12m,而用100Kbps时传输距离可达1.2km。如果降低波特率,传输距离还可进一步提高。另外RS-485实现了多点互连,最多可达256台驱动器和256台接收器,非常便于多器件的连接。不仅可以实现半双工通信,而且可以实现全双工通信。本设计采用MCS-51系列中的80C51单片机。以80C51为控制核心,利用超声波传感器检测道路上的障碍,控制电动小汽车的自动避障,快慢速行驶,以及自动停车,并可以自动记录时间、里程和速度,自动寻迹和寻光功能。80C51是一款八位单片机,它的易用性和多功能性受到了广大使用者的好评。它是第三代单片机的代表。第三代单片机包括了Intel公司发展MCS-51系列的新一代产品,如8xC152﹑80C51FA/FB﹑80C51GA/GB﹑8xC451﹑8xC452,还包括了Philips﹑Siemens﹑ADM﹑Fujutsu﹑OKI﹑Harria-Metra﹑ATMEL等公司以80C51为核心推出的大量各具特色﹑与80C51兼容的单片机。新一代的单片机的最主要的技术特点是向外部接口电路扩展,以实现Microcomputer完善的控制功能为己任,将一些外部接口功能单元如A/D﹑PWM﹑PCA(可编程计数器阵列)﹑WDT(监视定时器)﹑高速I/O口﹑计数器的捕获/比较逻辑等。这一代单片机中,在总线方面最重要的进展是为单片机配置了芯片间的串行总线,为单片机应用系统设计提供了更加灵活的方式。Philips公司还为这一代单片机80C51系列8xC592单片机引入了具有较强功能的设备间网络系统总线----CAN(ControllerAreaNetworkBUS).新一代单片机为外部提供了相当完善的总线结构,为系统的扩展与配置打下了良好的基础。5第2章总体介绍2.1总体说系统组成:菲利浦公司研发的LPC900系列单片机是一个基于80C51内核的高速、低功耗Flash单片机,主要集成了字节方式的I2C总线、SPI接口、UART通信接口、实时时钟、E2PROM、A/D转换器、ISP/IAP在线编程和远程编程方式等一系列有特色的功能部件。本文中系统构成使用了P89LPC932单片机。P89LPC932是一款单片封装的微控制器,适用于许多要求高集成度、低成本的场合。它采用了高性能的处理器结构,指令执行时间只需要2-4个时钟周期,6倍于标准80C51器件。Rs485RS485通信方式RS485标准是由EIA(电子工业协会)和TIA(通讯工业协会)共同制订和开发的。RS485作为一种多点差分数据传输的电气规范,已成为业界最广泛应用的标准通信接口之一。理论上,RS485标准最多接入32个设备(受芯片驱动能力的影响),可以工作在半双工或全双工模式下,最大传输距离约为1219米,最大传输速率约为10Mbps[1]。然而通常RS485网络采用平衡双绞线作为传输媒体,平衡双绞线的长度与传输速率成反比,只有在20Kbps的传输速率下,才可能达到最大传输距离。一般15米长的双绞线最大传输速率仅为1Mbps。不过对于速率要求不是很高的控制系统来说已经足够了。单片机单片机部分:P89LPC932芯片具有功耗低、集成度高等优点,操作电压范围为24V-36V,I/O口可承受5V(可上拉或驱动到55V)。不同用户可根据需求外接编码器、显示屏等外部电路。外接时钟频率可高达#ν?外接晶振电路18MHz。需注意的是外接晶振部分,温度在-55-+125摄氏度以内,通过增加一个1M欧姆的外部偏置电阻R91可以使LPC900系列器件的高频振荡器起振。由于RS485总线传输的是数字信号,因此信号需与前面模拟信号隔离,采用TLP521芯片进行光耦隔离,发光二极管部分电路用22k的电阻限流,电阻若超过5k则会由于电流过小而工作不正常。RS485通信使用芯片为SP3485,工作于半双工通讯状态,即同一时刻,总线上只能有一个节点成为主节点处于发送状态,而其余节点均处于接收状态,如果同一时刻有两个或两个以上节点处于发送状态将导致所有发送方的数据发送失败,即所谓总线冲突。单片机I/O口P16用来控制收发状态。SP3485驱动器可允许在同一串行总线上连接32个收发器软件编程P89LPC932芯片有增强的UART模块,他有多种工作模式,其中模式2和模式3有一个专门的应用领,即多机通信。通过对串口控制寄存器SCON中SM1和SM2位的设置来选择相应的工作模式。SCON:SM0/FESM1SM2RENTB8RB8TIRI本文中介绍的系统采用模式3的通信方式。串口通信采用9600bps的传输速率。串口工作于工作模式工作模式3的工作方式大致如下:TXD管脚发送,RXD管脚接收,每次数据为11位(1个起始位0,数据位,1个可编程的第9位数据及1个停止位)。当且仅当产生最后一位移位脉6冲时满足下列条件:=0以及SM2=0或接收到的第9位数据=1,数据才会被装入SBUF和RB8,并置位RI。上述两个条件任何一个不满足,所接收到的数据帧都会丢失,并且无法恢复。两个条件都满足时,接收到的第9位数就进入RB8,而前8位数据则进入SBUF,并且RI置位。在此模式下,UART可编程为:接收到停止位时,仅当RB8=1时串口中断才激活。可通过置位SCON的SM2位来使能这一特性。本系统中的使用方法如下:当主机需要发送一数据块给某一台从机时(从。机发送数据至主机的原理与此相同),首先发送一个地址字节以识别目标从机。地址字节与数据字节的区别在于第9位数据,地址字节的第9位为1,而数据字节的第9位为0。SM2=1时,数据字节不会使从机产生中断,而地址字节则会使所有从机都产生中断,这样每个从机可以检查接收到的字节并判断是否被寻址。被寻址的从机将清零SM2位以准备接收随后的数据字节。未被寻址的从机则跳出中断,SM2位仍为1,这样就忽略随后的数据字节各自继续工作。由于SP485接收器工作于半双工模式,所以为保证时序不紊乱,程序中采用中断方式接收串口数据时未加入来回发送数据确认地址的功能,否则接收的过程中需要再将状态转为发送会显得比较乱。因此,考虑到RS485可靠通讯的速率和距离的关系,在9600bps的传输速率下,通讯距离不要超过100m。第3章硬件设计及原理一个单片机应用系统的硬件电路设计包含有两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM﹑RAM﹑I/O口﹑定时/记数器﹑中断系统等能量不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统配置,既按照系统功能要求配置外围设备,如键盘显示器﹑打印机﹑A/D﹑D/A转换器等,要设计合适的接口电路。3.180C51单片机硬件结构80C51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上[2]。如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器。它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。3.1.1微处理器该单片机中有一个8位的微处理器,与通用的微处理器基本相同,同样包括了运算器和控制器两大部分,只是增加了面向控制的处理功能,不仅可处理数据,还可以进行位变量的处理。3.1.2数据存储器片内为128个字节,片外最多可外扩至64k字节,用来存储程序在运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等,所以称为数据存储器。3.1.3程序存储器由于受集成度限制,片内只读存储器一般容量较小,如果片内的只读存储7器的容量不够,则需用扩展片外的只读存储器,片外最多可外扩至64k字节。3.1.4中断系统具有5个中断源,2级中断优先权

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功