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

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

1.2 汽车检测仪表中带有CAN的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卡只能使用第一种方式。

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

3、软件设计

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

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查