带CAN总线的汽车仪表总程
发表时间:2023-12-28 15:22:39 来源:行业新闻
随着汽车制造业的蓬勃发展,其在我国制造业界的龙头地位越来越明显。为进一步增加汽车生产的国产化程度,作为汽车核心技术的自主产权就迫切地提到我国汽车发展的战略日程上来。 带系统就是基于这一理念,迎合当今潮流,在众多国内汽车制造商的急切关注下,作为我国汽车业的一项科技含量高起点的自主技术知识产权的产品研发出来。该电子系统的特殊优点 其一, 它将以前的模拟组合的各分离式仪表 数字化式的统一管理起来。在 提高了仪表的稳定性、 精度,提高了仪表寿命的同时 大大地降低了制造成本;其二, 它在汽车仪表内引入了的结构,在减少了系统的线索, 提高了系统抗干扰性的同时,大大地增加了系统内的数据流量, 保正了
已研发出来的该套电子仪表系统,不紧填补了我国车载仪表无全数字化的空白,同时它也是一个存在广泛的市场行情,可持续性发展的企业项目。
该仪表系统是被安置在驾驶员和方向盘前,主要是向驾驶员集中提供行进中的车辆的行驶状况。
车辆的行驶状况在此表述为一系列参数。 这其中一的些参数须以表针的形式实时的指示给司机,另外的一些参数须以数字形式实时的显示给驾驶员。
本仪表系统设计成一个总表盘。 总表盘上要以表针指示的主要参数有:1) 发动机冷却水的温度、2)油箱中的油量、3)发动机的转速、 4) 汽车实时行使速度。
仪表盘上要以液晶显示的参数有: 1) 发动机的转速、 2)汽车实时行使速度、 3)行车时间和车行总里程(此片 液晶片上所显示的数据可以翻 页)。 电路最大可同时点亮16位液晶数码管,此外 仪表盘上还要有各向车行方向指示灯、转向灯、仪表盘背光显示灯等。
该仪表系统的主要工作、任务是: 通过温度传感器将汽车发动机冷却水的温度、 通过油浮子 或 磁浮开关传感器将汽车油箱中的余油量、 通过高速、 低速 霍尔传感器将汽车内燃机的转速和汽车的实时行使速度转换为脉冲周期, 经过CPU 的A/D转换处理 和CCP的脉宽捕捉处理, 处理结果 用四个步进电机带动四个表针,实时地指示给车驾驶员, 同时 发动机转速,车行驶速度,车行驶里程,三个参数还须以液晶数码管,可数字式地显示出来。此外汽车的门控制显示灯,左右转向, 前后行驶, 和汽车的刹车灯, 当环境光线暗下后 仪表盘须制动开启的背光灯等,都须以发光管的形式反应到仪表盘上。此外系统还需每隔一段时间记录并同时备份一次行车里程数到串行存储器中。
本系统中心选型的单片机是美国MICROCHIP公司生产的工业级PIC18F458。可以说, PIC18F458是一款专为车载仪表系统 量身订定做的单片机。 虽然CPU PIC18F458的外围接口是8位的, 但内核总线位的。准确的说 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总线写数据的同时可以镜象复制一份数据到该CPU芯 片内的 串行存储器中,这样做才能够将重要的数据保二份,一份在CPU内,一份在CPU外。这样既防止了重要数据丢失,也防止了车辆信息数据被人为做假。下面分五个子图简介该车载仪表电子系统的工作原理和具体的实现电路。
图一为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液晶驱动芯片,该芯片可同时驱动八个液晶数码管。
系统较传统仪表先进的是引入CAN总线为控制中心的原因之二是该单片机内部集成了CAN控制器。选择PIC18F458,这抬高了电子仪表系统的技术上的含金量的同时大大地节省了单片机外围接口电路,单片机外围只需扩展CAN驱动电路而无需复杂的控制电路。该电子系统可脱离CAN总线独立工作。
本仪表盘上使用的电机是 SWATCH 公司生产的 M-S MOTOR。该电机设计精巧,结构相对比较简单,价廉物美,能应用于各种仪表场合,是目前普遍的应用的十字交叉线圈仪表电机的替代品。其结构 可参阅SWATCH的说明书 。原理: 该电机的电动转子由二个平行的带磁铁心的线圈驱动,接口 电路图上标为Stepmotor,步进电机接口。脉冲驱动线圈带动电动机转子转动,每经过一脉冲序列的驱动,电动机转子可转 600 ,总共传动速比为 1:180,也就是说,每经过一脉冲序列,指针转动 1/30。M-S MOTOR步进电机的线mA,能耗低。
本仪表系统选用的电机驱动模块 如图二。 芯片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控制、清除和更新电机实时,需转动的步数。
本仪表系统选用的显示模块驱动电路如图 三所示。芯片U2 HT1621B是 PHILIPS公司专为液晶段 码显示器而设计的专用驱动芯片, HT1621B 可驱动16乘 8位液晶段 码。芯片 U6 NNPRLCD是液晶显示片,在 NNPRLCD液晶显示片上可显示16个8段码。上电路图所示的是 U2 HT1621B和U6 NNPRLCD连接方式 。图中 CS为U2的 片 选 管脚,高电平有效; HT1621B通过SPI总线 和 CPU接口; 数据通过SPI总线B显示缓冲区中,由HT1621B负责显示和制动刷新,不占用CPU的时间。WR为液晶显示锁存器的“写” 控制端,低电平有效。
本系统 选型的单片机, 是美国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 控制 和 状态寄存器,波特率控制寄存器,I/O控制寄存器,中断标志和中断控制寄存器,接收掩码器和接收滤波器按照系统的要求设定好,以保证 CAN 总线畅通。这些寄存器能在配置模式下进行设定,设定完毕后系统进入正常工作模式。本仪表系统可作为一个 下位机CAN 节点 用在车辆 CAN 控制管理系统中,等待CAN总线传来的数据。
CPU PIC18F458虽然外围接口是8位单片机, 但内核却是16位的,可称之为准16位单片机。仪表系统复杂,程序量大。 考虑到编程人员的连续性,程序的可读性, 程序的可移植性等, 软件系统程序用C语言开发。 单片机PIC18F458 开发 仿真系统也支持 C语言环境。 编程.考虑到 该仪表系统的商用, 可持续性,为增加系统的稳定性,后续拟引入实时性好工作可靠的商用嵌入式操作系统,.软件系统采用前后台事件编程的方法。前 台是主循环程序,后 台是中断处理程序。前 台进行数据处理,后 台进行数据采集。 采用事件编程方式,后台改变系统的信息,前 台 根据 后 台改变的信息 来完成整套仪表系统的实时性处理。 软件系统框图因篇幅原因略去。
[2] 王建国.基于CAN的程序下载器与通讯调试器设计[J].微计算机信息,2007,6-2。