CAN 总线车载网络通讯组件的研究和实现

发布者:chunying最新更新时间:2010-08-21 来源: 微计算机信息关键字:车载网络  CAN总线  配置编译工具  网络组件 手机看文章 扫描二维码
随时随地手机看文章

 

  摘要: 本文提出了一种基于CAN 总线的车载网络软件解决方案。该方案可将应用与网络协议分开,以便降低整车厂商对硬件供应商的依赖性,同时提高软件的复用性和可移植性。该方案主要包含两部分:一、静态配置编译器工具;二、网络组件。

1 引言

  目前,汽车电子正朝着网络化的方向发展,车载网络成为汽车电子领域的最大热点。提高控制单元间通讯可靠性并且降低导线成本的网络总线应用中的关键技术包括CAN、LIN、FlexRey、MOST、IDB1394 等。对于汽车整车厂来说,CAN 网络设计是应用CAN 网络通讯的关键。纵观现有的设计技术,可以将其分为两类:一类是以仿真和测试为主的传统设计方法;另一类是以协议设计为主的方法。传统方法将每个节点对协议的要求拼凑起来,通过仿真、测试的方法检验协议的正确性,最终得到通讯协议。新方法通过系统设计技术,用理论方法对系统的时序建模,分析设计系统的通讯协议,保证系统的实时性能以及协议的正确性,最终发布正确的通讯协议。本文将简要介绍传统设计方法的局限性和新方法的优势,以及参考新方法所设计的通信网络软件系统。

2 传统设计方法的局限性

  随着汽车上电子设备数量的逐渐增多,车载网络系统也越来越复杂,汽车电子网络面临着巨大的挑战。传统网络协议设计技术的局限性越来越突出,主要表现在数据丢失、通讯延迟、协议修改困难等三个方面。

  2.1 数据丢失

  数据丢失是指新数据没有来得及通过网络传输出去,或是超过接收节点的接收时限才传输出去的情况。数据丢失会严重影响通讯的实时性能,进而影响整车通讯的质量。实时性能好的系统应该完全避免数据丢失。

  数据丢失的影响因素就是通讯协议。传统设计方法通过仿真和测试等手段检测协议的正确性,其缺点是无法覆盖所有的测试用例,因此,输出的通讯协议会存在潜在错误或者不够完整,这样就不可避免地会产生数据丢失的情况,影响整个系统的性能。

  2.2 通讯延迟

  通讯延迟是指数据准备好到通过总线发送出去的等待时间。通讯延迟可能导致数据丢失,是传统设计方法无法解决的根本性问题。这主要是因为,传统设计方法只是将各个节点对协议的要求拼凑起来,没有考虑整个系统的需求,比如发送节点发送数据到接收节点接收数据并用于控制,没有考虑实现这样一个完整功能的时间要求。因此协议设计结果难以保证实时性能,必然存在通讯延迟。

  仲裁失败是产生延迟的主要原因,因此延迟与消息的 ID 及周期有关。系统越复杂,消息之间发生竞争的可能性越大,系统的实时性能就越差。

  为了减小延迟的影响,传统设计方法采取了两种预防措施。一种是设定时限,如图1所示。另一种限制负载为平均30%左右,降低消息竞争的可能性。但是这两种方法都不能从根本上消除延迟。


图 1 时限设定和响应时间的计算

  2.3 协议修改困难

  修改协议在开发过程中不可避免。但对于传统的设计方法,因为应用程序和通讯功能的融合,通讯协议的参数变化会导致软件的重新编译和测试,这就意味着额外的时间和成本,供应商极不愿意整车厂商修改协议。因此,整车厂商修改协议十分困难,并需要很长的时间。

3 以协议设计为主的新方法的特点

  以协议设计为主的方法通过系统级的设计理论和方法,保证通讯协议的准确性,避免数据丢失,保证系统的实时性能。其特点概括起来如下:

  3.1 系统级设计,避免数据丢失

  新技术采用自上而下的系统设计技术,对整个系统的架构进行设计,并完成优化。通过理论设计方法,可保证通讯协议的正确性,从根本上解决数据丢失问题。

  3.2 有效控制消息延时

  响应时间是消息准备发送到最后节点接收到数据的全部时间,它是发送时间和延迟的总和,其中延迟是影响响应时间的主要因素,控制延迟就可以有效控制响应时间。

  如图 1 所示,通过对响应时间进行建模,并仔细安排消息的ID 和周期以控制延迟时间、响应时间及总线负载。然后用理论方法计算出最差情形下的延迟时间、最大的响应值,以及总线负载。

  由于新方法能够计算出最大总线负载,也能有效控制系统延迟,因此没有必要再对系统的总线负载作任何限制,理论上可以达到100%。其优势在于保证了确定的通讯行为,可以有效地利用系统资源。

  [page]

  3.3 分隔应用程序和通讯协议,保证变更灵活性

  如图 2 所示,新方法为ECU 通讯功能提供了标准的网络通讯组件。该组件将应用程序和通讯协议成功分隔开来,使得各自的修改互不影响,保证了协议修改的灵活性。网络通讯组件提供面向总线、应用程序和通讯协议三方面的标准接口。面向应用程序的接口是基于信号的操作,不包含通讯协议的参数。面向通讯协议的接口负责识别通讯协议。只要遵守接口标准,协议可以进行任意改变,而且不影响应用程序。


图 2 分隔应用程序和通讯协议

  这种设计方案其优势在于整车厂商可以很容易地修改协议,不需要供应商支持,因此保证了系统变更的灵活性,同时也增加了系统的可移植性以及应用的复用性。

4 系统设计

  为了避免传统设计方法的缺点,本系统参考新方法理论进行设计。整个系统主要分为两大部分:一、静态配置编译工具;二、网络组件,称为COM 组件。

  4.1 静态配置编译工具

  该静态配置编译工具使用配置语言进行信号、帧、帧模式等等的配置。配置语言定义了四个文件的配置规则语法,这四个文件分别为:fixed 文件、network 文件、target 文件和private文件。

  .fix 文件主要用来描述可用的网络接口以及ECU 中的每个通信接口所收发的信号的描述。这些描述内容可以在工程的很早阶段就可以定义,甚至是在选定供应商之前就可以进行定以。

  .net 文件通常由系统Interator 创建,主要用来描述网络接口配置、信号、帧及其想关参数(例如:帧的ID,传输类型、周期、偏移以及信号的映射表),如果应用有需要的话,还可以进行调度表的调度表的定义(应用于使用网关的情况)。这些信息将会存储到NVRAM中,并且对于应用软件不是直接可见的。

  .tgt 文件是由ECU 的供应商提供的,它包括ECU 的硬件特性描述,比如CPU 类型、存储数据的内存的大小和地址等。

  .pri 文件主要用来定义信号的标志、超时以及信号的重命名等信息。通过使用配置语言配置的这四个文件实现了静态可裁剪配置,同时控制了信号传递的时序,有效地控制了通讯延迟并避免了数据的丢失,充分利用了网络资源。

  经过配置后获得的四个文件经过配置编译器编译后生成三个文件,分别为:s_gen.c 、s_hand.h 以及s_nvram。

  s_gen.c 文件包含了一些配置产生的数据结构,并且这些数据结构与ECU 供应商提供的ECU 其他部分应用软件代码进行集成编译和链接。应用软件将包含s_hand.h 文件,以便访问不同的通讯对象,例如:特定的信号等。s_nvram 文件是产生的ECU 二进制配置数据。

 [page] 

  4.2 COM 组件

  COM 组件采用分层结构设计方法,主要分为:交互层(InteractiON layer)和驱动层(devicedrivers layer)。其中交互层中具有网关功能,该功能实现信号级的路由。

  COM 组件中的交互层具有以下功能:一、提供标准面向应用的信号接口;二、提供为网络管理统一服务;三、提供诊断通信统一服务;四、隐藏协议和来自应用的信息属性;五、提供不同网络之间数据传输;六、提供网关功能。

  COM 组件中的驱动层提供以下功能:一、发送从交互层递交过来的数据;二、从CAN硬件接收数据递交给交互层;三、确认上层的发送请求,并将确认信息上报给交互层;四、确认接收完成,并将确认信息上报给交互层。

  信号的接收:当底层网络中有信息在传输时,CAN 收发器进行过滤,只有符合过滤条件的帧才能被CAN 设备通过驱动层接收。然后驱动层将收上来的数据传递给交互层。应用程序通过信号读操作获得符合条件的帧中的相应信号。

  信号的发送:应用程序调用信号写操作功能将有关信号发送到交互层。交互层通过调用有关发送函数进行输出操作,将信息传递到驱动层。驱动层调用有关的发送功能,将信息传输达到CAN 总线上。示意过程图如图3所示。


图 3 使用COM 组件进行信号收发操作

5 结束语

  本文设计的系统采用新的设计原理,很好的将应用和协议分开,降低了整车厂商对供应商的依赖性,降低了整车的开发成本和开发周期,同时,作为我国自主研制的车载网络解决方案,一定程度上对我国汽车电子行业的进步提供了一定的理论基础。

  本文作者创新点:此网络设计采用了系统设计方法,突破了传统的以仿真测试进行协议拼凑的设计方法,能够使整车厂商灵活地进行协议设计和修改,极大地降低了对供应商的依赖性。同时这种设计方法也保证了系统的移植性和可重用性,并且增加了网络的使用率。

关键字:车载网络  CAN总线  配置编译工具  网络组件 引用地址:CAN 总线车载网络通讯组件的研究和实现

上一篇:中国Telematics市场发展分析
下一篇:CSR 博通上演专利侵权案大战

推荐阅读最新更新时间:2024-12-18 18:59

基于CAN通信的卡车语音报警器的设计
  汽车诊断技术是汽车安全技术中不可缺少的一部分,它能在汽车发生故障时及时地进行语音报警,避免事故的发生。CAN即控制器局域网,是国际上应用最广泛的现场总线之一。由于CAN总线技术的优良特性,在汽车电气系统以及其他一些实时控制单元中得到广泛应用。一种基于CAN总线的通信网络具有速度高、抗噪性强及通用性好等优点。   我们设计的基于CAN总线技术的卡车语音报警系统能给汽车乘员提供一个安全的驾乘环境。该语音报警系统采用了摩托罗拉公司的M68HC908GZ16微控制器,该微控制器尺寸小,资源齐全,具有很高的性价比。 CAN总线位定时   CAN总线采用同步串行通信方式,数据流中的字符与字符之间、字符内部的位与位之间都同步,这就要求
[汽车电子]
基于CAN通信的卡车语音报警器的设计
基于CAN总线的分布式蓄电池在线监控系统设计
引言 一般电源设备只能对电池组的整体输出电压和电流进行测量,对于单块电池不能进行在线测量。而电池组的失效又往往是从单块电池失效开始的一种恶性循环,尤其对于使用时间较长但又不超过使用期限的电池组,单纯依靠维护人员的日常维护很难发现问题。因此,对于单块电池的运行参数进行在线监控,及时发现问题就变得极为重要。 单块电池的损坏首先表现在端电压在充电时过高而在放电时又迅速下降,电池体温升高,负载能力下降等异常现象。可以通过对电池的端电压、体温等参数的在线测量及时发现故障电池。 早期的蓄电池在线监控采用集中监控方法,或是基于RS-232(或RS-485)总线的分散采集、集中监控的分布式测量方法。这些方法只能采用主从式系统结构,以轮
[嵌入式]
飞思卡尔终端节点通讯解决方案
本文旨在介绍本地互联网(LIN)这种低成本的串行通讯协议,它主要用于汽车的分布式电子系统和基于网络的车辆概念中。 车内网络解决方案 新技术为车辆带来的众多改变之一就是电子零部件的不断增加,同时,带有多种传感器、执行器、电子控制器的高级控制系统也对车用通讯技术提出了巨大需求。显而易见,这些需求只能通过使用这种网络解决方案来满足,因为车内环境各不相同,所以,本文将介绍三种能满足成本、安全性和通讯速度需求的主要通讯标准。 *FlexRay *CAN -控制器局域网络 *LIN -本地互联网络 以上三种通讯标准在通讯速度和每个节点的成本方面的比较,见图1 图1: 主要汽车通讯协议 每个通讯标准都有各自的优点和目标应用平台
[汽车电子]
一种CAN总线与以太网互连系统的设计方案
  1.前言   在大型企业自动化系统中,在上层企业管理层和生产监控层采用的都是以太网和PC机,而在下层车间现场都是采用现场总线,如 RS-485 ($14.5000)、CAN、lonWorks等,而连接上下两层的沟通通常采用工业控制机加以太网卡再加上PC机插槽上的与现场总线对应的接口卡或并行打印口的EPP接口卡来实现,这种连接方式成本高,开发周期长,接口卡成为系统上下两层的通信瓶颈一旦出现故障上下两层的联系就将中断;为此利用廉价的基于单片机的以太网-CAN网桥取代昂贵的工控机加接口卡,实现以太网和CAN总线网的直接连接具有重要意义。   2.系统方案设计   由于系统中有以太网网和CAN总线数据处理,因此需要采用大容
[单片机]
一种<font color='red'>CAN总线</font>与以太网互连系统的设计方案
基于LPC2292的CAN总线智能节点设计
引言 CAN(Controller Area Network)总线控制器局域网络是在1986年2月的SAE大会上,由RoberBosch公司首先提出的。CAN总线是一种串行通信协议,它能有效支持高安全等级的分布式实时控制,其最初的目的是用在汽车上。但由于采用了许多新技术及独特的设计,CAN总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和灵活性,目前的应用范围已不局限于汽车行业,而是扩展到了机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械、家用电器及传感器等诸多领域。CAN节点的设计多采用单片机,为此,本文给出了一种基于本身已经嵌入了CAN控制器的单片机LPC2292的CAN总线智能节点的设计方案。 1
[工业控制]
基于CAN总线和Internet的分布式网络监控系统
  1 引言        炼钢及冶金企业是国家宏观经济支柱产业,同时也是电耗大户,节能潜力不容忽视。目前,虽然多数炼钢及冶金企业都采用数字电表,但仍采用人工手抄的方式,对用电情况缺少实时监测和控制能力,能源监管问题突出。因此,实现电能的自动计量、采集及网络化管理,是炼钢及冶金企业的必由之路。 can总线比之rs-485,具有实时性、可靠性高,安全性强等优越性;与其他现场总线相比,can总线具有突出的可靠性、实时性和灵活性。本文运用can总线实现数字电表的实时数据采集,并通过internet将数据进行网络化管理,以实现炼钢及冶金企业节能增效的目的。 2 系统总体设计    系统总体结构如图1所示。系统主服务
[嵌入式]
解读CAN总线行车记录仪系统电路
  系统整体结构设计   由于CAN串行通讯总线的良好特性,被广泛地应用于现场数据采集系统、汽车制造业和航空工业等领域。本文所设计的基于CAN总线数据记录仪是应用在奇瑞汽车A5车型上的,对整车CAN网络上的节点数据进行采集和存储。A5是第一款应用CAN bus总线系统的自主品牌国产轿车,其CAN bus主要应用在传动部,在车身部、ITS部和信息部等也有少量的应用。对A5这款首次使用CAN技术的车型进行实时数据采集,可了解汽车运行期问各种数据信息变化,对A5乃至后续所有车款的研发来说,都有着非常重要的意义。   CAN总线行车记录仪工作时应挂接到汽车CAN总线上成为一个CAN节点,以便采集CAN数据信息。由图1所示,该系统不仅采集车
[单片机]
基于CAN总线EPB驻车电流采集节点系统电路设计
  电子驻车制动系统(EPB)指将行车过程中的临时性制动和停车后的长时性制动功能整合在一起,并且由电子控制方式实现停车制动的技术。为了能够获取各车辆已施加的理论驻车压力,并监控各车辆一体化执行机构的工作状态,防止驻车电机长时间工作在大电流状态,防止驻车电机过热烧毀,EPB一般配有驻车车电流采集节点,并通过CAN总线将驻车电流发送给中央控制节点(ECU)。文中主要介绍了基于AD574A的驻车电流采集节点的接口设置。   1 系统硬件设计   驻车电流采集节点的硬件电路设计包括CAN总线通讯电路设计与车速采集电路设计两部分,如图1所示。   1)CAN总线通讯电路设计   CAN总线通讯电路设计时,CAN控制器使用
[嵌入式]
小广播
最新汽车电子文章

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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