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】