主要内容

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

通过实现行为算法、模拟组件和组合以及生成组件代码来开发AUTOSAR组件。

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

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

此示例使用名为AUTOSAR软件组合的S金宝appimulink表示形式autosar_composition这款车模拟了一个油门位置控制系统。该组合包含六个相互连接的AUTOSAR软件组件——四个传感器/执行器组件和两个应用程序组件。

打开组合模型autosar_composition

open_system (“autosar_composition”);

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

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

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

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

复合模型具有用于油门踏板传感器和两个油门传感器的根输入,以及用于油门硬件的命令的根输出。该组合要求传感器输入值已经归一化到模拟/数字转换器(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软件组件的初始S金宝appimulink表示之后,您可以通过细化AUTOSAR配置和创建算法模型内容来开发组件。

要开发AUTOSAR组件算法,请打开每个组件并提供实现组件行为的Simulink内容。金宝app例如,考虑autosar_swc_controller组件模型中的autosar_composition模型。类的初始表示形式金宝appautosar_swc_controller组件可能包含控制器行为的初始存根实现。

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

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

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

中的监视器组件模型autosar_composition模型实现了选择向控制器组件提供哪个TPS信号的逻辑。类的初始表示形式金宝appautosar_swc_monitor组件可能包含监视器行为的初始存根实现。

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

模拟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 Coder和Embedded Coder软金宝app件,则可以生成ARXML组件描述文件和算法C代码,以便在Simulink中进行测试或集成到AUTOSAR运行时环境中。

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

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

AUTOSAR系统级仿真的备选方案

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

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

  • 创建一个包含组件、调度器、工厂模型,以及潜在的基本软件服务组件和调用者的测试装置。使用测试工具来执行开环或闭环系统模拟。

有关使用Simulink Test的开环模拟示例,请参见金宝app测试AUTOSAR合成(金宝app仿真软件测试).该示例为AUTOSAR组合模型执行背靠背测试。

以闭环仿真为例,以开放模型为例autosar_system.该模型为AUTOSAR组合模型提供了一个系统级测试工具autosar_composition

open_system (“autosar_system”);

系统级模型的目标autosar_system正在执行系统级仿真的工厂和控制器部分的汽车油门位置控制系统。系统级模型结合了组合模型autosar_composition在一个闭环系统中,使用物理加速踏板和油门装置的块表示。该模型从踏板和油门装置块获取输出值,将值转换为模拟/数字转换器(ADC)范围,并将值作为组合的输入。系统模型还采用组合物生成的油门命令HWIO值,并将其转换为油门装置块可接受的输入值。系统级油门位置示波器显示油门踏板传感器输入值与油门位置传感器输入值之间的关系。

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

simOutSystem = sim(“autosar_system”);

相关链接