1、论基于 CAN 总线与以太网互联的实时温度和湿度监控系统的研究CAN(Controller area network)即控制器局域网,是国际上应用最广泛的现场总线之一。起先 CAN-bus 被设计作为汽车环境中的微控制器通讯,在车载的各电子控制装置(ECU)之间交换信息形成汽车电子控制网络。作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,CAN-bus 已被广泛应用于各个自动化控制系统中。从高速的网络到低价位的多路接线都可以使用 CAN-bus。例如,在自动控制、智能大厦、电力系统、安防监控等各领域,CAN-bus 都具有不可比拟的优越性。工业控制系统的分布化、智能化、信
2、息化发展,要求企业从现场控制层到管理层实现全面无缝信息集成。工业以太网满足这一要求,实现了工业控制网络与企业信息网络的无缝连接,成为控制网络发展的主要方向,为全分散智能控制网络系统实现远程控制提供了可能1。本文作者主要介绍基于 CAN 总线与以太网互联的实时温度、湿度监控系统,从而实现监控设备的网络化和智能化。1 系统介绍1.1 CAN 总线与互联网互联的发展状况 CAN 总线是一种有效支持分布式控制的串行通信网络,是德国 BOSCH 公司从 20 世纪 80 年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而设计的一种串行数据通信协议,历经技术规范 2.0A 和 2.0B 后已形成
3、CAN 国际标准(ISO11898)。CAN 遵循 OSI 模型,按照 OSI 基准模型,CAN 机构分为 2 层:数据链路层和物理层。按照 IEEE802.2 和 802.3 标准,数据链路层又划分为逻辑链路控制层(LLC)和媒体访问控制层(MAC);物理层又划分为物理信令层(PLS)、物理媒体附属装置层(PMA)和媒体相关接口层(MDI)。由于CAN 具有独特的优点,使得它在工业领域中得到广泛应用。目前,基于 CAN 总线获得广泛应用的应用层协议有 DeviceNet 和CANOpen 等。CAN 具有以下主要特点2:(1)CAN 为多主工作方式,网络上任一节点均可在任意时刻主动地向网络上
4、其他节点送信息,而不分主从;(2)在报文标识符上,CAN 上的节点分成不同的优先级,可满足不同的实时要求;(3)CAN 采用非破坏总线仲裁技术。当多个节点同时向总线发送信息出现冲突时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间;(4)CAN 节点只需通过对报文标识符滤波即可实现点对点、一对多点及全局广播几种方式传送接收数据;(5)CAN 报文采用短帧结构,传输时间短,受干扰概率低,保证了数据出错率极低;(6)CAN 节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响。现场总线网络与工业以太网的结合使得企
5、业的管理可以深入到测控现场,在这种互联方式下,由以太网构建信息网,通过两者的有机联接,从而构成一个中型/大型的远程监控/数据传输网络3。1.2 系统架构系统由温度、湿度测控器、CAN 以太网通信转换器、服务器和客户端组成,如图 1 所示。温度、湿度测控器主要负责现场温度、湿度数据的采集、处理、控制、显示、报警以及通过 CAN 总线与通信转换器进行数据交换。CAN、以太网通信转换器主要负责 CAN 总线数据的发送和接收,并将CAN 的数据通过局域网发送到服务器上。服务器负责监控结果数据的存储和报表的存储,同时,向客户端提供访问服务。客户端通过浏览器上因特网访问服务器上的数据并进行通信和控制。2
6、硬件设计温度、湿度测控器主要分为数据采集、控制和 CAN 总线通讯 3 部分温度、湿度测控器的温度、湿度传感器采用瑞士图 2 温度、湿度测控器的硬件框图 Fig.2 Structure of temperature and humidity controllerSENSIRION 公司的 SHT10,传感器包括 1 个电容式聚合体测湿元件和 1 个能隙式测温元件,并与 1 个 14 位 A/D 转换器以及串行接口电路在同一芯片上实现无缝连接。SHT10 具有超快响应、抗干扰能力强等优点。每个 SHT10 传感器都在极精确的湿度校验室中进行校准。校准系数以程序的形式储存在 OTP 内存中,传感器
7、内部在检测信号的处理过程中要调用这些校准系数。两线制串行接口和内部基准电压,使系统集成变得简易快捷。温度、湿度测控器的 MCU 采用微芯公司的 PIC18F2580,它是整个温度、湿度测控器的运算控制单元,它采用 16 位的 RISC 指令系统、哈佛总线结构、两级流水线取指等技术,具有 32 KB 快闪存内存、4 KB 的 RAM、片内看门狗、内部 EEPROM、CAN 控制器等丰富的片内资源,抗抗干扰性能强,功耗低,速度高4。PIC18F2580 主要负责数据采集与控制,并与通信转换层适配器进行实时 CAN 总线数据的通信。CAN 与以太网通信转换层硬件框图如图 3 所示,它的处理器采用 N
8、XP公司的 ARM7TDMI-S 核的单片机 LPC2378,是一款支持实时仿真和嵌入式跟踪的 16/32 位 ARM7TDMI-S CPU,处理器时钟高达 72MHz。片内含有高达 512 KB 的片内 Flash 和 58 KB 的片内 SRAM 存储器,具有强大的通信接口:10/100M 以太网媒体访问控制器(MAC),2 路 CAN-bus 接口。增强型外设 4 个 32 位捕获/比较定时器、1 个带有 2 KB 电池 SRAM 的低功耗实时时钟、看门狗定时器和 1 个片内 4 MHz 的 RC 振荡器。LPC2378 的强大功能为 CAN 和以太网的通信转换带来了极大方便5。3 软件
9、设计软件设计的对象主要包括 3 部分:温度、湿度测控器的检测控制和 CAN 通信,CAN 以太网通信转换,B/S 平台。3.1 温度、湿度测控器的软件设计温度、湿度测控器的软件流程它主要包括初始化子程序、CAN 数据的接收和发送程序、显示程序、键盘扫描程序、控制程序。CAN 数据的接收和发送对实时性要求比较高,故采用中断方式进行处理。微处理器 PIC18F2580 在程序开始首先要对CAN 控制器模块进行初始化。主要通过测控器本身的地址标识的读取来对CAN 控制器的过滤器和屏蔽器进行配置。屏蔽器用于确定标识符中的哪一位被过滤器检查,这样,一旦 1 条有效的信息被信息缓冲器 MAB 接收,信息的
10、标识符区域将与过滤器值相比较,若相匹配,则信息将被装入接收缓冲器。微控制器收到 CAN 数据后,根据相应命令进行相应动作,如设置相应报警温度湿度、执行相应控制等,然后,做出相应的应答。控制程序主要是通过串行接口对 SHT10 进行数据读取,并把读取数据与设定数据进行比较,运用 bang-bang 控制通过驱动电路控制中央空调,使得房间保持一定的温度和湿度。3.2 CAN 与以太网通信转换软件设计 3.2.1 LPC2378 的 CAN 控制器与 CAN 总线间的数据传输 LPC2378 的 CAN控制器带有 1 个完整的发送和接收缓冲器串行接口,它是 1 个双重接收缓冲器,有了这个双重的接收缓
11、冲器,芯片可以在对 1 个报文进行处理时,可接收另一个报文,但它不含有验收滤波器。验收滤波器是独立的器件,它对所有 CAN 通道进行 CAN 标识符过滤。数据从 CAN 控制器发送到 CAN 总线由 CAN 控制器自动完成。发送程序采用中断方式,中断方式发送程序分为发送主程序和中断服务程序。主程序用于控制信息的发送,中断服务程序负责发送临时存储区中的暂存信息。中断流程图见图 5。C/OS-是一个包含时间管理、任务调度等基本功能的小型、轻量级的嵌入式实时操作系统的内核,而且 LPC2378 是基于 ARMTDMI 的 ARM的内核,其内核与存储器结构都很适合操作系统的运行6。以太网控制器采用 u
12、C/IP 的协议栈,主要使用 TCP/IP 协议。TCP/IP是面向连接的协议,它在 2 个 TCP 之间创建 1 条虚连接,TCP 在运输层使用流量控制和差错控制机制来保证数据的可靠性7。TCP 提供全双工服务,即数据可在同一时间双向流动。控制器作为客户端发起连接。通过TCP/IP 数据的收发中断见图 6。对于 TCP 数据包,LCP2378 取出数据,并存入数据区,对数据进行相应分析后,通过 CAN 控制器发到 CAN 总线上,对于从 CAN 总线上接收的数据,同样存入相应数据区,将数据按照 TCP/IP 进行封装发送。图 6 与以太网通信的中断方式的数据收发 Fig.6 Data exc
13、hange with Ethernet through Interruption4 实验测试系统研制成功后,与多个带有 32 个节点 CAN 总线子网系统和以太网环境中进行测试。主要针对TCP/IP 协议和 CAN 协议的数据通信实现对其性能和稳定性进行验证。图7 所示为使用 ZLGCANTest 工具监测到的数据截图。图 7 CAN 总线数据截图 Fig.7 CAN field bus screenshot 整个系统正式投入运行后,到目前为止已经投入运行半年时间,系统运行稳定,没有出现数据丢失或者由于总线冲突导致的节点自动脱离总线的现象。5 结论(1)所设计的基于 CAN 总线与以太网互联的
14、实时温度、湿度监控系统在某数据中心得到应用,系统中采用的底层使用 CAN 总线通信,中间层使用以太网通信,上层通过服务器与因特网连接,经过长时间的测试和运行,并与其他通信方式相比较,CAN 总线通信方式稳定性良好,可靠性高。(2)由于原数据中心测控装置分布较分散,房间数量多,导致房间温度、湿度控制不稳定甚至导致事故发生。采用该系统以后,不仅所有的房间温度、湿度可以乾地远程实时监控,而且整个测控系统的稳定性、准确性大大提高。(3)实践证明,基于 CAN 总线与以太网互联的实时监控系统的系统是可行的,符合未来监控技术的发展趋势。另外,该系统也可以应用于其他需要实时监控的领域。参考文献:1邬宽明.C
15、AN 总线原理与应用系统设计M.北京:北京航空航天大学出版社,1996.WU Kuan-ming.The theory and application system design ofCAN busM.Beijing:Beihang University Presss,1996.2饶运涛,邹继军,郑勇芸.现场总线 CAN 原理与应用技术M.北京:北京航空航天大学出版社,2003.RAO Yun-tao,ZOU Ji-jun,ZHENG Yong-yun.The theory andapplication system design of CAN busM.Beijing:BeihangUniv
16、ersity Presss,2003.3XU Jian-ning,LIU Wei-dong,JI Yan-peng,et al.Remotemeasuring and controlling system based on Ethernet and CANbusJ.Computer MeasurementControl,2007,15(3):302?304.4刘小强,粟梅.基于 CAN 总线的数据采集处理系统的设计J.仪表技术与传感器,2006(9):22?24.LIU Xiao-qiang,SU Mei.Design of data acquisition systembased on CA
17、N fieldbusJ.Instrument Technique and Sensor,2006(9):22?24.5曹小华,赵成,陶德罄.基于现场总线 CAN 的实时监控系统研究与设计J.武汉理工大学学报,2005,29(6):910?916.CAO Xiao-hua,ZHAO Cheng,TAO De-qing.Research anddesign of real-time supervisory control system based on CANfieldbusJ.Journal of Wuhan University of Technology,2005,29(6):910?916
18、.6王永翔,王立德.多播交互式 CAN 总线与以太网互联网关设计J.电子测量与仪器学报,2007,21(3):83?87.WANG Yong-xiang,WANG Li-de.Design of multicast andswitch gateway between CAN field bus and EthernetJ.Journalof Electronic Measure and Instrument,2007,21(3):83?87.7刘暾东,谢维盛,蔡岗全.Ethernet/IP 通信适配器的设计与实现J.仪器仪表学报,2008,29(10):2220?2224.LIU Tun-dong,XIE Wei-sheng,CAI Gang-quan.Design andrealization of Ethernet/IP communication adapterJ.ChineseJournal of Scientific Instrument,2008,29(10):2220?2224