1文献综述RS485总线多机通信系统设计班级:081801学号:121820080015姓名:李福平1.前言单片机自诞生以来,以其体积小、面向控制,稳定,性能可靠,高性价比等优点,在现代生活生活中有重要的运用,在实际运用中,要实现单片机间的协调工作及通信,即多机通信。利用MCS-51系列单片机串口工作模式2和模式3配合上RS485及驱动器MAX485可实现多机通信。RS-485采用平衡发送和差分接收方式来实现通信:在发送端TXD将串行口的TTL电平信号转换成差分信号A、B两路输出,经传输后在接收端将差分信号还原成TTL电平信号。两条传输线通常使用双绞线,又是差分传输,因此有极强的抗共模干扰的能力,接收灵敏度也相当高。同时,最大传输速率和最大传输距离也大大提高。如果以10Kbps速率传输数据时传输距离可达12m,而用100Kbps时传输距离可达1.2km。如果降低波特率,传输距离还可进一步提高。另外RS-485实现了多点互连,最多可达256台驱动器和256台接收器,非常便于多器件的连接。不仅可以实现半双工通信,而且可以实现全双工通信。在多机通信领域.由于单片机具有灵活高效的多机通信功能和价格优势,应用越来越广泛,但由于单片机的收发信号都是TTI电平,驱动能力和抗干扰性有限,实用中常配合其它总线实现互联,RS485总线就是其中之一。RS485总线是平衡差分传输,抗干扰性好,最远可传输4000m,可互联多达128个单片机,非常适台组成多机通信系统。本文介绍一种利用单片机本身所提供的串行通讯口,采用自定义串行通信协议,加上总线驱动器如MAX485等组合成简单的RS-485通讯网络,完成单片机间的多机通讯。第三代单片机包括了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).新一代单片机为外部提供了相当完善的总线结构,为系统的扩展与配置打下了良好的基础。2.正文22.1单片机的现状以及发展趋势单片微型计算机(SingleChipMicrocomputer)简称单片机,又称MCU(MicroControllerUnit),是将计算机的基本部分微型化,使之集成在一块芯片上的微机.片内含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。所涉及的市场占有率最高的是MCS—51系列,因为世界上很多知名的IC生产厂家都生产51兼容的芯片。生产MCS—51系列单片机的厂家如美国AMD公司、ATMEL公司、INTEL公司、WINBOND公司、PHILIPS公司、ISSI公司、TEMIC公司及南韩的LG公司、日本NEC、西门子公司等。到目前为止,MCS—51单片机已有数百个品种,还在不断推出功能更强的新产品。现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。单片机的通信领域应用首先从两片单片机之间的通信发展起来,后来有了主从式多机通信并得到了广泛的应用,又出现了以单片机作为下位机与以PC机作为上位机的通信应用,上位机用VB或VC++等面向对象的程序设计语言编写通信收发程序,也得到了广泛的应用。虽然,单片机多机通信已经有较长的研究历史了,但其形式大多是主从式的,很少是平权式的。随着超大规接集成电路技术的发展,将CPU、存储器以及各种外部设备的借口做在一块集成电路芯片上,构成了一个计算机,这样就将其称为单片机。单片机常常嵌入仪器、仪表,各种智能设备与应用系统中,称其为嵌入式应用。随着应用的需要与集成电路技术的发展,单片机也由4位、8位、16位发展到32位甚至64位,功能与性能有了极大的提高与扩展。随着手机、数字电视、PDA等应用的迅速普及,32位等高档单片机也得到快速发展。但目前,单片机的主流仍然是8位单片机。其发展趋势如下:1.种类多,型号全。很多单片机厂商逐年扩大适应各种需要,有针对性地推出一系列型号产品,使系统开发工程师有很大的选择余地。大部分产品有较好的兼容性,保证了已开发产品能顺利移植,较容易地使产品进行升级换代。2.提高产品性能、扩大容量,性能价格比高。集成度已达300万个晶体管以上,总线速度达到数十微妙到几百纳秒,指令执行周期已达几微妙到数十纳秒,以往片外XRAM现已在物理上存入片内,ROM容量已扩展到32K,64K,128K以至更大的空间。价格从几百元到几元不等。33.增加控制功能,向真正意义上的“单片”机发展。把原来是外围接口芯片的功能集成到一块芯片内。芯片内增加了多个A/D,D/A,PWM,多个UART串口、DMA,PCA,Watchdog,Sensor(温度传感器),HC,PCI,USB控制器以及显示驱动、键盘控制、函数发生器、比较器、可编程时钟等功能,在一芯片中构造了一个完整的功能强大的微处理器应用系统。4.低功耗。现在新型单片机的功耗越来越小,供电电压从5V降低到了3.2V,甚至1V,工作电流从mA级降到uA级,工作频率从十几兆可编程到几十千赫兹。特别是很多单片机都设置了多种工作方式,这些工作方式包括等待,暂停,睡眠,空闲,节电等工作方式。美国TI公司的单片机MSP430溪流,它是一个16位机,有超低功耗工作方式,它的低功耗方式有LPM1,LPM3,LPM4三种。当电源为3V时,如果工作于LPM1方式,即使外围电路处于活动,由于CPU不活动,振荡器处于1MHZ,这时功耗只有1.3uA.在LPM4时,CPU、外围及振荡器32KHZ都不活动,则功耗只有0.1uA。5.软件配套服务齐全。提供了驱动各种硬件的软件包,包括标准应用软件、示范设计方法,使用户开发应用系统更快,更方便。6.C语言开发环境,友好的人机交互环境。大多数单片机都提供基于C语言开发平台,并提供大量的函数供使用,这便使产品的开发周期、代码可读性、可移植性都大为提高。2.2关于多机通信在多机通信中,为了保证主机与所选择的从机实现可靠的通信,必须保证通信接口具有识别功能,可以通过控制8051的串行口控制寄存器SCON中的SM2位来实现多机通信的功能,其控制原理简述如下:利用8051串行口方式2或方式3及串行口控制寄存器SCON中的SM2和RB8的配合可完成主从式多机通信。串行口以方式2或方式3接收时,若SM2为1,则仅当从机接收到得第九位数据(在RB8中)为1时,数据才装入接收缓冲器SBUF,并置RI=1向CPU申请中断;如果接收到的第九位数据为0,则不置位中断标志RI,信息将丢失。而SM2为0时,则接收到一个数据字节后,不管第九位数据是1还是0都产生中断标志RI,接收到的数据装入SBUF。应用这个特点,4便可实现多个8051之间的串行通信。主从式多机通信,即在数台单片机中有一台是主机,其余的为从机,从机要服从主机的调度、支配。8051单片机的串行口方式2、方式3就适用于这种主从式的通信结构,在各机之间配接RS-232C或RS-422或RS-485标准接口。下面我们来介绍这三种标准接口。2.3基于RS-485的单片机多机通信1.RS-485的内部结构RS-485串行总线接口标准以差分平衡方式传输信号,具有很强的抗共模干扰的能力,允许一对双绞线上一个发送器驱动多个负载设备。工业现场控制系统中一般都采用该总线标准进行数据传输,而且一般采用RS-485串行总线接口标准的系统都使用8044芯片作为通信控制器或各分机的CPU。8044芯片内部集成了SDLC,HDLC等通信协议,并且集成了相应的硬件电路,通过硬件电路和标准协议的配合,使系统的通讯准确、可靠、快速。8044在市场上日渐稀少,虽然有8344可替代,但几百元的价位与普通单片机几元至几十元的价位相差甚远,用户在开发一般的单片机应用系统时,都希望能用简单的电路和简单的通信协议完成数据交换。譬如:利用单片机本身所提供的简单串行接口,加上总线驱动器如SN75176等组合成简单的RS-485通讯网络。本文所述的方法已成功地应用于工程项目,一台主机与60台从机通讯,通讯波特率达64KBPS。RS-485是从RS-422基础上发展而来的,所以RS-485许多电气规定与RS-422相仿。如都采用平衡传输方式、都需要在传输线上接终接电阻等。RS-485可以采用二线与四线方式,二线制可实现真正的多点双向通信。而采用四线连接时,与RS-422一样只能实现点对多的通信,即只能有一个主(Master)设备,其余为从设备,但它比RS-422有改进,无论四线还是二线连接方式总线上可多接到32个设备RS-485与RS-422的不同还在于其共模输出电压是不同的,RS-485是-7V至+12V之间,而RS-422在-7V至+7V之间,RS-485接收器最小输入阻抗为12k剑鳵S-422是4k健;旧峡梢运礡S-485满足所有RS-422的规范,所以RS-485的驱动器可以用在RS-422网络中应用。5RS-485需要2个终接电阻,其阻值要求等于传输电缆的特性阻抗。在矩距离传输时可不需终接电阻,即一般在300米以下不需终接电阻。终接电阻接在传输总线的两端RS-485的信号传输采用两线间的电压来表示逻辑1和逻辑0.由于发送方需要两根传输线,接收方也需要两根传输线。传输线采用差动信道,所以它的干扰抑制性好,又因为它的阻抗低,无接地问题,所以传输距离可达1200m,传输速率可达1Mbos。RS-485是一点对多点的通信接口,一般采用双绞线的结构。对于单片机可通过芯片MAX485来完成TTL/RS-485的电平转换。在计算机和单片机组成的RS-485通信系统中,下位机由单片机系统组成,主要完成工业现场信号的采集和控制,上位机为普通的PC机,负责监视下位机的运行状态,并对其状态信息进行集中处理。而在单片机与单片机的通信系统中,则可以选其中一台单片机为主机,即上位机。RS-485接口电路的主要功能是:将来自微处理器的发送信号TX通过“发送器”转换成通讯网络中的差分信号,也可以将通讯网络中的差分信号通过“接收器”转换成被微处理器接收的RX信号。任一时刻,RS-485收发器只能够工作在“接收”或“发送”两种模式之一,因此,必须为RS-485接口电路增加一个收/发逻辑控制电路。RS-485是双向、半双工通信协议,允许多个驱动器和接收器挂载在总线上,其中每个驱动器都能脱离总线。该规范满足所有的RS-422的要求,而且比RS-422稳定性更强。具有更高的接收器输入阻抗和更宽的共模范围(-7V-+12V)。2.RS-485的性能特点1.RS-485的电气特性:逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。2.RS-485的数据最高传输速率为10Mbps3.RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。4.RS-48