TC3xx FlexRay™ 协议控制器 (E-Ray)-01
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 界面的全局视图。图 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】

相关文章:
TC3xx FlexRay™ 协议控制器 (E-Ray)-01
1 FlexRay™ 协议控制器 (E-Ray) E-Ray IP 模块根据为汽车应用开发的 FlexRay™ 协议规范 v2.1 执行通信【performs communication according to the FlexRay™ 1) protocol specification v2.1】。使用最大指定时钟,比特率可以编程为高达 10 Mbit/s 的值。连接到物…...
优劣解距离法TOPSIS——清风老师
TOPSIS法是一种常用的综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。 基本过程为先将原始数据矩阵统一指标类型(一般正向化处理)得到正向化的矩阵,再对正向化的矩阵进行标准化处理…...
【Unity3D】Shader常量、变量、结构体、函数
1 源码路径 Unity Shader 常量、变量、结构体、函数一般可以在 Unity Editor 安装目录下面的【Editor\Data\CGIncludes\UnityShader】目录下查看源码,主要源码文件如下: UnityCG.cgincUnityShaderUtilities.cgincUnityShaderVariables.cginc 2 Shader 常…...
LeetCode 刷题系列 -- 496. 下一个更大元素 I
nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。给你两个 没有重复元素 的数组 nums1 和 nums2 ,下标从 0 开始计数,其中nums1 是 nums2 的子集。对于每个 0 < i < nums1.length ,找出满…...
Docker 搭建本地私有仓库
一、搭建本地私有仓库有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似。使用私有仓库有许多优点:1)节省网络带宽,针对于每个镜像不用…...
XML中的CDATA且mybatis中特殊字符转义
如果想看如果CDATA在mybatis的xml文件中使用的可以直接跳转。 CDATA1 XML中的CDATA1.1 为什么叫CDATA1.2 CDATA在XML中的语法1.3 CDATA在XML中的例子1.4 CDATA规则2 Mybatis中的CDATA2.1 Mybatis中使用XML转义序列转义2.2 Mybatis中使用CDATA转义2.3 mybatis中使用CDATA需注意的…...
位运算 | 1356. 根据数字二进制下 1 的数目排序
LeetCode 1356. 根据数字二进制下 1 的数目排序 给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序。如果存在多个数字二进制中 1 的数目相同,则必须将它们按照数值大小升序排列。 文章讲解https://www.programmercarl.com/1356.%…...
React Hooks之useState详解
1. 什么是Hooks? React官方简介:Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。 本文中讲解的useState就是React中的其中一个Hook。 2. useState useState 通过在函数组件里调用它来满足给组件添…...
选购交换机的参数依据和主要的参数指标详解
如何选购交换机?用什么交换机?在选购交换机时交换机的优劣无疑十分的重要,而交换机的优劣要从总体构架、性能和功能三方面入手。交换机选购时。性能方面除了要满足RFC2544建议的基本标准,即吞吐量、时延、丢包率外,随着…...
Connext DDS属性配置参考大全(1)
介绍属性QoS策略存储名称/值(字符串)对,可用于配置Connext DDS的某些参数,这些参数未通过正式的QoS策略公开。 属性QoS策略存储实体的名称/值对。名称和值都是字符串。在核心库用户手册的“Property QosPolicy(DDS Extension)”部分中找到有关RTI Connext DDS属性QoS的更…...
Docker安全
容器的安全性问题的根源在于容器和宿主机共享内核。如果容器里的应用导致Linux内核崩溃,那么整个系统可能都会崩溃。 与虚拟机是不同的,虚拟机并没有与主机共享内核,虚拟机崩溃一般不会导致宿主机崩溃 一、Docker 容器与虚拟机的区别 1、隔…...
刷题记录:牛客NC20279[SCOI2010]序列操作
传送门:牛客 题目描述: lxhgww最近收到了一个01序列,序列里面包含了n个数,这些数要么是0,要么是1,现在对于这个序列有五种变换操作和询问操作: 0 a b 把[a, b]区间内的所有数全变成0 1 a b 把[a, b]区间内的所有数全…...
Fluent Python 笔记 第 6 章 使用一等函数实现设计模式
虽然设计模式与语言无关,但这并不意味着每一个模式都能在每一门语言中使用。1996 年,Peter Norvig 在题为“Design Patterns in Dynamic Languages”(http://norvig.com/design- patterns/)的演讲中指出,Gamma 等人合著的《设计模式:可复用面…...
windbg-应用层实时调试
调试符号windbg使用一个或多个目录来存放符号条件,并使用环境变量_NT_SYMBOL_PATH来指向这些环境变量的位置,对操作系统内部模块的符号文件,一般用http://msdl.microsoft.com/download/symbols配置如下:SRV*C:\Symbols*http://msd…...
【Python语言基础】——Python NumPy 数组索引
Python语言基础——Python NumPy 数组索引 文章目录 Python语言基础——Python NumPy 数组索引一、Python NumPy 数组索引一、Python NumPy 数组索引 访问数组元素 数组索引等同于访问数组元素。 您可以通过引用其索引号来访问数组元素。 NumPy 数组中的索引以 0 开头,这意味…...
MWORKS--MoHub介绍
MWORKS--MoHub介绍1 介绍1.1 简介1.2 功能特征2 快速上手2.1 进入工作台2.2 新建仓库并进入建模空间2.3 建模进入建模工作空间加载模型库新建模型2.4 仿真2.5 后处理曲线、动画2.6 查看模型信息3 使用手册参考1 介绍 1.1 简介 MWORKS.MoHub 支持工业知识、经验、数据的模型化…...
Netty零拷贝机制
Netty零拷贝机制一:用户空间与内核空间二:传统IO流程三:零拷贝常见的实现方式1. mmap write2. sendfile四:Java中零拷贝五:Netty 中如何实现零拷贝1. CompositeByteBuf 实现零拷贝2. wrap 实现零拷贝3. slice 实现零拷…...
C++:提高篇: 栈-寄存器和函数状态:windows X86-64寄存器介绍
寄存器1、什么是寄存器2、寄存器分类3、windows X86寄存器命名规则4、寄存器相关术语5、寄存器分类5.1、RAX(accumulator register)5.2、RBX(Base register)5.3、RDX(Data register)5.4、RCX(counter register)5.5、RSI(Source index)5.6、RDI(Destination index)5.7、RSP(stac…...
MyBatis-Plus入门案例
MyBatis-Plus入门案例一、MyBatis-Plus简介1、简介2、特性3、支持数据库4、框架结构5、代码及文档地址二、入门案例1、开发环境2、建库建表3、创建Spring Boot工程a>初始化工程b>引入依赖4、编写代码a>配置application.yml 或者 application.propertiesb>添加实体c…...
适用于 Windows 11/10/8/7 的 10 大数据恢复软件分享
适用于 Windows 11/10/8/7 的 最佳数据恢复软件综述。选择首选的专业数据/文件恢复软件,轻松恢复丢失的数据或删除的照片、视频等文件、SSD、外接硬盘、USB、SD卡等存储设备中的文件等。流行的sh流行的数据恢复软件也包括在内。 10 大数据恢复软件分享 为了帮助您恢…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
