CAN总线汽车仪表研究

发布者:自由漫步最新更新时间:2011-10-15 关键字:CAN总线  汽车仪表 手机看文章 扫描二维码
随时随地手机看文章

  汽车仪表是汽车与驾驶员进行信息交流的窗口,是汽车信息的中心,能够集中、直观、迅速地反映汽车在行驶过程中的各种动态指标,如行驶速度、里程、电系状况、制动、压力、发动机转速、冷却液温度、油量、各种危险报警。随着科技进步,汽车排放、节能、安全和舒适性等使用性能不断提高,汽车电子控制程度也越来越高。汽车电子控制装置必须迅速、准确地处理各种信息,并通过仪表显示出来,使驾驶员能够及时了解并掌握汽车的运行状态,以妥善处理各种情况。

  这里给出一种基于CAN(Controller Area Network)总线的汽车仪表设计方案。该仪表利用CAN总线使其成为车身网络一部分,遵循SAE J1939协议读取发动机转速、水温等信息。仪表还能接收传感器的车速、油量、油压、制动气压等信号并显示,为驾驶员提供实时车辆工况。所设计的仪表主要应用于重型运输车等领域,在某重型车辆工厂进行的试验结果表明,该仪表能够满足数据可靠性及实时性等要求。

  1 CAN总线及SAE J1939协议

  1.1 CAN总线及SAE J1939协议简介

  CAN总线属于现场总线的范畴,是德国Bosch公司在20世纪80年代初为解决现代汽车中众多的控制和测试仪器之间的数据交换而开发的一种有效支持分布式控制或实时控制的串行通信网络。CAN总线的通信实时性强,数据传输速率可高达1 Mb/s,通信介质可以是双绞线、同轴电缆或者光导纤维,通过标准的插接件能够方便的连接。CAN总线的数据通信具有突出的可靠性、实时性和灵活性,是目前应用最广泛的一种汽车总线。

  SAE J1939协议是美国汽车工程师协会SAE(Societv of Automotive Engineer)发布的以CAN2.0B作为网络核心协议的车辆网络串行通信和控制协议。J1939是参照ISO的开放式数据互联模型定义的7层基准参考模型而制定的。该协议明确规定汽车内部ECU的地址配置、命名、通讯方式以及报文发送优先级等,并且对汽车内部各个具体的ECU通讯作了详细的说明。它使用多路复用技术,为汽车上的各种传感器、执行器和控制器提供建立在CAN总线基础上的标准化的高速网络连接,在车载电子装置之间实现高速数据共享,有效地减少了电子线束的数量,提高了车辆电子控制系统的灵活性、可靠性、可维修性和标准化程度,更大程度地发挥了CAN优异的性能。

  1.2 SAE J1939数据帧格式

  SAE J1939数据帧是以PDU(协议数据单元)为单位,共由优先权(P)、保留位(R)、数据页(DP)、PDU格式(PF)、PDU细节(Ps)、源地址(SA)及数据域(Date Field)等7个域组成。除了数据域之外的PDU对应于CAN扩展帧的29位标识符。其中PS是1个8位段,其定义取决于PF值。若PF值小于240,PS是目标地址(DA)。若PF值介于240和255之间,则PS为组扩展(GE)。

  有些CAN数据帧不是在PDU中定义,包括SOF、SRR、IDE、RTR、控制域部分、CRC域、ACK域和EOF域。这些域是由CAN定义的,SAE J1939不作修改。

  2 CAN总线汽车仪表设计

  2.1 仪表整体设计

  该汽车仪表系统由数据采集、处理以及显示3个模块组成。其中数据采集模块负责接收车辆的各种数据,并将数据预处理后发送至微处理器。其中模拟量信号、脉冲信号以及开关量信号等传感器信号在各传感器处采集后,分别经过分压、滤波整形以及光电隔离后发送至微处理器。而发动机转速、水温和故障代码等CAN总线数据通过发动机CAN模块发送至CAN总线后,通过CAN收发器进行接收。微处理器接收到需要的数据后,根据预定的算法对数据进行处理,并将处理结果输出。显示模块包括指针、LCD以及各种信号灯的显示。微处理器将发动机转速、车速等结果输出至电机驱动器,驱动器驱动步进电机转动,从而带动指针显示;微处理器直接驱动LCD显示及LED灯的亮灭。汽车仪表系统结构如图1所示。


  根据对汽车仪表的整体分析,汽车仪表盘由3个分表盘组成,左分表盘显示发动机转速、油量等数据,右分表盘显示车速、油压等数据,中分表盘用于放置LCD显示屏以及各种指示灯。仪表指针全部采用步进电机驱动。仪表接收到的各种数据中,从CAN总线获取发动机转速、水温以及电压,从各种传感器获取车速、油量、气压以及油压。

  2.2 系统硬件设计

  仪表采用Luminarv公司的LM3S2948处理器。这是一款基于ARMCortexM3内核的微处理器,采用32位RISC,内嵌CAN控制器、模数转换器(ADC)、模拟比较器等功能模块,减少了外围电路,降低了系统设计成本。

  LM3S2948处理器内置CAN模块方便了CAN总线数据的传输,同时使仪表的通信容易实现,提高了可靠性。其内置CAN模块具有以下特点:支持CAN 2.0B协议并支持符合SAE J1939协议的扩展帧的报文传输:位速率可高达l Mb/s;具有32个报文对象,每个对象都具有自己的标识符屏蔽码;包含可屏蔽中断,针对时间触发的CAN(1TrCAN)应用,可选择禁止自动重发送模式;通过CANOTx和CANORx引脚与外部CAN PHY无缝连接;具有可编程的F1F0模式。

  LM3S2948微处理器具有运算速度快、功耗小、体积小、价位低等特点。其CAN控制器模块特性完全满足CAN总线汽车仪表的应用要求。该处理器具有强大的处理能力,在车辆的各种工况下都能够实时反映车辆信息,同时该处理器具有很大的可扩展空间,有利于后续开发。

  由于LM3S2948内置CAN控制器模块,所以只需外接一个CAN收发器即可接收总线数据。该仪表选用CTM8251T作为CAN收发器。CTM8251T是一款通用的带隔离的CAN收发器,该器件内部集成所有必需的CAN隔离及CAN收发器。该器件可连接任何一款CAN协议控制器,实现CAN节点的收发与隔离功能。该器件设计体积小,集成度高,可取代传统的CAN收发器及其外围电路,降低了电路的复杂程度,减少了设计成本,如图2所示。


  仪表采用VID6606驱动器驱动步进电机。每片VID6606可同时驱动4路步进电机。在其频率控制端输入脉冲序列F(SCX),即可控制输出端使步进电机的输出轴以微步转动,每个微步电机输出轴转动1/12(°),最大角速度可达600(°)/s。该电机驱动器具有以下特点:硬件微步驱动、简单易用,电机只需速度F(sex)和方向(CW/CCW)2个控制端、所有输入引脚都有干扰过滤器、宽工作电压、低电磁干扰辐射。仪表板指针采用VID-29电机驱动,电机内置减速比180/1的齿轮系,能够将数字信号直接准确地转为模拟的显示输出。该电机具有很高的显示精度,其步距角最小可达到1/2(°)。图3所示为VID6606驱动仪表电路。


  该仪表利用LCD显示时间、燃油消耗量以及产生故障时故障名称,处理器发送的信号先经74HC245功率放大后,然后送至液晶屏F2000LCD显示。LCD电路如图4所示。


  2.3 系统软件设计

  系统软件设计分为主程序、CAN通信、数据采集处理和数据显示等4个模块。主程序模块通过调用各个子模块程序来处理数据处理:CAN通信模块负责发送和接收数据;数据采集及处理模块完成对各种类型数据的采集以及计算;数据显示模块将车速、油压以及信号灯等信息显示在仪表上。

  图5为系统主程序流程,该系统主程序流程分为:1)系统初始化。系统初始化主要包括初始化系统时钟、CAN节点、LCD液晶屏、步进电机等,并使能CAN中断,设置CAN屏蔽码和验收码。CAN节点初始化主要是初始化CAN控制器并中断CAN控制器:2)读取传感器以及CAN总线数据,并驱动指针以及LCD等显示,同时等待CAN接收中断。3)CAN接收中断产生,进入接收中断子程序读取数据。判断数据是否符合数据接收条件,如果符合,则接收数据。此过程逐位比较接收到的29位标识符与验收码、屏蔽码,只有标识符相应位与验收码相应位相同,系统才开始接收数据。4)处理器将接收的报文进行解析,提取需要的数据并进行处理。处理器对传感器传来的数据和CAN总线读取的数据进行处理计算,得到相应的指针驱动参数,计算出指针转角,并根据初始化的步进电机的参数计算出指针转动速度。指针转动速度与相应的参数变化速度成正比。同时计算出车辆行驶里程并累加到总路程上。5)处理器将包含车辆工况的一组脉冲序列发送至步进电机驱动器,驱动器驱动步进电机以微步方式转动,指示出相应的发动机转速、车速、水温以及油压等;处理器将包含车辆总路程等信息的数据发送至LCD控制器,控制器控制LCD显示相应的总路程等:处理器改变相应的I/O引脚状态直接点亮/关闭相应的指示灯。


  2.4 故障显示

  该仪表能够从CAN总线接收故障代码并对故障代码进行解析,与预先写入的故障码比对后找到对应的故障信息并显示在LCD屏幕上。每一类型的数据都有特定的数据帧ID,系统根据帧ID判断故障产生的位置。如果收到的是单帧故障,则系统来提取总字节数和总包数;如果收到的是多帧故障,系统则连续提取故障诊断报文至特定的字节,然后根据故障代码查找故障类型。

  3 结束语

  在研究CAN总线和SAE J1939协议的基础上,设计CAN总线汽车仪表。该设计充分利用LM3S2948以及VID6606的功能,较大程度上降低了系统外围电路的设计以及成本。多次实车试验结果表明,相对于常规仪表,该CAN总线仪表具有以下优点:抗干扰能力强,传输速率高,能够保证数据有效、快速、稳定地传输;减少车身布线,硬件方案软件化实现,简化了设计,降低了成本;及时、直观地查看车辆故障;CAN总线将整车构成一个网络系统,能够提升系统的灵活性,方便地增加设备,扩大了可开发的空间。


关键字:CAN总线  汽车仪表 引用地址:CAN总线汽车仪表研究

上一篇:将LCD显示器读数读入单片机的接口电路
下一篇:CAN总线汽车仪表研究

推荐阅读最新更新时间:2024-05-02 21:38

CAN总线的协议层
CAN总线是个开放的系统,其标准遵循ISO的OSI七层模式,而CAN的基本协议只有物理层协议和数据链路层协议。实际上,CAN总线的核心技术是其MAC应用协议,主要解决数据冲突的CSMA/AC协议。CAN总线一般用于小型的现场控制网络中,如果协议的结构过于复杂,网络的信息传输速率势必会变慢。因此,CAN总线只用了7层模型中的3层:物理层、数据链路层和应用层,被省略的4层协议一般由软件实现其功能,如图所示。   图 CAN总线协议层
[嵌入式]
基于CAN 总线的电动汽车电源管理通信系统设计
  摘 要:电动汽车的电源管理方案,涉及到了发动机、电动机、蓄电池的工作状况、车辆行驶速度、行驶阻力以及驾驶员的操作等诸多参数,利用CAN总线技术,把以上参数的测控装置连接起来,是实现电动汽车的电源管理的关键步骤,本文主要论述了基于CAN 总线的电动汽车电源管理中的通信系统设计与实现技术。 关键词:电动汽车;电源管理; CAN 总线;通信技术 随着石油价格的上涨以及环保要求的提高,电动已经成为是未来汽车发展的一个重要方向。对于以电池供电的全电动力系统或者以发动机和蓄电池混合动力系统而言,电源管理系统设计是关系车辆性能的一个重要因素,设计时需要考虑综合车辆总体设计方案和外部使用环境,为了节约电源,还需要设计一定的控制策略保证电源的最
[电源管理]
基于CAN 总线的电动汽车电源管理通信系统设计
为何车载空调压缩机CAN总线通讯需要采用隔离方案?
炎炎夏日,车内空调系统的稳定可靠运行显得尤为重要。本文将为您介绍如何通过总线隔离避免因通信不畅引起的车载空调故障。 为什么要用隔离 从能源种类来看,目前公路上的车型主要可以分为两类,一类是使用传统汽油、柴油作为燃料的车辆,另一类是使用电池的新能源车。这两类车型的车载空调系统有什么区别呢?传统的燃油车辆,空调压缩机是由发动机直接将动能传递给空调压缩机,而新能源车的空调压缩机则是由车内的电池驱动的。 图1 动力电池 将新能源汽车的动力电池驱动压缩机需要几个步骤,首先要将直流电转化为交流电(逆变),然后调整交流电频率使其能稳定驱动压缩机中的电机,该部分的功能部件在车辆中以空调驱动单元存在。说到高压、逆变、变频、
[汽车电子]
为何车载空调压缩机<font color='red'>CAN总线</font>通讯需要采用隔离方案?
单片机和MCP2510的CAN总线通信模块设计
CAN(Controller Area Network)总线,即控制器局域网。由于具有高性能、高可靠性以及独特的设计,CAN总线越来越受到人们的重视。德国的Bosch公司最初为汽车监控和控制系统设计了CAN总线,现在,其应用已面向过程工业、机械工业、纺织工业、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。CAN总线已经形成国际标准,并已经公认为是最有前途的现场总线之一。CAN总线规范已经被国际标准化组织制订为国际标准ISO11898,并得到众多半导体器件厂商的支持,推出各种集成有CAN协议的产品。CAN总线系统智能节点是网络上报文的接收和发送站,一般由单片机和CAN控制器或二者合二为一组成。 MCP2510是Micro
[单片机]
单片机和MCP2510的<font color='red'>CAN总线</font>通信模块设计
先进汽车仪表板及车身控制设计要领
今日的汽车已迈向智能化与环保化的设计时代,在智能方面透过数字电子技术来提升汽车的安全性与舒适性,并环保方面透过油电混合及电动车等设计来达到节能省碳的目标。因此,今日汽车的电子化程度已愈来愈深,从信息娱乐、车身、安全到动力传动系统,利用电子组件来进行感测和操控的情况已深入汽车的各个角落。 在汽车电子的各个系统当中,往往需要采用微控制器(MCU)做为运作控制的核心,而汽车对电子系统的倚重,也刺激车用微控制器市场的快速成长。车用微控器涵盖8位、16位、32位等低、中、高阶产品等级,各有其适合的应用系统,大致如下: 1. 8位MCU:主要应用于车体的各个次系统,包括风扇控制、空调控制、雨刷、天窗、车窗升降、低阶仪表板、集线盒、座椅
[嵌入式]
技术文章—CAN总线分支过多或过长问题的五种解决方案
摘要:CAN总线作为可靠性、稳定性最高的总线之一,在工业现场、汽车电子、轨道交通等行业都有广泛的应用。但是在实际使用CAN总线中还是会遇到一些问题,今天我们就总线分支过长/过多引起的总线问题进行深入的剖析。 CAN总线的布线受现场环境、产品形状等因素的影响,可能导致现场布线中出现总线的分支过长/过多等现象,某系统中A、B(AB各有120电阻)一条CAN线上挂有CDEF等节点,若将C支线延长100m,则F全部关闭,系统会报错,去掉100m延长线,F任意状态系统都不会报错。 当总线支线过长,上升沿和下降沿产生台阶现象,当台阶正好处于0.5V逻辑识别阈值附近时,容易导致位宽度失调,从而使接收节点接收错误,针对此类错误给出
[物联网]
技术文章—<font color='red'>CAN总线</font>分支过多或过长问题的五种解决方案
关于CAN总线的基础
文章来源于Digikey 车载网络允许微控制器和发动机控制单元 (ECU) 处理器与传感器、执行器、指示器、显示器以及彼此进行通信。 车载网络的网络带宽取决于所支持的功能。 通常,基本的车身和舒适应用程序可以在低总线带宽下工作,而动力传动系统和底盘应用需要更多的带宽,安全功能使用中等带宽,信息娱乐应用程序使用高带宽,而高级驾驶员辅助系统(ADAS)需要非常高的带宽。 此外,车载网络可以使用多种网络架构,每种架构都与一组功能需求相匹配。经典的车载网络是CAN总线。 CAN总线功能和结构 CAN 已存在约三十年,并且仍在不断发展。 ISO 11898 标准中描述了经典的 CAN 总线。 它支持高达 1 兆位每秒 (Mb
[汽车电子]
关于<font color='red'>CAN总线</font>的基础
基于CAN总线的电力抄表系统设计
CAN总线简介 CAN为多主方式工作,网络上任一节点均可以在任意时刻主动向网络上其他节点发送信息;CAN网络上的节点信息分成不同的优先级,可满足不同的实时要求;CAN采用非破坏性总线仲裁技术;CAN只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据;CAN的直接通信距离最远可达10km(速率5kbit/s以下),通信速率最高可达1Mbit/s(此时通信距离最长为40m);CAN的每帧信息都有CRC校验及其他检错措施,保证了数据出错率极低;CAN的通信介质可为双绞线、同轴电缆或光缆,选择灵活。 系统方案设计 系统由以下部分组成:脉冲电度表、电量采集器、CAN转换器、调制解调器、上位机。系统的结
[单片机]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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