车载以太网-FlexRay

news2024/11/19 8:49:49

摘要:

到底什么是FlexRay?

1. FlexRay是什么?

那么到底什么是FlexRay?往简单了说,就是CAN总线加LIN总线混合起来排个课程表、提个速再加个冗余。像LIN一样基于TDMA,提高了协议的复杂度,拥有静态部分和动态部分。动态部分类似于CAN总线,是基于事件和优先级发送。这样随着协议的复杂化,通过灵活的配置,可以设计出更安全可靠,而且实时性好的车载通信系统,以满足新的技术要求。

功能强大了,配置也更灵活了,但成本也上去了。不光是硬件成本,配置FlexRay相比它的兄弟姐妹总线,要复杂的多,这就需要更多人力和时间。一个技术,它的成本门槛高了,就会阻碍这个技术的大规模输出、推广,没有得到大规模的应用,相对的芯片成本就难以进一步下降,有点马太效应的味道,这也是上图预测FlexRay走不出2020年代的原因之一。但是是否呼声渐起的以太网10BaseT1s真的能取代这些传统的车载总线。

2. FlexRay如何实现功能

FlexRay拥有双通道通信的冗余设计。每个通道带宽10Mbps,可以灵活的设置为同一时间点两通道互为备份冗余;也可以选择双通道发送不同的信息达到20Mbps的带宽。这样FlexRay契合了安全和时间紧要的更高阶的应用场景,在动力总成和车身控制也可以应用。在这些场景中CAN总线和LIN总线都不能胜任。关于FlexRay的总线规模和节点容量,看到有说24米有说22米的,没必要细抠,一般达不到这个长度。

静态和动态部分可以继续切分才会得到更小的时间蛋糕slot,里面就是FlexRay的数据帧了。FlexRay由5Bytes的帧头,0到254Bytes的Payload和3Bytes的尾部组成。

静态数据块被分成一系列的Slots分发给不同的节点,同一节点可以被分配多个Slots。但是同一个Slot只能被分配给一个节点。当时间轴上相应的时刻到达,如果节点准备好了相应的数据帧,则发送数据帧,如果没有则发送空帧,或者重复。静态部分是固定分配的,就像白天上课的课程表,这就保证了被分配到时间资源的节点总能有机会发送数据。而Dynamic部分则是动态的,有点像晚自习,而且是课时不固定的晚自习,学生可以半自由地搭配。

动态部分就是FlexRay中前面提到的Event Triggered部分。动态部分通常是用来传输诊断信息。每个节点根据配置的Frame ID发送信息。动态部分发送机制挺有意思,是基于一个Minislots的概念,当没有信息发送的时候,各个节点数着时间块Minislots累加自己的index。待发信息ID与slot一一对应,如果匹配的话,对应节点就有权发送信息。有信息发送时,所有节点的index冻结,发送完毕后,大家共同继续累加index。通过这种方式避免了冲突,但是动态部分的时间长度有限,所以如果排在前面的信息比较多,后面的信息可能就分不到发送时间的slot,就只能放弃发送。这点有点像CAN总线,但是机制又不完全一样,CAN总线是比较ID大小定优先级,FlexRay的动态部分是先给ID小的信息发送机会,按顺序发。EB的《FlexRay:A first glance》里有一段很好的演示动画,可以去看看。FlexRay的两个通道的Minislot是对齐的,而在信息发送时,是相互独立,互不干扰而不对齐的。超过了最后的机会时间点latest dynamic transmission start之后,就不再允许任何节点发送新的帧了。

来源 | 电控技术大师

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

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

相关文章

【linux】挖矿病毒nanominer伪装成python占用服务器GPU的查杀记录

病毒表现 gpustat -cpu 可以看到root用户将GPU的核心跑满了每个占用都是100%,显存吃了6G多。 nvidia-smi 不能正常显示GPU被哪些进程占用 ![在这里插入图片描述](https://img-blog.csdnimg.cn/780f90080a084a44ac59227e384f985b.png 病毒文件分析 在/tmp/.x/…

win10 vmware虚拟机蓝屏怎么办 win10 vmware虚拟机蓝屏解决方法【详解】

最近有朋友出现win10 vmware虚拟机蓝屏的情况应该怎么办?小伙伴们在使用vmware虚拟机出现了蓝屏现象的小伙伴们不用担心,小编翻阅各种资料后给大家带来两种虚拟机蓝屏的解决方法,想要解决此问题的小伙伴们快跟着小编往下看吧! win…

三分钟看懂JDK、JRE和JVM的区别和联系

节选自JavaGuide(Github 标星 134k star!「Java学习 + 面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识) JVM Java 虚拟机(JVM)是运行 Java 字节码的虚拟机。JVM 有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同…

腾讯云轻量应用服务器卡死怎么连接?

腾讯云轻量云服务器卡死怎么解决?使用腾讯云自带的VNC登录连接轻量服务器,或使用腾讯云OrcaTerm一键免密登录轻量实例。如果是确定数据没问题,也可以使用控制台自带的重启实例。 腾讯云轻量应用服务器参考:https://curl.qcloud.co…

5月18号软件资讯更新合集.....

JTopCMS V4 更新:静态发布功能优化 适配版本:V4.6 介绍 : 本次更新对静态发布 HTML 功能进行多个重要优化,支持全站增量模式发布,支持跨站级栏目联动发布,增加定时发布指定栏目范围,增加栏目对…

php对接阿里云API调用企业税号查询的高级实战案例解析(下拉筛选查询、远程调用API、xm-select组件应用)

阿里云API调用企业税号查询 一、功能描述1.请求参数2.GET请求代码3.返回示例4.错误码 二、核心代码1.引入外部JS库2.构建HTML容器3.xmSelect回调 总结 一、功能描述 企业税号查询-公司税号查询-企业公司开票信息查询-企业营业执照信息查询-工商信息查询-企业基本信息查询&…

【ROS】ROS1编程速览

1、简述 很多项目已经转向ROS2,本人作为ROS小白从ROS1开始学起,但是不会深入学习ROS1,只一带而过。 下面只了解一些ROS1中的概念和基本编程接口。 ROS1中有两种通信模式:话题模式和服务模式,区别如下 2、话题模式 …

分享一份适合练手的软件测试实战项目,涵盖金融,电商,银行,商城,家政项目

现如今,越来越多的人涌入到测试行业来了,有自学的,有通过参加培训转行的,不管通过何种方式,他们面临的最主要的问题就是: 1、简历上的项目经验如何去编造? 2、入职的背调、薪资流水、离职证明等…

涨点神器:CVPR2023 InceptionNeXt当Inception遇见ConvNeXt,在Yolov8即插即用,小目标检测涨点明显

论文地址: https://arxiv.org/pdf/2303.16900.pdf 代码: GitHub - sail-sg/inceptionnext: InceptionNeXt: When Inception Meets ConvNeXt 单位:NUS, Sea AI Lab(颜水成等人) 1. InceptionNeXt介绍 摘要:受ViT的 long-range 建模能力的启发,大核卷积来扩大感受野用于…

Nvivo12 mac code comparison编码比较查询:软件操作步骤

编码比较查询步骤 1.合并项目2.编码比较2.1 选择不同的编码人2.1.1 比较单元 2.2-2.4 选择比较项目2.5 显示比较内容 3.结果kappa的解读4.参考资源 1.合并项目 如果两个编码人是在同一个项目文件中编码的(你编一遍,我编一遍),此步…

Oracle 扩展统计信息收集 extension statistics

1.扩展统计信息的收集,可以用select dbms_stats.create_extended_stats(scott,test01,(object_name,object_type))from dual 创建扩展统计列,然后dbms_stats.gather_table_stats(scott,test01)收集统计信息,也可以直接在 dbms_stats.gather_table_stats中的method_opt属性同时…

【黑马笔记】IDEA配置Tomcat

文章目录 1. 配置Tomcat-本地部署1.1 官网下载tomcat压缩包1.2 idea配置tomcat1.2.1 本地tomcat查询1.2.2 部署项目 2. 配置Tomcat-插件部署 1. 配置Tomcat-本地部署 1.1 官网下载tomcat压缩包 https://tomcat.apache.org/ 解压Tomcat 1.2 idea配置tomcat 1.2.1 本地tomc…

DELL戴尔笔记本电脑成就Vostro 5620原装出厂Windows11系统恢复原厂OEM专用系统

DELL戴尔笔记本电脑成就Vostro 5620原装出厂Windows11系统恢复原厂OEM专用系统 系统自带所有驱动、办公软件、MyDell、迈克菲等预装程序 链接:https://pan.baidu.com/s/16AKSsMRTzYXQ_AX_Eti22w?pwdazx8 提取码:azx8

一文熟悉广汽埃安的EV+ICV进展

摘要: 本期带大家走进广汽埃安,了解了解埃安使用的紧密相关的那些技术或产品。 2017年,广汽新能源成立,并在2020年更名为广汽埃安新能源汽车有限公司;2022年,广汽埃安产销量 跃至国内第三,业绩…

C++实现开散列/链地址法

前言 解决哈希冲突的方法有闭散列和开散列,上篇博客C实现闭散列已经讲解完了闭散列的实现方式 本篇博客实现开散列/连地址法的哈希表 文章目录 前言一. 开散列二. 开散列实现(1). 结构(2). 插入(3). 查找(4). 删除(5). 析构函数 三. 完整代码结束语 一. 开散列 开…

RocketMQ JVM/OS配置与订阅关系一致

一、JVM/OS配置 1 、JVM选项​ 推荐使用最新发布的 JDK 版本。通过设置相同的 Xms 和 Xmx 值来防止 JVM 调整堆大小以获得更好的性能。生产环境 JVM 配置如下所示: -server -Xms8g -Xmx8g -Xmn4g 当 JVM 是默认 8 字节对齐,建议配置最大堆内存不要超过…

AI加持的必应,为什么还赢不了谷歌?

“少年屠龙”的故事,似乎还有些遥远。 即使有新必应的加成,微软浏览器Edge在全球市场的占有率依然不高。据Statcounter数据显示,2023年4月,Edge的市场占有率仅为4.97%。提升的速度似乎也不太理想,4月份的数据只比一年…

《Netty》从零开始学netty源码(五十九)之ServerBootstrapAcceptor

ServerBootstrapAcceptor 前面初始化channel的过程中向pipeline中添加了一个channelHandler,即ServerBootstrapAcceptor,它的作用主要是将worker组的channel进行注册,它的数据结构如下: 它的属性主要是通过ServerBootstrap启动类…

07-通过RocketMQ和Redis实现用户动态提醒

1、用户动态表 CREATE TABLE `t_user_moments` (`id` bigint(12) unsigned NOT NULL AUTO_INCREMENT COMMENT 主键id,`user_id` bigint(12) DEFAULT NULL COMMENT 用户id,`user_type` int(8) DEFAULT NULL COMMENT 动态类型:0视频 1直播 2专栏动态,`contend_id` bigint(12) D…

五个不错的样机素材网站推荐

设计师完成作品后,为了更好地展示作品,通常会将设计作品应用到真实的样机素材模板中。 本文推荐五个不错的样机素材网站,希望对你有所帮助。 1.即时设计 即时设计是一款「专业UI设计工具」,不受平台限制,打开浏览器…