整车总线系列——FlexRay 五

news/2025/1/17 7:58:43/

整车总线系列——FlexRay 五

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人生在世,最怕的就是把别人的眼光当成自己生活的唯一标准。到最后,既没有活成别人喜欢的样子,也没有活成自己想要的样子。
我们只有接纳真实的自己,不自卑、不自傲,才能拥有更强大的内心;只有找到自己的核心价值,才能活出自己的精彩人生。

一、FlexRay结构

FlexRay控制器无法直接连接到物理传输介质,因为 FlexRay控制器采用二进制信号,而物理传输介质则使用差分信号传输。因此,需使用物理总线接口,即FlexRay收发器。

FlexRay收发器可以将从FlexRay控制器接收的逻辑信号流转换为物理差分信号流,同时,FlexRay收发器也可以将从FlexRay总线接收到的物理差分信号流转换为逻辑信号流。

除了作为FlexRay控制器接口,FlexRay收发器还有一个主机接口,该接口主要与STBN(待机)和EN(允许输入)控制线路有关。主机通过这两条控制线路来控制FlexRay收发器。进入四种不同的状态:正常、待机、睡眠或仅接收,其中后两个状态是可选状态。

FlexRay收发器的关键特征在于电磁兼容性特别强,但仍需使用干扰抑制线圈来进一步减少辐射:这在很大程度上可防止对其他电子系统的干扰。

由于LC抑制电路的抑制线圈阻抗值较高,因此在FlexRay收发器中使用该电路可抑制非对称电路可能产生的干扰电流。此外,由分离终端的耦合电容器以及干扰抑制线圈构成的低通滤波器可滤除高频干扰。

尽管电感更高的线圈的噪声抑制效果更强,但必须考虑到漏电感对信号完整性的影响。EPL规范为干扰抑制线圈规定了以下参数:线路电阻<2Ω;电感>50μH,漏电感<1μH。

LC电路有一个小缺点,即漏电感与耦合电容器组合会形成振荡电路,该振荡电路在FlexRay收发器的转换过程中会导致总线信号过冲。

FlexRay主要用于安全和时间要求严格的汽车应用。在FlexRay簇中使用静态通信周期,并将时隙分配给FlexRay节点,可实现平稳的确定性通信流。然而,有故障的FlexRay节点可能会在未分配给它们的时隙内进行未经授权的传输,从而破坏这种确定性通信。总线监控器则可以防止这种情况发生。

每一个FlexRay收发器都会配备一个总线监控器。只有在符合通信调度表的情况下,总线监控器才会允许FlexRay收发器将从FlexRay控制器接收的数据发送到总线上。

总线监控器的功能仅限于静态段的通信。在动态通信段内,没有此类保护,因为只有当事件发生时,FlexRay节点才会发送报文。只能完全允许FlexRay节点在动态通信段中发送,或者完全禁止其发送。

总线监控器必须知道通信调度表和FlexRay簇中的时间。在理想情况下,总线监控器不依赖FlexRay控制器生成的本地时基,而是独立于FlexRay控制器生成自己的时基。这是总线监控器确保FlexRay节点只在自己的时隙中发送数据的唯一方法,因为该方法除了检查时隙本身之外,还可以检测到FlexRay控制器时钟的所有错误。

但这意味着总线监控器必须配备与FlexRay控制器几乎相同的功能,使其具有相似的复杂度,这将增加FlexRay通信的成本。因此,尽管总线监控器可以确保时隙正确性,但至今为止还未在实际应用中使用过任何本地总线监控器。最早定义本地总线监控器相关功能的规范为2.0.9版,至今仍是一个初步性规范。

2.0.9版中的中央总线监控器规范也是初步性规范,并且尚未实现任何中央总线监控器。此处的概念涉及主动星型节点中的总线监控器。在通信周期内,当某个分支上连接的FlexRay节点具有发送权时,中央总线监控器会激活该通信分支,从而防止信号冲突。

FlexRay总线调度表

在FlexRay簇中,FlexRay节点可以通过两种方式访问通信介质:TDMA和FTDMA(Flexible Time Division Multiple Access,柔性时分多路访问),后者的核心包含TDMA。

TDMA 基于通信调度表。通信调度表由若干等长的静态时隙(static slot)组成,每个静态时隙分配给一个FlexRay节点。通信期间,FlexRay节点可以根据此调度表访问通信介质(总线)。从第一个静态时隙到最后一个静态时隙,每一个静态时隙对应的FlexRay节点可以在该时隙获得对总线的独占访问权,传输分配给静态时隙的报文。

通信期间,所有FlexRay节点会周期性地执行通信调度表。因此,所有静态报文会在指定时间段发送。通信调度表只定义通信周期,更确切地说,只定义FlexRay通信周期。

对于异步进程或偶发的报文传输,TDMA方法并不是理想的解决方案。因此,FlexRay簇中可以选择通过动态段(dynamic segment)来扩展通信周期。动态段中的报文不仅基于固定的时间表,还应基于事件驱动。

通信周期由静态段(static segment)和动态段的组合构成。尽管通信周期中增加了动态报文传输,但由于动态段的时间长度是固定的,因此静态段中仍可保持确定性的数据传输。

动态段基于FTDMA 。FTDMA和TDMA之间的区别在于通信调度表中定义的动态报文只有在需要时才会由相关的FlexRay节点进行传输。这意味着报文的传输时间点不可预测。由于动态段的长度有限,因此可能出现需要发送动态报文的FlexRay节点无法在当前周期中发送。

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者!


http://www.ppmy.cn/news/974386.html

相关文章

RocketMQ教程-(4)-领域模型-消费者(Consumer)

本文介绍 Apache RocketMQ 中消费者&#xff08;Consumer&#xff09;的定义、模型关系、内部属性、行为约束、版本兼容性及使用建议。 定义​ 消费者是 Apache RocketMQ 中用来接收并处理消息的运行实体。 消费者通常被集成在业务系统中&#xff0c;从 Apache RocketMQ 服务…

SAP从放弃到入门系列之批次派生-Batch Derivation-Part2

文章目录 一、派生的类型1.1 静态派生1.2 动态派生 二、派生的方向 通过批次派生的基本配置和简单功能的介绍&#xff0c;大家应该对批次派生有一个基本的了解&#xff0c;这篇文章从批次派生的类型和批次派生的方向两个维度更深入的聊一下它的功能。 一、派生的类型 派生的类…

妙记多 Mojidoc PC端(Mac 端+windows端)Beta版本正式上线!

你们呼唤了无数次的妙记多 Mojidoc PC客户端 Beta版本正式上线啦&#xff01; 感谢300位妙友积极参与内测&#xff0c;给予了我们很多非常有效的意见和建议&#xff01;我们会根据用户反馈不断优化和修复相关功能&#xff0c;在此感谢妙友们一直以来的支持&#xff5e; PC端拥…

什么是分布式操作系统?我们为什么需要分布式操作系统?

分布式操作系统是一种特殊的操作系统&#xff0c;本质上属于多机操作系统&#xff0c;是传统单机操作系统的发展和延伸。它是将一个计算机系统划分为多个独立的计算单元(或者也可称为节点)&#xff0c;这些节点被部署到每台计算机上&#xff0c;然后被网络连接起来&#xff0c;…

leetcode 649. Dota2 参议院

Dota2 的世界里有两个阵营&#xff1a;Radiant&#xff08;天辉&#xff09;和 Dire&#xff08;夜魇&#xff09; Dota2 参议院由来自两派的参议员组成。现在参议院希望对一个 Dota2 游戏里的改变作出决定。他们以一个基于轮为过程的投票进行。在每一轮中&#xff0c;每一位参…

mybatis sql 参数自动填充

项目中打印sql&#xff0c;参数都是需要自己复制进去,很不方便&#xff0c;例如: Preparing: SELECT id,product_code,product_name,del_flag,create_time,create_by,update_time,update_by,remark FROM product_info WHERE (del_flag ?) LIMIT ? > Parameters: false(B…

matlab pcnormals()函数的功能 详解

官方解释&#xff1a; pcnormals - Estimate normals for point cloud This MATLAB function returns a matrix that stores a normal for each point in the input ptCloud. normals pcnormals(ptCloud) normals pcnormals(ptCloud,k) 输入参数 ptClo…

RT-Thread快速入门-线程管理

在 RT-Thread 中&#xff0c;最基本的调度单位是线程&#xff0c;其他 RTOS 也叫任务。如果学习过或者了解过 RTOS&#xff0c;任务这种叫法是最为熟知的。 本篇文章来学习一下 RT-Thread 线程方面的内容。对于初学者来说&#xff0c;转换一下思维&#xff0c;建立多任务&…