基于CAN Bus的网络传感器测控系统的设计
2009-07-02章万静王胜刚潘永安罗时书
章万静 王胜刚 潘永安 罗时书
[摘要]介绍一种基于CAN Bus的网络传感器测控系统的总体设计方案,并详细的阐述该系统的硬件电路结构和系统软件的设计。实际应用表明,该系统具有可靠性高,实时性强,扩展容易等应用优势。
[关键词]CAN Bus 网络传感器 测控系统
中图分类号:TP7文献标识码:A文章编号:1671-7597(2009)0520010-02
一、引言
随着现代信息技术的高速发展,自动化控制和仪器仪表等领域发生了深刻的变革,数字化、智能化、网络化成为该领域发展的新方向。这就导致系统的组成日益庞大而复杂,所需要的测控点和测控参量越来越多,所需要的传感器数目也就成倍的增加[1]。由于单个传感器仅能感知其观测环境有限的局部信息,而由多个同类或异类传感器构成的网络传感器系统能从不同的角度和视野获取其观测环境更多的全局信息,这使得网络传感器系统在军事和民用领域正受到越来越广泛的重视[2]。
控制器局域网CAN(Controller Area Network)作为一种多线路网络通信系统,以其时分多主,非破坏性总线仲裁和自动检错重发等灵活、可靠的通信技术,及低廉的价格,被广泛的应用于自动化生产线、汽车、传感器、医疗设备、智能化大厦、电梯控制、环境控制等分布式系统[3]。根据Atmel公司新型微控制器T89C5CC01的特点,利用其内部集成CAN控制器来组建网络传感器的测控系统,具有结构简单、设计容易、抗干扰性强等应用优势。
二、系统的总体方案设计
(一)系统的组成
从图1中可以看出,基于CAN Bus的网络传感器测控系统由三部分组成:上位机、CAN总线和下位机。
上位机:该系统以PC机作为上位机,因PC机具有强大的数据处理能力和友好的人机界面,将其作为上位机引入到系统中去,可以大大提高系统的整体性能。PC机向下通过CAN总线接口适配卡和CAN总线与下位机相连,实现CAN 2.0B协议(兼容CAN 2.0A协议)的连接通信,负责对整个CAN总线系统进行监视管理,具有系统参数(如波特率、标识符码、标识符屏蔽码等)设置、数据发送、数据接收、控制等功能。
CAN总线:CAN总线能够使用多种物理介质,例如双绞线、光纤或同轴电缆等。该系统的CAN总线通过双绞线与其它节点相连,网络终端两端各需加接一个120Ω的电阻作为线路的匹配。这两个电阻对于总线阻抗的匹配起着相当重要的作用(防止波形反射),去掉它们会使数据通信的抗干扰性和可靠性大大降低,甚至无法通信。由于驱动能力的限制,CAN总线上最多可挂110个节点。
下位机:该系统采用片上集成CAN控制器的微控制器作为下位机的核心部件,其不仅担负起节点主控制器的作用,负责网络传感器的管理及数据的采集、转换和处理,同时还可以通过CAN总线接口适配卡和CAN总线,负责与系统中的上位机或其他下位机实现数据传输与交换。
(二)系统的工作过程
根据基于CAN Bus的网络传感器测控系统的网络拓扑结构可知,为在PC机与各下位机节点之间构筑基于CAN总线的通信信道,在PC机内扩展了一块CAN总线接口适配卡,一方面使PC机的命令、控制信息以及数据可以顺利地传递到各下位机节点;另一方面使各下位机节点的状态、处理请求等信息可以顺利地返回PC机。其具体的通信过程如下:PC上位机将各种控制命令转换成CAN总线接口适配卡可以识别的数据,当CAN总线接口适配卡接到数据后,按照CAN总线的协议标准发送给各下位机节点控制器,各下位机节点控制器依据标识符判断是否为自己应处理的数据。如果符合条件,则按照相应的算法解释所收到数据帧的内容,转化成相应的控制信号,控制执行机构完成相应的功能;并且各下位机节点之间也能按照CAN总线协议相互通信,实现控制的协调。与此同时,各个下位机节点也可不定期的将各自的状态参数组成数据帧,向PC上位机发送,使PC上位机能及时了解各下位机节点的工作状态。
(三)CAN下位机硬件的设计
基于CAN Bus的网络传感器测控系统的下位机节点硬件电路原理如图2所示,该节点由集成了CAN控制器的微控制器T89C51CC01、与T89C51CC01
配套使用的CAN高速收发器ATA6660、16选1模拟开关CD4067、高精度的24位模数转换器ADS1244、高速光耦6N137、电源隔离模块B0505S-1W、提供+5V高精度的稳定参考电压源MAX6035以及多个传感器(如角度传感器、位移传感器、温度传感器、湿度传感器、压力传感器等)等组成。
在该设计中,微控制器芯片T89C51CC01的晶振所选频率为16MHz,工作在12时钟模式下。其ALE脚输出信号恒定为1/6 振荡频率,用来作为ADS1244的时钟输入,P2端口的部分引脚控制CD4067的16通道的选择;并将高速收发器ATA6660将RS端接地启用标准模式能进行数据发送和接收。为了进一步的提高CAN总线的抗干扰能力,保证各下位机节点之间在电气上是完全隔离和独立的,T89C51CC01的P4.0和P4.1引脚分别通过高速光耦6N137与ATA6660的TXD和RXD引脚相连。另外,光耦部分电路所采用的两个电源必须完全隔离采用一个小功率电源隔离模块B0505S-1W,提高了下位机节点的稳定性和安全性。
三、CAN下位机软件的设计
该系统下位机节点的软件采用模块化程序设计,其主要子程序有:CAN初始化子程序、模数转换子程序、数据接收和数据发送子程序等。主程序中采用T89C51CC01内置看门狗(watch-dog)复位技术,以保证系统的正常运行。下位机节点主程序框图如图3所示。
下位机节点对CAN Bus上的数据有两种接收方式:查询方式和中断方式。但是采用查询方式时,系统资源利用率不高,不能很好的满足实时性,所以该系统采用中断方式进行数据的接收和发送,实现高速、实时的数据通信。下位机节点中断子程序框图如图4所示。
四、结束语
通过该系统在公司的角度传感器成品检测中的实际使用,其良好的表现表明了该系统具有如下优点:
1.结构简单、抗干扰性强、可靠性高;
2.数据传输速度快、传输距离长、实时性好;
3.支持热拔插,可以利用双绞线组网,使得节点扩充容易,维护方便[4];
4.可根据实际使用的距离和需要设置合适的波特率,最高可达1Mbps。
总之,该系统具有结构简单、使用方便、功能强大、性价比高、抗干扰性强、通用性好等应用优势,在实时要求高的分布式系统中具有很好的应用前景。
参考文献:
[1]谢亮、郭阳,基于HART的智能现场实时控制通信系统[J].微计算机信息,2008,4(2):164-166.
[2]田康生、朱光喜、徐毓,基于多代理技术的传感器管理系统[J].现代雷达,2004,26(2):9-13.
[3]邬宽明,CAN总线原理和应用系统设计[M].北京:北京航天航空大学出版,1996.
[4]杨一敏、张培仁、王津津、丁剑文,基于C8051F040的CAN总线实时大型监控系统[J].自动化与仪表,2008,23(7):21-24.
作者简介:
章万静(1976-),男,汉族,湖北随州人,硕士,讲师,研究方向:总线技术、单片机和嵌入式系统的应用。