TC3xx FlexRay™ 协议控制器 (E-Ray)-01

news2024/9/24 19:17:48

1 FlexRay™ 协议控制器 (E-Ray)

E-Ray IP 模块根据为汽车应用开发的 FlexRay™ 协议规范 v2.1 执行通信【performs communication according to the FlexRay™ 1) protocol specification v2.1】。使用最大指定时钟,比特率可以编程为高达 10 Mbit/s 的值。连接到物理层需要额外的总线驱动器 (BD) 硬件。

1.1 功能列表

E-Ray IP 模块支持以下功能:

  • 符合 FlexRay™ 协议规范 v2.1

  • 每个通道上的数据速率高达 10 Mbit/s

  • 最多可配置 128 个消息缓冲区

  • 8 KB 的消息 RAM 用于存储,例如 128 个消息缓冲区【最大48 字节数据字段】或最多 30 个消息缓冲区【具有 254 字节数据段的消息缓冲区】【128 Message Buffers with max. 48 byte data field or up to 30 Message Buffers with 254 byte Data Sections

  • 可以配置具有不同有效负载长度的消息缓冲区

  • 一个可配置的接收 FIFO

  • 每个消息缓冲区都可以配置为接收缓冲区、发送缓冲区或接收 FIFO 的一部分

  • 主机通过输入和输出缓冲区访问消息缓冲区。

    输入缓冲区:保存要传输到消息 RAM 的消息

    输出缓冲区:保存从消息 RAM 读取的消息

  • 时隙计数器、循环计数器和通道的过滤【Filtering for slot counter, cycle counter, and channel】

  • 可屏蔽模块服务请求【Maskable module service requests】

  • 支持网络管理

  • 四个服务请求线【Four service request lines】

  • 如果从消息 RAM 到输出影子缓冲区【from MessageRAM to Output Shadow Buffer】的数据传输(由先前对 OBCR 的写访问启动)正在进行,则自动延迟对输出命令请求寄存器 (OBCR)【Output Command Request Register (OBCR)】 的读访问。

  • 如果从输入影子缓冲区到消息 RAM 的数据传输(由先前对 IBCR 的写访问启动)正在进行,则自动延迟对输入命令请求寄存器 (IBCR) 的读访问。

  • 用于并行建立传输帧的四个输入缓冲器【Four Input Buffer for building up transmission Frames in parallel】。

  • 指示主机当前可访问哪个输入缓冲区的标志。

1.2 概述

对于 FlexRay™ 网络上的通信,可配置具有最多 254 个数据字节的单个消息缓冲区。消息存储由一个单端口消息 RAM 组成,最多可容纳 128 个消息缓冲区。所有与消息处理有关的功能都在消息处理程序中实现。这些消息处理有关的功能是接收过滤【acceptance filtering,】、两个 FlexRay™ 通道协议控制器和消息 RAM 之间的消息传输、维护传输计划【maintaining the transmission schedule】以及提供消息状态信息。

E-Ray IP 模块的寄存器组可由外部主机通过模块的主机接口直接访问。这些寄存器用于控制/配置/监控 FlexRay™ 通道协议控制器、消息处理程序、全局时间单元、系统通用控制【System Universal Control】、帧和符号处理、网络管理、服务请求控制,以及通过输入/输出Buffer访问消息 RAM缓冲【to access the Message RAM via Input / Output Buffer】。

1.2.1 E-Ray内核描述

  下图显示了 E-Ray 界面的全局视图。

  ![在这里插入图片描述](https://img-blog.csdnimg.cn/5788cf1804db4da3bbfd948edf117b2c.png#pic_center)





  图 1  E-Ray 接口的一般框图

  E-Ray 模块通过每个通道的三个 I/O 线与外部世界通信【communicates with the external world via three I/O lines each channel】。RXDAx 和 RXDBx 线是接收数据输入信号,TXDA 和 TXDB 线是发送输出信号,TXENA 和 TXENB 是发送使能信号。

在这里插入图片描述

时钟控制、地址解码和服务请求控制在 E-Ray 模块内核之外进行管理。
在这里插入图片描述

1.2.2 框图

在这里插入图片描述
图 607 E-Ray 框图

客户主机接口 (CIF)

通过通用主机接口将 FPI 总线连接到 E-Ray IP 模块。

通用主机接口 (GIF)

E-Ray IP 模块提供了一个 8/16/32 位通用主机接口,用于连接各种客户特定 (CIF)的主机。配置寄存器、状态寄存器和服务请求寄存器连接到各自的块,可以通过通用主机接口访问这些寄存器。
在这里插入图片描述

输入缓冲器 (IBF)

为了对消息 RAM 中配置的消息缓冲区进行写访问,主机可以将特定消息缓冲区的标头和数据部分写入输入缓冲区。然后**,消息处理程序(MHD)**将数据从输入缓冲区传输到消息 RAM 中选定的消息缓冲区【the selected Message Buffer in the Message RAM.】。

由于输入缓冲区 (IBF) 方案只允许写入整个消息帧【the entire Message Frame】,而不仅仅是其中的一部分,因此 IBF 的数量已从最初的 2 个增加到 4 个。这使得能够部分填充缓冲区并在结束时请求传输入消息RAM【This enables to fill the buffer partly and at the end, request transfer into Message RAM.】??。因此,2 个额外位允许在 IBF 的两个组之间切换,一个状态位表示 IBF 当前处于活动状态以进行主机写入【Therefore 2 extra bits allow to switch between the two banks of IBF and one status bit signals the IBF currently active for Host writes.】。

输出缓冲器 (OBF)

为了对消息 RAM 中配置的消息缓冲区进行读取访问,**消息处理程序(MHD)**将选定的消息缓冲区传输到输出缓冲区。传输完成后,主机可以从输出缓冲区读取传输消息缓冲区的标头和数据部分。

消息处理程序 (MHD)

E-Ray 消息处理程序控制以下组件之间的数据传输【data transfers】

  • 输入/输出缓冲器和消息 RAM
  • 两个 FlexRay™ 协议控制器的**瞬态缓冲 RAM【 (TBF 1/2)】消息 RAM(MRAM)【**Transient Buffer RAMs of the two FlexRay™ Protocol Controllers and Message RAM】
    在这里插入图片描述

消息 RAM (MRAM)

消息 RAM 由一个单端口 RAM【a single-ported RAM】组成,可存储多达 128 个 FlexRay™ 消息缓冲区以及相关的配置数据(报头和数据分区【Header and Data Partition】)。

瞬态缓冲 RAM (TBF 1/2)

存储两个完整消息的数据部分【Stores the Data Section of two complete messages】。
在这里插入图片描述

FlexRay™ 通道协议控制器 (PRT A/B)

FlexRay™ 通道协议控制器由移位寄存器和 FlexRay™ 协议 FSM 组成。它们连接到用于暂时消息存储【intermediate message storage】的瞬态缓冲 RAM,并通过总线驱动程序 BD【收发器】 连接到物理层。

在这里插入图片描述

它们执行以下功能

  • 位定时的控制和检查
    • 接收和传输 FlexRay™ 帧和符号
  • 检查标头 CRC
    • 帧 CRC 的生成/检查
  • 与总线驱动程序接口

FlexRay™ 通道协议控制器具有以下接口【The FlexRay™ Channel Protocol Controllers have interfaces to:】:

  • 物理层(总线驱动程序)

    • 瞬态缓冲RAM
  • 消息处理器

    • 全球时间单位
  • 系统通用控制

    • 框架和符号处理
  • 网络管理

    • 服务请求控制

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N8VFXvtu-1676182879673)(FlexRay%E2%84%A2%20%E5%8D%8F%E8%AE%AE%E6%8E%A7%E5%88%B6%E5%99%A8%20(E-Ray)]-01.assets/image-20230212111402706.png)

    全球时间单位 (GTU)

    全球时间单位执行以下功能:

    • Microtick 的产生
  • Macrotick 的产生

  • 通过 FTM 算法进行容错时钟同步【clock synchronization by FTM algorithm】

    • 速率校正
    • 偏移校正
  • 循环计数器

    • 静态段的时序控制
    • 动态段的时序控制(微时隙(minislotting))
    • 支持外部时钟校正

系统通用控制 (SUC)【System Universal Control】

系统通用控制控制以下功能:

  • 配置
  • Wakeup
    • 启动【Startup】
  • 普通操作【Normal Operation】
    • 被动操作【Passive Operation】
  • 监控模式【Monitor Mode】

帧和符号处理 (FSP)【Frame and Symbol Processing】

帧和符号处理控制以下功能:

  • 检查帧和符号的正确时间【Checks the correct timing of Frames and symbols】
  • 测试接收到的帧的句法和语义正确性
  • 设置插槽状态标志

网络管理 (NEM)【Network Management】

网络管理向量的处理【Handles of the Network Management vector】

服务请求控制 (INT)【Service Request Control】

服务请求控制器执行以下功能:

  • 提供错误和状态服务请求标志

  • 启用和禁用服务请求源

  • 将服务请求源分配给两个模块服务请求线之一【service request lines】

  • 启用和禁用模块服务请求线

  • 管理两个服务请求计时器

  • 停止观看时间捕捉【Stop watch time capturing】

    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/340673.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Fluent Python 笔记 第 5 章 一等函数

在 Python 中,函数是一等对象。编程语言理论家把“一等对象”定义为满足下述条件的程 序实体: 在运行时创建能赋值给变量或数据结构中的元素 • 能作为参数传给函数能作为函数的返回结果 5.1 把函数视作对象 会用 map。 5.2 高阶函数 接受函数为参数&#xff0…

基于JAVA的超级玛丽设计与实现

技术:Java等摘要:随着计算机技术及网络技术的不断发展,电子游戏越来越普及。经典游戏“超级玛丽”因其本身所具有的娱乐性与教育意义而被人们广泛接受,在广大的青少年玩家中享有极高的知名度。Java语言作为一种完全面向对象的程序…

【AI 交互式聊天】无需等待 Bing ChatGPT : 已经有一个基于搜索结果响应的 AI 交互式聊天网站了!Perplexity

Perplexity: https://www.perplexity.ai 同样的问题,我问ChatGPT,回答如下: 实现财富自由需要一系列的步骤和策略,以下是一些建议: 1. 设定目标:明确你的财务目标,并制定一个有目标的计划来实…

吾爱破解2023安卓中级题

先来看看APP界面 拖到jadx,see see java 源码 关键是要让代码跳转到这里,我这里主要是修改smali,然后重新签名打包,当然,你也可以用frida或者objection hook 传参 模仿下面的两行代码,在位置1插入 :cond_6…

循环队列来了解一下!!

笔者在之前的一篇文章,详细的介绍了:队列之单向链表与双向链表的模拟实现:https://blog.csdn.net/weixin_64308540/article/details/128742090?spm1001.2014.3001.5502 感兴趣的各位老铁,可以参考一下啦!下面进入循环…

基于Java+SpringBoot+Vue前后端分离酒店管理系统设计与实现

博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建、毕业项目实战、项目定制✌ 博主作品:《微服务实战》专栏是本人的实战经验总结,《S…

linux系统常用命令

目录 一、系统介绍 二、Linux常用命令 1、Linux命令格式 2、文件目录操作命令:ls 3、文件目录操作命令:cd 4、文件目录操作命令:cat 5、文件目录操作命令:more 6、文件目录操作命令:tail 7、创建文件命令&…

【三维点云】01-激光雷达原理与应用

文章目录内容概要1 激光雷达原理1.1 什么是激光雷达?1.2 激光雷达原理1.3 激光雷达分类三角法TOF法脉冲间隔测量法幅度调制的相位测量法相干法激光雷达用途2 激光雷达安装、标定与同步2.1 激光雷达安装方式考虑因素2.2 激光雷达点云用途2.3 数据融合多激光雷达数据融…

Rust学习入门--【7】Rust 数据类型

类型系统 对于任何一门语言都是重中之重,因为它体现了语言所支持的不同类型的值。 类型系统 也是 IT 初学者最难啃的三座大山之一,而类型系统之所以难以理解,主要是没有合适的现成的参考体系。 我们说类型系统 存在的目的,就是 …

【代码随想录】-动态规划专题

文章目录理论基础斐波拉契数列爬楼梯使用最小花费爬楼梯不同路径不同路径 II整数拆分不同的二叉搜索树背包问题——理论基础01背包二维dp数组01背包一维数组(滚动数组)装满背包分割等和子集最后一块石头的重量 II目标和一和零完全背包零钱兑换 II组合总和…

JVM学习03:垃圾回收

JVM学习03:垃圾回收 1、如何判断对象可以回收 1.1、引用计数法 记录当前对象被引用的次数,当引用次数为0时则进行垃圾回收。缺点:当两个对象互相引用但并没有其他对象再引用它们时,他们的引用次数都为1,无法对其进行…

Spring Security in Action 第三章 SpringSecurity管理用户

本专栏将从基础开始,循序渐进,以实战为线索,逐步深入SpringSecurity相关知识相关知识,打造完整的SpringSecurity学习步骤,提升工程化编码能力和思维能力,写出高质量代码。希望大家都能够从中有所收获&#…

牛客寒假集训营6 E 阿宁的生成树

E-阿宁的生成树_2023牛客寒假算法基础集训营6 (nowcoder.com)开始慢慢补牛牛的题题意&#xff1a;最小生成树质数距离思路&#xff1a;最小生成树一共就两种算法&#xff0c;我们考虑Prim的过程初始连通块是1&#xff0c;然后考虑拿1和其他的结点连边当j-i<k时边权是gcd&…

【JavaSE】方法的使用

方法的使用BIT-5-方法的使用绪论1. 方法概念及使用1.1什么是方法1.2 方法定义1.3 实参和形参的关系&#xff08;重要&#xff09;1.4 没有返回值的方法2. 方法重载2.1 为什么需要方法重载2.2 方法重载概念3. 递归3.1 生活中的故事3.2 递归的概念3.2 递归执行过程分析3.3 递归练…

C++之异常处理

异常异常是面向对象语言处理错误的一种方式。当一个函数出现自己无法处理的错误时&#xff0c;可以抛出异常&#xff0c;然后输的直接或者间接调用者处理这个错误。语法捕获全部的异常try {//可能抛出异常的代码//throw异常对象 } catch(...) {//不管什么异常&#xff0c;都在这…

Java之动态规划之子序列问题

目录 0.动态规划问题 一.最长递增子序列 1.题目描述 2.问题分析 3.代码实现 二.最长递增子序列 1.题目描述 2.问题分析 3.代码实现 三.最长重复子数组 1.题目描述 2.问题分析 3.代码实现 4.代码的优化(滚动数组) 四.最长公共子序列 1.题目描述 2.问题分析 3.代…

C语言学习笔记(五):数组的使用

数组的定义 数组是一组有序数据的集合。数组中各数据的排列是有一定规律的&#xff0c;下标代表数据在数组中的序号。 用数组名和下标即可唯一地确定数组中的元素。 数组中的每一个元素都属于同一个数据类型。 一维数组 定义与引用 int a[10] {0,1,2,3,4,5,6,7,8&#xf…

Matlab绘制隐函数总结-二维和三维

1.二维隐函数 二维隐函数满足f(x,y)0f(x,y)0f(x,y)0&#xff0c;这里无法得到yf(x)yf(x)yf(x)的形式。不能通过普通函数绘制。 我们要关注的是使用fplot函数和fimplicit函数。 第1种情况&#xff1a;基本隐函数 基本的隐函数形式形如&#xff1a; x2y22x2(x2y2)12x^{2}y^{…

【Qt】Qt 隐式共享

文章目录一、导读二、隐式共享简介三、源码角度分析隐式共享四、隐式共享在开发中的使用五、隐式共享迭代器问题六、隐式共享类和线程一、导读 在实际开发中&#xff0c;Qt中很多类可以直接作为函数参数传递&#xff0c;这样做是为了什么&#xff1f;其背后的实现机制又是什么…

进程,线程

进程是操作系统分配资源的基本单位&#xff0c;线程是CPU调度的基本单位。 PCB&#xff1a;进程控制块&#xff0c;操作系统描述程序的运行状态&#xff0c;通过结构体task,struct{…}&#xff0c;统称为PCB&#xff08;process control block&#xff09;。是进程管理和控制的…