微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > CAN总线车载网络通讯组件的研究和实现

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

时间:10-20 来源:互联网 点击:

也增加了系统的可移植性以及应用的复用性。

  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 二进制配置数据。

  4.2 COM 组件

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

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

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

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

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


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

  5 结束语

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

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top