基于CAN总线的汽车数字仪表是利用CAN总线使其成为车身网络一部分,遵循SAE J1939协议读取发动机转速、水温等信息。汽车仪表是汽车电子在车辆中应用研究的重点之一。
1、引言
汽车仪表作为车辆与驾驶员交流的窗口,承担向驾驶员实时提供车辆工况任务。汽车仪表是汽车电子在车辆中应用研究的重点之一。随着欧Ⅲ排放标准在国内推广,符合欧Ⅲ排放标准具备控制器局域网络(Controller Area Network,简称CAN)总线接口的发动机和与之通讯的总线式数字仪表也逐渐扩大市场。随着车载总线技术发展,带有CAN总线接口的汽车数字仪表得到广泛应用。应用层SAE J1939协议是目前国内汽车行业应用最广泛的CAN总线应用层协议。
这里提出的基于CAN总线的汽车数字仪表是利用CAN总线使其成为车身网络一部分,遵循SAE J1939协议读取发动机转速、水温等信息。考虑到车辆实际状况,该汽车数字仪表还能接收传感器的车速、油量、油压、制动气压等信号并显示,为驾驶员提供实时车辆工况。
2、SAE J1939协议简介
SAE J1939协议是美国汽车工程师协会SAE(Societyof Automotive Engineer)发布的以CAN2.0B作为网络核心协议的车辆网络串行通信和控制协议。SAE J1939协议使用CAN的数据帧封装其数据信息,对CAN扩展帧的29位标识符编码,形成独特的编码系统作为车辆通讯标准。该协议明确规定了汽车内部 ECU的地址配置、命名、通讯方式以及报文发送优先级等,详细说明了汽车内部具体的ECU通讯内容。实现车辆电子设备间高速数据传输,减少线路数量,最大限度利用CAN总线优越性能。
2.1 SAE J1939报文格式
SAE J1939数据帧是以PDU(协议数据单元)为单位,共由优先权(P)、保留位(R)、数据页(DP)、PDU格式(PF)、PDU细节(PS)、源地址(SA)及数据域(Date Field)等7个域组成。除了数据域外的PDU对应于CAN扩展帧的29位标识符,其对应关系如表1所列。其中PS是一个8位段,其定义取决于PF值。若PF值小于240,PS是目标地址(DA)。若PF值介于240和255之间,则PS为组扩展(GE)。
2.2 SAE J1939应用层
应用层详细定义了SAE J1939协议中使用的每个参数,包括数据长度、数据类型、结果、范围以及参数组编号(PGN)等。这些参数分为控制参数、动力传动系统状态参数、动力传动系统控制参数、动力传动系统配置参数、信息参数以及信息状态参数。SAE J1939使用参数组编号(PGN)作为一参数组的唯一标签。该标签包括:保留位(R),数据页(DP)、PDU格式域(PF 8位)和组扩展域(GE 8位)。另外,PF值小于240时,PGN低字节位置0。参数组中的每个参数都能用ASCII码表示,其状态量最少可用两个位表示。文字数字数据采用最高位在前的传输方式,其他包括两个或多个数据字节的参数则采用最低位在前的传输方式。除此之外,应用层中还详细定义了参数组属性。该参数组属性包括:优先权、更新率、参数组的协议数据单元格式、参数组编号,参数组的数据参数号及其在参数组中的位置。
3、基于CAN总线的汽车数字仪表系统设计
3.1 硬件电路设计
该汽车数字仪表系统由信号采集和处理显示等模块组成,如图l所示。通过模拟量信号分压,滤波整形脉冲信号,CAN总线信号通过收发器发送至中央处理器,然后再将处理后的信号通过步进电机控制器控制步进电机,驱动LCD液晶屏显示。其中信号采集模块包含CAN总线数据采集和传感器数据采集。在实际的车载环境中,该系统设计遵循SAE J1939协议在CAN总线上获取发动机转速、水温和故障代码,而其他信息包括车速、油量、机油压力、制动气压则从相应传感器以模拟量和脉冲量形式读取。通过测量车速传感器脉冲信号获取车速信号,油量传感器的信号经分压后直接发送给中央处理器内A/D转换器处理。
采用带隔离的通用CAN收发器CTM825lT接收CAN总线信号。CTM8251T内部集成所有必需的CAN隔离及 CAN收发器,可实现CAN节点的收发与隔离功能,从而替代了传统设计中采用光电耦合器、DC-DC隔离、CAN收发器等元件实现的具有隔离功能的CAN 收发电路。该模块电路可将CAN控制器的逻辑电平转换为CAN总线的差分电平,并具有直流2 500 V的隔离功能。该模块电路设计体积小,集成度高,可取代PCA82C25l等传统的CAN总线收发器及其外围电路,从而降低了系统设计成本。传感器模拟量信号经分压传输至中央处理器,图中的VD40和C40两元件可对微控制器LM3S2948的引脚提供过压保护。
LM3S2948型微控制器完成信号处理。它是一款基于ARM CortexM3内核的微控制器,采用32位RISC,内嵌CAN控制器、A/D转换器、模拟比较器、I2C接口等功能模块,极大降低了外围电路设计成本。LM3S2948微控制器具有运算速度快、功耗小、体积小、价位低等特点。LM3S2948的CAN控制器模块支持CAN 2.0B协议,支持符合SAE J1939协议的扩展帧的报文传输,其传输速率可编程设置为1 Mb/s,这些特性完全满足CAN总线汽车数字仪表的应用要求。采用移位寄存器74HC595实现信号的串入并出,采用步进电机驱动器VID6606驱动表针。每片VID6606可同时驱动四路步进电机。在其频率控制端输入脉冲序列F(SCX),即可控制输出端使步进电机的输出轴以微步转动,每个脉冲对应电机输出轴转动1/12°,最大角速度可达600°/s,满足汽车仪表指示的高精度、快速响应的要求。表针采用步进电机VID一29驱动。图3为 VID6606驱动仪表电路。LCD驱动器采用PCF8566,其内部集成LCD驱动器所必需的功能电路。能直接驱动任意静态或包含4背极高达24段的 LCD。中央处理器发送的信号先经PCF8566T功率放大后,然后送至液晶屏F2000LCD显示。
3.2 软件设计
该汽车数字仪表系统软件采用IAR编程调试软件编写。该软件通过LM一LINK调试仿真器与LM3S2948的JTAG端口连接,实现在线仿真调试。
数据接收处理软件首先初始化系统时钟、CAN节点、LCD液晶屏、步进电机等,并使能CAN中断,设置CAN屏蔽码和验收码。初始化CAN节点的具体步骤:①封装CAN节点相关信息,创建一个软件CAN节点结构体指针pCAN_Node_lnfo;②初始化CAN控制器;③中断CAN控制器;④设置 CAN节点接收过滤。初始化后,读取CAN总线和其他传感器信号。控制步进电机和液晶屏显示处理数据。等待CAN总线接收中断产生,判断总线数据是否满足屏蔽条件,即逐位比较接收的29位标识符报文与验收码、屏蔽码值,屏蔽码用于定位相关位(0=相关,1=不相关)。只有标识符中的相关位与验收码相应位相同,系统才接收报文。如满足屏蔽条件则从寄存器读取数据并存入缓存区,再根据SAE J1939协议判断计算发动机转速、水温和故障代码信息,传输至步进电机和液晶屏显示。例如:接收的数据为:OCF00400 XX XX XX 4F 55 XX XX XX(XX为任意数据),若设置验收码为Ox00000000,屏蔽码为0xlFFFFFFF,则接收该报文。根据SAEJl939—71协议,此报文为:PGN61444一电子发动机控制器。因此,可得第4,5字节为发动机转速,并遵循低位在前,高位在后的传输方式,则发动机转速=原始数×分辨率+偏移量=21 831x0.125+0=2 728.875 r/m。同理可计算其他汽车仪表所需数值。
4、结语
在研究了汽车CAN总线通讯协议及SAE J1939协议的基础上,实现基于CAN总线的汽车数字仪表系统设计。该系统设计利用LM3S2948、CTM8251、VID6606等器件的功能,最大程度地降低外围电路成本。该汽车数字仪表系统工作稳定、性能良好,目前正进行装车试验。随着欧Ⅲ排放标准在国内的推广,基于CAN总线的数字仪表必将进入快速发展的新阶段。
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。
- 暂无反馈