首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
汽车电子
» FlexRay的通信控制器媒体接入控制设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
FlexRay的通信控制器媒体接入控制设计
发短消息
加为好友
rise_ming
当前离线
UID
864567
帖子
4448
精华
0
积分
2224
阅读权限
70
在线时间
123 小时
注册时间
2011-12-12
最后登录
2014-8-25
金牌会员
UID
864567
1
#
打印
字体大小:
t
T
rise_ming
发表于 2013-3-26 21:26
|
只看该作者
FlexRay的通信控制器媒体接入控制设计
控制器
,
关键词
关键词:
FlexRay
,
通信控制器
,
媒体接入控制
引言
当前广泛应用的车载总线技术(如CAN、VAN、LIN等总线) 由于缺少确定性、同步性及容错机制等并不能满足要求,FlexRay联盟推进了FlexRay的标准化,使之成为了新一代汽车内部网络通信协议[1]。FlexRay关注的是当今汽车行业的一些核心需求[2],包括更快的数据速率、更灵活的数据通信、更全面的拓扑选择和容错运算。
FlexRay总线中的每个接入端称为节点。节点主要由电源供给系统(Power Supply)、总线驱动器(Bus Driver)、固化有FlexRay通信协议的通信控制器(Communication Controller) 及主机(Host)4个部分组成。通信控制器是通信节点的核心器件。它主要的功能有媒体接入控制、时钟同步、编解码、协议操作控制等[3]。媒体接入控制功能是通信控制器的核心功能,解决数据进入FlexRay通信控制器的方式,为通信控制器的编解码功能做好时间准备以及数据准备[4]。
本文提出一种FlexRay通信控制器媒体接入控制的设计方法。该方法直接访问内存,大大缩短了获取配置的时间;设计更加精简,能够保证通信的稳定性。
1 媒体接入控制的设计
本文提出的基于内存方式实现媒体接入控制的方法包括以下步骤:首先,媒体接入控制模块的所有子模块在统一时钟域下工作[5],用户把与媒体接入控制相关的配置信息写入内存;然后,媒体接入控制的各个子模块直接从内存中读取该信息。媒体接入控制原理图如图1所示。
时钟产生模块根据用户的配置信息,对控制器晶振产生的最小时钟节拍按照协议规定形成系统所需要的时钟周期;控制模块根据用户配置的信息将时钟周期进一步划分为4个独立的段,即静态段、动态段、符号窗口、网络空闲段;计时器模块根据用户配置信息实现计时功能,用来记录媒体接入控制所需要的时间。
图1 媒体接入控制原理图
1.1 时钟产生模块
时钟产生模块实现媒体接入控制所需要的时钟周期,为编解码功能做好时间准备,同时把该信息传递给控制模块。该模块首先从内存中读取所需配置信息,主要有gMacroPerCycle、gdStaticSlot、pMicroPerCycle。时钟产生模块根据这些配置信息进行初始化操作,然后等待晶振的最小时钟节拍(vMicrotick)。当最小时钟节拍大于等于pMicroPerCycle/(gMacroPerCycle-1)时,该模块产生周期。
时钟产生模块处理流程如图2所示。
图2 时钟产生模块处理流程
1.2 控制模块
控制模块主要为FlexRay通信控制器的媒体接入控制功能提供所需的时隙划分,主要有静态段(static segment)、动态段(dynamic segment)、符号窗口(symbol window)、网络空闲段(network idle time)[3]。
本文提出的基于内存的方式实现控制功能的思路如下[6]:首先从内存中读取所需要的配置信息,主要有gdstaticSloc、gNumberOfMinislots、gdSymbolWindow、gdActionPointOffset、gdMinislotActionPointOffset。当接收到时钟产生模块提供的周期开始信号时,控制模块根据gdstaticSloc实现周期中的静态段。静态段使用静态槽实现TDMA,以协调数据的传输。在每个通道,通信控制器上设置一个槽计数器(vslotcounter),统计静态槽的个数。当时钟周期开始的时候,设置槽计数器的值为1;当槽结束的时候,槽计数器的值加1。对于一个具体的簇,静态槽的总数是一定的,由参数gNumberOfStaticSlots确定。对于每个静态槽,FlexRay通信控制器根据用户的配置和MAC模块当前的操作模式决定是否为编解码模块提供数据。
根据gNumberOfMinislots,该模块实现周期中的动态段。动态段使用动态槽实现事件触发的媒体接入方法,以协调数据的发送。通信控制器在每个通道上设置一个动态槽计数器,统计动态槽的个数。每个动态槽根据zMinislot来计数,当有数据传送时,动态槽可能占用多个zMinislot;当没有数据传送时,动态槽占用一个zMinislot。所以动态槽的大小是根据是否有数据发送决定的。对于一个具体的簇,zMinislot的总数是一定的,由参数gNumberOfMinislots确定;最后它根据gdSymbolWindow实现周期中的符号窗口。最后一个周期中剩下的时间就是网络空闲段。
具体处理流程如图3所示。
图3 处理流程
2 设计验证
确保设计正确性的关键是设计验证,主要通过逻辑功能仿真[5]。逻辑功能仿真是在不考虑信号延迟的情况下对设计的逻辑功能进行验证。验证过程是:首先编写好设计的HDL代码;然后编写对应的TestBench,对设计进行关键性的验证;最后利用仿真软件ModelSim进行模拟,查看波形或者输出,若发现错误则查找错误原因、修改代码或者测试文件,直到符合设计要求。
设计验证的首要工作是根据FlexRay协议设定具体的参数。具体参数的设定如下: gMacroPerCycle=48,gdStaticSlot=4,pMicroPerCycle=672,gNumberOfMinislots=15,gdSymbolWindow=3,gdActionPointOffset=1,gdMinislotActionPointOffset=1。
[url=http://upload.semidata.info/article/image/2013/01/21/50fc9dbbdd899.gif]
[/url]
图4 时钟产生模块的周期信号图
[url=http://upload.semidata.info/article/image/2013/01/21/50fc9dbc8103c.gif]
[/url]
图5 控制模块的四个段
图4是时钟产生模块的周期信号图。从图中可以看到,时钟产生模块需要等待晶振的最小时钟节拍信号,然后进行判断产生周期信号。当周期信号开始时,周期编号从默认的63变为 0,然后一直编号下去直到63。
图5是对图4产生的周期信号开始周期的四个段的划分。从图中可以看到,0周期分为静态段、动态段、符号窗口、网络空闲段。
图6是静态段的媒体接入方式。从图中可以看到,槽计数器(vslotcounter)从1开始编号直到用户配置的值。在第一个静态槽实现了媒体接入。
图7是动态段的媒体接入方式。从图中可以看到,周期8的动态段有动态槽计数器zMinislot,从0开始编号直到用户配置的值。在第5个动态槽实现了媒体接入。
[url=http://upload.semidata.info/article/image/2013/01/21/50fc9dbd7115d.gif]
[/url]
图6 静态段的媒体接入方式
[url=http://upload.semidata.info/article/image/2013/01/21/50fc9dbe59156.gif]
[/url]
图7 动态段的媒体接入方式
结语
本文介绍了基于FlexRay协议的媒体接入控制的设计过程,并进行了设计验证。从仿真结果分析,它符合协议的要求,能够生成通信控制器的时钟周期,将时钟周期进一步划分为4个段,并且给出静态段和动态段的具体媒体接入方式。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议