查看完整版本: CAN总线在发动机测试系统中的应用

admin 发表于 2015-4-27 21:02:54

CAN总线在发动机测试系统中的应用

引 言
  现场的总线控制系统(FCS)将是新世纪自动控制系统发展的主流,是继DCS后新一代的控制系统。现场总线是综合自动化发展的需要,同时智能仪器仪表则为现场总线的出现奠定了基础。
  CAN(Controller Area Network)是现场总线的一种,最早是德国Bosch公司在上世纪80年代推出的,主要应用于汽车内部检测以及控制系统间的数据通信。CAN总线通信协议充分考虑了工业现场环境,采用了ISO-OSI模型中的三层,即物理层,数据层和应用层。CAN总线规范已被国际标准化组织制订为国际标准ISO11898,并得到了多家著名半导体器件生产商的支持,推出了各种集成CAN协议的芯片产品。CAN总线目前已经被广泛应用,CAN总线被公认为几种最有前途的现场总线之一。
  
CAN总线的功能与特点
  CAN总线的通信介质一般采用双绞线、同轴电缆或光纤等,能够实现在强电磁干扰环境下数据远距离传输的功能,其硬件成本低,传输可靠性高,软件开销小,是属于总线型串行通讯网络,具有与其它通讯协议所不同的特点。
  总线支持载波监测与多主站控制以及冲突检测的通讯模式
  
“载波监测”是指在总线上每一节点在发送信息报文前都必须检测到总线上有一段空闲状态,任一节点都有发送报文的机会。而报文信息优先级的高低取决于信息的最终发送,在CAN中采用非破坏性的基于优先级竞争的总线仲裁方式,这便是冲突检测。通过报文滤波可实现多种传输方式,具有灵活的工作方式。
  CAN总线协议是基于报文而不是基于站点地址的协议
  CAN总线上报文所含内容只有优先级标志区和传送的数据内容,所有节点都会收到报文,对报文的取舍取决于节点本身,同一报文可传送给所有站点,也可以传送给特定的站点。基于报文协议的另一个特点是新的节点可以随时被加入到总线系统中,一旦加入到系统中,该节点便能接收信息,有很强的实用性。
  CAN总线的高速性,以及错误检测和恢复能力的高可靠性
  CAN采用面向数据块的通信方式,信号传输采用短帧结构,CAN能自动地检测出错误信息,保证信息的正确性和完整性,记录出错信息的次数,“故障界定隔离”使故障节点被及时关断而不会永久占用总线。
  灵活数据编码方式
  CAN总线通信控制器集成了CAN的物理层和数据链路层功能,可以完成通信数据的成帧处理,可以定义211或229个不同的数据块。
  总之,CAN总线具有实时性强、可靠性高、抗干扰性强、结构简单、操作性好、价格低廉等优点,是目前国际上公认的最具有前途的几种总线之一。
  
在发动机测试系统中的应用
  发动机测试系统简介
  发动机测试系统是汽车发动机生产厂家在发动机出厂前抽样测试系统的总成,传统的汽车发动机试验台的组成是单台的测功机和被测发动机组成的独立系统,每台被测发动机的测试周期为720小时的连续各种路况测控。该系统引入CAN总线将其中的8个试验台组成一个同步测试系统,可大大简化测试过程,同时减少了重复劳动,取得较好的效果。


  由于该发动机测控设备是由作者在1997年研制成功的,当时考虑到今后系统的扩展以及完善整个试验系统的通信功能,在系统中预留了RS-422通信功能接口。原系统采用STD总线鼠笼式的8098式结构搭建了试验台测控系统,而其通信接口是标准的RS-422串行通信协议,这种结构只能采用主从式结构,且只有物理层,故而采用了CAN桥接器,使其能够组成一个标准的CAN总线系统。
  CAN桥接器的软硬件设计
  CAN桥接器的设计是将RS-422电平与CAN标准的逻辑电平能够相互转换,同时使得RS-422和CAN的帧格式能够相互转换。系统采用了SJA1000控制接口芯片,SJA1000有BasicCAN模式和PeliCAN模式两种工作模式,本系统中选择了工作模式为基本型。SJA1000作为微控制器的片外扩展芯片,其片选引脚CS接在微控制器的地址译码器上,从而决定了CAN总线控制器各寄存器的地址。SJA1000通过CAN控制器接口芯片82C250连接在物理总线上。82C250器件提供对总线的差动发送能力和对CAN控制器的差动接受能力,完全和ISO11898标准兼容。其引脚8允许选择高速、斜率控制和待机三种不同的工作方式。
  在图2所示的电路中实现了RS-422电平和CAN标准逻辑电平的相互转换,同时系统软件也实现了RS-422和CAN帧格式的相互转换,系统中CPU为AT89C52单片机。

      芯片MAX1490B完成了RS-422和TTL逻辑电平的相互转换,而芯片SJA1000则完成了TTL逻辑电平和CAN逻辑电平的相互转换,在MAX1490B中TTL侧和RS-422侧实现了完全电隔离,A、B为其RS-422侧输入端,Y、Z为RS-422侧输出端,DI为隔离的TTL侧驱动输入,RO为隔离的TTL输出端,MAX1490B内部的DCPDC 变换器在不需要外部隔离电源的情况下实现了输入输出的电隔离。82C250是CAN总线通信控制器,由其实现CAN的物理层和数据链路层,是CAN总线收发器,可支持多达110个节点的CAN总线负载。
  测控设备的改造
  原有的系统采用了下位控制,即将控制权限和管理权限在每一独立的系统中单独实现,数据的输出,给定控制目标以及各种工况的信息打印均由前端机控制,上位机只是用来对系统进行简单的数据汇总通讯。在原系统中每个测控设备是孤立的,是信息孤岛,在改造过程中上位机中配置CAN适配器,用双绞线与CAN总线相连,在原测控设备上利用预留RS-422与CAN桥接器相连。在软件编程中,增加了单独的通信单元,不增加原有的控制系统的其他功能和软件开销,经过简单的软硬件改造后,形成了一个具有数据交互功能的测控系统。改造后的系统能够通过上位机对前置机进行控制工框的设定、数据采集汇总等,可以通过上位机对前置机进行控制,突破了原有系统的信息交互的障碍。系统拓扑结构如图4所示。



  
结束语
  经过改造后的测控设备连成了一个CAN总线系统,突破了原有的信息孤岛的模式,原系统中的各种工作模式、各种控制目标给定由上位机管理,下位机通过接收广播、点对点方式和上位机通信,接受工况状态的转换以及控制给定等参数,同时定期上传其工作状态、测试数据等,上位机对其进行统一管理,实现了“分散控制,集中管理”的模式。上位机通讯管理软件的编制采用DELPHI5.0,在WIN2000下编译完成。
  通过对原有系统进行总线升级改造,针对原有测试系统进行现场总线改造的尝试,也具有积极的实际意义。
页: [1]
查看完整版本: CAN总线在发动机测试系统中的应用