引言
CAN(Controller Area Network)总线是德国Bosch公司为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mbps,通信距离可达10km,CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码,使网络内的节点个数在理论上不受限制。由于CAN总线具有较强的纠错能力,支持差分收发,因而适合高干扰环境,并具有较远的传输距离。因此,CAN协议对于许多领域的分布式测控是很有吸引力的。目前CAN已成为ISO11898标准,其特性如下:
(1)CAN是一种有效支持分布式控制和实时控制的串行通信网络。
(2)CAN协议遵循ISO/OSI模型,采用了其中的物理层、数据链路层与应用层。
(3)CAN 可以多主方式工作,本质上也是一种CSMA/CD方式,网络上任意一个节点均可以在任意时刻主动地向网络上的其它节点发送信息,而不分主从,节点之间有优先级之分,因而通信方式灵活;CAN采用非破坏性位仲裁技术,优先级发送,可以大大节省总线冲突促裁时间,在重负荷下表现出良好的性能;CAN可以点对点、一点对多点(成组)及全局广播等几种方式传送和接收数据。
(4)CAN的直接通信距离最远可达10km(传输速度为5 Kbps);最高通信速率可达1Mbps(传输距离为40m)。
(5)CAN上的节点数据实际可达110个。
(6)CAN数据链路层采用短帧结构,每一帧为8个字节,易于纠错;CAN每帧信息都有CRC校验及其它检错措施,有效地降低了数据的错误率;CAN节点在错误严重的情况下,具有自动关闭的功能,使总线上其它节点不受影响。
(7)信号调制解调方式采用NRZ编码/解码方式,并且采用插入填充位(位填充)技术。
(8)数据位具有支配“0”(Dominant bit)和退让“1”(Recessive bit)两种逻辑值,采用时钟同步技术,具有硬件自同步和定时时间自动跟踪功能。
基于CAN总线的家庭控制器总线设计方案
在进入信息化时代的今天,人们对于居住环境中的安全性、舒适性要求已越来越高,建立住宅小区计算机管理局域网,实现小区综合管理的网络化势在必行。通过遍布于整个住宅区的家庭控制器和中央计算机系统,实现对住宅的智能化管理。
图 1是基于CAN总线的总体结构示意图,系统采用支持CAN标准的总线型网络。中央计算机系统(上位机PC)通过CAN接口适配卡与CAN总线相连,进行数据交换。通过双绞线把中央计算机系统和家庭控制器(下位智能节点)挂接在一条总线上,构成低层通信网络。由于采用了CSMA/CD的信息传输控制技术,允许总线上各节点平等争用总线,从而可构成具有多主节点的冗余网络结构。
在低层通信网络中,中央计算机系统和家庭控制器分别有自己的ID标志。由于采用CAN标准作为网络通信协议,各节点在网络中的地位相同,于是我们可以将中央计算机系统虚拟成主机,而家庭控制器则虚拟成从机,响应主机的要求。中央计算机系统负责对整个CAN总线系统进行监视管理,具有系统参数(如传输速率、节点地址等)设置、数据发送、数据请求、本机状态查询、节点状态查询、中断状态查询等功能。系统工作过程为上位机向下位节点(家庭控制器)发送命令,下位节点识别并执行相应命令。同时各下位节点也可按要求进行信息交换。