新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 带CAN总线的汽车仪表总程

带CAN总线的汽车仪表总程

作者:郭斌 欧阳烨时间:2008-08-19来源:无忧电子开发网

  引言:随着汽车制造业的蓬勃发展,其在我国制造业界的龙头地位越来越明显。为进一步增加汽车生产的国产化程度,作为汽车核心技术的自主产权就迫切地提到我国汽车发展的战略日程上来。 带系统就是基于这一理念,迎合当今潮流,在众多国内汽车制造商的急切关注下,作为我国汽车业的一项科技含量高起点的自主技术知识产权的产品研发出来。该电子系统的特殊优点 其一, 它将以前的模拟组合的各分离式仪表 数字化式的统一管理起来。在 提高了仪表的稳定性、 精度,提高了仪表寿命的同时 大大地降低了制造成本;其二, 它在汽车仪表内引入了,将系统设计成 开放式,易的结构,在减少了系统的线索, 提高了系统抗干扰性的同时,大大地增加了系统内的数据流量, 保正了的实时性。 简化了仪表系统和汽车中央控制中心的接口。

本文引用地址:http://www.eepw.com.cn/article/87118.htm

  已研发出来的该套电子仪表系统,不紧填补了我国无全数字化的空白,同时它也是一个有着广泛的市场行情,可持续性发展的企业项目。

  车载仪表系统要处理的参数和硬件工作原理框图

  一  车载仪表系统要处理和显示的参数

  该仪表系统是被安置在驾驶员和方向盘前,主要是向驾驶员集中提供行进中的车辆的行驶状况。

  车辆的行驶状况在此表述为一系列参数。 这其中一的些参数须以表针的形式实时的指示给驾驶员,另外的一些参数须以数字形式实时的显示给驾驶员。

  本仪表系统设计成一个总表盘。 总表盘上要以表针指示的主要参数有:1) 发动机冷却水的温度、2)油箱中的油量、3)发动机的转速、 4) 汽车实时行使速度。

  仪表盘上要以液晶显示的参数有: 1) 发动机的转速、 2)汽车实时行使速度、 3)行车时间和车行总里程(此片 液晶片上所显示的数据可以翻 页)。 电路最大可同时点亮16位液晶数码管,此外 仪表盘上还要有各向车行方向指示灯、转向灯、仪表盘背光显示灯等。

  该仪表系统的主要工作、任务是: 通过温度传感器将汽车发动机冷却水的温度、 通过油浮子 或 磁浮开关传感器将汽车油箱中的余油量、 通过高速、 低速 霍尔传感器将汽车内燃机的转速和汽车的实时行使速度转换为脉冲周期, 经过CPU  的A/D转换处理 和CCP的脉宽捕捉处理, 处理结果 用四个步进电机带动四个表针,实时地指示给车驾驶员, 同时 发动机转速,车行驶速度,车行驶里程,三个参数还须以液晶数码管,可数字式地显示出来。此外汽车的门控制显示灯,左右转向, 前后行驶, 以及汽车的刹车灯, 当环境光线暗下后 仪表盘须制动开启的背光灯等,都须以发光管的形式反应到仪表盘上。此外系统还需每隔一段时间记录并同时备份一次行车里程数到串行存储器中。

  二 车载仪表系统硬件电路工作原理和原理图

  本系统中心选型的 是美国MICROCHIP公司生产的工业级PIC18F458。可以说, PIC18F458是一款专为车载仪表系统 量身订定做的。 虽然CPU PIC18F458的外围接口是8位的, 但内核总线结构确是16位的。准确的说 PIC18F458是一款准16位,即 它既具有8位单片机接口简单特点 同时 它又具备16位单片机的运算能力。 该单片机指令系统采用流水指令, 且内部集成了8位硬乘法器, 所以该款单片机运算速度快, CPU强壮,弥补了低档PIC系列单片机运算能力不足的缺点。且I/O口的驱动电流大于2mA, 可直接用于驱动数码管, CPU芯片带载能力极强。另外该单片机还可进行8路,十位精度的A/D转换。该款单片机的程序和数据存储结构较一般的单片机有所不同, 其空间设计的都特别大, 总体来说,有4K的数据存储器 和2M的程序存储器空间, 内存空间为哈福结构,数据空间和程序空间可独立寻址。 就4K的数据存储器管理而言,分为16个页面,每页面为256个字节。 2M的程序存储器空间管理,类似于8088/8086,2M的程序存储器空间管理,分为堆栈和物理地址二个部分(因篇幅,这里不展开叙说)。这款单片机内存管理有很有特点, 之所以这样做,不单单是为了增加内存空间,更为重要的是有利于操作系统的移植。就这款单片机而言, 系统如采用目前较流行的商用操作系统则无需外扩存储芯片。

  该款单片机专为车载仪表设计,它包含了一般16位单片机所含的内核的同时, 它的内部还封装了一个256字节的可用电擦除的串行存储器。虽然该存储器采用SOC封装,和CPU内核封装在同一芯片内, 但接口仍采用I2C总线的方式。本仪表系统设计,因需要,外扩了一片FLASH串行存储器24LC01,以记录一些较重要的车辆信息。 用I2C总线的方式向24LC01写数据的同时可以镜象复制一份数据到该CPU芯 片内的 串行存储器中,这样可以将重要的数据保二份,一份在CPU内,一份在CPU外。这样既防止了重要数据丢失,也防止了车辆信息数据被人为做假。下面分五个子图简介该车载仪表电子系统的工作原理和具体的实现电路。

  1)           CPU单片机 PIC18F458应用工作原理系统图和接线图

  图一CPU单片机 PIC18F458应用系统接线图:


  注: CCP1为脉冲宽度捕捉器,ECCP1为增强型脉冲宽度捕捉器

  图一为CPU工作原理与系统电路图, 该电路系统由单片机芯片 U1和七大电路模块组成。本系统选用的单片机是PIC18F458,  DIP封装,四十个管脚。 从U1图表的标识中可以较直观地、大至地看出U1芯片 各管脚的功能。七大模块是: 一, 四个仪表步进电机控制模块、二,双脉宽信号捕捉模块、三,液晶显示模块、四,CAN收发驱动模块、五,仪表键盘扩展模块、六,信号指示灯控制模块、七,A/D转换控制模块。系统还扩展了一片24LC01B,FLASH串行存储器,该串行存储器通过I2C总线和CPU相连,用来记录汽车的身份,行车总里程等。图中 Q1是STO-23封装的单片机的上电复模块。

  仪表步进电机控制模块用的是MOTOROALTER公司 专为驱动仪表指针的步进电机设计的专用芯片XI2027。该芯片带载能力强,可同时驱动四个带仪表指针的步进电机。本系统用它驱动显示汽车车速的步进电机;显示汽车发动机转速的步进电机;显示汽车冷却水温的步进电机;显示汽车车箱油位步进电机。

  两路脉宽信号捕捉模块是本电子系统的工作中心。汽车车速和汽车发动机转速是该仪表系统关于车况要重点显示的参数。选择PIC18F458为控制中心的原因之一是该单片机有二路脉宽信号捕捉器,一路为普通脉宽信号捕捉器 CCP1,另一路为增强型高速脉宽信号捕捉器 ECCP1,本系统正是很好的利用了PIC18F458单片机这一特点,通过应用霍尔传感器,用CCP1测量转动较慢的汽车车速;用ECCP1测量转动较快的汽车发动机转速,将汽车车速、汽车发动机转速和步进电机带动的仪表对应显示出来。

  液晶显示模块用的是PHILIPS公司的HT1621B液晶驱动芯片,该芯片可同时驱动八个液晶数码管。

  系统较传统仪表先进的是引入结构,选择PIC18F458为控制中心的原因之二是该单片机内部集成了CAN控制器。选择PIC18F458,这抬高了电子仪表系统的技术含量的同时大大地节省了单片机外围接口电路,单片机外围只需扩展CAN驱动电路而无需复杂的控制电路。该电子系统可脱离CAN总线独立工作。

  选择PIC18F458为控制中心的原因之三是该单片机有8个十位精度 A/D转换接口。特别要提的是一路通过传感器测量油箱中液位A/D转换,另一路通过传感器测量车冷却水温度 A/D转换。此外还有光强等等。

  为了节约单片机 I/O 资源,系统键盘采用了译码的扩展方式,扩展了74LS148译码芯片。信号灯控制模块用于驱动各车行方向指示灯和背光灯的显示控制等。

  2)步进电机的控制模块工作原理和接线图

 本仪表盘上使用的电机是 SWATCH 公司生产的 M-S MOTOR。该电机设计精巧,结构简单,价廉物美,可以应用于各种仪表场合,是目前广泛运用的十字交叉线圈仪表电机的替代品。其结构 可参阅SWATCH的说明书 。原理: 该电机的电动转子由二个平行的带磁铁心的线圈驱动,接口 电路图上标为Stepmotor,步进电机接口。脉冲驱动线圈带动电动机转子转动,每经过一脉冲序列的驱动,电动机转子可转 600 ,总共传动速比为 1:180,也就是说,每经过一脉冲序列,指针转动 1/30。M-S MOTOR步进电机的线圈驱动电流仅需 20mA,能耗低。

  图二 仪表系统电机驱动接口电路图:

  本仪表系统选用的电机驱动模块 如图二。 芯片U4 X12027。U4 X12027 是MOTOROALTER公司 专为驱动仪表指针的步进电机设计的专用芯片。该芯片系列有四种,有驱动单个电机的、驱动二个电机的以及驱动四个、八个电机的。 X12027可同时驱动四个步进电机。 该芯片的使用大大简化步进电机和CPU的接口和控制电路。从图上就看出,STEPMOTO是四个电机和芯片的接口1A、2A、3A、4A, 1B、2B、3B、4B,  1C、2C、3C、4C,1D、2D、3D、4D。 FA,FB,FC,FD可分别控制四个电机的转动方向;ORIENT控制的是各电机需转动步数;RESET控制、清除和更新电机实时,需转动的步数。

  3)显示模块,键盘模块工作原理和接线图

图三   显示模块接线图:

  本仪表系统选用的显示模块驱动电路如图 三所示。芯片U2  HT1621B是 PHILIPS公司专为液晶段 码显示器而设计的专用驱动芯片, HT1621B 可驱动16乘 8位液晶段 码。芯片 U6  NNPRLCD是液晶显示片,在 NNPRLCD液晶显示片上可显示16个8段码。上电路图所示的是 U2  HT1621B和U6  NNPRLCD连接方式 。图中 CS为U2的 片 选 管脚,高电平有效; HT1621B通过SPI总线 和 CPU接口; 数据通过SPI总线下载到 HT1621B显示缓冲区中,由HT1621B负责显示和制动刷新,不占用CPU的时间。WR为液晶显示锁存器的“写” 控制端,低电平有效。

  键盘电路,如图四所示,由于CPU 系统资源I/O口不足,本仪表系统采用译码的方法对键盘电路进行了扩展。如图四  U8  74LS148为8—3编码芯片。系统仍采用软件查循的方发,给U8 的 15脚高电平,查循U8的5脚,如为低电平,键输入有效,“读” 键值。

  图四  键盘模块接口线路图图:

 

  4)CAN通信模块工作原理和接线图

  本系统 选型的单片机, 是美国MICROCHIP公司生产的工业级PIC18F458, 除上述的 该CPU的 各优点外, 本仪表系统选择 PIC18F458单片机作为核心控制单元 另一个更为重要的原因是该单片机内部集成了, 兼容BUSH1.0协议和BUSH2.0协议的CAN控制器。           

  作为一种技术先进,可靠性高,功能完善的中远程网络控制方式,  CAN-BUS已被广泛地应用于各自动化控制系统中, 在汽车电子领域, CAN-BUS已作为一种标致该汽车档次的一个尺度,目前CAN-BUS已较广泛地应用于高档轿车上。本车载仪表电子系统, 以开放式的设计为指导思想,在兼容为一般车辆所应用的同时,首先倡导应用CAN-BUS网络控制系统, 其优点是 可大大减少了车载所用线索, 降低了汽车的故障率。

  因 单片机 PIC18F458内部集成了CAN控制器,本仪表系统在CAN网络控制电路方面仅外扩了一片芯片U11A,CAN收发驱动器TJA1050,硬件方面就完成了CAN-BUS的接口功能。节省、简化了电路设计,应用起来非常方便。.硬件方面,电路图五,U9A  6N137,  U10A  6N137 是光电隔离器件。

  本车载仪表电子系统可作为一个CAN独立节点用在CAN-BUS自动化控制系统中,也可脱离CAN-BUS 独立车载工作。PIC18F458 单片机 自带CAN 收发接口,CAN模块相对独立。其主要特征如下:

  通过 ISO CAN 标准测试,标准帧和扩展数据帧二种模式,0-8位数据长度,可编程速率高达 1M bps,2个数据接收缓冲器,6个完全接收滤波器,2个对应高优先权缓冲器,4个对应的低优先权缓冲器,2个完全接收掩码器,3个具有优先权的发送缓冲器。

  CAN模块可工作在六种模式下:配置模式、禁止模式、正常工作模式、监听模式、自循环模式、错误识别模式。本系统涉及两种模式: 配置模式和正常工作模式。

  首先 在配置模式下将 CAN 控制 和 状态寄存器,波特率控制寄存器,I/O控制寄存器,中断标志和中断控制寄存器,接收掩码器和接收滤波器按照系统的要求设定好,以保证 CAN 总线畅通。这些寄存器能在配置模式下进行设定,设定完毕后系统进入正常工作模式。本仪表系统可作为一个 下位机CAN 节点 用在车辆 CAN 控制系统中,等待CAN总线传来的数据。

  本仪表系统和车辆 CAN 控制系统中心的通讯涉及物理层、链路层及应用层:

  物理层要求: 通信协议符合 CAN2.0B。

  链路层要求: 通信协议符合CAN2.0B,并部分参照 J1939/21。

  应用层:     在这仅给出 1.油压信号、2.车速信号、二数据帧。

  1)        2)车速信号:

  优先级: 6

  偏置: 0

  测量范围:0----250.996KM/H

  单位增益:1/256KM/H

  传送速率:100MS

  数据长度:8字节

  数据页:  0

  设备编号:2

  PF:     255

  PS:     1

  PGN:   65281(0XFF01)

  1――2BYTE:车速 
 
  油压信号:

  优先级: 6

  偏置:0

  测量范围:0----500KPA

  单位增益:2KPA

  传送速率:1S

  数据长度:8字节

  数据页:  0

  设备编号:1

  PF:     255

  PS:     1

  PGN:   65281(0XFF01)

  1BYTE:油压 

  2――8:保留(0XFF)                 2――8:保留(0XFF)

  图五 CAN通信模块工作接口图:

 

  车载仪表系统软件工作原理及原理框图

  CPU  PIC18F458虽然外围接口是8位单片机, 但内核却是16位的,可称之为准16位单片机。仪表系统复杂,程序量大。 考虑到编程人员的连续性,程序的可读性, 程序的可移植性等, 软件系统程序用C语言开发。 单片机PIC18F458 开发 仿真系统也支持 C语言环境。 编程.考虑到 该仪表系统的商用, 可持续性,为增加系统的稳定性,后续拟引入实时性好工作可靠的商用嵌入式操作系统,.软件系统采用前后台事件编程的方法。前 台是主循环程序,后 台是中断处理程序。前 台进行数据处理,后 台进行数据采集。 采用事件编程方式,后台改变系统的信息,前 台 根据 后 台改变的信息 来完成整套仪表系统的实时性处理。  软件系统框图因篇幅原因略去。

  主要参考文献: 

  [1]《PIC18F458X 数据手册——28/40脚16位 FLASH 单片机》。[美] Microchip Technology Inc 著,北京航空航天大学出版社。
  [2] 王建国.基于CAN的程序下载器与通讯调试器设计[J].微计算机信息,2007,6-2。
  [3] 饶运淘 等著。现场总线CAN原理与应用技术[M]。北京航空航天大学出版社,2003,6。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

c语言相关文章:c语言教程


霍尔传感器相关文章:霍尔传感器工作原理


存储器相关文章:存储器原理


电流变送器相关文章:电流变送器原理
霍尔传感器相关文章:霍尔传感器原理
脉冲点火器相关文章:脉冲点火器原理
双控开关相关文章:双控开关原理


评论

技术专区

关闭