通信周期是 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笔记24-os模块

    import osprint(os.getcwd())#取当前工作目录#os.chmod('/usr/local',7)#给文件目录加权限,7是最高权限print(os.chdir(r"e: ...

  2. 字典序UVa 1584 Circular Sequence

    #include <iostream> #include <algorithm> #include <cmath> #include <cstdio> ...

  3. linux 计划任务 访问某个URL

    1.进入crontab文件的编写状态: crontab -e 2.进入编辑器后,按下 “ i ” 键,进入编辑模式,在编辑模式下,我们写上我们这次需要访问执行的脚本: 59 23 * * * /usr ...

  4. Matlab_spectrogram_短时傅里叶分析_实现与讨论

    在语音与音乐处理过程中,常用到短时傅里叶变换(Short Time Fourier Transformation, STFT).在一些学习路径中,STFT也是学习小波之前的预备知识.本文简单实现了 M ...

  5. Laravel Scout 开启队列, 自定义queue name和queue connection

    scout.php的默认配置: 'queue' => env('SCOUT_QUEUE', false), 修改为: 'queue' => [ 'queue' => env('SCO ...

  6. Vue-cli里面引用stylus遇到的问题总结

    1.stylus的调用 在vue-cli中用到stylus样式处理器的时候一定要引用两个对应的报stylus  stylus-loader 命令:cnpm install stylus stylus- ...

  7. JavaScript·aJax

    1.ajax 无刷新数据获取,ajax能且仅能从服务器读取文件 ajax_string ajax_数组 ajax_json ajax_分页 2.ajax原理 ajax请求: 1.创建ajax对象2.连 ...

  8. redis命令Set类型(七)

    集合类型 集合类型:无序.不可重复 列表类型:有序.可重复 命令: 1>增加/删除元素 语法:SADD key member [member -] 127.0.0.1:6379> sadd ...

  9. PHP为什么有人学不会

    互联网进入到人们生活中的方方面面了,世界首富比尔盖茨多次提到青少年编程,而编程是一种思维习惯的转化. 作为写了10几年程序的人,我听到过一些说编程不好学的抱怨. 从目前见到的数据统计,主要是因为在大学 ...

  10. centos7的启动流程

    CentOS7的启动流程 uefi或BIOS初始化,开始开机自检 加载mbr到内存 GRUB的阶段 加载内核和inintamfs模块 kernel内核开始初始化,用systemd来代替centos6以 ...