FlexRay通信机制
通信周期是 FlexRay 的基本通信单元[6~7,19]。每个通信周期包括四个时间层,如图 2-9 所示。通信周期由静态段(Static Segment)、动态段(Dynamic Segment)、信号段(Symbol Window)和空闲段(Network Idle Time)组成。静态段由连续的静态时隙(Static Slot)组成。动态段由连续的微时隙(Minslot)组成。静态时隙和微时隙分别由 Macrotick 组成。Microtick 是最小的时间单位,组成 Macrotick。
FlexRay 的通信是在循环的周期中进行的,一个通信周期始终由静态段和空闲段组成,动态段和信号段是可选项。除了通信控制器处于唤醒状态外,一个通信周期的持续时间是固定的。周期的计数值在 0 到 63 之间。
一、静态段
静态段基于时分多址(TDMA)技术。该技术将固定静态时隙分配给网内各个节点,在这个静态时隙内,允许节点传输数据。每个节点包括两个时隙计数器分配给两个信道,两个计数器在每个静态时隙结束时同时增加。所有静态时隙大小相同,并且是从“1”开始向上编号。将一个或者一个以上的静态时隙固定分配给每个节点。在运行期间,该静态时隙的分配不能修改。
二、动态段
采用微时隙[6,19]来访问动态部分内的通信信道。只要动态时隙分配给了节点,与大小都相同、始终用于传输的静态时隙相反,动态部分就只能在需要时才进行传输。因此,动态部分的可用带宽是动态分配的。如果帧 ID 与时隙号对应,有待发消息的节点就会进行传输。如果没有节点传输,则所有节点就会等候,等待的时间长度正是微时隙的长度,然后所有节点的时隙计数器也会增加。在时隙计数器增加以后,所有节点都将检查该时隙号是否与将发出的消息对应。如果两者匹配,该节点将发送消息。所有其它节点接受这条消息,并且一直等到它们完全接收了这条消息后再增加时隙读数。这一过程将会持续,直至动态部分结束。动态段也包括两个时隙计数器分别分配给两个信道,与静态时隙计数器同时变化不同,它们变化是各自独立的。如果动态时隙对应的分配节点没有消息传输,那么这个动态时隙的长度为一个微时隙,反之如果有消息传输则包括多个微时隙,动态时隙的数目由传输消息的大小决定。因而如果在一个周期中,没有或者只有少数节点发送消息,在动态部分的结尾将达到更高的时隙号。如果有大量节点进行发送,则到达的时隙号就比较低。因此,拥有较高编码的(即优先权较低)发送消息的节点可能在一个周期中传输,而不在另一个周期中传输,具体取决于在其之前在动态部分已经由多少个节点进行了消息传输。要确定消息已经传输,用户必须在静态部分发送该消息,或者必须在动态部分对其分配较低信息 ID(即有限权较高)。
三、信号段
用于传输信号,主要包括三类:冲突避免检测信号 CAS、媒质访问检测信号MTS、唤醒信号 WUS。信号段的长度在系统初始化阶段配置为固定的值。
四、空闲段
在这个段不做任何数据或者信号的传输,但会做时钟纠正的处理,其长度为一个周期除了静态段、动态段、信号段剩余的时间。
FlexRay通信机制的更多相关文章
- .Net中Remoting通信机制简单实例
.Net中Remoting通信机制 前言: 本程序例子实现一个简单的Remoting通信案例 本程序采用语言:c# 编译工具:vs2013工程文件 编译环境:.net 4.0 程序模块: Test测试 ...
- .Net中Remoting通信机制
Remoting通信机制 Remoting介绍 主要元素 通道类型 激活方式 对象定义 Remoting介绍 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式. 从微软的产品角度 ...
- 【单页应用之通信机制】view之间应该如何通信
前言 在单页应用中,view与view之间的通信机制一直是一个重点,因为单页应用的所有操作以及状态管理全部发生在一个页面上 没有很好的组织的话很容易就乱了,就算表面上看起来没有问题,事实上会有各种隐忧 ...
- Android多线程通信机制
掌握Android的多线程通信机制,我们首先应该掌握Android中进程与线程是什么. 1. 进程 在Android中,一个应用程序就是一个独立的进程(应用运行在一个独立的环境中,可以避免其他应用程序 ...
- Storm进程通信机制
storm的worker进程之间消息传递机制图: 每个worker都有一个独立的监听进程,监听配置文件中配置过的端口列表supervisor.slots.ports,topology.receiver ...
- Android 进程通信机制之 AIDL
什么是 AIDL AIDL 全称 Android Interface Definition Language,即 安卓接口描述语言.听起来很深奥,其实它的本质就是生成进程间通信接口的辅助工具.它的存在 ...
- 【腾讯Bugly干货分享】深入源码探索 ReactNative 通信机制
Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly 邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 本文从源码角度剖析 RNA 中 J ...
- 【转】跟我学Kafka之NIO通信机制
from:云栖社区 玛德,今天又被人打脸了,小看人,艹,确实,相对比起来,在某些方面差一点,,,,该好好捋捋了,强化下短板,规划下日程,,,引以为耻,铭记于心. 跟我学Kafka之NIO通信机制 ...
- Angularjs Controller 间通信机制
在Angularjs开发一些经验总结随笔中提到我们需要按照业务却分angular controller,避免过大无所不能的上帝controller,我们把controller分离开了,但是有时候我们需 ...
随机推荐
- python笔记24-os模块
import osprint(os.getcwd())#取当前工作目录#os.chmod('/usr/local',7)#给文件目录加权限,7是最高权限print(os.chdir(r"e: ...
- 字典序UVa 1584 Circular Sequence
#include <iostream> #include <algorithm> #include <cmath> #include <cstdio> ...
- linux 计划任务 访问某个URL
1.进入crontab文件的编写状态: crontab -e 2.进入编辑器后,按下 “ i ” 键,进入编辑模式,在编辑模式下,我们写上我们这次需要访问执行的脚本: 59 23 * * * /usr ...
- Matlab_spectrogram_短时傅里叶分析_实现与讨论
在语音与音乐处理过程中,常用到短时傅里叶变换(Short Time Fourier Transformation, STFT).在一些学习路径中,STFT也是学习小波之前的预备知识.本文简单实现了 M ...
- Laravel Scout 开启队列, 自定义queue name和queue connection
scout.php的默认配置: 'queue' => env('SCOUT_QUEUE', false), 修改为: 'queue' => [ 'queue' => env('SCO ...
- Vue-cli里面引用stylus遇到的问题总结
1.stylus的调用 在vue-cli中用到stylus样式处理器的时候一定要引用两个对应的报stylus stylus-loader 命令:cnpm install stylus stylus- ...
- JavaScript·aJax
1.ajax 无刷新数据获取,ajax能且仅能从服务器读取文件 ajax_string ajax_数组 ajax_json ajax_分页 2.ajax原理 ajax请求: 1.创建ajax对象2.连 ...
- redis命令Set类型(七)
集合类型 集合类型:无序.不可重复 列表类型:有序.可重复 命令: 1>增加/删除元素 语法:SADD key member [member -] 127.0.0.1:6379> sadd ...
- PHP为什么有人学不会
互联网进入到人们生活中的方方面面了,世界首富比尔盖茨多次提到青少年编程,而编程是一种思维习惯的转化. 作为写了10几年程序的人,我听到过一些说编程不好学的抱怨. 从目前见到的数据统计,主要是因为在大学 ...
- centos7的启动流程
CentOS7的启动流程 uefi或BIOS初始化,开始开机自检 加载mbr到内存 GRUB的阶段 加载内核和inintamfs模块 kernel内核开始初始化,用systemd来代替centos6以 ...