您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



文章 咨询 工具 课程  
会员   
   
LLM大模型与智能体开发实战
2026年1月17、24日 北京+线上
需求分析与管理
2026年1月22-23日 北京+线上
UAF与企业架构
2026年2月3-4日 北京+线上
     
   
 订阅
动力域控制器开发利器_AP Autosar+Simulink
 
作者:行知奕 
  211   次浏览      7 次
 2026-1-12
 
编辑推荐:
本文主要介绍了动力域控制器开发利器_AP Autosar+Simulink相关内容。希望对您的学习有所帮助。
本文来自于微信公众号新能源控制系统及MBD开发 ,由火龙果软件Alice编辑、推荐。

本文给大家讲解一些高端内容,域控制器的相关开发及控制,将域控制器,就绕不开AP Autosar ,绕不开Simulink, 如果把原来在TC3xx上的模型,迁移到AP Autosar上,就成为大家的一致难题。本文就一起给大家唠唠AP Autosar的那些事!

一:动力域控制器概述

之前的文章,讲解目前三电领域比较常用的CP Autosar如何与Simulink进行建模的耦合,但随着域控制器的发展,动力域控也逐渐向集中式发展,如下图所示:

从单个分布式控制,到集中式一体控制,BMS与MCU的控制算法逐步会部署到VCU,而我们目前的BMS/MCU会逐步变成采集终端与控制终端。

而终端控制多数以大算力芯片为主,而大算力芯片,运行都是Linux, QNX为主。在此类系统上,目前多数都是部署AP Autosar,而AP Autosar 里面的进程,是从哪里来的呢?目前可以用Simullink进行生成,并进行联合部署,优化!如下图所示:

目前根据项目的经验,目前域控制中,已经完成部署在域控制器中功能如下所示,同时各个厂家都在以老鼠搬家的模式,把电机,电池相关控制逻辑逐步的迁移到动力域空气中。

1:动力系统管理(集成部分电机/发动机/变速箱控制)

  • 扭矩分配与控制

            根据驾驶需求和车辆状态,动态分配发动机、电动机或混合动力系统的扭矩输出,优化动力性能。

  • 变速器管理

            控制变速器的换挡逻辑,确保换挡平顺性和动力传递效率,同时支持多种驾驶模式(如经济模式、运动模式)。

  • 引擎与电机控制

              精确控制内燃机的点火、喷油和气门正时,或电动机的电流、电压和转速,提升动力响应和能效。

2:能量管理与优化(集成部分BMS/热管理控制)

  • 电池管理系统(BMS)

             监控电池状态(如SOC、SOH),管理电池充放电过程,延长电池寿命,确保电池安全。

  • 能量回收与再生制动

            在制动或减速过程中,回收能量并存储到电池中,提升能源利用效率。

  • 热管理系统

            控制发动机、电动机、电池和电子元件的冷却与加热,确保系统在最佳温度范围内运行。

3:故障诊断与安全(三电系统故障诊断统一化)

  • 电气智能故障诊断

            实时监测动力系统的运行状态,及时发现并诊断故障,提供故障预警和保护措施。

  • 功能安全(ISO 26262)

            确保动力域控制器在发生故障时仍能维持车辆的基本功能,防止事故发生,满足ASIL-C或ASIL-D安全等级要求。

4:通信与网关功能(与其它域的通讯控制)

  • 总线通信

            支持CAN、CAN-FD、Gigabit Ethernet等通信协议,实现动力域控制器与其他域控制器(如底盘域、座舱域)之间的数据交互。

  • 信息安全

             提供数据加密和安全通信机制,防止黑客攻击和数据泄露,确保车辆网络安全。

            软件在线更新(执行端A/B备份SOTA)

  • 远程升级

             支持动力域控制器的软件远程升级,修复漏洞、优化性能或增加新功能,延长产品生命周期。

5:驾驶策略与模式管理(集成部分四驱功能)

  • 驾驶模式切换

             根据驾驶员的选择(如经济模式、运动模式、雪地模式),调整动力系统的响应特性和能量分配策略。

  • 预判驾驶策略

             通过分析驾驶行为和路况信息,提前调整动力输出,提升驾驶体验和能效。

二:AP Autosar概述

因对大家对CP Autosar 都比较熟悉,故我们就用对比的手法,进行讲解啥是AP Autosar?

1:架构对比

  • CP (Classic Platform): 有明显的分层结构,模块之间存在上下层关系。

  • AP (Adaptive Platform): 分为Foundation和Service两部分,这两部分内部没有上下层关系,而是基于服务(SOA)进行交互。

2:运行平台对比:

  • CP: 芯片算力一般低于1000DMIPs。

  • AP: 芯片算力高于20000DMIPs。

  • CP: 运行在8bit、16bit、32bit的微控制器(MCU)中,如英飞凌的TC3xx,瑞萨的RH850等。

  • AP: 运行在64bit的高性能处理器(MPU)、CPU等中,如瑞萨的H3,英伟达的Xavier等,也可运行在虚拟硬件上。

3:操作系统对比:

  • CP OS: 硬实时OS。

  • AP OS: 软实时OS。

  • CP OS: 使用OSEK OS标准,由CP AUTOSAR供应商开发,如EB、VECTOR等。

  • AP OS: 使用POSIX OS标准,由专门的OS厂商开发,如eSOL的eMCOS、黑莓的QNX等。

4:软件架构设计对比:

  • CP: 将与硬件相关的及通用系统功能定义为BSW模块,应用功能定义为独立的软件组件(SWC),SWC与BSW分离,BSW可配置且可重复使用,不开源。

  • AP: 遵循面向服务的架构(SOA)设计范式,重用软件市场成熟组件,缩短开发周期,充分利用各种开源软件。

三:AP 开发的方法论

AP(Adaptive Platform,自适应平台)开发的核心方法论围绕模块化设计、面向服务的架构(SOA)、持续验证与迭代展开,旨在构建高灵活性、可扩展且符合AUTOSAR标准的汽车电子系统。以下是其核心方法论的详细说明,综述如下图所示:

1. 模块化与组件化设计

核心原则:

将系统拆分为独立的、可复用的软件组件(SWC),每个组件负责单一功能(如电机控制、电池管理),并通过标准接口与其他组件交互。

类比:

像乐高积木一样,每个组件(积木块)可独立开发、测试,并通过接口(积木接口)组合成完整系统。

优势:

降低开发复杂度,提升组件复用性,便于后续功能扩展或维护。

2. 面向服务的架构(SOA)

核心原则:

通过服务接口(Service Interface)实现组件间通信,支持动态发现、调用和组合服务,提升系统的灵活性和可扩展性。

示例:

电机控制服务通过SOME/IP接口调用电池管理服务的GetBatterySOC方法,获取电池电量信息。

关键概念:

服务提供者(Provider):实现服务功能(如电池状态查询)。

服务消费者(Consumer):调用服务(如电机控制请求电池状态)。

服务接口定义:使用ARXML(AUTOSAR XML)定义服务接口(如SOME/IP的Service ID、Method ID)。

3. 持续验证与迭代开发

核心原则:

通过模型在环(MIL)、软件在环(SIL)、硬件在环(HIL)测试,持续验证系统功能、性能和安全性,确保符合AP AUTOSAR标准。

工具支持:

  • MIL测试:Simulink Test、dSPACE SystemDesk。

  • SIL测试:vsomeip、FastDDS模拟环境。

  • HIL测试:NI VeriStand、ETAS LA9。

关键流程:

  • 需求分析:明确系统需求(如功能安全ASIL-D、通信时延<10ms)。

  • 模型开发:使用Simulink等工具开发功能模型,并生成ARXML接口定义。

  • 代码生成:通过Embedded Coder生成符合AP AUTOSAR C++14/17标准的代码。

  • 仿真测试:在MIL/SIL/HIL环境中验证系统功能,生成覆盖率报告(如语句覆盖率≥90%)。

  • 部署与集成:将代码部署到AP AUTOSAR平台,验证服务间通信和时序。

4. 标准化与接口定义

核心原则:

严格遵循AP AUTOSAR标准,使用ARXML定义系统架构、组件接口和服务通信,确保系统兼容性和互操作性

示例:

在ARXML中定义电机控制服务的SOME/IP接口,明确SetTorque方法的请求和响应格式。

关键标准:

  • AP AUTOSAR R21-11:定义服务接口、通信协议和执行模型。

  • SOME/IP:用于服务间通信的协议,定义Service ID、Method ID和事件。

  • ARA库:如ara::com(通信)、ara::exec(进程管理),提供标准化接口。

5. 性能优化与资源管理

核心原则:

通过进程模型、调度策略和资源分配,优化系统性能(如响应时间、吞吐量)和资源利用率(如CPU、内存)。

示例:

为电机控制服务分配高优先级进程,确保其在负载突变时仍能快速响应。

关键技术:

  • 进程模型:定义服务的进程名称、资源限制(如CPU亲和性、内存配额)。

  • 调度策略:如实时优先级调度(RTOS)、时间触发调度(TTA)。

  • 资源监控:使用ara::diag监控服务运行时的CPU、内存占用。

6. 团队协作与版本控制

核心原则:

通过版本控制、需求追踪和持续集成(CI),确保团队成员基于统一版本开发,提升协作效率。

示例:

在Git中创建分支开发新功能,通过Merge Request合并到主分支,并触发CI测试。

关键实践:

  • 版本控制:使用Git管理Simulink模型、ARXML文件和代码。

  • 需求追踪:使用Simulink Requirements管理需求,确保功能可追溯至AP AUTOSAR规范。

  • 持续集成(CI):通过Jenkins、GitLab CI自动化测试流程,生成覆盖率报告。

以下是针对AP(Adaptive Platform)应用开发流程的详细扩充版本,结合具体技术细节、工具链支持、最佳实践和验证步骤,为开发者提供可落地的指导框架。

四:AP应用开发流程详解

在Simulink与AP的联合开发验证过程中,需要的工具链及步骤如下所示:

1:服务接口定义与SOA通信配置

目标:基于AP AUTOSAR标准,定义服务接口及通信协议,确保组件间松耦合与动态交互。

步骤:

Step1:服务接口设计

  • 方法(Method):如SetTorque(int torque)

  • 字段(Field):如BatterySOC(只读)

  • 事件组(EventGroup):如TemperatureWarning(事件通知)使用ARXML(AUTOSAR XML)定义服务接口。

  • 示例:

Step2: 通信协议配置

  • Vector DaVinci Configurator:图形化配置ARXML和SOME/IP参数。

  • ETAS ISOLAR-A:验证ARXML是否符合AP AUTOSAR元模型。

  • Service ID:如0x1234

  • Method ID:如0x0001(对应SetTorque)

  • 传输层:TCP/UDP(根据实时性需求)

  • 选择SOME/IP作为通信协议。

Step3: 配置服务发现与路由

  • 配置ara::com的Service Discovery机制,支持动态服务注册与查找。

  • 示例:在Manifest文件中定义服务实例.

2. Simulink建模与端口映射

目标:在Simulink中实现功能模型,并将其端口与AP AUTOSAR接口绑定。

步骤:

Step1:功能建模

  • 电机控制模型:输入为扭矩请求,输出为实际扭矩。

  • 电池管理模型:输入为充放电电流,输出为SOC和温度。

  • 使用Simulink模块(如Stateflow、MATLAB Function)实现逻辑算法。

Step2 : 端口映射

  • 输入端口→ Client接口的Method调用参数

  • 输出端口 → Server接口的Field或Method返回值

  • 使用AUTOSAR Blockset将Simulink端口映射到ARXML定义的接口

Step3 : 操作步骤

  • 在Simulink模型中添加AUTOSAR Interface模块。

  • 选择ARXML文件中的服务接口(如MotorControlService)。

  • 将模型端口(如TorqueRequest)绑定到接口参数(如SetTorque.torque)。

  • 消息建模(可选)示例:BatteryStatus消息包含SOC(uint8)和Temperature(int16)字段。

  • 若需消息通信(如SOME/IP信号),使用AUTOSAR Message模块定义信号格式。

3. Simulink逻辑算法建模

目标:在Simulink中实现核心控制逻辑,确保功能正确性与实时性。

步骤:

Step1: 算法设计

  • 电机扭矩控制:根据目标扭矩和实际扭矩的误差,通过PID调节输出PWM信号。

  • 电池SOC估算:基于安时积分法或卡尔曼滤波。

  • 使用Simulink模块(如PID Controller、Lookup Table)实现控制算法。

Step2: 时序与调度

  • 配置模型采样时间(如10ms),确保与AP AUTOSAR的调度策略对齐。

  • 注意:AP AUTOSAR支持抢占式调度,需避免任务超时。

Step3: 模型验证

  • 通过Model Advisor检查模型是否符合AP AUTOSAR规范(如数据类型、端口命名)。

  • 使用Simulink Test编写测试用例,验证算法逻辑(如扭矩响应时间<50ms)。

4. AP代码配置与生成

目标:配置代码生成选项,生成符合AP AUTOSAR标准的C++代码。

步骤:

Step1: 代码生成配置

  • System target file:autosar_adaptive.tlc

  • Language:C++14/17

  • AUTOSAR:勾选Generate AUTOSAR adaptive components

  • 在Configuration Parameters中设置:

  • 配置ARA库支持(如ara::com、ara::exec)。

Step2: Manifest文件生成

  • 进程名称(如MotorControlProcess)

  • 资源限制(如CPU亲和性、内存配额)

  • 服务实例配置(如MotorControlInstance)

  • 生成Manifest文件(如MotorControl.xml)

Step3: 代码生成与审查

  • 是否包含ARA库的调用(如ara::com::MethodProxy)。

  • 是否符合AP AUTOSAR的C++编码规范(如命名空间、异常处理)。

  • 生成代码后,检查:

5. 生成可执行程序

目标:编译链接生成可在AP AUTOSAR平台上运行的ELF文件。

步骤:

Step1: 交叉编译

  • 使用AP AUTOSAR工具链(如GCC for ARM Cortex-A)编译代码。

  • 示例命令:

Step2: 链接依赖库

  • 确保链接ARA库(如libara_com.so、libara_exec.so)和POSIX库(如libpthread.so)。

Step3: 静态分析

  • 使用工具(如Coverity、Klocwork)检查代码缺陷(如内存泄漏、空指针解引用)。

6. AP应用部署

目标:将可执行程序部署到目标AP AUTOSAR平台,并验证功能。

步骤:

Step1: 部署准备

  • 安装AP AUTOSAR运行时(如ARA库、POSIX PSE51)。

  • 配置网络(如SOME/IP的IP地址和端口)。

  • 准备目标平台(如Renesas R-Car H3、NVIDIA DRIVE AGX)。

Step2: 部署流程

  • 通过SCP或NFS将ELF文件传输到目标设备。

    • 使用部署脚本启动服务。

Step3: 功能验证

  • 服务间通信(如SOME/IP消息是否正确传输)。

  • 实时性(如扭矩控制指令的响应时间)。

  • 故障注入(如模拟电池过压,验证故障处理逻辑)。

  • 使用AP AUTOSAR测试工具(如ETAS LA9、Vector CANoe)验证。

总结

通过以上流程,开发者可系统化地将Simulink模型部署到AP AUTOSAR平台,实现从功能设计到代码生成、部署和验证的全链条开发。其综述如下图所示:

同时需要注意的关键成功因素包括:

  • 严格遵循AP AUTOSAR标准(如ARXML定义、SOME/IP配置)。

  • 充分验证(MIL/SIL/HIL测试覆盖率≥90%)。

  • 工具链整合(如MathWorks与Vector工具的协同)。

  • 此流程适用于汽车电子领域的高安全性、高实时性应用(如自动驾驶、动力总成控制)。

五:AP/Simulink 实战经验分享

1:需求分析对齐问题

明确需求:确定功能需求(如扭矩控制、电池管理)和非功能需求(如功能安全ASIL等级、通信时延)。

示例:若需求为“扭矩控制响应时间<50ms”,需在模型和代码生成中配置采样时间≤10ms。:

2:AP AUTOSAR标准对齐

确保接口定义、通信协议(如SOME/IP)和代码风格符合AP AUTOSAR R21-11或更高版本。

工具:使用ETAS ISOLAR-A验证ARXML文件是否符合元模型。

3:接口映射错误问题

Simulink端口未正确绑定到ARXML接口,导致通信失败。

解决方案:

  • 检查AUTOSAR Interface模块的配置,确保端口名称与ARXML一致。

  • 使用Vector DaVinci Configurator验证ARXML文件。

4:代码生成失败问题

代码生成时出现“未定义的ARA库”错误。

解决方案:

确保在Simulink的Configuration Parameters中正确配置ARA库路径。

检查工具链是否包含ARA库的头文件和链接库。

5:部署后服务未启动问题:

部署后,目标平台上服务进程未运行。

解决方案:

检查Manifest文件中的进程名称和可执行文件路径是否正确。

使用ps命令查看进程是否已启动,或检查日志文件(如/var/log/ara.log)。

备注—工具链与资源推荐:

   
211   次浏览       7 次
相关文章

中央计算的软件定义汽车架构设计
汽车电子控制系统中的软件开发过程
一文读懂汽车芯片-有线通信芯片
OTA在汽车上有哪些难点痛点?
相关文档

汽车设计-汽车的整体结构及动力系统
自动驾驶汽车软件计算框架
SysML在汽车领域的应用实践
电子电气架构-大陆汽车系统架构平台
相关课程

AutoSAR原理与实践
功能安全管理体系(基于ISO26262)
MBSE(基于模型的系统工程)
基于SOA的汽车电子架构设计与开发

最新活动计划
视觉大模型及其应用 1-30[在线]
基于UML+EA进行分析设计 2-3[北京]
需求分析与管理 2-9[北京]
基于模型的数据治理 3-10[北京]
UAF与企业架构 2-3[北京]
ASPICE4.0核心开发过程 3-21[在线]
嵌入式软件测试 3-27[上海]
 
 
最新文章
ASPICE中配置管理是个什么东西?
了解软件安全分析与组件鉴定
掌握Autosar ComStack的精髓!
基于整车功能的正向诊断需求开发
搞定Autosar SWC开发秘籍,码住!
汽车OTA更新的系统性威胁评估
最新课程
基于SOA的汽车电子架构设计与开发
Auto SAR原理与实践
AUTOSAR架构与实践(从CP到 AP )
AUTOSAR架构建模方法与工具(EA)
ASPICE4.0核心开发过程指南
MBSE(基于模型的系统工程)
更多...   
成功案例
某知名车企 AUTOSAR应用设计与开发
吉利汽车 MBSE工程体系汽车建模及评估
某整车企业 《功能需求分析与设计》
富奥汽车零部件 建模工具EA
零跑汽车 建模工具EA及服务
北汽福田 建模工具EA
小鹏汽车 建模工具EA
更多...