接口总线驱动 > 详情

基于CAN总线技术实现汽车检测线测控系统的设计

发布时间:2023-12-29 发布时间:
|

目前世界上开发出了40多种现场总线,其中CAN总线因其具有实时性强、可靠性高、抗干扰性强、通信方式灵活、非破坏性的访问方式和开发简单、廉价等独特之处,适合于汽车检测线中应用。基于CAN总线的汽车检测控制系统可以解决现有RS232、RS485等通信系统的传输速率慢,出现乱码等缺点,可以提高数据传输的实时性和可靠性,而且创建与汽车中微电脑通信的平台,以解决汽车与检测互通信息的前瞻问题。

1、基于现场总线技术的汽车检测线开发设计

1.1 汽车检测线测控系统整体设计

汽车检测站计算机网络系统由现场总线网络和数据处理网络组成,两者通过1台NT服务器进行连接。现场总线网络以CAN总线技术为核心,采用总线型网络拓扑结构,而数据处理网络均采用星型网络拓扑结构,汽车检测线总体结构如图1所示。

数据处理网络中,每个工位机的信息及车辆信息都可通过网络进行资源共享,完成打印报表、财务报表和数据统计等各项任务。

在现场总线网络检测系统中,测控计算机和工位机之间都由CAN总线接口卡连接。测控计算机主要完成每个工位的初始化工作和对通信参数的设定,工位机接收汽车检测仪器仪表的传感器(以下简称下位机)的数据,检测车到位状态以及驱动显示屏,下位机进行数据采集和数据初步处理。

汽车检测站的检测设备来自各个厂家,由于到目前为止还没有一个统一的通信标准,不可能对检测线上的各个检测设备进行较大改动,所以下位机通过自身的硬件条件来确定通信方式,工位结构如图2所示。如果下位机的通信接口是数据打印口、RS232或RS485接口,先连接现场总线通信转换接口CAN卡,然后连接到现场总线上来完成现场总线通信。当然最好各检测设备出厂时都采用CAN总线接口,这样有利于设备的标准化。

下位机N是汽车检测仪表中带有CAN的CAN控制模块,它不需要CAN卡直接与CAN总线相连。在这种方式下,工控机只连接CAN 总线,每个下位机用并联的方式挂接在总线上,而不需要每个下位机与工控机相连。具有节省屏蔽线、布线方式简单和抗干扰性强的优点。工位机也可以由DSP单片机组成的嵌入式控制器代替工控机。这种方案对检测设备的影响较小、成本较低,总线获取数据的可靠性较高。

1.2 汽车检测仪表中带有CAN的CAN控制模块设计

CAN控制模块是由8位的微处理器89C58、独立CAN通信控制器SJA1000、CAN总线收发器82C250以及相关的接口组成的实时多任务的嵌入式控制系统(如图3所示),实现CAN总线的通信协议以及相关功能,可以分成3个部分:

(1) 总线接口部分,包括总线收发器和总线控制器,这部分对于所有CAN总线智能模块都是相同的。

(2) 与传感器及执行机构与单片机的接口部分,不同的接口将各单元分成不同的类型。

(3) 将前两部分连接成一个有机系统的微控制器及其外围接口部分,称为模块,不同的模块要求单片机实现不同的功能。微处理器负责从传感器中采集数据、对SJAIO00初始化并且控制SJAIO00实现数据的接收和发送等通信任务。

2、CAN通信协议的制定

SJA1000 CAN总线控制器支持CAN 通信协议约定的4种不同帧格式,即数据帧、远程帧、出错帧和超载帧。

汽车检测系统中下位机将检测得到的数据以数据文件的形式缓存,传输时打包成数据帧,以报文为单位进行数据传送。定义帧由优先级、单元地址、数据组成。

优先级的制定如表1所示,系统复位命令的优先级定义为0x00,由于1让位于0的机制,其值越小,优先级越高。所以复位命令的优先级最高,只要收到这个命令下位机将停止发送及采集数据,并执行复位。

单元地址表示下位机的地址信息,它可以由两种方式制定,一个是使用编码开关,现场制定地址,另外一个是出厂前程序中定义。若使用CAN卡只能使用第一种方式。

3、软件设计

汽车检测系统软件主要由VC编程的主控程序,VB编程的报表程序,微处理器程序以及CAN节点通信程序组成。其中通信程序主要分为3个部分:CAN初始化,数据传输及数据接收。这里主要列出CAN芯片初始化程序,程序如下:

Unsigned char init_CAN (unsigned int btr0btr1)

EA=0;

EX0=1:

CAN— REGISTER [CONTROL]=1;//复位请求

CAN_ ACC=CAN_ REGISTER [CONTROL];

While (!CAN_ACC_0)

CAN REGISTER [CONTROL] =1;//确定是否复位

CAN_ACC=CAN—REGISTER [CONTROL];

//设置接受代码寄存器

CAN-REGISTER [ACCEPTANCE_CODE]=ACC_CODE;

//设置接受屏蔽寄存器

CAN_REGISTER [ACCEPTANCE_MASK] =ACC_MASK;

//设置总线时序0寄存器

CAN — REGISTER [BUS_TIMING_1]=btr0btrl;

//设置总线时序1寄存器

CAN_REGISTER [BUS_TIMING_0]=btr0btrl》 》8:

//设置输出控制寄存器

CAN_REGISTER [OUTPUT— CONTROL]=OUTONTRL;

//设置时钟分频寄存器

CAN_REGISTER [CDR]=CDRVALUE;

//设置控制寄存器

CAN_REGISTER [CONTROL]=CNTRLREG

//设置命令寄存器

CAN_ REGISTER [COMMAN D]&=0xe0;

CAN_REGISTER [COMMAND]I=0x0e;

CAN_REGISTER [COMMA ND]&=0xe0;

EA=1:

Return (OK);

4、应用情况及效果

基于现场总线的汽车检测系统由4个工位机组成。第1工位机包括底盘测功机、废气分析仪、噪声声级计、全自动烟度计及油耗仪;第2工位机包括转向盘及操纵力检测仪、全功能侧滑台、车轮转向仪、悬架松旷检测台及传动系松旷仪;第3工位机包括踏板力行程检测仪、制动检验台、悬架特性检测台、车体形位偏差仪及轴重仪;第4工位机包括发动机检测仪、前照灯检测仪、喇叭声级计及左右轴距差检测仪。网络使用了屏蔽双绞线,连线长为100m,传输速率为125kbps。

实践证明,把现场总线技术应用到汽车检测线以后,该系统通信可靠、性能稳定,取得了良好的经济效益和社会效益,其主要表现在如下几方面:

(1) 节省了成本。由于系统采用了现场总线,通过屏蔽双绞线连接各处分散的独立设备,而且嵌入式系统的控制器代替工位机中的工控机,与以前不使用现场总线技术相比,可以节省项目经费。

(2) 具有良好的扩展性。由于现场总线的开放性,可随意增设工位,总线上可以挂接32个设备。

(3) 远距离高速通信。传输距离小于50m时,数据传输速率可达1Mbps,提高检车效率。

(4) 系统维修方便。总线上某个设备出现故障,不会导致整个系统的瘫痪,仍可维持其余设备的正常运行,检修时只需断开故障设备即可,提高了系统的整体可靠。

5、结束语

目前在汽车设计领域中,很多汽车厂家采用ISO颁布的CAN国际标准(ISO1 1898)。这标准允许不同厂家生产的零部件能在同一辆汽车中进行有效、协调的工作,构成了所谓的开放式系统,检测线采用CAN总线技术,有利于从汽车上直接获取其故障信息,使得标准化的故障诊断和排放检测成为可能。

把现场总线技术应用在汽车检测线上,不仅提高汽车检测速度及检车质量,也可以从设计、安装、调试、运行到维护方面,节省成本和时间,从而得到了经济效益,提高了市场竞争能力。

 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
RS485总线在工业控制的典型应用