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

发布者:快乐飞跃最新更新时间:2009-02-13 来源: 国外电子元器件关键字:汽车数字仪表  CAN总线  ARM内核 手机看文章 扫描二维码
随时随地手机看文章

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转换器处理。

      图2给出信号采集模块电路。图中,采用带隔离的通用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总线数据接收程序流程图。


4 结语

      在研究了汽车CAN总线通讯协议及SAE J1939协议的基础上,实现基于CAN总线的汽车数字仪表系统设计。该系统设计利用LM3S2948、CTM8251、VID6606等器件的功能,最大程度地降低外围电路成本。该汽车数字仪表系统工作稳定、性能良好,目前正进行装车试验。随着欧Ⅲ排放标准在国内的推广,基于CAN总线的数字仪表必将进入快速发展的新阶段。

关键字:汽车数字仪表  CAN总线  ARM内核 引用地址:基于CAN总线的汽车数字仪表的研究设计

上一篇:基于MSP430F2274单片机的倒车雷达设计
下一篇:瑞萨科技公司宣布推出32位MCU-SH72531

推荐阅读最新更新时间:2024-03-16 12:24

2.4G射频的CAN总线汽车故障诊断仪设计
控制器局域网络CAN(Controller Area Network)为汽车内部各种复杂的 电子 设备、控制器、测量仪器等提供了统一数据交换渠道,已得到广泛的应用。目前,太多数汽车部件都提供了CAN 总线 通信接口。 在当今的中高档汽车中,都采用了 CAN总线 技术。针对车载CAN总线会出现的故障.结合 射频 和 USB 的优点,依靠KWP2000应用层规定的故障代码,本文提出了一种基于车载CAN总线故障诊断仪设计方案。本方案成本低廉,携带方便,具有很强的灵活性与适应性。 1 方案设计 系统总体设计框图如图l所示。系统分为发射端和接收端两部分。 由于采用射频技术,使汽车CAN总线数据采集部分和CAN总线数据诊断部
[单片机]
2.4G射频的<font color='red'>CAN总线</font><font color='red'>汽车</font>故障诊断仪设计
STM32 CAN总线说明
简介: CAN是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。由德国电气商博世公司在1986年率先提出。此后,CAN通过ISO11898及ISO11519进行了标准化。现在在欧洲已是汽车网络的标准协议。 CAN协议经过ISO标准化后有两个标准:ISO11898标准和ISO11519-2标准。其中ISO11898是针对通信速率为125Kbps~1Mbps的高速通信标准,而ISO11519-2是针对通信速率为125Kbps以下的低速通信标准。 CAN具有很高的可靠性,广泛应用于:汽车电子、工业自动化、船舶、医疗设备、工业设备等方面。 特点: 多主控制。总线空闲时
[单片机]
关于CAN总线逆向工程的初步探讨
  关于CAN总线逆向工程的初步探讨   随着中国汽车业的发展,汽车的后端市场也日趋繁荣,但由于各汽车生产厂家的技术壁垒,后端设备供应商如GPS,车载音响,车载DVD,诊断仪等供应商很难得到原汽车厂家各车型的报文定义,以使自己的产品完全和车载兼容。本文将以美国英特佩斯控制系统有限公司的产品(软件:Vehicle Spy,硬件:neoVI)为例,探讨如何解码CAN总线报文。   Vehicle Spy产品是美国通用汽车的标准测试工具,可以同时支持HS CAN、MS CAN、ISO9141、J1850VPW、J1850PWM、LIN等多种总线协议、 实现车载网络诊断、节点/ECU仿真、数据采集、自动测试和车载网络总线监控等功能,相对于其
[嵌入式]
超实用的汽车电子CAN总线开发测试方案
是否还在为没有高端CAN测试仪器,无法进行CAN总线开发而发愁?今天告诉你:CAN卡同样能让你玩转汽车CAN总线开发测试。 CAN总线多用于汽车领域,在CAN总线的开发测试阶段,需要对其单节点性能,多节点组网通讯,网络拓扑结构等进行开发测试,需要虚拟、半虚拟、全实物仿真测试平台,并且必须测试各节点是否符合ISO11898中规定的错误响应机制等,所以CAN总线的开发需要专业的开发测试工具,并且在生产阶段也需要一批简单易用的生产线测试工具。 CAN总线开发测试工具主要有CANScope、CANalyst-II、Passiontech DiagRA、canAnalyser、X-Analyser、AutoCAN、CANspider等。
[测试测量]
超实用的<font color='red'>汽车</font>电子<font color='red'>CAN总线</font>开发测试方案
ARM-Linux 内核移植--基于FL2440开发板(修改为Linux单系统)
硬件平台:FL2440开发板 内核版本:2.6.28 主机:ubuntu 11.04 内核版本:2.6.39 本来以为fl2440的nand flash大小为128M,问了客服才知道,现在FL2440使用的是现代的flash,现在都换成256M的了,只是飞凌的bootloader没有相应的修改,它使用的既不是u-boot,也不是vivi,而是自己的bootloader。现在修改bootloader源码中的nand.c 修改如下: //可更改删除分区,分区名字不可改 static struct Partition NandPart = { {0, 0x00020000, boot },
[单片机]
<font color='red'>ARM</font>-Linux <font color='red'>内核</font>移植--基于FL2440开发板(修改为Linux单系统)
基于CAN总线的家庭控制器的设计与实现
  引言   CAN(Controller Area Network)总线是德国Bosch公司为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mbps,通信距离可达10km,CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码,使网络内的节点个数在理论上不受限制。由于CAN总线具有较强的纠错能力,支持差分收发,因而适合高干扰环境,并具有较远的传输距离。因此,CAN协议对于许多领域的分布式测控是很有吸引力的。目前CAN已成为ISO11898标准,其特性如下:   (1)CAN是一种有效支持分布式控制
[嵌入式]
基于DSP2812的带式输送机多路温度检测系统设计
0 引言 带式输送机是煤矿最理想的高效连续运输设备,与其他运输设备(如机车类)相比,具有输送距离长、运量大、连续输送等优点,而且运行可靠,易于实现自动化和集中化控制,尤其对高产高效矿井,带式输送机已成为煤炭开采机电一体化技术与装备的关键设备。由于煤矿井下环境恶劣,带式输送机设备易损坏,一旦输送带与滚筒之间发生打滑及输送带温度升高会严重威胁井下人员生命安全,目前国内对输送带温度精确检测问题一直没有得到很好解决。 随着DSP芯片技术与新型非接触式红外温度传感器技术的不断发展以及总线控制系统(FCS)逐渐取代传统集散控制系统(DCS)为设计一种新型井下带式输送机温度检测系统提供了可能。本系统采用TMS320F2812作为信号采集
[测试测量]
基于DSP2812的带式输送机多路温度检测系统设计
基于CAN总线的数据采集与控制系统设计
0 引言     随着计算机网络上的高速发展,使得信息的交流与共享变得空前广泛和自如,而这项技术也渗入到自动化领域的变革当中,现场总线(Fieldbus)由此应运而生,开创了工业控制的新篇章。现场总线是一种应用于生产现场,在现场设备之间、现场设备和控制装置之间实行双向、串形、多结点的数字通信技术,在当今自动化领域中具有广阔的发展前景。本文给出了一种基于CAN总线的数据采集与控制系统设计方案,实现对开关量的数据采集和对外部设备的控制功能。     控制器局域网(Controller Area Network,CAN)总线是现场总线的一种,是一种有效支持分布式控制或实时控制的串行网络通信,已经被广泛地应用于工业自动化、船舶、医疗设备、工
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved