【内部教程】ISOLAR-AB配置以太网栈|超详细实战版

news2025/5/23 7:43:15

目录

往期推荐

缩写与定义

关于系统描述(System Description)

1.1 EthCommunicationController

1.2 EthCommunicationConnector 

1.2.1 Ports(端口)

1.3 EthPhysicalChannel(以太网物理通道)

1.3.1 Network Endpoint(网络端点)

1.3.2 Triggerings(触发项) 

1.3.3 SoAdConfig

1.3.3.1 SocketAddress(套接字地址)

1.3.3.2 SocketConnection 和 SocketConnectionBundle

1.3.3.3 SoAdRoutingGroups

2.在 RTA-CAR 标准 Starter Kit 中添加以太网网络

2.1 编辑系统描述


往期推荐

  1. 2025汽车行业新宠:欧企都在用的工具软件
  2. ETAS工具链自动化实战指南<一>
  3. ETAS工具链自动化实战指南<二>
  4. ETAS工具链自动化实战指南<三>
  5. AUTOSAR工程师必读:Artop的核心功能
  6. Vector工具链自动化实战指南<一>
  7. isolar高手秘籍| ECU Configuration三分钟速成!
  8. 掌握核心步骤:RTA-BSW以太网配置全解析
  9. 一文详解TC399 CAN MCAL 配置
  10. LSL常见应用场景及示例<一>
  11. LSL常见应用场景及示例<二>
  12. LSL常见应用场景及示例<三>
  13. 为什么Autosar钟情arxml而非json?大揭秘!
  14. 深入浅出:SOME/IP-SD的工作原理与应用
  15. 【技术进阶】|一文掌握Autosar ComStack的精髓!
  16. Autosar培训笔记整理<一>
  17. 【AutoSAR进阶】|实战详解ETAS工具链UDS 0x2f服务核心配置!
  18. 实战详解ETAS工具链CanTp模块自动化配置
  19. 一文掌握5种常见的AUTOSAR 错误类型
  20. 【AUTOSAR工程师必备知识】一文搞懂AUTOSAR架构9种通信方式
  21. 实战干货|详解ETAS工具链之 intra-ECU通信的数据转换

本文将解释如何使用系统描述来描述以太网网络。众所周知, RTA-CAR 9 中新增了以太网导入工具。新的以太网导入工具允许 confgen 使用系统描述来生成所需的 BSW 配置,以支持以太网网络及其消息,从而显著缩短向项目添加新以太网信号所需的工作量。

缩写与定义

  • IP - 互联网协议(Internet Protocol:以太网中最常用的网络层协议。地址分配给端点,数据包将被路由到其目的端点。

  • UDP - 用户数据报协议User Datagram Protocol:最常见的两个传输层协议(TCP 和 UDP)中最简单的一种。

  • Eth - 以太网 MCAL 模块(Ethernet MCAL Module)

  • EthIf - 以太网接口 BSW 模块(Ethernet Interface BSW Module):MCAL 和 TcpIp 栈之间的接口模块。

  • TcpIp - 实现 TCP/IP AUTOSAR 栈的 BSW 模块(The BSW module that implements the TCP/IP AUTOSAR stack):同时也负责处理 UDP 帧。

  • SoAd - 套接字适配器 BSW 模块(Socket Adapter BSW Module):负责在 AUTOSAR 的 PDU 固定路由通信方式与基于套接字的以太网通信方式之间进行适配。PDU 路由将映射到套接字。

关于系统描述(System Description)

系统描述是一组包含在项目中的 ARXML 文件,用于描述系统内 ECU 的通信。用户可以定义新的帧(Frames)、信号(Signals)、端口(Ports)以及其他与通信总线相关的属性。以下介绍描述以太网系统的组件的含义,并解释这些组件如何映射到生成的 BSW 配置中。

1.1 EthCommunicationController

此配置项用于定义以太网控制器硬件的属性。这些属性将在生成 Eth 和 EthIf BSW 模块配置时被使用。

图片

1.2 EthCommunicationConnector 

通信连接器(Communication Connector)用于连接通信控制器(Communication Controller)、ECU 实例(ECU Instance)和物理通道(Physical Channel)。其关系如下:物理通道引用一个通信连接器(通信连接器是 ECU 实例的子项),而通信连接器又引用一个通信控制器。

一个 EthCommunicationConnector 包含端口(详见IPduPorts/ISignalPorts/FramePorts)。

通信连接器可以配置的属性:

图片

NetworkEndpoint:网络端点引用用于确定将分配给 ECU 实例的 IP 地址。

1.2.1 Ports(端口

端口表示连接器的一个端口。端口可以是以下三种类型之一:

  • Pdu 端口(IPduPort)

  • 信号端口(ISignalPort)

  • 端口(FramePort)

每个端口都将通过其对应的触发类型引用,例如:

  • IPduTriggering

  • ISignalTriggering

  • FrameTriggering

1.3 EthPhysicalChannel(以太网物理通道)

以太网物理通道表示一个 VLAN(虚拟局域网,Virtual Local Area Network)。一个 VLAN 可以是带标签(tagged)或不带标签(untagged)的,默认情况下,EthPhysicalChannel 表示一个未标记的 VLAN(这意味着它对实际 VLAN 不加干预,仅转发数据包而不添加 VLAN 元数据)。

要配置 VLAN,需要定义 VlanConfig 和 VlanIdentifier

EthPhysicalChannel 引用一个 EthCommunicationConnector(如上一节所述)。此外,它还包含网络端点(Network Endpoints)、任何触发项(Triggerings)以及 SoAdConfig

1.3.1 Network Endpoint(网络端点)

网络端点用于描述网络 IP 地址或多播 MAC 地址。其配置将映射到以下模块:

  • TcpIp 模块:设置 ECU 的 IP 地址。

  • SoAd 模块:设置 ECU 可传输数据的 IP 地址。

图片

1.3.2 Triggerings(触发项) 

与端口(详见 1.2.1 节)类似,触发项(Triggering)可用于以下类型:

  • Pdu 触发(IPduTriggering)

  • 信号触发(ISignalTriggering)

  • 帧触发(FrameTriggering)

触发项用于描述对象(Pdu/Signal/Frame)在何种通道上进行传输。触发项包含对一个端口的引用,还可能包含对更小类型对象触发项的引用(例如,一个 IPduTriggering 引用一个 ISignalTriggering,或一个 FrameTriggering 引用一个 IPduTriggering)。

通常,在系统描述中,以太网信号不需要定义帧(Frame),而是更常使用 PDUs。

1.3.3 SoAdConfig

(套接字适配器配置)SoAdConfig 是物理通道的套接字适配器(Socket Adapter, BSW 模块)配置。它由一组 PDU 的路由组成,用于在套接字之间传输数据。套接字是网络中两个通信端点之间的连接终点。

套接字适配器模块的核心作用是实现 AUTOSAR 的基于 PDU 的通信方式与以太网的基于套接字的通信方式之间的适配。

通常,系统描述中的 SoAdConfig 配置项可以直接映射到 SoAd BSW 模块中的对应配置。

1.3.3.1 SocketAddress(套接字地址)

套接字地址定义了一个端口和 IP 地址,用于发送/接收数据。然而,SocketAddress 本身并不直接包含端口信息,而是包含一个 ApplicationEndpoint,该端点定义了端口协议(UDP 或 TCP)及其端口号。

图片

SocketAddresses 套接字地址由 SocketConnections 引用,这使得套接字(即 PDU 将被路由到的目标)可以被分配一个地址和端口。端口将在 SoAd 配置中设置,同时会创建对 TcpIp 端点(IP 地址)的引用。

1.3.3.2 SocketConnection 和 SocketConnectionBundle

SocketConnectionBundle 是一组 SocketConnections。在某些情况下,多个 SocketConnections 可能有共同的配置项,此时可以通过 Bundle 只需配置一次即可。

SocketConnection 定义了两个端点(本地端点和远程端点)之间的连接,并指定了在两者之间路由的 PDU。此外,还有一些额外的配置项可供设置,这些配置可能是某些类型消息(如服务发现)所必需的。

SocketConnection 和 Bundle 的配置几乎可以直接映射到 SoAd BSW 模块:SocketConnectionBundles 对应于 SocketConnectionGroups

1.3.3.3 SoAdRoutingGroups

SoAdRoutingGroups 是一组可以开启或关闭的 SocketConnections。例如,这可以用于禁用发送(Tx)通信。一个常见的使用场景是,根据 ECU 是否订阅了另一 ECU 提供的服务(或反之),动态启用或禁用通信。

2.在 RTA-CAR 标准 Starter Kit 中添加以太网网络

下面展示在 RTA-CAR  Starter Kit 中添加以太网网络所需的步骤。这些步骤将涵盖系统描述和 BSW 配置中的更改,以实现 ECU 定期发送的以太网消息。假设已经实现了 ASW 和 RTE/OS(如 SWCs、定时事件、任务调度等)

2.1 编辑系统描述

1.在系统编辑器的网络表(Networks Table)中的以太网部分,将 New Cluster 按钮拖动至以太网部分以创建新的Ethernet Cluster。如果已存在Ethernet Cluster,则无需创建新的。

图片

2.将协议重命名为 ETHERNET,以使Cluster属性的名称更清晰。

图片

3.通过将 New Physical Channel 拖动到以太网网络表中来创建一个新的物理通道。之后,将 ApplicationECU 拖动到该物理通道上。添加 ECU 后,将自动创建一个 CommunicationController 和 CommunicationConnector

图片

4.将一个新的控制器条件添加为 EthernetCommunicationController 的子项。设置目标以太网控制器所需的属性。

图片

5.添加一个新的耦合端口。在这种情况下,物理层类型设置为 BROAD-R-REACH,速率(波特率)设置为 100Mbps

图片

6.向 CouplingPort 添加一个 VlanMembership,并将 VLAN 设置为之前创建的 PhysicalChannel。这将确保在 Eth 和 EthIf 模块中生成以太网控制器配置。

图片

7.返回到系统编辑器,将 Ethernet Pdu 拖动到表格的传输部分。这将自动生成触发项和端口(Pdu/信号端口/触发项)。

图片

8.为发送方和接收方创建 UDP SocketAddresses。可以通过选择 SocketAddress 容器(位于 EthernetCluster 中的 PhysicalChannel 的子项),然后将 New UDP Address 拖动到表格的 Ipv4 部分来完成。以这种方式创建新的 SocketAddress 将自动为 IP 地址生成一个 NetworkEndpoint,并为 UDP 端口生成一个 ApplicationEndpoint

注意:NetworkEndpoints 要重命名,以便在后续步骤中更清晰地区分每个端点。

图片

9.现在,既然 NetworkEndpoints 已创建,我们可以将本地 NetworkEndpoint 映射到第 3 步中生成的 EthernetCommunicationConnector

注意:MaximumTransmissionUnit 和 NeighborCacheSize 也已配置,这些值可能依赖于目标控制器,但对于 VRTA 来说,这些值是足够的。

图片

10.创建一个新的 SocketConnectionBundle

图片

11.确保 ServerPort 指向为表示本地 ECU 创建的 SocketAddress

图片

12.在该 bundle内创建一个新的 SocketConnection

图片

13.配置 SocketConnection,并确保 client port 指向代表远程 ECU 的 SocketAddress

图片

14.将一个 PDU 作为子项添加到之前创建的 SocketConnection 中。该 PDU 应指向本指南前置步骤中创建的 PDU,并且 PduTriggering 应指向第 7 步中自动创建的 PduTriggering

图片

15.通过点击下图中高亮的 e 按钮(生成 ECU 配置向导)来运行 Confgen

图片

16.这应该会生成所有所需的 BSW 配置。Confgen 存在一个已知问题,导致对 EthTrcv 的引用未正确生成。如果是这种情况,该引用将被标记为无效。

图片

17.要解决此问题,选择 show all references ,然后选择正确的收发器(transceiver)。

图片

18.完成此操作后,BSW 配置应该可以正常生成。对于发送以太网帧,应选择以下模块进行生成:

    1. EthIf

    2. EthSM

    3. Rba_EthIPv4

    4. Rba_EthUdp

    5. TcpIp

    6. EthTrcv(取决于target)

19.BSW 生成成功后,可以开始进行其余的集成。这包括将 BSW MainFunctions 映射到任务,将 SystemSignals 映射到 ComSignals(在 System Mapping Editor 中),以及将 Init 函数添加到 BswM ActionLists。   

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

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

相关文章

Nginx 核心功能

目录 一:正向代理 1:编译安装 Nginx (1)安装支持软件 (2)创建运行用户、组和日志目录 (3)编译安装 Nginx (4)添加 Nginx 系统服务 2:配置正…

【Canvas与图标】圆角方块蓝星CSS图标

【成图】 120*120的png图标 大小图&#xff1a; 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>圆角方块蓝星CSS Draft1</…

机器学习 day05

文章目录 前言一、模型选择与调优1.交叉验证2.超参数搜索 前言 通过今天的学习&#xff0c;我掌握了机器学习中模型的选择与调优&#xff0c;包括交叉验证&#xff0c;超参数搜索的概念与基本用法。 一、模型选择与调优 模型的选择与调优有许多方法&#xff0c;这里主要介绍较…

C#新建打开文件对话框

这是Winform直接封装好的打开文件对话框 using System.Windows.Forms; public static string OpenFile(string path) {OpenFileDialog openFileDialog new OpenFileDialog();// 设置对话框属性openFileDialog.Title "选择文件";openFileDialog.InitialDirectory …

汇川PLC通过开疆智能Profinet转ModbusTCP网关读取西门子PLC数据案例

本案例是客户通过开疆智能Profient转ModbusTCP网关连接汇川PLC的配置案例 Modbus TCP主站即Modbus TCP客户端&#xff0c;Modbus TCP主站最多支持同时与31个Modbus TCP从站 。&#xff08;Modbus TCP服务器&#xff09;进行通信。 第一步设置PLC IP地址&#xff1b; 默认PLC…

零基础入门:MinerU 和 PyTorch、CUDA的关系

&#x1f4a1;一句话总结&#xff1a;MinerU 是一个用 PyTorch 跑模型的程序&#xff0c;PyTorch 支持多种加速方式&#xff08;如 CUDA、MPS&#xff09;&#xff0c;让它跑得快就需要依赖这些加速工具。 PyTorch官网安装教程&#xff08;可根据系统情况选择不同版本&#xf…

借助IEDA ,Git版本管理工具快速入门

01 引言 一直使用SVN作为版本管理工具&#xff0c;直到公司新来的一批同事&#xff0c;看到我们使用的SVN都纷纷吐槽&#xff0c;什么年代了&#xff0c;还使用SVN。聊下来&#xff0c;才知道人家公司早早就将SVN切成了Git工具&#xff0c;并吐槽SVN的各种弊端。 既然新的技术…

三维空间,毫秒即达:RTMP|RTSP播放器在Unity中的落地实现

有人问我&#xff1a;在 Unity 里做超低延迟的直播播放&#xff0c;是什么感觉&#xff1f; 我说&#xff0c;是把一帧帧流动的时间&#xff0c;嵌进一个三维的空间里。 它不属于现在&#xff0c;也不属于过去。 它属于“实时”——属于那一秒内刚刚发生&#xff0c;却已被你看…

ubuntu 搭建FTP服务,接收部标机历史音视频上报服务器

1.安装vsftpd 1.1.安装命令 sudo apt update sudo apt install vsftpd 1.2.备份原始配置文件 sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak 1.3.配置 vsftpd 编辑配置文件 /etc/vsftpd.conf&#xff1a; sudo vim /etc/vsftpd.conf 将以下参数修改为对应值&#xff…

一、内存调优

一、内存调优 什么是内存泄漏 监控Java内存的常用工具 内存泄露的常见场景 内存泄露的解决方案 内存泄露与内存溢出的区别 内存泄露&#xff1a;在Java中如果不再使用一个对象&#xff0c;但是该对象依然在GC ROOT的引用链上&#xff0c;这个对象就不会被垃圾回收器回收&…

Java的Filter与Spring的Interceptor的比较

一、技术规范与框架依赖 维度FilterInterceptor所属规范Servlet 规范&#xff08;Java EE 标准组件&#xff09;Spring MVC 框架组件&#xff08;非 Java EE 标准&#xff09;框架依赖不依赖 Spring&#xff0c;仅需 Servlet 容器&#xff08;如 Tomcat&#xff09;依赖 Sprin…

WPF···

设置启动页 默认最后一个窗口关闭,程序退出,可以设置 修改窗体的icon图标 修改项目exe图标 双击项目名会看到代码 其他 在A窗体点击按钮打开B窗体,在B窗体设置WindowStartupLocation=“CenterOwner” 在A窗体的代码设置 B.Owner = this; B.Show(); B窗体生成在A窗体中间…

微服务架构中的多进程通信--内存池、共享内存、socket

目录 1 引言 2 整体架构简介 3 疑问 3.1 我们的共享内存消息机制是用的posix还是system V 3.2 rmmt中&#xff0c;不同线程之间的比如访问同一个内存&#xff0c;用的什么锁控制的 3.3 疑问&#xff1a;假如一个进程发送给了另外两个进程&#xff0c;然后另外两个进程都同…

电脑中所有word文件图标变白怎么恢复

电脑中的word文件图标变白&#xff0c;如下图所示&#xff1a; 解决方法&#xff1a; 1.winR-->在弹出的运行窗口中输入“regedit”(如下图所示)&#xff0c;点击确定&#xff1a; 2.按照路径“计算机\HKEY_CLASSES_ROOT\Word.Document.12\DefaultIcon”去找到“&#xff0…

RK3568 OH5.1 源码编译及问题

安装编译器和二进制工具 在源码根目录下执行prebuilts脚本&#xff0c;安装编译器及二进制工具。 bash build/prebuilts_download.sh在源码根目录执行如下指令安装hb编译工具&#xff1a; python3 -m pip install --user build/hb使用build.sh脚本编译源码 进入源码根目录&…

Qt5、C++11 获取wifi列表与wifi连接

一、获取wifi列表 .h 文件内容 #include <QWidget> #include <QVBoxLayout> #include <QPushButton> #include <QCheckBox> #include <QListWidget>class Setting : public QWidget {Q_OBJECT public:explicit Setting(QWidget *parent nul…

【KWDB 2025 创作者计划】_从部署开始了解KWDB

一、概述 KaiwuDB 是一款面向 AIoT 场景的分布式、多模融合、支持原生 AI 的数据库产品&#xff0c;支持同一实例同时建立时序库和关系库并融合处理多模数据&#xff0c;具备时序数据高效处理能力&#xff0c;具有稳定安全、高可用、易运维等特点。面向工业物联网、数字能源、…

高等数学-微分

一、一元函数&#xff1a; 在实际应用中&#xff0c;经常需要近似计算函数yf(x)的增量Δyf(x)-f(x0)f(x0Δx)-f(x0),其中一种近似称为函数的微分。 定义&#xff1a;若函数yf(x)在点x0处的增量Δy可表达为自变量增量Δx的线性函数AΔx和Δx的高阶无穷小量之和&#xff0c;即Δ…

有没有开源的企业网盘,是否适合企业使用?

开源选项丰富、灵活定制能力强、需要额外运维投入、适合特定场景但不一定适合所有企业&#xff0c;是开源企业网盘的主要特征。从表面看&#xff0c;开源网盘往往具有免费或低成本优势&#xff0c;但企业要投入一定的人力与技术资源来完成安装、维护与升级&#xff0c;从而保障…

基于系统整合的WordPress个性化配置方法深度解析:从需求分析到实现过程

文章目录 引言一、理解WordPress页面与文章的区别二、主题与模板层级&#xff1a;自定义的基础三、自定义页面模板&#xff1a;打造专属页面风格四、自定义文章模板&#xff1a;打造个性化文章呈现五、使用自定义字段和元数据&#xff1a;增强内容灵活性六、利用WordPress钩子&…