PC机与MSP430之间多机通信的设计
2014-11-15吴雄英谢兴红
吴雄英,谢兴红,闫 萍
(成都理工大学信息科学与技术学院,成都,610000)
0 引言
多机通信主要应用在工业控制和智能检测中:通过一个上位机控制多个下位机,通过下位机对被控设备进行控制和状态检测,同时返回数据给上位机。RS232总线只能实现一对一的通信,RS485总线可挂接32台设备,能够进行多机通信。多机通信的基本结构如图1所示。
图1 多机通信基本结构Fig.1 The basic structure of the Multiprocessor Communication
1 RS232/RS485转换电路
PC机具有较强的数据分析处理能力,良好的人机界面及大容量数据存储空间,可充当上位机,用来监控下位机的运行状况。但是,通常PC机上只有RS232串口,要使用RS485来进行实现多机通信,必须配置RS485实现与RS232之间的转换。单片机与PC机间的RS485通信总体硬件接口电路框图如图2所示。
图2 RS232/RS485转换电路框图Fig.2 The converter circuit diagram of RS232 to RS485
2 MSP430与RS485接口电路设计
下位机通常由单片机来充当。MSP430单片机具有丰富的外围模块,如MSP430F149就包含:7组I/O端口,精密模拟比较器,硬件乘法器,2组频率可达8MHZ的时钟模块,2个可以实现异步、同步及多址访问的USART。在实际的应用中,USART接口具有极大的通用性,当寄存器UxCTL的SYNC位为0时,USART工作在异步模式下。在异步模式下,USART通过URXD、UTXD这两个引脚和外部系统连接。其与MAX485的接口电路如图3所示。
图3中,RS485采用平衡发送和差分接收方式来实现通信:在发送端TXD将串行口的TTL电平信号转换成差分信号A、B两路输出,经传输后在接收端将差分信号还原成TTL 电平信号。
输出电路的设计要充分考虑到线路上的各种干扰及线路特性阻抗的匹配。由于工程环境比较复杂,现场常有各种形式的干扰源,所以485总线的传输端一定要加有保护措施。在电路设计中采用稳压管D1、D2组成的吸收回路,也可以选用能够抗浪涌的TVS瞬态杂波抑制器件。
考虑到线路的特殊情况(如某一台下位机的485芯片被击穿短路),为防止总线中其它分机的通信受到影响,在485信号输出端串联了两个20Ω的电阻R10、R11。这样本机的硬件故障就不会使整个总线的通信受到影响
在应用系统工程的现场施工中,由于通信载体是双绞线,它的特性阻抗为120Ω左右,所以线路设计时,在RS-485网络传输线的始端和末端各应接1只120Ω的匹配电阻(如图1中R8),以减少线路上传输信号的反射。
由于RS-485芯片的特性,接收器的检测灵敏度为±200mV,即差分输入端VA-VB ≥+200mV,输出逻辑1;VA-VB≤-200mV,输出逻辑0;而A、B端电位差的绝对值小于200mV时,输出为不确定。如果在总线上所有发送器被禁止时,接收器输出逻辑0,这会误认为通信帧的起始引起工作不正常。解决这个问题的办法是人为地使A端电位高于B两端电位,这样RXD的电平在485总线不发送期间(总线悬浮时)呈现唯一的高电平,单片机就不会被误中断而收到乱字符。通过在485电路的A、B输出端加接上拉、下拉电阻R7、R9,即可很好地解决这个问题。
3 软件设计
MSP430单片机的UART模块具有比普通51单片机更完善的特性,如:可选择奇偶校验方式、波特率小数部分可编程、提供差错控制及错误状态位、串口中断唤醒CPU等。将这些特点应用于串口通信中可以增强通信的可靠性,比如:UART硬件模块可以被设置为若奇偶校验出错则不接收当前数据,通过设定波特率调制值可使波特率更准确,通过休眠模式的应用可提高CPU工 作的效率并降低系统的功耗。
对于多机通信,MSP430单片机内置了空闲模式和地址模式两种通信模式,为提供可靠高效的多机通信提供了保证。两种模式主要在如何确定地址帧方面存在差别:(1)空闲模式:两个数据块之间的传输空闲时间大于或等于10bits,也即用传输线上大于或等于10 bits空闲之后的第一个数据表示地址。(2)地址模式:通过字节帧中的地址位(1或0)指示该帧是地址帧还是数据帧。由于空闲模式要求两个数据块之问一定要有大于或等于10 bits的时间问隔,所以在连续传输的场合,传输速率会比地址模式慢。本设计中采用地址模式。软件流程如图4所示。
图4 软件流程图Fig.4 The Software flow-chart
图3 MSP430与RS485的接口电路Fig.3 The interface circuit between MSP430 and RS485
4 结束语
在多机通信系统中利用RS485总线实现远程数据传输功能,系统易于实现,可靠性高,抗干扰能力强,能比较容易地实现多机通信的功能。在一些工控系统中具有较好的应用推广价值。
[1]郑秀聪,谢运祥.DSP与单片机的串行通信及液晶显示系统的设计[J].计算机工程与科学,2011(6).
[2]谢兴红,林凡强,吴雄英.MSP430单片机基础与实践[M].北京:北京航空航天大学出版社,2008.
[3]沈建华,扬艳琴,翟骁曙.MSP430系列16位超低功耗单片机实践与系统[M].北京:清华大学出版社,2004.
[4]胡大可.MSP430系列FLASH型超低功耗16位单片机[M].北京:北京航空航天大学出版社,2001.
[5]MAXIM.MAX485数据手册.http://www.maxim-ic.com.1996
[6]张淑云,孙江北,霍志明.PC机与单片机的串行通讯[J].中国科技信息,2005(10).