主要内容

设计和模拟AUTOSAR组件并生成代码

开发AUTOSAR组件,实现行为算法,模拟组件和组件,并生成组件代码。

从AUTOSAR组件的金宝appSimulink表示开始

要在Simulink®中开发AUTOSAR组件,首先要创建AUTO金宝appSAR软件组件的Simulink表示。AUTOSAR组件的创建可以从ARXML组件描述或现有的Simulink设计开始。

这个例子使用了一个名为AUTOSAR的软金宝app件组合的Simulink表示autosar_composition,它模拟了一个节气门位置控制系统。该组件包含六个相互连接的AUTOSAR软件组件——四个传感器/驱动器组件和两个应用组件。

打开组合模型autosar_composition

open_system (“autosar_composition”);

组件模型之间的信号线表示AUTOSAR组装连接器。组件模型与数据导入和输出端口之间的信号线代表AUTOSAR委托连接器。

在组合模型中,组件模型可以是基于费率的、基于函数调用的,或者两者的混合。该组合包含基于速率的组件模型。在每个组件模型中,原子子系统模型AUTOSAR周期性运行。为了允许在与导出函数相同的基础上调度基于费率的可运行任务,组件模型使用Model块选项进度率.此选项为基于速率的模型显示模型周期事件端口。

节气门位置控制组成功能概述

构成模型的目标autosar_composition是根据油门踏板的输入和油门的反馈来控制汽车油门。在该组件内部,控制器组件从油门踏板位置(APP)传感器和两个油门位置传感器(tss)获取输入值。然后控制器将这些值转换为节气门执行器的输入值。节气门执行器产生一个硬件命令,调整节气门的位置。

该组合模型有一个加速器踏板传感器和两个油门传感器的根入口,以及一个油门硬件命令的根出口。该组合要求传感器输入值到达已经归一化到模拟/数字转换器(ADC)范围。组成组件有三个传感器、一个监视器、一个控制器和一个执行器。

  • 传感器组件模型autosar_swc_pedal_sensor从组合导入中获取APP传感器HWIO值,并将其转换为APP传感器百分比值。

  • 传感器组件模型的主要和次要实例autosar_swc_throttle_sensor从合成导入中获取TPS HWIO值,并将它们转换为TPS百分比值。

  • 应用程序组件模型autosar_swc_monitor决定将哪个TPS信号传递给控制器。

  • 应用程序组件模型autosar_swc_controller从踏板传感器获取APP传感器百分比值,并从TPS监视器获取TPS百分比值。根据这些值,控制器计算提供给油门执行器的油门指令百分比值。

  • 致动器组件模型autosar_swc_actuator获取由控制器提供的节流命令百分比值,并将其转换为节流命令HWIO值。

开发AUTOSAR分量算法

创建一个或多个AUTOSAR软件组件的初始Si金宝appmulink表示后,可以通过优化AUTOSAR配置和创建算法模型内容来开发组件。

要开发AUTOSAR组件算法,请打开每个组件并提供实现组件行为的Simulink内容。金宝app例如,考虑autosar_swc_controller组件模型中的autosar_composition模型。当第一次导入或在Simulink中创建时,金宝appautosar_swc_controller组件可能包含控制器行为的初始存根实现。

组件模型autosar_swc_controller提供节气门位置控制器行为的此实现。该组件将来自踏板位置传感器的APP传感器百分比值和节气门位置传感器监视器提供的TPS百分比值作为输入。根据这些值,控制器计算错误,这是汽车驾驶员根据踏板传感器想要节气门的位置与当前节气门位置之间的区别。一个离散PID控制器块使用错误值来计算一个油门命令百分比值,以提供给一个油门执行器。一个范围显示错误值和离散PID控制器块输出值随时间的变化。

传感器和执行器组件型号在autosar_composition模型使用查找表来实现它们的值转换。例如,考虑autosar_swc_actuator组件模型。首次在Simulink中导入或创建时,组件的初始表示形式金宝appautosar_swc_actuator组件可能包含执行器行为的初始存根实现。

组件模型autosar_swc_actuator提供油门位置执行器行为的此实现。组件获取控制器提供的油门命令百分比值,并将其转换为油门命令HWIO值。硬件桥接命令查找表生成输出值。

中的监控组件模型autosar_composition模型实现了选择向控制器组件提供哪个TPS信号的逻辑。当第一次导入或在Simulink中创建时,金宝appautosar_swc_monitor组件可能包含监视行为的初始存根实现。

组件模型autosar_swc_monitor提供节气门位置监视行为的此实现。该组件从主和副节气门位置传感器获取TPS百分比值,并决定将哪个TPS信号传递给控制器。开关块根据传感器选择逻辑决定通过哪个值。

模拟AUTOSAR组件和组成

在开发AUTOSAR组件时,可以单独模拟组件模型,也可以在包含的组件中以组的形式模拟组件模型。

模拟实现控制器组件模型。

open_system (“autosar_swc_controller”); simOutComponent=sim(“autosar_swc_controller”);close_system (“autosar_swc_controller”);

模拟autosar_composition模型。

simOutComposition=sim(“autosar_composition”);

生成AUTOSAR组件代码(嵌入式编码器)

在开发每个AUTOSAR组件时,如果您有Simulink编码器和嵌入式编码器软件,则可以生成ARXML金宝app组件描述文件和算法代码,以便在Simulink中进行测试或集成到AUTOSAR运行时环境中。

例如,构建已实现的autosar_swc_controller组件模型,打开模型。新闻Ctrl+B或输入MATLAB命令slbuild(“autosar_swc_controller”)

模型构建导出ARXML描述,生成符合autosar的C代码,并打开描述生成文件的HTML代码生成报告。在报告中,您可以检查生成的文件,并单击超链接以在组件模型中生成的代码和源块之间导航。

AUTOSAR系统级仿真的替代方案

在开发AUTOSAR组件和组合之后,可以在系统级模拟中测试属于一起的组件组。您可以:

  • 在组合中组合组件进行模拟。

  • 使用组件、调度器、工厂模型以及可能的基本软件服务组件和调用者创建测试线束。使用测试线束执行开环或闭环系统模拟。

有关使用Simulink测试的开环模拟示例,请参阅金宝app测试AUTOSAR成分(金宝app仿真软件测试).本例对AUTOSAR组合模型进行了连续测试。

对于闭环仿真的示例,请使用开放示例模型autosar_system.该模型为AUTOSAR组合模型提供了一个系统级测试工具autosar_composition

open_system (“autosar_system”);

系统级模型的目标autosar_system正在对汽车油门位置控制系统的工厂和控制器部分进行系统级仿真。系统级模型结合了组合模型autosar_composition用块表示的物理加速器踏板和油门装置在一个闭环系统。该模型从踏板和油门装置块的输出值,将值转换为模拟/数字转换器(ADC)范围,并提供的值作为输入到组成。该系统模型还接受由组合生成的节流命令HWIO值,并将其转换为节流设备块的可接受输入值。系统级节气门位置范围显示油门踏板传感器输入值与节气门位置传感器输入值随时间变化。

如果您模拟系统级模型,节气门位置范围将显示节气门组成模型中的节气门位置控制算法对油门踏板输入的跟踪情况。您可以修改系统以改进组成行为。例如,您可以修改组件算法以使油门踏板和油门位置值更接近,或者您可以更改传感器源。

simOutSystem = sim卡(“autosar_system”);

相关链接