基于CAN总线技术的汽车ECU设计

发布者:QuantumPulse最新更新时间:2013-05-18 来源: 21ic关键字:CAN总线  ECU  控制器 手机看文章 扫描二维码
随时随地手机看文章
1、引言
  控制器局域网(ControllerAreaNetwork,CAN)是Bosch公司于1986年在美国汽车工程师协会(SAE)大会上推出的一种新型串行总线,被广泛地用于汽车内部测量与执行部件之间的数据通信,其总线规范已被制订为国际标准,由于其高性能、高可靠性及独特的设计,CAN总线技术越来越受到人们的重视[1,2]。随着现代汽车技术的发展,电子设备在汽车中的比重越来越高,如电喷发动机、燃油高压共轨、制动防抱死系统(ABS)、自动变速器系统、注油控制以及电动门窗等[3],这些总成之间需要检测并交换大量数据,采用CAN总线技术不仅成本低,而且可靠性明显提高。从1992年起,Mercedes-Benz(奔驰)公司开始在高级客车中使用CAN总线技术,随后,Volvo、Saab、Volkswagen、BMW、Renault以及Fiat等汽车公司也分别在自己的汽车上使用CAN总线技术[4-6]。国内针对汽车的CAN总线技术研究还处于起步阶段,北京航空航天大学、中国计算机学会单片机公共实验室、清华大学以及中国汽车技术研究中心等单位都开展了汽车CAN总线技术的研究[7-9],但目前还不能构成系列产品,并没有真正组建汽车CAN总线网络。
  本文以某即将定型汽车为原型,设计基于CAN总线技术的汽车ECU系统,对于已有CAN接口的总成,可以直接依据协议读取CAN接口的数据,对于没有CAN接口的总成,利用AT90CAN128单片机设计汽车ECU,采集传感器信息,并通过CAN接口与其他总成交换数据,组建基于CAN总线的汽车网络,这样既有利于汽车本身的数据通信,又能方便配套的便携式诊断仪器读取汽车技术状态信息。
  2、CAN总线网络的组建
  CAN是一种串行数据通信总线,其通信速率能达到1Mbps,并已经成为一项国际标准,其最大特点是,任一节点所传送的数据信息并不包含传送节点或接收节点的地址,信息内容通过一个标识符(ID)作上标记,在整个网络中,该标识符是唯一的,网络上的其他节点接收到信息后,每一节点都对这一标识符进行测试,以判断信息内容是否与己有关,如果是相关信息,将其接收并进行处理,否则,即被忽略。这样,不同的节点可以接收到不同的数据,保证了通信的实时性。
  现代汽车广泛地采用了电子技术,而总控模块能随时接收到所需要的数据,实现汽车总成之间的数据交换使用CAN总线组成数据传输网络主要用途之一,如发动机系统、自动变速器系统、ABS系统、自动差速锁系统、中央充放气系统、动力转向系统以及电动门窗系统等总成之间的数据交换。利用CAN总线技术组建汽车信息传输网络的基本结构如图1所示。

  由于一些总成生产厂家在设计时已经考虑了信息交互的接口问题,在生产时已将CAN总线技术集成到总成上。对于这类总成(如高压共轨发动机、自动变速器以及ABS等系统),只需通过ECU读取其CAN总线协议即可完成数据信息交换。对于其他总成,通过设计汽车ECU,采集相应传感器的信息,并利用CAN接口向总线广播式发送数据,可完成信息交换。
  3、汽车ECU的设计
  为了设计带有CAN接口的汽车ECU,较为常见的方法是用单片机与CAN控制器相结合,如使用8051单片机与CAN控制器芯片SJA1000来组合使用[4][6]。由于CAN总线技术应用领域广泛,一些芯片生产厂家(如Motorola、Intel、Philip、Atmel、Microchip以及NEC等公司)纷纷在自己的芯片中集成了CAN接口模块,这样将大大提高CAN接口通信的可靠性。本文采用Atmel公司的一款内嵌CAN控制器的AVR型单片机AT90CAN128来实现CAN节点。
  AT90CAN128单片机具有以下特点:128K字节FLASH,4K字节EEPROM和4K字节的SRAM,带有硬件乘法器功能,53个通用的I/O口,32个通用工作寄存器,4个具有比较模式的定时器/计数器,2通道8位的PWM,6通道2到16位精度的PWM,2个USART和1个主从SPI串行口,1个两线(I2C)串行接口,一个8通道10位具有可选增益差分输入的A/D转换器,1个带内部振荡器的可编程看门狗定时器[10]。同时还集成了CAN控制器,与CAN标准帧2.0A和扩展帧2.0B完全兼容,具有15个独立的信息对象,能够处理所有的帧类型,具有8位静态分配的数据缓冲区,晶振频率8MHz时数据传送速率可达到1Mbps。
  3.1硬件设计
  在本文的设计中,利用AT90CAN128的A/D转换器采集相关传感器的电压信号(如水温、振动、位置、气压以及油压等信号),利用定时器/计数器模块采集相关传感器的脉冲信号(如转速、里程等信号),由于AT90CAN128集成了CAN控制器功能,因此,结合CAN总线收发器即可完成CAN总线的接收和发送任务。CAN总线收发器采用了ATA6660芯片,它是CAN控制器与物理传输媒体之间的物理连接子层接口。为提高系统的抗干扰性,在AT90CAN128与ATA6660芯片之间加入高速光耦芯片6N137,其接口电路如图2所示。

  从图2中可以看出,电路主要由3部分组成:单片机AT90CAN128、高速光耦6N137和高速CAN总线收发器。单片机AT90CAN128主要负责传感器信息的采集、内部CAN控制器的初始化并实现数据的接收和发送等通信任务。在ATA6660与CAN总线的接口部分也采用了抗干扰和安全措施,ATA6660的CANH和CANL引脚各自通过5Ω的电阻与CAN总线相连,电阻可起到一定的限流作用,保护ATA6660免受过流冲击。CANH和CANL与地之间并联两个30pF的小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力。另外,在两根CAN总线与地之间分别接了一个防雷击管,当两输入端与地之间出现瞬变干扰时,通过防雷击管的放电可以起到一定的保护作用。 [page]
  3.2软件设计
  系统软件设计主要包括信号采集和CAN接口通信程序。利用AT90CAN128片上集成的ADC模块可以采集一些常规传感器的模拟信号,如油压、水温、气压等信号;利用定时器/计数器模块采集传感器脉冲信号,如转速、行驶里程信号等。对于模拟量信号,在经过放大器处理之后,可以直接控制单片机的ADC模块对其进行采集;对于脉冲信号,在对其进行采集时需要进行整形处理,如转速传感器获取发动机飞轮旋转时轮齿的信号,是正弦交流信号,将其整形为方波信号,利用定时器/计数器模块采集方波的频率来完成速度采集。为提高转速采集的实时性,通常采集脉冲信号的周期(两个脉冲信号上升沿或下降沿之间的时间)来计算其频率,并计算发动机转速,计算公式如如式(1)所示。

    式(1)中为系统时钟周期,为分频系数,为发动机飞轮齿圈齿数(对于康明斯发动机为为轮齿脉冲两次上升(或下降)沿的计数器值。

  CAN接口通信程序主要包括CAN控制器的初始化、数据接收和数据发送程序。主程序通过调用函数来实现数据的接收和发送,流程图如图3所示,在数据接收程序中,通过查询方式读取相应消息对象中的数据。

  CAN控制器初始化工作主要包括波特率参数设置、接收屏蔽寄存器及接收代码寄存器的设置、使能允许寄存器的设置等。通过总线定时器寄存器CANBT1、CANBT2、CANBT3来设置波特率参数。AT90CAN128中提供了一组由4个验收码寄存器(CANIDT1~CANIDT4)和4个验收屏蔽寄存器(CANIDM1~CANIDM4)组成的验收滤波器,信息只有通过它的验收滤波才能被接收;所有验收屏蔽寄存器为0的位,验收码寄存器和CAN信息帧的对应位必须相同才能验收通过,而所有验收屏蔽寄存器中为1的位,验收码寄存器对应位的验收滤波功能则被屏蔽。通过设置验收滤波器,既可以实现节点与节点之间的点对点通信,也可以实现一点对多点的广播式通信,使整个数据通信网络更加灵活。
  4、实验
  采用本文设计的汽车ECU对车辆上的模拟信号(水温、压力等),脉冲信号(转速、里程等)进行采集,并通过CAN总线发送和接收数据。采用IXXAT公司的CAN分析仪(USBtoCAN)对CAN总线进行监控,利用计算机与CAN分析仪连接,并通过CAN总线采集ECU传输的数据,CAN总线的通信波特率设定为125kbps,实验中测得的总线状态如图4(a)所示,实验中采用CAN2.0B扩展帧协议,采集某ECU节点的CAN总线数据如图4(b)所示,其中节点204060为脉冲信号采集,节点204061为模拟信号采集,数据长度为8字节,空余字节用FF填补,可用来扩展信息量。

  根据实际测量结果,可以看出总线没有接收到出错帧,接收到数据帧,反映总线工作状态正常。从接收的数据表明,每个ECU节点发送的ID码和数据与预定义的ID码和数据相同,总线接收和发送正常。另外,在软件中加入了异常处理,如果某节点一直向总线发送错误标志,总线会自动终止该节点,其他节点也会检测到错误条件,停止向该节点发送数据,这样可以避免总线瘫痪。
  5、结论
  本文设计的基于AT90CAN128单片机的汽车ECU,由于其本身接口丰富,可以采集多种传感器数据,并集成了CAN接口模块,这样提高了EUC的工作可靠性和CAN接口通信的可靠性,非常适宜于组建汽车CAN总线网络。另外,在硬件上做了优化处理,提高了系统的抗干扰能力。实验表明,该ECU能准确采集数据,并能通过CAN总线进行可靠通信

关键字:CAN总线  ECU  控制器 引用地址:基于CAN总线技术的汽车ECU设计

上一篇:倍福总线端子在干冰膨胀烟丝线上的应用
下一篇:DSP和USB总线的高频超声数据采集系统

推荐阅读最新更新时间:2024-05-02 22:40

英飞凌与格芯延长汽车微控制器长期供应协议
【2024年1月29日,德国慕尼黑和美国纽约州马耳他讯】英飞凌科技股份公司(GlobalFoundries)近日宣布, 就英飞凌的AURIX™ TC3x 40纳米汽车微控制器以及电源管理和连接解决方案达成一项新的多年期供应协议 。这一新增产能的锁定将有助于满足英飞凌2024年至2030年的业务增长需求。 英飞凌和格芯自2013年以来一直在合作开发差异化的汽车类、工业类和安全类半导体技术与产品。此次合作主要围绕高可靠性的嵌入式非易失性存储器(eNVM)技术解决方案展开,该解决方案非常适合用于实现任务关键型汽车应用,并且能够满足新一代汽车系统严格的功能安全和信息安全要求。英飞凌的旗舰级微控制器系列AURIX推动了汽车行业向自动驾驶
[汽车电子]
英飞凌与格芯延长汽车微<font color='red'>控制器</font>长期供应协议
安霸扩大自动驾驶人工智能域控制器系列 提供最广泛的软件兼容人工智能性能范围
1月9日,边缘AI半导体公司安霸(Ambarella)在CES期间宣布推出其CV3-AD汽车AI域控制器系列的最新成员——CV3-AD635和CV3-AD655系统集成芯片(SoC)。 图片来源:安霸 新型CV3-AD635支持包括多个摄像头和雷达的传感套件,除了满足GSR2和NCAP标准外,还可实现高速公路自动驾驶和自动停车等主流L2+级功能集。此外,CV3-AD655还支持具有城市自动驾驶功能的高级L2+(也称为L2++),并支持其他摄像头、雷达和其他传感器。 凭借之前发布的针对L3/L4级系统的旗舰产品CV3-AD685 SoC,以及专注于中国的CV72AQ SoC,CV3-AD系列现已涵盖从主流乘用车到高端乘
[汽车电子]
安霸扩大自动驾驶人工智能域<font color='red'>控制器</font>系列 提供最广泛的软件兼容人工智能性能范围
用LLC控制器开启电源
世界银行的最新 报告 显示,人均能源消费量呈指数级增长,从1200KWh增至3200KWh。虽然能耗上升背后存在许多驱动因素,但其中一个主要因素是每户家庭电子设备数量的增加。 全球功耗增加了生产更多能源的需求。但问题是如何满足这种对更多能源的需求,答案蕴藏在经济学中非常简单的一条定律——供求关系当中。 有两种选择: 增加供给:电力制造企业继续生产更多的能源。 减少需求:降低家庭的总功耗,这意味着家庭中的每个电力电子设备都应消耗更少的电力。 图1:供需曲线 虽然增加供给似乎是一个简单易行的解决方案,但多数国家倾向于第二个选择:减少需求,反过来又可以保护我们的自然资源,让地球变得更绿色。数个国家和美国多个州正
[电源管理]
用LLC<font color='red'>控制器</font>开启电源
基于CAN总线的A320模拟器硬件仿真方案研究
根据国家建设民航强国的需要,国内对飞机模拟机的需求不断增大,但目前国内模拟机研制规模不能满足日益增长的市场需求,若引进国外模拟机,则不仅成本高昂,且不利于技术掌握,因此扩大模拟机自主研发规模成为必然趋势。考虑到各种机型的驾驶舱功能的共性,即系统模块多、通信频繁、结构复杂而导致模块间布线繁杂,以及由此产生的干扰等问题,提出一种驾驶舱硬件仿真方案,该方案可以满足驾驶舱各模块间稳定通信,且简化布线。 1 方案确立 驾驶舱仿真主要以报文的形式承载各系统模块的操作信息,通过上位机完成逻辑运算,实现驾驶舱功能仿真。驾驶舱仿真设计的原则是稳定,即整个驾驶舱网络应具备一定的容错能力,在数据传输过程中若产生冲突竞争,则应有一种机制解决冲突,
[工业控制]
基于<font color='red'>CAN总线</font>的A320模拟器硬件仿真方案研究
恩智浦在LPC800系列微控制器中集成NFC技术
恩智浦半导体公司(纳斯达克代码:NXPI)今日宣布推出全新LPC8N04 MCU。LPC8N04 MCU是快速扩展的32位MCU LPC800系列(基于ARM® Cortex®-M0+)的最新产品。LPC8N04 MCU经过优化,集成具有能量收集功能的近场通信(NFC)接口,可满足市场对经济高效、短距离双向无线通信日益增长的需求。 随着NFC读卡器技术的飞速发展和当今智能手机丰富的图形显示能力,结合基于iOS和Android应用程序的开放式开发人员生态系统,NFC技术的使用已经超出了最初的点即付构想。LPC8N04 MCU使开发人员能够快速实施广泛的解决方案,利用系统诊断或环境条件实现更智能的标记体验。凭借灵活通信模式的附加优
[物联网]
改善8051系统用电效率的微控制器
摘要:一种改进架构的高性能8051设计、外围功能集成、选用合适的时钟源以降低功耗;并介绍节省电能的软件技术及采用待机模式降低功耗的技巧。 关键词:停机模式 空闲模式 功率管理模式 便携式产品的功能和性能日新月异。 消费者对产品性能的要求也越来越高,需要更强大的运算能力支持;另一方面,希望产品具有更低的功耗。 尽管已经出现了很多功耗处理器,但它们的性能通常很有限。Dallas公司的系列高速微控制器在性能和功耗之间取得了一个很好的折衷,采用了8051架构——世界上最流行的微控制器之一。简单易用、丰富的I/O资源使这种微控制器深受设计者的喜爱,并被广泛接受。它的流行势头已蔓延到了便携式领域,在很多应用中都有其用武之地。 本文
[应用]
检测环境光及控制照明的微控制器单管脚
以前的一个设计实例(参考文献1)采用一只LED作为换能器,以测量环境光强度并提供照明。本设计实例的原理与之相同,但只有一只LED、二只电阻器、一只IC和一只0.1mF的旁路电容器。该电路用于提供环境光的反馈时,它无需更多元件。虽然图1中的电路只需要少量元件,但它仍有相当好的灵活性,因为微处理软件控制着LED的亮度,以及它与环境光强之间的关系。对于夜间光照应用,一个模式是可在环境光线减弱时点亮LED。反之,对于便携设备LCD背光的节电调整应用,第二种模式是会在环境光强度增加时点亮LED。   表1是本设计实例的样本代码,它可以下载,在两种模式下均能为LED的亮度提供64级PWM(脉冲宽度调制)强度控制。在使用时,微处理器的一个多功能脚
[单片机]
检测环境光及控制照明的微<font color='red'>控制器</font>单管脚
经典的CAN总线现场故障
CAN L对带电源(正极)短路 当出现CAN L 对电源(正极)短路这种故障时,根据CAN总线的容错特性,可能出现整个CAN网络无法通信的情况或产生相关故障码。 由于CAN L 对电源短路,因此CAN H 电压也被置于12V。CAN L 对电源短路的总线波形如下图所示。 实际测量CAN导线的电压,若CAN L 和CAN H 导线电压都约为12V,则说明出现此类故障。 故障原因:如果不是CAN L 导线对外部电源短路引起的,那么这种故障就有可能是控制模块内部的CAN收发器损坏造成的。故障查找方法同上。 CAN H断路 当某个控制模块CAN H导线断路时,会导致该控制模块无法实现通信,但其他控制模块的通信还是有的。在其他的控制
[嵌入式]
经典的<font color='red'>CAN总线</font>现场故障
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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