时间敏感网络TSN的车载设计实践: 802.1Qbv协议

▎概述

IEEE 802.1Qbv[1]是TSN系列协议中备受关注的技术之一,如图1所示,它定义了一种时间感知整形器(Time Aware Shaper,TAS),支持Qbv协议的交换机可以按照配置好的门控列表来打开/关闭交换机出口队列,可从而为周期型的重要数据提供确定性延迟保障。

图1 时间感知整形器示意图
为了更有效地为业务流量提供网络传输服务,更好地发挥Qbv协议的能力,需要进行Qbv协议的应用设计。完整的Qbv设计开发流程包含以下步骤:

  • 流量优先级分类:从车辆功能需求出发,基于通讯矩阵和整车拓扑,梳理整车的流量优先级
  • 门控列表设计:基于已经分类好的整车流量,设计门控列表,仿真分析门控列表是否满足流量的传输需求
  • 设计迭代:如果关键数据的需求不能被满足或者门控列表数量超出硬件门控列表长度上限等情况,迭代分析前两步流量分类结果、设计的门控列表中的不合理处,调整流量分类或门控列表设计结果

▎流量优先级分类

目前车载环境下,车内的网络流量固定可知,可根据车辆功能需求,明确各个流量的最大时延、周期、负载大小等需求,将流量分为多个优先级类别。
图2 示例拓扑
梳理流量优先级是Qbv设计的关键步骤,除了需要满足以上提到基本的需求之外,在实际情况下,更需要对功能准确理解,比如:一般情况下会把控制类指令统一设计为高优先级,而实际转向、制动类控制指令推荐优先级高于车窗相关的控制指令。

这需要TSN网络设计工程师有大量的设计经验,针对不同的功能需求,来综合设计流量的优先级。

基于通讯矩阵,并结合图2示例的拓扑,梳理得到表1所示的示例流量优先级分类结果。

表1 示例流量优先级分类

在这里插入图片描述

▎门控列表设计

基于以上流量优先级分类,并且各个节点已基于IEEE 802.1AS[2]完成了时间同步,即所有节点都有一个相同的时间基准,4条数据流在Switch2-D的出口队列汇聚,在时间同步的基础上,需要设计合理的门控列表,来保障该瓶颈出口队列的高优先级数据流的时延可控。有如下假设:

  • 数据流①的初始发包时间相位为0us,即在0ms,1ms,2ms,…的时刻发包,传输到Switch2-D的出口队列的传输延时+Switch1和Switch2的硬转发延时为3us
  • 数据流②的初始发包时间相位为10us,即在0.010ms,2.020ms,4.040ms,…的时刻发包,传输到Switch2-D的传输延时+Switch1和Switch2的硬转发延时5us
  • 数据流③的初始发包时间相位为5us,即在0.005ms,2.005ms,4.005ms,…的时刻发包,传输到Switch2-D的出口队列的传输延时+
    Switch2的硬转发延时1us

三者周期的最小公倍数为2ms,所以Switch2-D的出口队列循环门控列表的最小周期为2ms,一个完整的循环周期内,该门控列表可设计成:

表2 witch2-D的门控列表设计

在这里插入图片描述
需要注意的是,表2只展示了Switch2-D的门控列表设计,实际在Swicth1-Switch2的端口上,如果还有其他数据流,数据流①和数据流②也会和这些数据流产生竞争,也需要设计门控列表,为了让关键数据流能达到端到端的延迟和抖动控制,这两个门控列表需要同时工作,让关键数据在端到端的完整路径上“一路开门,畅行无阻”。

此外,还可以通过增加关键数据的开门时间或者设置“Guard band”的方式,进一步来保障关键数据的低延迟和减少传输抖动。

▎设计迭代

有了初步的设计结果后,需要分析目前的设计是否完全满足业务需求,如效果不佳,需要完善设计结果。以下举例说明,可能的优化过程。

观察表2可以发现,简单的4个数据流,设计好的门控列表已经比较复杂,而如果仿真发现已经能较好满足关键数据的时延要求,或者在实际部署时,太频繁的门开关状态切换,会由于ECU端的发送端发送周期抖动,而导致关键数据错过开门时机,那没有必要为各个数据流划分过多的优先级和特别细致的门控列表。

可以考虑合并优先级6和7,并且为数据流①②③统一开门,得到的门控列表如表3所示,能够很大程度上简化门控列表的复杂度,并且保证关键数据的传输质量。

表3 时间感知整形器示意图

在这里插入图片描述

▎RTaW-Pegase助力Qbv设计

面对日益复杂化的汽车电子电气架构及网络系统,实际上人工计算与迭代的设计方式已很难适用。在实际的量产车型上,需要传输的数据流远大于以上举例的4条,而门控列表编排可以抽象成任务调度问题,是典型的NP-Hard问题,即在多项式时间的运算次数内不可求解的问题,除非NP=P,否则无法在多项式时间内求得最优解,其工作量非常巨大,一般会需要软件辅助帮忙解决。我们可以借助RTaW-Pegase来辅助完成TSN设计工作。

如图3所示, RTaW可以选择一键配置整形器,如TAS、CBS、Preemption、ATS等整形器,快速验证TSN整形器的选择效果。

图3 TSN整形器配置示例

在Qbv设计中,可借助RTaW内置的TAS门控列表编排算法,帮助我们生成满足图4所示的满足时延需求的门控列表,避免了人工设计复杂的门控列表。后续可以将设计结果和交换机的配置接口适配后,导入到车载TSN交换机的配置中。

图4 RTaW门控列表示例
RTaW还能进一步帮助分析设计结果,为了将有TAS的配置与没有TAS的配置进行比较,可执行这些ComConfig的最坏情况下的时延等指标分析,能够直观地看到时延满足情况,辅助TSN网络设计师分析结果。

图5 RTaw最坏情况时延分析
除此之外,如果关键数据较多,延迟要求又比较高,现有硬件条件不能完全满足所有数据的确定性延迟需求。此时,需要TSN网络设计工程师,对服务部署、路由选择等上层通信设计提出修改建议,并从多种可能的Qbv设计方案中合理选择延迟超时相对可容忍的方案进行实际部署,这需要设计师有大量的实车部署经验,综合选择最合适的落地设计方案。

▎总结

随着车载TSN软硬件产业链更加成熟,汽车电子电气架构设计向跨域融合、集中式计算的架构升级,以太网为主干网的链路上,各种类型数据的通信需求都需要兼顾, IEEE 802.1 Qbv是一种时间敏感数据低抖动性的保障。

RTaW-Pegase[3]能够大力辅助Qbv的设计工作,它是法国国家信息与自动化研究所(INRIA)下属公司RTaW的产品。该公司主要为汽车等领域的企业提供时间仿真和配置工具。RTaW-Pegase(V4.2.7)全面支持CAN(FD)、车载以太网以及TSN协议的设计仿真及性能评估。

RTaW五年前由经纬恒润引入国内,是该公司在中国的重要合作伙伴。经纬恒润凭借多年在车载以太网领域的经验以及RTaW工具的强大支持,已经成功完成了多款车型的TSN设计。更多资讯请点击链接,了解更多RTaW工具信息。

▎参考资料

[1] IEEE, 802.1, “IEEE 802.1Qbv—Enhancements for Scheduled Traffic”, [online] Available: https://www.ieee802.org/1/pages/802.1bv.html.

[2] IEEE, 802.1AS-2020, “Time and Synchronization for Time-Sensitive Applications in Bridged Local Area Networks”, 2020.

[3] https://www.realtimeatwork.com/chin

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端编码技巧须知

前端开发中可能会使用到以下软件,它们各自具有不同的作用: 代码编辑器:例如Sublime Text、Atom、Visual Studio Code等,用于编写和编辑HTML、CSS和JavaScript等前端代码。网页浏览器:例如Chrome、Firefox、Safari等&a…

“关爱零距离.情暖老人心”主题活动

为提高社区老年人的生活质量,促进邻里间的互动与友谊,以及弘扬尊老爱幼的社区精神,11月21日山东省潍坊市金阳公益服务中心、重庆市潼南区同悦社会工作服务中心在潼南区桂林街道东风社区共同在潼南区桂林街道东风社区举办了“关爱零距离.情暖老…

EMG肌肉电信号处理合集(三)

本文主要展示常见的肌电信号预处理的实现,开发环境为matlab。 目录 1 肌电信号低通,高通,带通滤波 2 去除DC 0阶偏置,1阶偏置 3 全波整流 4 信号降采样 5 linear envolope / butterworth 低通滤波器 1 肌电信号低通&#xf…

【elementui】el-popover在列表里循环使用,取消的doClose无效解决办法

目录 一、需求效果二、代码详情html方法接口 一、需求效果 在使用elementui的Popover 弹出框时&#xff0c;需求是在table列表里使用&#xff0c;循环出来&#xff0c;无法取消。 二、代码详情 html <el-table-column v-if"checkPermission([admin,user:resetPass…

DevExpress中文教程 - 如何在macOS和Linux (CTP)上创建、修改报表(下)

DevExpress Reporting是.NET Framework下功能完善的报表平台&#xff0c;它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集&#xff0c;包括数据透视表、图表&#xff0c;因此您可以构建无与伦比、信息清晰的报表。 DevExpress Reports — 跨平台报表组件&#x…

TOGAF®9持证人员专属升级福利—标准第10版认证过渡路径学习项目来啦!

TOGAF标准的含金量有多高&#xff1f; 是这些企业的优先选择 ▼ DXC Technology, Fujitsu, HCL Technologies, 华为, IBM, Intel, OpenText, Philips, Amazon, Apple, Capgemini, CISCO, Deloitte, HP, Microsoft, Oracle, SAP&#xff0c;国航&#xff0c;东航&#xff0c;工…

AI“胡说八道”?怎么解?

原创 | 文 BFT机器人 01 引言 近年来&#xff0c;人工智能产业迅猛发展&#xff0c;大型语言模型GPT-4发展势头强劲&#xff0c;OpenAI推出ChatGPT、微软推出Bing、马斯克推出“最好的聊天机器人Grok”……科技巨头纷纷入局AI领域&#xff0c;引入人工智能作为办公工具的行业…

java项目之品牌银饰售卖平台(ssm+vue)

项目简介 主要功能包括首页、个人中心、用户管理、促销活动管理、饰品管理、我的收藏管理、系统管理、订单管理等。管理员模块: 管理员可以查询、编辑、管理每个用户的信息和系统管理员自己的信息&#xff0c;同时还可以编辑、修改、查询用户账户和密码&#xff0c;以及对系统…

如何从 C# 制作报表到 FastReport Cloud

众所周知&#xff0c;我们的世界在不断发展&#xff0c;新技术几乎每天都会出现。如今&#xff0c;不再需要在办公室内建立整个基础设施、雇用人员来监控设备、处理该设备出现的问题和其他困难。 如今&#xff0c;越来越多的服务提供业务云解决方案&#xff0c;例如FastReport…

GEE:梯度提升树(Gradient Boosting Tree)分类教程(样本制作、特征添加、训练、精度、参数优化、贡献度、统计面积)

作者:CSDN @ _养乐多_ 本文将介绍在Google Earth Engine (GEE)平台上进行梯度提升树(Gradient Boosting Tree)分类的方法和代码,其中包括制作样本点教程(本地、在线和本地在线混合制作样本点,合并样本点等),加入特征变量(各种指数、纹理特征、时间序列特征、物候特征…

gitea仓库镜像同步至gitlab

1、参考文档&#xff1a;仓库镜像 | Gitea Documentation 2、错误一&#xff1a;账号密码错误问题 解决方法&#xff1a; 出现以上错误为第三步用户名&#xff08;Oauth2应用名称&#xff09;或者密码&#xff08;Gitlab个人访问令牌&#xff09;错误。 1&#xff09;如下图1…

NX二次开发UF_CURVE_add_faces_ocf_data 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_add_faces_ocf_data Defined in: uf_curve.h int UF_CURVE_add_faces_ocf_data(tag_t face_tag, UF_CURVE_ocf_data_p_t uf_offset_data ) overview 概述 Add a face col…

安索夫矩阵(ANSOFF)

&#x1f449;安索夫矩阵是策略管理之父安索夫博士于1957年提出的营销策略模型&#xff0c;该模型以“产品”和“市场”作为两大基本面&#xff0c;提出了4种不同组合下的营销策略&#xff0c;是营销分析中应用最广泛的工具之一。其主要逻辑是通过选择4种不同的成长性策略来实现…

基于springboot实现冬奥会科普平台系统【项目源码+论文说明】

基于SpringBoot实现冬奥会科普平台系统演示 摘要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理平台应运而生&…

在arm 64 环境下使用halcon算法

背景&#xff1a; halcon&#xff0c;机器视觉领域神一样得存在&#xff0c;在windows上&#xff0c;应用得特别多&#xff0c; 但是arm环境下使用得很少。那如何在arm下使用halcon呢。按照官方说明&#xff0c;arm下只提供了运行时环境&#xff0c;并且需要使用价值一万多人民…

【每日一题】2824. 统计和小于目标的下标对数目-2023.11.24

题目&#xff1a; 2824. 统计和小于目标的下标对数目 给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target &#xff0c;请你返回满足 0 < i < j < n 且 nums[i] nums[j] < target 的下标对 (i, j) 的数目。 示例 1&#xff1a; 输入&#xff1…

Python中的下划线使用教程:单下划线、双下划线和头尾双下划线详解

概要 Python是一种简单、易学、功能强大的编程语言&#xff0c;被广泛应用于各种领域。在Python中&#xff0c;下划线的使用有其特殊的含义和用途。本文将详细介绍Python中的单下划线、双下划线和头尾双下划线的使用教程&#xff0c;帮助读者更好地理解和应用这些特性。 一、单…

PWM电流控制微步进电机驱动器LV8728MR-AH 原理、参数及应用

LV8728MR-AH 是一款PWM电流控制微步进电机驱动器。该驱动器可以执行从全步到1/128步的八种激励模式&#xff0c;并且可以通过CLK输入简单地驱动。 LV8728MR适用于各种应用&#xff0c;具有丰富的激励模式。内置过流保护&#xff0c;热关断和低压保护电路&#xff0c;低导通电阻…

【算法】链表-20231124

这里写目录标题 一、83. 删除排序链表中的重复元素二、206. 反转链表三、234. 回文链表 一、83. 删除排序链表中的重复元素 简单 1.1K 相关企业 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 示例…

2015年7月8日 Go生态洞察:Go、开源与社区

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…