首 页文档资料下载资料维修视频汽修在线平台
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 汽车技术 > 汽车技术
基于CANoe的汽车CAN总线通信及诊断设计
来源:汽车电器  作者:佚名  2015-07-27 09:21:31

    摘要:本篇介绍基于CANoe软件在汽车网络设计上的应用,提出了CAN总线网络系统设计通用的方法。以车载诊断标准IS015765为框架,设计了基于CAN网络的故障诊断体系(企业内)和故障诊断代码,建立起一套通用的故障码数据库。

    随着汽车技术的快速发展,汽车性能不断提高,汽车电器与电子控制装置在汽车上的应用越来越多,传统的汽车布线难以满足汽车技术发展的要求,因此汽车总线技术越来越受到主机厂的关注。在汽车总线的发展历史上,出现了若干种总线。其中一些总线已经被淘汰或正在被淘汰中,如K-Bus、K-Line等;一些总线正处于研究或发展阶段,如F1exRay、MOST等;还有一些总线已经发展成熟并且得到了广泛应用,如CAN, LIN等。目前CAN总线已广泛应用于汽车中,已经成为汽车行业不可或缺的一部分。

    1  CAN概述
    CAN(Controller Area Network)即控制器局域网络,由于其高性能、高可靠性及独特的设计,已在各型汽车上得到普遍应用。CAN最初是由德国的BOSCH公司为汽车监测、控制系统而设计的。现代汽车越来越多地采用电子装置控制,如发动机的点火正时、喷油控制,加速、制动控制(ASC)及复杂的防抱死制动系统(ABS )等。这些控制需检测及交换大量数据,若采用硬线连接的方式,不但烦琐、昂贵,而且实时性难以保证。采用CAN总线,上述问题便得到很好地解决。
    CAN总线其本质是一种串行数据通信协议,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等工作。

    2 CAN通信网络设计
    2.1整车功能定义
    在设计整车CAN网络之前,首先要确定整车功能,即根据立项的情况,首先分析整理目标车辆的电器架构及相应要实现的电气功能,然后确定出整车需要通过CAN网络进行通信的部件,为进一步CAN网络拓扑规划做铺垫。本文以陕汽集团通家福牌6400车系的基础上开发的纯电动微型车(图1)为例,进行CAN总线的设计说明。根据整车功能需求,该车为纯电动车,实现整车部件之间的协调控制,并通过工程师的进一步分析,最终确定该车辆有整车控制器(VMS)、电池及管理系统(BMS )电机及控制系统(MCS )及仪表(DPLY) 4个节点需要通过CAN网络进行数据传输,因此,CAN网络拓扑规划时就以这4个节点进行规划。

    2.2  CAN网络定义设计
    网络定义设计的目的,是将需要通过CAN网络进行通信的节点进行合理的资源分配,其基本思路是:首先确定节点的节点地址,然后对收发信号及报文进行定义,最后通过估算网络负载率来确定整个CAN总线网络的拓扑结构。
   2.2.1节点地址分配
    节点地址是确保该节点在网络中的惟一性要求,节点地址分配如表1所示。

    2.2.2拓扑规划
    拓扑规划即整车CAN网络的总体设计。根据确定出的CAN网络上的部件节点,站在整车全局的角度上规划整车CAN网络拓扑结构。规划整车CAN网络拓扑结构时,需要从以下几点考虑。
    1)信号分析。确定每个部件节点必须的网络收发信号及整车控制需要的必要信号。
    2)封装报文。根据部件节点的收发信号的实时性、重要性等要求,对信号进行合理分配封装成报文,并给每个报文规划适当的通信周期及进行ID分配。
    3)网络负载率计算。根据打包报文的数目计算每个节点的负载率及总负载率,根据负载率情况合理规划CAN线数量。当节点较多负载率较高时,可以规划2条或多条CAN线。.
    4)根据计算的网络负载率,规划CAN总线的拓扑结构。
    信号分析主要分为两个方面:一是从单个控制器的角度进行分析,二是从整车网络的角度进行分析。从整车网络角度分析信号,要根据具体车型的控制要求来进行。本文中报文格式采用29位标示符,总线波特率250 kb/s。表2以电机及其控制系统(MCS)为例,分析其相关信号参数。

    由以上信号分析得知,电机及其控制系统相关的信号要进行发送,要至少3个报文才可以实现。用同样的方法对其他节点进行信号分析并封装报文,得到该车型4个节点的网络通信报文发送的情况,如表3所示。
    由表3可看出,4个节点总的负载率为22.2%,因此规划4个节点在一条CAN线上即可。需要注意的是,CAN总线两端需配备120Ω的终端电阻,以保证总线正常通信。该车型中将在CAN总线线束中外置终端电阻。总线拓扑结构见图2。



    2.3  CAN总线网络仿真
    整车信号定义及网络拓扑结构定义完成后,整个车辆的网络架构就建立起来了。当然这只是刚开始。定义的架构是否合理,报文的收发是否能够不丢帧地准确进行,在没有实车测试之前,网络仿真是必不可少的一个环节。
    本文中CAN总线的仿真开发应用德国VECTOR公司的总线开发工具CANoe o CANoe是网络和ECU开发、测试和分析的专业工具,支持从需求分析到系统实现的整个系统开发过程。CANoe丰富的功能和配置选项被OEM和供应商的网络设计工程师、开发工程师和测试工程师所广泛使用。利用CANoe工具建模,可以进行完整的总线系统仿真和残余总线仿真,分析总线通信,并且用户可以运用类C的CAPL编程语言编程,实现仿真、分析和测试。
    首先需要建立网络数据库DBC文件,然后在CANoe中通过调用DBC文件建立整车CAN网络模型,再利用类C语言的CAPL编程来实现网络的仿真。
    2.3.1 DBC数据库建立
    首先打开CANdb++Editor,新建一个后缀名为.dbc的数据库文件并保存。然后将定义好的信号录入数据库中。在CANdb ++Editor左侧导航树中Signals上右键点击New新建信号,然后再完善信号属性参数,如图3所示。

    信号创建完毕后,就要新建报文了。在导航树Messages上右键新建,逐一创建定义好的报文,创建报文编辑页面如图4所示。

    最后创建节点,在导航树ECUs上右键新建,创建定义好的节点。在信号、报文、节点都创建完成后,最后关键的一步就是将信号关联到报文,报文关联到节点,建立起节点之间的报文收发关系。这样,就建立起了一个完整的数据库。
    2.3.2  CAN总线网络的仿真
    数据库建立完成后,接下来就是利用CANoe进行总线的仿真。首先新建一个配置文件(.cfg文件),将定义好的数据库导入,这样就建立了CAN总线整车网络的仿真,如图5所示。

[1] [2] [3]  下一页

关键词:CANoe CAN总线

  • 好的评价
      50%(1)
  • 差的评价
      50%(1)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:7,851.56300 毫秒