吐血整理AutoSAR Com-Stack 的配置【基于ETAS】

news/2024/4/20 15:19:35/文章来源:https://blog.csdn.net/huihuige092/article/details/129152389



总目录链接==>> AutoSAR入门和实战系列总目录

文章目录

  • 01.软件组件和系统说明
  • 02.基本软件配置
  • 03.系统数据映射
  • 04.代码生成
  • 05.代码整合
  • 06.测试

下图显示了基于 AUTOSAR 的 ECU SW 的结构。纵观BSW,大体分为三层。三层模块中,与通信相关的模块称为通信栈(Com-Stack)。在Com-Stack中与CAN相关的模块中,本项目设置的模块有COM、PDU Router(PduR)、CAN Interface(CanIf)、CAN Driver(CanDrv)。

在这里插入图片描述

下图显示了构成 Com-Stack 的模块之间的关系。基于应用层发送的消息称为Tx消息,接收到的消息称为Rx消息。CAN 消息在多个模块之间传递。消息传递时,以Signal、PDU或Frame的形式传递给各个模块。在 Tx 消息的情况下,RTE 从应用层接收 SystemSignal 并将 ISignal 传递给 Com。相反,对于 RX 消息,ISignal 是从 COM 接收的,而 SystemSignal 是传递给 ASW 的。

在这里插入图片描述

01.软件组件和系统说明

由于分层,应用层与Com-Stack的详细配置无关。在应用层,只设置从哪个软件组件(SWC)的哪个端口通过哪个接口传输哪些数据。

系统起到显示整体ECU SW的作用。RTE与COM模块之间交换的ISignal、COM模块与PDUR模块之间传输的PDU、PDUR模块与CanIf之间传输的PDU、CanIf与物理网络之间传输的Frame是根据各自的特点创建和设置的。

在这里插入图片描述

02.基本软件配置

当创建系统的信号、PDU和帧时,必须相应地设置BSW层的com-stack。设置Com-Stacks间CAN通信相关模块。在工程中设置除CanTp之外的Com、PduR、CanIf和CanDrv。

在配置Com-Stack模块之前,除了属于Com-Stack的模块外,还需要配置一个模块。它是 EcuC 模块。EcuC模块是一个虚拟模块,不属于BSW中的任何层。EcuC 模块可以创建全局 PDU。这用于连接每个模块的本地 PDU。通过将全局 PDU 作为局部 PDU 的内部参数来进行连接。COM模块创建与RTE交换的ComSignal和与PduR交换的PDU并设置内部参数。

PduR模块对PDU进行路由,此时为PDU创建路由路径,并设置内部参数。在 Tx 消息的情况下,将源设置为从 COM 模块接收到的 PDU,并将目标设置为要发送到路由路径中的 CanIf 的 PDU。在Rx消息的情况下,将Source设置为从CanIf模块接收到的PDU和Routing Path中要发送给COM的PDU。

CanIf 模块创建一个与 PduR 模块交换的 PDU,以及一个与 CanDrv 交换的硬件对象处理程序 (HOH)。它设置创建的 PDU 和 HOH 的内部参数。

最后,我们还配置了 CanDrv 模块。CanDrv 模块需要设置与 CanIf 交换的 HOH,并且有 CAN Hardware Object。通过将 CAN ID 插入到硬件对象中,可以为 CAN 报文分配一个唯一的 ID。

在这里插入图片描述
在这里插入图片描述

03.系统数据映射

设置 BSW 后,下一步是映射系统数据。将之前创建的Signal、PDU、Frame、COM模块信号分别设置到SWC的端口。因此,ASW、RTE 和 BSW 层相互连接以执行称为 CAN 通信的功能。

04.代码生成

创建 ECU 软件所需的代码是 RTE、ASW、BSW、MCAL 和 OS。使用 ISOLAR-A 的 RTE 生成功能,可以为 RTE 中设置的项目自动生成 RTE 代码。由于添加了SWC、Port、Signal,所以在执行相关的RTE Generation时,会根据AUTOSAR规则自动创建相应的API。

通过ISOLAR-A的SWC的Code Frame自动生成功能,您可以使用之前创建的API创建一个基本的code frame。通过稍微修改它,我编写了一个应用程序代码,将进入 RPort 的 Signal 数据传输到 PPort,并将其传输到 Signal。

BSW 代码也可以在 ISOLAR-A 中创建。使用 BSW 代码生成功能生成不包括 MCAL 的 BSW 代码。MCAL 代码生成由 TresosStudio 完成。打开英飞凌 TC264D MCU 的 MCAL 项目并导入 ISOLAR-A 中设置的 CAN 驱动程序设置。MCAL 代码是使用代码生成功能自动生成的。使用 RTA-OS 设置操作系统代码并生成代码。添加CAN报文时,OS部分不需要修改,所以使用已有的OS代码。

05.代码整合

至此,创建可上传到开发板的可执行ECU文件的所有准备工作就完成了。需要最终编译来创建可执行 ECU 文件,并且使用 HighTec Compiler 作为编译器。当 App、RTE、BSW、MCAL 和 OS 代码都准备好后,使用编译器创建一个可执行的 ECU 文件。

在这里插入图片描述

06.测试

使用劳德巴赫T32 将生成的可执行 ECU 文件上传到英飞凌 TC264D EVB。使用 ETAS ES581(USB CAN 总线接口)和 BUSMASTER,确认 CAN 消息正在正确传输。下图是BUSMASTER检查的Tx、Rx报文窗口。由于连接的计算机是标准的,因此与Rx和Tx设计的ECU相反。Tx 消息的 ID 0x64 和 Rx 消息的 ID 0xC8 分配给 ECU 软件。如果向0xC8号发送值07,则将值发送给0xC8报文,即Rx,写应用代码通过0x64号Tx报文发出接收到的值,所以0x64号Tx报文传输传输的 07 值。
在这里插入图片描述

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

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

相关文章

精确控制 AI 图像生成的破冰方案,ControlNet 和 T2I-Adapter

ControlNet 和 T2I-Adapter 的突破性在哪里?有什么区别?其它为 T2I 扩散模型施加条件引导的相关研究ControlNet 和 T2I-Adapter 的实际应用效果如何?使用体验上,跟 SD原生支持的 img2img 有什么区别?ControlNet 在插画…

运动戴耳机哪种款式比较好、最好用的运动耳机

很多人喜欢运动时听音乐,因为在运动场景中,听歌的节奏与步频匹配的时候,的确是可以起到很好的激励和缓解情绪的作用。认认真真地选择一副适合自己跑步的运动耳机,成了很多跑步爱好者的实际需求,专门为运动打造的耳机也不少!那么,如何挑选一款…

网络信息安全(四)

IIS WEB服务器 服务器配置静态IP 安装WEB服务软件 打开软件 检查80端口是否打开 DNS解析不同域名站点 新建两个网页京东和淘宝 安装DNS组件并创建两个区域 新建主机 XP上指定DNS 正常情况下同一个服务器上一个端口只提供一个服务 添加主机头值 XP验证 IIS FTP服务器 FTP工作模式…

0基础学插画是报班还是自学

学插画0基础是报班还是自学,众所周知,报班一定是提升插画水平的最有效途径,如果有经济能力,建议报班!那么报哪些插画课程班比较靠谱呢?同时给大家梳理了国内最新5大插画班排行榜,各有优势和特色…

解析Java中的class文件

解析class文件需要把class文件当成文件流来处理,定义ClassReader结构体 type ClassReader struct {data []byte }go语言中的reslice语法可以跳过已经读过的数据。 同时定义了ClassFile数据结构来描述class文件的各个部分,该数据结构如下所示&#xff1…

【word】插入mathtype公式,造成前后文本不同行

一、问题描述 在word文本中插入mathtype公式,在默认配置下,会造成前后文本不同行的现象,例如: 二、解决方案 要求1:字符间距位置,设置为“标准”;要求2:段落文本对齐方式&#x…

【原创】java+swing+txt学生学籍管理系统设计与实现

今天我们来介绍如何使用javaswingtxt来开发一个学籍管理系统。对的,你没看错,我们今天不用mysql,我们使用txt这个文本来进行数据存储,主要考察对文件读写的操作。 功能分析: 我们系统不要求做的很复杂,只…

2023从0开始学性能(2) —— 探索性能测试流程之调研需求【持续更新】

性能测试流程 性能测试的流程应该是什么样的呢?打开jmeter/LR ,开启录制然后加个并发数点击运行吗?如果真这么简单,估计现在就没有性能测试这个专职的岗位了。 虽然我们没做过,但是有对学习的热爱和百度搜索的老手艺…

手写线程池实例并测试

前言:在之前的文章中介绍过线程池的核心原理,在一次面试中面试官让手写线程池,这块知识忘记的差不多了,因此本篇文章做一个回顾。 希望能够加深自己的印象以及帮助到其他的小伙伴儿们😉😉。 如果文章有什么…

【操作系统】概述

操作系统 操作系统的定义与目标 定义:操作系统是控制管理计算机系统的硬软件,分配调度资源的系统软件。 目标:方便性,有效性(提高系统资源的利用率、提高系统的吞吐量),可扩充性,…

117.Android 简单的拖拽列表+防止越界拖动(BaseRecyclerViewAdapterHelper)

//1.第一步 导入依赖库和权限&#xff1a; //依赖库&#xff1a; //RecyclerView implementation com.android.support:recyclerview-v7:28.0.0//RecyclerAdapter implementation com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.28 //用到的权限&#xff1a; <!…

如何使用DevEco Studio创建Native C++应用

简介本篇主要介绍如何使用DevEco Studio for OpenAtom OpenHarmony &#xff08;以下简称“OpenHarmony”&#xff09;创建一个Native C应用。应用采用“Native C”模板&#xff0c;实现了通过Node-API调用C标准库的功能。本示例通过调用C标准库接口来演示调用过程&#xff0c;…

MES助力灯具照明行业从制造到”智造”

现如今&#xff0c;LED照明行业产品更新换代太快&#xff0c;一个产品一两年不更新一下外观、材料&#xff0c;就会被对手超越。这直接导致LED产品标准化程度不够高&#xff0c;LED下游制造类厂家智能化生产程度普遍偏低。 加之大多属于劳动密集型产业&#xff0c;传统的依靠买…

less、sass、webpack(前端工程化)

目录 一、Less 1.配置less环境 1.先要安装node&#xff1a;在cmd中&#xff1a;node -v检查是否安装node 2.安装less :cnpm install -g less 3.检查less是否安装成功&#xff1a;lessc -v 4.安装成功后&#xff0c;在工作区创建xx.less文件 5.在控制台编译less,命令&…

Ubuntu16.04使用apache创建个人用户主页并添加口令认证

文章目录一.安装apache二、apache文件和目录简述2.1 网站数据目录2.2 Apache配置文件三、创建个人用户主页3.1 开启个人用户主页功能3.2 建立目录和首页面3.3 开启模块3.4 测试四、添加口令认证4.1 生成密码数据库4.2 修改配置文件一.安装apache 创建虚拟机&#xff0c;保持默…

Python socket之TCP通信、下载文件

TCP简介TCP介绍TCP协议&#xff0c;传输控制协议&#xff08;英语&#xff1a;Transmission Control Protocol&#xff0c;缩写为 TCP&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议&#xff0c;由IETF的RFC 793定义。TCP通信需要经过创建连接、数据传送、…

深入浅出深度学习Pytroch

本文将以通俗易懂的方式&#xff0c;深入浅出地为您揭开深度学习模型构建与训练的面纱&#xff1a; 深度学习数据data模型model损失函数loss优化optimizer可视化visualizer深度学习 数据data 模型model 损失函数loss 优化optimizer 可视化visualizer深度学习数据data模型m…

如何写新闻稿?写好新闻稿的技巧与步骤

新闻稿是传递新闻事件和信息的重要手段&#xff0c;是传媒工作中不可或缺的一部分。写好一篇新闻稿可以让受众了解更多信息&#xff0c;进一步提高他们的关注度。以下是一些写好新闻稿的技巧和步骤&#xff0c;帮助你有效地传达新闻。1、确定新闻的核心信息在开始写新闻稿之前&…

短链或H5唤醒(跳转)APP应用

唤醒APP(两种方法) 一.短链唤醒(跳转)app ⭐ 短链跳转到APP&#xff0c;当如果用户手机不存在APP(某个应用)将会进入到官网页面。 app links实现 在android studio菜单栏Tools->App Links Ass点击,效果图如下 2.配置如下 点击ok,生成如下效果图 3.完成第二步后,会自动…

FreeRTOS入门(01):基础说明与使用演示

文章目录目的基础说明系统移植基础使用演示数据类型和命名风格总结碎碎念目的 FreeRTOS是一个现在非常流行的实时操作系统&#xff08;Real Time Operating System&#xff09;。本文将介绍FreeRTOS入门使用相关内容&#xff0c;这篇是第一篇&#xff0c;主要介绍基础背景方面…