Autosar CP 概念及工具使用

b站视频链接: [https://www.bilibili.com/video/BV13p4y1G7yR?p=18&vd_source=7fdcef3abedeb8d7c5209abe0ef60535]

注:本文以 ETAS 工具为例

概览:

在这里插入图片描述

一、如何从一个 VCU 需求开始 Autosar 的工程??

ISOLAR A/B 软件

先来看看ISOA/B新建工程目录一栏(让我来看看是怎么个事儿?)

System文件夹下面有几个子文件夹:

System info:
Signals And Signal Groups: 系统和 系统描述

分为:isignal: ECU 信号传递

​ system sig: ECU内部信号传递

Pdus: 数据交互

承载网络信号数据处理单元,和网络真实一一对应

Frames:

映射到总线的数据包结构, 和PDU 对应

Ecus: 用的的ECU
Networks: 系统中的控制网络,CAN,LIN ,以太网等等

二、Autosar 如何描述一个系统

ISOA/B软件 有两种方法:

方法一:

dbc文件直接导入(通信矩阵,这个文件应该是车厂给的)

ISOAB 支持 CAN,LIN 但不支持 以太网导入

dbc import

SOAB可以将它导入并解析成 autosar 系统描述文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

方法二:

没有 arxml, 需要自己新建

右键 System------> open with system editor

在这里插入图片描述

会生成 signal 文件,需要指定起始位

还需要在 pdu 和 Frames 里面指定

三、零起点的 BSW 配置(该工具适合CAN,XCP,LIN,网络管理这几个模块,不适合 以太网,UDS模块)

问题提出:如何利用已有信息自动生成 bsw?

  1. 工具栏切换 AR Explorer

ECU ----> VCU

软件会自动配置 BSW

在这里插入图片描述

  1. 工具栏切换 ECU Navigat

    在这里插入图片描述

  2. 工具栏切换 Filesystem

在这里插入图片描述

  1. 再次回到 AR Explorer,system-----> open with system editor : Bsw

    在这里插入图片描述

题外话: bsw 工具配置生成的会有缺陷,所以最好还是自己能够手动生成

四、举个例子: 从 CAN 网络学习 Autosar 通信

https://www.bilibili.com/video/BV13p4y1G7yR?p=7&spm_id_from=pageDriver&vd_source=7fdcef3abedeb8d7c5209abe0ef60535

(5月6日,先看到这里)

啊,看不懂…以后再看吧

五、ECU的休眠与启动、

Ecum 分为以下5个方面:

在这里插入图片描述

Ecum 状态机

在这里插入图片描述

Ecu 的整个启动流程:

在这里插入图片描述

(有空再看看吧)

五、存储栈

一些缩略词了解一下:

在这里插入图片描述

先说说 Nvm 模块, 为了把ROM 和 RAM 的优点结合,Autosar 诞生了此模块

ROM: 只读,掉电不丢失,速度慢, 常见: EPROM,EEPROM,PROM

RAM: 随机存储,掉电丢失,速度快,贵 , 常见: SRAM(静态), DRAM(动态),DDR SDRAM,NAND flash ,NOR flash

FEE: 将 FLASH 转化为虚拟地址提供个NVM 使用

整个Flash模块的配置放在 mcal 里进行配置,不放在 Nvm 里进行配置

六、Autosar 关于模式的配置

先来看看 BSWM 模块在 Autosar 中的位置:

在这里插入图片描述

BSWM:

Autosar BSW 层中负责管理各模块状态协调管理与动作执行的模式管理中心,BSWM 汇聚来自应用层与 BSW 层的模式信息,触发预定动作的执行,实现对软件的中心调度。

模式通知的方式;

  1. 通过 RTE 发起模式转换通知
  2. 通过 BWS层各模块的服务函数直接通知

动作执行方式:

  1. 通过BSW 层或者 ASW 层服务函数
  2. 通过回调函数

(有空再看看)

七、 OS

Autosar OS 的角色存在??

目的:

需要一个可配置的计算和存储资源管理的角色,使得软件开发人员专注于应用软件的开发

OS 基本需求:

任务调度

事件响应

任务抢占,实时性保障

上下文切换的现场保护与恢复

内存管理

共享资源的安全访问机制

了解一下啥是 SC1 SC2 SC3 SC4

SC1:OSEK OS

SC2: OSEK OS + Timing Protection

SC3: OSEK OS + Memory Protection

SC4: OSEK OS + Timing Protection + Memory Protection

Autosar Os 基本组成:

Alarm功能
Application定时闹钟,Alarm 提供一种在复杂系统下进行系统调度的方式
Application Modes应用,可根据安全被设置可信或者不可信应用,从属于一个CPU 核心,可以引用Counter,ISR,Task,Schedule Table
Counter计数器,作为基础计数参数,是驱动OS状态机的累加器,分为软件计数器和硬件计数器两种
Event事件,可以向任务内的传递信号,在运行时提供异步处理机制
Isr中断服务函数
Resource资源,Autosar 提供的一种在不同优先级任务间或任务与中断间安全共享数据的方式
Schedule Table调度表,按照基点与偏移点依次调度一系列任务的方式
Spinlocks旋锁,旋锁是一种对共享存储的读写访问机制
Tasks任务,按照一定周期或机制被调度运行的函数

如何设计一个最小的 Autosar OS:

在这里插入图片描述

这里用到一个工具 RTA-OS

(啊啊啊啊啊,有时间再更新)

<think>好的,我现在要解决用户的问题:Autosar Classic Platform (CP)如何集成Data Distribution Service (DDS)。首先,我需要了解Autosar CP和DDS的基本概念以及它们各自的架构特点。 根据用户提供的引用[^1],DDS使用以数据为中心的发布-订阅模型,而Ara::com是基于面向服务的架构,两者在体系结构上有明显差异。Autosar CP主要使用基于信号的通信,比如CAN总线,而DDS更适合复杂的数据分发场景,如自动驾驶系统。这意味着在集成时需要考虑两种不同通信模型的兼容性。 接下来,我需要查证Autosar CP是否官方支持DDS。根据现有的资料,Autosar Classic Platform传统上并不直接支持DDS,因为其设计初衷是用于硬实时和低延迟的嵌入式系统,通常使用静态配置的通信方式。而DDS的动态发布-订阅模型可能需要中间件或适配层来实现集成。 可能的集成方法包括使用桥接器或网关,将DDS的数据转换为Autosar CP能够处理的信号。此外,Autosar Adaptive Platform(AP)是支持DDS的,但用户询问的是CP,所以可能需要探讨如何在CP中实现类似功能。另外,第三方解决方案或定制化中间件可能也是选项之一。 还需要考虑集成中的挑战,比如实时性要求、资源限制以及通信协议的转换效率。例如,DDS的QoS策略如何映射到CP的通信机制,如何保证数据的一致性和时效性。 最后,总结可行的集成方案,并指出相关的应用场景和潜在问题,比如在自动驾驶中需要高可靠性的数据分发时,如何通过桥接或中间件实现CP与DDS的协同工作。</think>### Autosar CP与DDS集成方法分析 Autosar Classic Platform(CP)主要面向硬实时、高可靠性的嵌入式系统,采用基于信号的静态通信机制(如CAN、LIN等)[^1]。而Data Distribution Service(DDS)是基于发布-订阅模型的数据分发中间件,适用于动态、高吞吐量的分布式系统(如自动驾驶、工业物联网)。两者在通信模型和适用场景上存在显著差异,因此集成需通过特定方法实现。 #### 1. **架构适配需求** - **Autosar CP的局限性**:CP的通信抽象层(COM模块)基于信号-触发的静态配置,缺乏DDS的动态主题发现与QoS管理能力。 - **DDS的核心特性**:支持动态节点发现、数据过滤、延迟优化等QoS策略,例如: $$ \text{QoS策略} \in \{\text{可靠性}, \text{时效性}, \text{历史数据缓存}\} $$ - **集成目标**:需在CP的静态框架中兼容DDS的动态通信模式。 #### 2. **实现路径** - **中间件桥接方案**: 1. **协议转换层**:开发适配器将DDS主题(Topic)映射为CP的PDU(协议数据单元),例如: ```c /* 伪代码示例:DDS消息转CAN信号 */ void dds_to_autosar_adapter(DDSMessage dds_msg) { CanPdu pdu; pdu.signal_A = dds_msg.value * 10; // 数据格式转换 Com_SendSignal(pdu); // 调用Autosar COM模块接口 } ``` 2. **QoS策略映射**:将DDS的可靠性等级(如`RELIABLE`)映射为CP的冗余通信配置。 - **混合架构扩展**: - 在CP中引入**DDS轻量化代理模块**,仅实现核心发布-订阅功能,例如使用开源实现(如Cyclone DDS的嵌入式版本)。 - 通过**AUTOSAR RTE**(运行时环境)封装DDS接口,实现服务化调用。 #### 3. **典型应用场景** - **自动驾驶传感器融合**:DDS用于跨ECU的高带宽数据传输(如摄像头点云),CP处理实时控制信号。 - **挑战与限制**: - **资源占用**:DDS中间件可能增加内存消耗(约50-100KB RAM),需优化裁剪。 - **实时性**:DDS的QoS配置需与CP的任务调度周期匹配,避免优先级反转。 #### 4. **工具链支持** - **Vector DDS Gateway**:商业工具,支持DDS与AUTOSAR CP的PDU双向转换。 - **Eclipse Cyclone DDS**:开源实现,可定制为嵌入式版本集成到CP中。 ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值