通信周期是 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通信机制的更多相关文章

  1. .Net中Remoting通信机制简单实例

    .Net中Remoting通信机制 前言: 本程序例子实现一个简单的Remoting通信案例 本程序采用语言:c# 编译工具:vs2013工程文件 编译环境:.net 4.0 程序模块: Test测试 ...

  2. .Net中Remoting通信机制

    Remoting通信机制 Remoting介绍 主要元素 通道类型 激活方式 对象定义 Remoting介绍 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式. 从微软的产品角度 ...

  3. 【单页应用之通信机制】view之间应该如何通信

    前言 在单页应用中,view与view之间的通信机制一直是一个重点,因为单页应用的所有操作以及状态管理全部发生在一个页面上 没有很好的组织的话很容易就乱了,就算表面上看起来没有问题,事实上会有各种隐忧 ...

  4. Android多线程通信机制

    掌握Android的多线程通信机制,我们首先应该掌握Android中进程与线程是什么. 1. 进程 在Android中,一个应用程序就是一个独立的进程(应用运行在一个独立的环境中,可以避免其他应用程序 ...

  5. Storm进程通信机制

    storm的worker进程之间消息传递机制图: 每个worker都有一个独立的监听进程,监听配置文件中配置过的端口列表supervisor.slots.ports,topology.receiver ...

  6. Android 进程通信机制之 AIDL

    什么是 AIDL AIDL 全称 Android Interface Definition Language,即 安卓接口描述语言.听起来很深奥,其实它的本质就是生成进程间通信接口的辅助工具.它的存在 ...

  7. 【腾讯Bugly干货分享】深入源码探索 ReactNative 通信机制

    Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly 邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 本文从源码角度剖析 RNA 中 J ...

  8. 【转】跟我学Kafka之NIO通信机制

    from:云栖社区 玛德,今天又被人打脸了,小看人,艹,确实,相对比起来,在某些方面差一点,,,,该好好捋捋了,强化下短板,规划下日程,,,引以为耻,铭记于心. 跟我学Kafka之NIO通信机制   ...

  9. Angularjs Controller 间通信机制

    在Angularjs开发一些经验总结随笔中提到我们需要按照业务却分angular controller,避免过大无所不能的上帝controller,我们把controller分离开了,但是有时候我们需 ...

随机推荐

  1. python基础数据类型-练习

    1,有如下变量(tu是个元祖),请实现要求的功能 tu = ("alex", [11, 22, {"k1": 'v1', "k2": [&q ...

  2. 内嵌tomcat最简单用法

    maven项目引入内嵌tomcat依赖 <dependency> <groupId>org.apache.tomcat.embed</groupId> <ar ...

  3. 【Appium】Appium工作原理(2)

    Appium原理 面试的时候,被问到appium原理,一点不会,实在尴尬. 大家可以直接翻看原作https://blog.csdn.net/jffhy2017/article/details/6922 ...

  4. Windows下使用service.bat安装tomcat服务, 启动停止tomcat服务

    在项目开发过程中,以前只是在Eclipse中配置.启动.停止tomcat服务器 如果只想在机器中使用tomcat服务器,而不想安装MyEclipse,可以使用service.bat 将tomcat安装 ...

  5. Java——总结

    一.编写并运行java程序步骤: 1.编写java源代码 java源代码文件都已java作为扩展名 java代码格式: class 类名{ //主方法} 2.编译,将字符文件编译为字节文件 在dos中 ...

  6. 第1次作业—— 熟悉 MoocTest环境

    2.1 Mooctest 使用心得 Mooctest很方便,可以即时测评自己写的测试代码,获得覆盖率和报告,不需要自己安装配置环境 而且安装配置插件的环境也很简单,可以专注于测试本身 2.2 Juni ...

  7. Linux 安装Python37

    1.下载python3.7.0 https://www.python.org/downloads/release/python-370/ 2.创建Linux的python37目录 mkdir /usr ...

  8. python异常(概念、捕获、传递、抛出)

    异常 目标 异常的概念 捕获异常 异常的传递 抛出异常 01. 异常的概念 程序在运行时,如果 Python 解释器 遇到 到一个错误,会停止程序的执行,并且提示一些错误信息,这就是 异常 程序停止执 ...

  9. C# 8.0 抢先看-- Async Stream

    异步流? Async Stream 简单说来是一种非同步的迭代器模式,说更白一点就是可以await 的foreach.在过去的C# 中如果要回传一个可迭代的IEnumerable<T> , ...

  10. 2018-2019-2 《网络对抗技术》Exp2 后门原理与实践 Week3 20165326

    Exp2 后门原理与实践 目录 1. 实验原理 2. 实验内容 3. 问题回答 4. 心得体会 实验原理简介 后门:不经过正常流程而访问系统的通道 ncat:底层工具,进行基本的TCP UDP数据收发 ...