CAN总线通讯架构在客房控制系统中的应用
2012-09-18龚小斌潘胜军杭州三上电子科技有限公司浙江杭州邮编310052
龚小斌/潘胜军(杭州三上电子科技有限公司, 浙江 杭州 邮编 310052)
1 CAN总线通讯总线优越性
CAN是德国一家名为BOSCH的公司在20世纪90年代初所制定的协议规格,并在1993年标准化成工业总线协议(ISO 11898-1),随后被广泛应用在各种车辆与电子设备上。CAN总线协议是一种序列总线,它提供高安全等级及有效率的即时控制,具备侦错和优先权判别的机制。在这样的机制下,网络讯息的传输变得更为可靠和有效。CAN 亦提供多主控端的架构,这种特性,特别适合使用在主系统或子系统下提供更完整的智慧型网络设备,如智能传感器设备等。CAN的网络拥有高度的弹性调整能力,可以在既有的网络中增加站台而不用在软硬件上作修正与调整。并且,资讯的传递不是建构在特殊种类的站台上,这样一来就增加了在升级网络时的便利性。
CAN总线和RS485不同,它并不是一种简单的电气协议标准,而是一种完善的通讯协议,具有强大的检错和纠错能力。在其通讯过程中会产生不同格式的帧,例如数据帧、远程帧、错误帧等,每种帧有其特定的数据结构。这种特定的数据结构,用来保证数据在传输过程中出现错误时,终端在接收到数据时能够识别所发生错误的类型。在可能的情况下,终端甚至可以还原出原来正确的数据。图1所示是CAN总线协议在传输过程中产生的一个数据帧的结构。其数据结构中提供的CRC冗余算法,保证了传输的稳定可靠。
1.1 多主机结构
CAN总线多主机结构的网络为信息的实时传输提供了保障。在传统的客控系统通讯总线中,往往是基于一主多从的网络结构形式。在这种网络架构下,从设备有状态更新时无法主动向主机提交,从设备与从设备之间的状态或是控制信息的传递也都要经过主设备才能到达彼此。这种问答式的网络结构,信号的传输存在严重的迟滞,不适合用来传输对实时性要求较高的状态信号。而在多主网络中,每个设备都能够接受来自总线的信号,多个设备也能够在同一时间发送数据,在某种约定下,由硬件决定最后谁能够发送数据。这样一来,在设备有状态更新时,就能即时将数据发送到总线上,不用等待主设备的查询;总线上的对应设备在收到该设备发来的消息时,也能马上做出响应,不必等待主机转发的命令。这样一来,省去了主机这一中间环节,总线的利用率得到了提高,消息的实时性也因此得到了保证。
1.2 无损仲裁机制
此外,CAN总线的无损仲裁机制也是保证消息实时性的一个重要方面。在CAN总线协议中存在一个11位(CAN2.0 协议中扩展帧为29位)的标记位。通过设置此标记位能够调整数据在仲裁中的优先级。一般重要的和紧急的信号的发送优先级被设置得较高;而非紧急的信号,被设置为较低优先级发送。如此一来,当有两个设备同时向总线发送数据时,总线就能根据信号发送的优先级来决定紧急的信号优先发送,而将非紧急信号推迟到下一帧,从而保证了信号在总线上的实时传输。
1.3 模块化便于集成
选择CAN总线作为客房控制系统通讯方式来开发的另一个重要原因,是因为目前市场上容易采购到集成有CAN总线通讯接口的CPU型号。对于开发来说,使用集成的模块能够简化电路设计,减少调试遇到的问题,缩短硬件产品的调试周期,从而有利于产品的快速推向市场。另外,现在微处理器中集成的CAN总线通讯模块功能之强大,使开发所要做的事情就是写入通讯数据那么简单,而不必像ModBus协议一样,需要做复杂的校验和处理。因为硬件模块可以完成这些任务。
1.4 强纠错能力
CAN总线的另一个优点是在于其强大的检错和出错处理能力。在CAN总线协议标准2.0B中,设置有5种错误类型。包括位错误、填充错误、CRC校验错误、形式错误和应答错误。另外,CAN的通讯模块上还设置有两个错误计数器,读取错误计数器和发送错误计数器。系统可以根据这些错误提示的状态来判断网络正处于什么样的状态,更有效地处理网络上所发生的情况。当CAN总线上有一个节点不正常时,不会影响总线上其他正常的节点。对比RS485总线,在模块出错或损坏的情况下,可能会导致整个控制系统瘫痪,而失去控制。所以,相对于RS485总线,使用CAN总线能够大幅度提高系统的稳定性及安全性。
相对于基于RS485标准的网络结构来说,基于CAN总线架构的网络所具有的优势是显而易见的。
2 CAN总线在客房控制系统中的应用
酒店客房智能控制系统是指利用计算机技术,对酒店客房内状态变化进行收集、处理,并通过专用的网络将房间状态整理、记录、显示以协助酒店管理者实现对酒店的高效管理的电子系统。系统对于包括安防系统、门禁系统、中央空调系统、智能灯光系统、服务系统、背景音乐系统等在内的系统设备进行智能化管理与控制,实时监测客房状态、宾客需求、服务状况以及设备情况等,是帮助酒店对客房设备及内部资源进行实时控制分析的综合服务管理控制系统。
图2 基于CAN总线的客房控制系统结构图
2.1 系统结构设计
一个稳定、安全的酒店客房控制系统,对酒店来说,能够有效降低能耗支出、管理支出以及后期维护的支出。具有CAN总线结构网络传输机制的酒店客房控制系统正是这样一个安全稳定的控制系统。图2是系统的结构图。
从图2可以看到,具有CAN网络通讯接口的客房控制器在小范围内组成局部网络。这个网络可以是一个较大型客房的私有网络,负责房间内部信号的传递;也可以是几个房间的公共网络,负责房间状态信息和控制信息的传输。小型的网络通过中继器,连接到二级网络。二级网络的存在,使得CAN总线上可以连接的节点数量是一级网络节点数量的平方。按照CAN总线标准CAN2.0B中所定的数量计算,二级的CAN网络所能挂接的节点数量在1万个节点以上,远远高于客房控制系统对网络节点数的要求。二级CAN网络通过TCP/IP协议转换器,与客控系统的中央控制单元通讯。
2.2 通讯接口硬件实现
图3 CAN总线通讯接口的硬件连接示意图
CAN总线通讯接口的硬件实现也是非常简单的,只需一块带有CAN接口的CPU,一个CAN总线驱动芯片和一些必要的外设即可,如图3所示。
3 结束语
到目前为止,客控系统中所使用的总线类型仍然没有一个统一的标准,而其中占主导地位的RS485总线结构在使用中逐渐暴露出各种各样的不足。客控系统迫切需要寻求一种能够取代RS485结构网络的总线结构。通讯结构的更新,是智能化控制系统在其发展过程中必将经历的。CAN总线结构以其优越性在汽车、工业设备等控制领域获得广泛的应用,并且以大量成功的应用案例,不断向其他领域渗透。在形势的大潮之下,设计者应把握时机,致力于将CAN总线的成功应用,再次体现在客房控制系统中。