快速发布求购| | | | | 加微群|
关注我们
本站客户服务

线上客服更便捷

仪表网官微

扫一扫关注我们

|
客户端
仪表APP

安卓版

仪表手机版

手机访问更快捷

仪表小程序

更多流量 更易传播


您现在的位置:仪表网>车类仪表>技术列表>基于CAN总线的汽车数字仪表的研究设计

基于CAN总线的汽车数字仪表的研究设计

2012年01月11日 15:23:26 人气: 1324 来源:
  1、引言
  
  汽车仪表作为车辆与驾驶员交流的窗口,承担向驾驶员实时提供车辆工况任务。汽车仪表是汽车电子在车辆中应用研究的重点之一。随着欧Ⅲ排放标准在国内推广,符合欧Ⅲ排放标准具备控制器局域网络(ControllerAreaNetwork,简称CAN)总线接口的发动机和与之通讯的总线式数字仪表也逐渐扩大市场。随着车载总线技术发展,带有CAN总线接口的汽车数字仪表得到广泛应用。应用层SAEJ1939协议是目前国内汽车行业应用zui广泛的CAN总线应用层协议。
  
  这里提出的基于CAN总线的汽车数字仪表是利用CAN总线使其成为车身网络一部分,遵循SAEJ1939协议读取发动机转速、水温等信息。考虑到车辆实际状况,该汽车数字仪表还能接收传感器的车速、油量、油压、制动气压等信号并显示,为驾驶员提供实时车辆工况。
  
  2、SAEJ1939协议简介
  
  SAEJ1939协议是美国汽车工程师协会SAE(SocietyofAutomotiveEngineer)发布的以CAN2.0B作为网络核心协议的车辆网络串行通信和控制协议。SAEJ1939协议使用CAN的数据帧封装其数据信息,对CAN扩展帧的29位标识符编码,形成*的编码系统作为车辆通讯标准。该协议明确规定了汽车内部ECU的地址配置、命名、通讯方式以及报文发送优先级等,详细说明了汽车内部具体的ECU通讯内容。实现车辆电子设备间高速数据传输,减少线路数量,zui大限度利用CAN总线*性能。
  
  2.1SAEJ1939报文格式
  
  SAEJ1939数据帧是以PDU(协议数据单元)为单位,共由优先权(P)、保留位(R)、数据页(DP)、PDU格式(PF)、PDU细节(PS)、源地址(SA)及数据域(DateField)等7个域组成。除了数据域外的PDU对应于CAN扩展帧的29位标识符,其对应关系如表1所列。其中PS是一个8位段,其定义取决于PF值。若PF值小于240,PS是目标地址(DA)。若PF值介于240和255之间,则PS为组扩展(GE)。
  
  2.2SAEJ1939应用层
  
  应用层详细定义了SAEJ1939协议中使用的每个参数,包括数据长度、数据类型、结果、范围以及参数组编号(PGN)等。这些参数分为控制参数、动力传动系统状态参数、动力传动系统控制参数、动力传动系统配置参数、信息参数以及信息状态参数。SAEJ1939使用参数组编号(PGN)作为一参数组的*标签。该标签包括:保留位(R),数据页(DP)、PDU格式域(PF8位)和组扩展域(GE8位)。另外,PF值小于240时,PGN低字节位置0。参数组中的每个参数都能用ASCII码表示,其状态量zui少可用两个位表示。文字数字数据采用zui高位在前的传输方式,其他包括两个或多个数据字节的参数则采用zui低位在前的传输方式。除此之外,应用层中还详细定义了参数组属性。该参数组属性包括:优先权、更新率、参数组的协议数据单元格式、参数组编号,参数组的数据参数号及其在参数组中的位置。
  
  3、基于CAN总线的汽车数字仪表系统设计
  
  3.1硬件电路设计
  
  该汽车数字仪表系统由信号采集和处理显示等模块组成,如图l所示。通过模拟量信号分压,滤波整形脉冲信号,CAN总线信号通过收发器发送至中央处理器,然后再将处理后的信号通过步进电机控制器控制步进电机,驱动LCD液晶屏显示。其中信号采集模块包含CAN总线数据采集和传感器数据采集。在实际的车载环境中,该系统设计遵循SAEJ1939协议在CAN总线上获取发动机转速、水温和故障代码,而其他信息包括车速、油量、机油压力、制动气压则从相应传感器以模拟量和脉冲量形式读取。通过测量车速传感器脉冲信号获取车速信号,油量传感器的信号经分压后直接发送给中央处理器内A/D转换器处理。
  
  图2给出信号采集模块电路。图中,采用带隔离的通用CAN收发器CTM825lT接收CAN总线信号。CTM8251T内部集成所有必需的CAN隔离及CAN收发器,可实现CAN节点的收发与隔离功能,从而替代了传统设计中采用光电耦合器、DC-DC隔离、CAN收发器等元件实现的具有隔离功能的CAN收发电路。该模块电路可将CAN控制器的逻辑电平转换为CAN总线的差分电平,并具有直流2500V的隔离功能。该模块电路设计体积小,集成度高,可取代PCA82C25l等传统的CAN总线收发器及其外围电路,从而降低了系统设计成本。传感器模拟量信号经分压传输至中央处理器,图中的VD40和C40两元件可对微控制器LM3S2948的引脚提供过压保护。
  
  LM3S2948型微控制器完成信号处理。它是一款基于ARMCortexM3内核的微控制器,采用32位RISC,内嵌CAN控制器、A/D转换器、模拟比较器、I2C接口等功能模块,极大降低了外围电路设计成本。LM3S2948微控制器具有运算速度快、功耗小、体积小、价位低等特点。LM3S2948的CAN控制器模块支持CAN2.0B协议,支持符合SAEJ1939协议的扩展帧的报文传输,其传输速率可编程设置为1Mb/s,这些特性*CAN总线汽车数字仪表的应用要求。采用移位寄存器74HC595实现信号的串入并出,采用步进电机驱动器VID6606驱动表针。每片VID6606可同时驱动四路步进电机。在其频率控制端输入脉冲序列F(SCX),即可控制输出端使步进电机的输出轴以微步转动,每个脉冲对应电机输出轴转动1/12°,zui大角速度可达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=不相关)。只有标识符中的相关位与验收码相应位相同,系统才接收报文。如满足屏蔽条件则从寄存器读取数据并存入缓存区,再根据SAEJ1939协议判断计算发动机转速、水温和故障代码信息,传输至步进电机和液晶屏显示。例如:接收的数据为:OCF00400XXXXXX4F55XXXXXX(XX为任意数据),若设置验收码为Ox00000000,屏蔽码为0xlFFFFFFF,则接收该报文。根据SAEJl939—71协议,此报文为:PGN61444一电子发动机控制器。因此,可得第4,5字节为发动机转速,并遵循低位在前,高位在后的传输方式,则发动机转速=原始数×分辨率偏移量=21831x0.1250=2728.875r/m。同理可计算其他汽车仪表所需数值。图4为CAN总线数据接收程序流程图。
  
  4、结语
  
  在研究了汽车CAN总线通讯协议及SAEJ1939协议的基础上,实现基于CAN总线的汽车数字仪表系统设计。该系统设计利用LM3S2948、CTM8251、VID6606等器件的功能,zui大程度地降低外围电路成本。该汽车数字仪表系统工作稳定、性能良好,目前正进行装车试验。随着欧Ⅲ排放标准在国内的推广,基于CAN总线的数字仪表必将进入快速发展的新阶段。
关键词: 汽车专用仪表
全年征稿/资讯合作 联系邮箱:ybzhan@qq.com
版权与免责声明
1、凡本网注明"来源:仪表网"的所有作品,版权均属于仪表网,未经本网授权不得转载、摘编或利用其它方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明"来源:仪表网"。违反上述声明者,本网将追究其相关法律责任。
2、本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
3、如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
4、合作、投稿、转载授权等相关事宜,请联系本网。
联系我们

客服热线: 0571-87759942

加盟热线: 0571-87756399

媒体合作: 0571-87759945

投诉热线: 0571-87759942

关注我们
  • 下载仪表站APP

  • Ybzhan手机版

  • Ybzhan公众号

  • Ybzhan小程序