微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > CAN总线在发动机测试中的应用

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

时间:09-19 来源:互联网 点击:

引 言

现场的总线控制系统(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总线负载。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top