叶云燕
摘要:文要分折的是控制器局域网CAN (Controller Area Net work)方便灵活的结构、接入,并对和应用举例及其拓宽的现场总线控制系统(FCS)作其说明。
关键词:控制器局域网、多主机系统、节点、报文、帧结构
现场总线控制系统(FCS)
现场总线自20世纪90年代初出现以来,引起了国内外业界人士的广泛注意和高度重视,并成为世界范围的自动化技术发展的热点之一,难怪有人称之为“自动化仪表与控制系统的一次变革”。应该说, 现场总线的工业过程智能自动化仪表和现代总线的开放自动化系统构成了新一代全开放自动化控制系统的体系结构。目前国际上公认的现场总线有10多种,各有其特点,并在一定范围内得刭应用。而文要分折的是控制器局域网CAN (Controller Area Net work)方便灵活的结构、接入,并对和应用举例及其拓宽的现场总线控制系统(FCS)作其说明。
1、CAN总线网络是炙手可热的技术
CAN 总线网络的问世已超过15年, 它是德国Bosch公司及几个半导体集成电路制造商开发出来的,它的芯片由摩托罗拉、Intel等公司生产。起初是专门为汽车工业设计的,面向需要可预测而无错误通讯的汽车应用,目的是为了节省接线的工作量。后来由于自身的特点被广泛地应用于各行各业,特别是近年来,由于价格不断下降,CAN成了炙手可热的技术,并不再局限于汽车应用领域。目前它正在工业网络、医疗设备、轨道交通信号、楼宇控制及其它众多系统中得到应用。
1.1牢靠而高速的通讯
上述众多应用领城系统之所以采用CAN总线网络,不仅因为其成本低廉,还由于通过这种网络可进行牢靠而高速的通讯.CAN总线可采用双绞线、同轴电缆或光纤作为传输介质;它的直接通信距离最远可达10km,通信速率通信比特率可高达1Mbps(此时通信距离为40m);总线上可挂设备数主要取决于总线驱动电路,最多可达110个。
1.2 CAN总线网络是一个多主机系统
CAN采用多主工作方式,节点之间不分主从,但节点之间有优先级之分,通信方式灵活,可实现点对点、一点对多点及广播方式传输数据,无需调度。也就是说,它可向系统中的所有节点进行报文发送广播。在这种网络中,每个节点均可滤除不需要的报文。
1.3与以太网之区别
传统的客户机/服务器网络(如以太网)依赖于网络寻址方式将数据发送到单一节点上,如果网络中存在多个节点,则需用星形配置实现集中控制(见图1左所示集中式网络) 。这种以太网络中只需较少的单片机即可执行各种不同的任务,但所使用的是MCU(多芯片单元),通常需要有较多引脚,而且功能也更加复杂,很不方便。
与之相反,CAN系统中的每个节点均同时接收到同样的数据。缺省情况下,CAN是基于报文而非地址的。系统采用分布式控制实现方法集成了多节点(见图1右所示分布式网络)。这种拓扑结构的好处之一是,节点的增加和去除非常简单,对软件的影响也很小。CAN网络要求每个节点均具备智能,但智能化水平可根据节点所承载的任务进行调整。因此CAN系统中使用的单片机通常较简单并且引脚数也较少。由于使用的导线较少并且采用分散式智能,而且CAN网络还具有较高的可靠性。
其图1进一步显示了在多任务网络中,集中式网络通常用于以太网系统,如果在系统中增加节点,则要求对系统MCU(多芯片单元)作很大的变动;而CAN网络可实现分布式网络,从系统中增加或删除节点只需改变少量的固件。
1.4 CAN采用的是非破坏性总线仲裁技术。按优先级发送,可以大大节省总线冲突仲裁时间。
以太网在于它在发送结束前进行冲突检测,而CAN在发送开始时采用冲突检测并有解决方法。当同时发送的两个或更多CAN节点在仲裁期间出现冲突时,报文优先级较低的节点会检测到冲突。随后优先级较低的节点切换到接收模式,等待下一次总线空闲才再次尝试发送。
仲裁成功的发送器将继续如常发送报文,由于在报文仲裁期间,模式的变更在发送的一开始就发生了,而优先级高的报文没有遭到破坏,因此系统对冲突的仲裁结果能做出更快的回应。报文标志符可达2032种,而扩展标准的报文标志符几乎不受限制。
目前CAN已由ISO TC22技术委员会批准为国际标准,在现场总线中,它是唯一被国际标准化组织批准的现场总线。CAN协议也遵循ISO/OSI模型,采用了其中的物理层、数据链路层与应用层。由Bosch公司负责编写的CAN总线网络技术规范已通过ISO和SAE标准化.完整的CAN规范标准参见ISO 11898-1。ISO 11898-2包含了CAN物理层规范。
2、CAN总线上的通信结构与实现
CAN采用短帧结构传输,每帧有效字段为6-8个,传输时间短,受干扰的概率低。而且每帧信息都有CRC校验和其他检错措施,保证数据出错率极低。当节点严重错误时,具有自动关闭功能,使总线上其他节点不受影响。可见,CAN是所有总线中最为可靠的。
CAN 总线上的通信是通过报文帧来实现的。帧有三种类型,即数据帧、远程帧和错误帧。每一个帧内部都具备一些字段,对发送的帧类型做出定义并提供相关信息。比如,数据帧由6个字段组成,分别是:仲裁字段、控制字段、数据宇段、CRC(循环冗余校验)宇段、确认字段以及帧结束。在帧发送期间,仲裁字段被网络中的每个节点用来识别和/或解决冲突。仲裁字段还用来识别报文的类型及其发送目的地。控制字段定义了数据帧的长度,数据帧包含数据,其字节数在控制宇段中作了规定。CRC字段用来检测数据错误。最后每次发送均需取得CAN网络上所有接收节点的确认帧。
3、CAN网络应用举例与拓宽
在CAN网络的多主机环境下,增加或删除节点不会显著影响系统的运行和可靠性。
3.1 用压力传感器MPX2100AP来测量压力的CAN网络应用举例。见图2所示,它给出了单节点CAN网络的例子。在图2中,使用Motorola压力传感器MPX2100AP来测量压力。压力传感器的差分输出电压由分立的仪表放大器放大,并通过四阶低通有源滤波器滤波。随后信号被12位A/D转换器 MCP3201转换成数字代码,然后接收到数字代码的单片机将数据发送给CAN控制器,CAN控制器便产生并维护节点之间的公共语言,而其电压是否符合网络要求则由CAN驱动器管理。
CAN网络中的每个节点都能完成某项功能。尽管图2只给出了压力传感系统,其他类型的系统也可添加到该系统中去,实现应用的多系统。此外,结构框图中的CAN节点可以多种方式实现。比如,在初始阶段,可将CAN控制器集成在单片机片内,而日后增加节点时只会对软件造成很小的影响。当准备增加、增强或搭建一个小型的独立网络时,用MCP2515加上一枚简单的单片机就是一个方便又省的方法。从图2是单节点 CAN网络的典型应用示例,网络上所有用于通信的单元均通过CAN驱动器(MCP2551)、CAN控制器(MCP2515)以及单片机来实现。
图2 的MCP2515独立式CAN控制器实现了2.0B版本的CAN规范,可发送和接收标准或扩展数据帧和远程帧。MCP2515具备两个验收屏蔽寄存器和六个验收滤波器,用于滤除不需要的报文。MCP2515与控制器之间的4线接口是SPI(串行外设接口)。如果MCP2515的RXnBF引脚被配置为GP 输出而TXnRTS引脚配置为GP输入,即可恢复相应MCU引脚以用来与SPI连接。
CP2515有三个主要模块:CAN模块,包括CAN协议引擎、屏蔽寄存器、滤波器发送和接收缓冲器。控制逻辑模块和寄存器用子配置器件及其运行。SPI协议模块。
一般来说,CAN系统中的每个节点均必须有一个器件能将CAN控制器产生的数字信号转换为适合在总线上发送的信号。该器件还在CAN控制器和外部电压源 (EMI、ESD和瞬时电压等)在CAN总线上所产生的高电压尖峰之间提供一个缓冲。MCP2551高速CAN容错器件可在CAN协议控制器和物理总线之间提供一个接口。MCP2551对于CAN协议控制器能差分地发送和接收,并与ISO-11898标准(包括24V电压要求)完全兼容,该器件的运行速度高达1Mbps。这种串行通讯协议支持分布式实时控制,同时具备相当完善的安全水平。
3.2拓宽CAN应用的现场总线控制系统(FCS)
基于CAN总线结构性能与应用,可以拓宽出应用CAN的现场总线控制系统(FCS)所具的优越性,即大大提高了准确性与可靠性。
由于现场总线设备的智能化、数字化,与模拟信号相比,它从根本上提高了测量与控制的精确度,减少了传送误差。同时,由于系统的结构简化,设备与连线减少,现场仪表内部功能加强,减少了信号的往返传输,提高了系统的工作可靠性。此外,由于它的设备标准化,功能模块化,因而还具有设计简单,易于重构等优点。
为此, 通过图3所示可以对该类应用CAN的现场总线控制系统(FCS)与集散控制系统(DCS)作出比较,进而说明FCS的优点。在图3所示中,可看出其FCS 打破了DCS的结构形式,这是因为:第一,FCS采用了智能设备,把原先DCS系统中处于控制室的控制模块、输入/输出模块置于现场设备中,实现了彻底的分散控制;第二,采用数字信号代替模拟信号,可以实现一对电线上传输多个信号,同时可以为多个设备供电,这样为简化系统结构、节约硬件设备、节约连接电缆与各种安装、维护费用创造了条件。
4、结论
CAN总线的性能经过时间的考验,确保了在需要安全保障的应用环境中能进行可预测而无错误的通讯。它能通过仲裁划分报文的优先级,其硬件和数择据链接层的配置灵活,设计时可对许多发送细节进行更改,而更改后整个系统的数据一致性仍然能够得到保证。当然CAN不足之处是不能用于防爆区。
参考文献
1.<> Stanczyk,Mike,Microchip
Technology lnc
2.<> Richards,Pat, MicrochipTechnology Inc
3.<<高速High-Speed CAN 发送器>> 美国微芯MCP2551产品数据手册
4.<<独立式CAN 控制器 与串行外设接口>> 美国微芯MCP2551产品数据手册
5.邹益等编著 <<现场总线控制系统的设计和开发>> 国防工业出版社2003年1月出版