基于FlexRay协议的媒体接入控制的设计
扫描二维码
随时随地手机看文章
当前广泛应用的车载总线技术(如CAN、VAN、LIN等总线) 由于缺少确定性、同步性及容错机制等并不能满足要求,FlexRay联盟推进了FlexRay的标准化,使之成为了新一代汽车内部网络通信协议。 FlexRay关注的是当今汽车行业的一些核心需求,包括更快的数据速率、更灵活的数据通信、更全面的拓扑选择和容错运算。
FlexRay总线中的每个接入端称为节点。节点主要由电源供给系统(Power Supply)、总线驱动器(Bus Driver)、固化有FlexRay通信协议的通信控制器(CommunicaTIon Controller) 及主机(Host)4个部分组成。通信控制器是通信节点的核心器件。它主要的功能有媒体接入控制、时钟同步、编解码、协议操作控制等。媒体接入控制功能是通信控制器的核心功能,解决数据进入FlexRay通信控制器的方式,为通信控制器的编解码功能做好时间准备以及数据准备。
本文提出一种FlexRay通信控制器媒体接入控制的设计方法。该方法直接访问内存,大大缩短了获取配置的时间;设计更加精简,能够保证通信的稳定性。
1 媒体接入控制的设计
本文提出的基于内存方式实现媒体接入控制的方法包括以下步骤:首先,媒体接入控制模块的所有子模块在统一时钟域下工作,用户把与媒体接入控制相关的配置信息写入内存;然后,媒体接入控制的各个子模块直接从内存中读取该信息。媒体接入控制原理图如图1所示。
时钟产生模块根据用户的配置信息,对控制器晶振产生的最小时钟节拍按照协议规定形成系统所需要的时钟周期;控制模块根据用户配置的信息将时钟周期进一步划分为4个独立的段,即静态段、动态段、符号窗口、网络空闲段;计时器模块根据用户配置信息实现计时功能,用来记录媒体接入控制所需要的时间。
图1 媒体接入控制原理图
1.1 时钟产生模块
时钟产生模块实现媒体接入控制所需要的时钟周期,为编解码功能做好时间准备,同时把该信息传递给控制模块。该模块首先从内存中读取所需配置信息,主要有 gMacroPerCycle、gdStaTIcSlot、pMicroPerCycle。时钟产生模块根据这些配置信息进行初始化操作,然后等待晶振的最小时钟节拍(vMicroTIck)。当最小时钟节拍大于等于pMicroPerCycle/(gMacroPerCycle-1)时,该模块产生周期。
时钟产生模块处理流程如图2所示。
图2 时钟产生模块处理流程