引 言
FlexRay总线是最近推出的一种采用点对点(星型拓扑结构)连接,借助无屏蔽或屏蔽双绞线电缆的先进高速串行同步和异步通信系统。FlexRay总线具有故障容限,可提供500kbps~10 Mbps的确定数据传输速率和24位CRC(循环冗余)校验码。FlexRay是一种时间触发型总线,所有的子系统按照预先设定的时隙进行连续通信。FlexRay总线的推出可以解决目前车载多种电子设备的网络连接问题,而早期的CAN总线和LIN总线已经无法满足现代车载电子设备的高速通信要求。
本文介绍一种在嵌入式数字信号处理器(DSP)OMAP5912上实现FlexRay总线的方法。FlexRay总线负责将各个设备的数据传输到DSP,DSP负责对数据进行分析和处理。由于系统采用了DSP,因此可以对车载电子的语音和图像数据的复杂算法进行处理。本文着重讨论DSP和FlexRay总线的软硬件连接。
1 FIexRay总线及其控制器MFR4200
FlexRay总线是一种全新的总线系统。其主要特性有:
①支持双通信通道,每个通道的速率均达到lO Mbps。与CAN协议相比,可用的带宽提高了lO~40倍。
②总线数据的访问是基于同步时基的。该时基通过协议自动建立和同步,并提供给应用层。时基的精确度介于0.5 μs和10μs之间。由于采用同步时基,消息在通信周期中拥有固定位置,接收器已经提前知道,消息到达的时间,因此可以根据时间对各种特殊情况进行相应的处理。
③FlexRay总线提供消息冗余传输或非冗余传输两种选择,系统可以进行优化,以提高可用性或吞吐量,用户无需调整现有节点中的软件就可以扩展整个系统;同时,支持总线或星型拓扑结构。FlexRay总线提供了大量配置参数,可以支持对系统进行调整,如通信周期的持续时间、消息长度等,以满足不同应用场合的需求。
FlexRay总线的这些特性使其可以用于替代CAN总线,适合车载骨干网络、分布式控制系统以及安全系统等应用场合。目前已有多家公司生产FlexRay总线控制器。这里选用Freescale公司的MFR4200总线控制器,介绍其内部结构以及和DSP的软硬件连接方法。
MFR4200总线控制器的内部功能框图如图1所示。从图中可以看出,MFR4200总线控制器主要由物理层接收/发送通道、主机HCSl2接口、MEM控制器、电源管理模块以及时钟管理模块等多个部分组成。
物理层通道有两个独立的接收/发送通道,每个通道的速率均达到10 Mbps。在工作状态下,主机可以访问MFR4200的接收通道FIFO和发送消息缓冲区;通过对FIFO和消息缓冲区的配置、控制和读写,实现对物理层数据的收发。接收FIFO最大可以存储59个消息,总线上 的数据帧都将到达总线上所有的MFR4200。每一个MFR4200在收到总线数据帧后,都将经过接收滤波器;滤波器将不属于自己地址的数据帧滤除,只将属于自己的数据帧和广播帧存储到接收FIFO中。
2 系统硬件结构
整个系统由OMAP5912、MFR4200、AD/DA、人机接口以及Flash组成,硬件连接如图2所示。图中,DSP是核心控制单元;AD用于将采集的模拟信号转变成数字信号,DA将数字信号转换成模拟信号;人机接口包括LCD和键盘接口;Flash保存DSP所需要的程序,供DSP上电调用。此外,将DSP的HPI接口连接到PC机,这样所有的总线数据均可以通过PC机存储和显示,PC机的数据也可以通过DSP发送到总线上。可以根据不同的需要选择PC机或者LCD和键盘。图中,EMIFS(External MemoryInterface Slow)是OMAP5912的慢速外部存储器接口。
AD负责采集电子设备的数据,可以是温度传感器数据、颜色传感器数据,也可以是语音信号、图像信号或者其他信号。DSP对这些数据处理后,将处理后的结果根据不同的情况通过MFR4200发送到总线上的其他节点;相反,DSP通过MFR4200读取总线上其他节点发送的数据帧,DSP对这些数据帧进行处理,将结果发送到DA,可以实现对本节点电子设备状态的控制。
3 MFR4200和OMAP5912的硬件设计
MFR4200和OMAP5912的连接是系统硬件连接的关键,具体连接如图3所示。使用OMAP5912的EMIFS接口连接MFR4200。EMIFS可以方便地和外部Flash、异步SRAM等设备连接。本系统的MFR4200控制器模块FlexRay总线协泌,其最高数据传输速率为10 Mbps,OMAP5912的EMIFS接口适合满足其速度要求。