Autosar PRport 在Simulink中的使用

本文介绍了如何在Simulink中使用PR-ports(提供/要求端口)代替SenderReceiver接口,以处理具有存储需求的Autosar模型。通过实例展示了如何配置接口,生成代码,并说明了其对减少RTEPort的影响。
摘要由CSDN通过智能技术生成

前言

在之前使用Simulink开发Autosar模型时,大部分使用的RTE接口都是Sender or Receiver接口。但如果是对于那些具有存储需求的接口来说,一个sender接口需要有另外一个receiver接口来对应,会导致接口数量增加。其实,在Autosar定义中有这种需求的对应处理,即定义为PR-ports(Provide Require Ports需求提供端口)。本文介绍Simulink中定义该类型的接口及使用。

模型及Autosar接口配置

Autosar接口

建立Interface
image
建立SenderReceiverPorts

image

模型接口

建立一个Input,mapping到刚刚建立好的Autosar RTE接口上
image
建立一个Output,同样mapping到刚刚建立的Autosar RTE接口上
image
此处我们只使用了一个PR-Port,实现了输入输出的两个接口

简单处理Runnable中的逻辑,将输入加1,传递给输出。(demo演示用)

生成代码分析

主函数调用了Read接口和Write接口(此处为Explicit类型),对应了一个RTE Port


/* Model step function for TID1 */
void RunnableTest_10ms(void)           /* Explicit Task: RunnableTest_10ms */
{
  uint8 rtb_TmpSignalConversionAtReceiv;

  /* RootInportFunctionCallGenerator generated from: '<Root>/RunnableTest_10ms' incorporates:
   *  SubSystem: '<Root>/RunnableTest_10ms_call'
   */
  /* SignalConversion generated from: '<S1>/ReceiverPort' incorporates:
   *  Inport: '<Root>/ReceiverPort'
   */
  (void)Rte_Read_PRportTest_Val(&rtb_TmpSignalConversionAtReceiv);

  /* Outport: '<Root>/SenderPort' incorporates:
   *  Constant: '<S1>/Constant'
   *  Sum: '<S1>/Sum'
   */
  (void)Rte_Write_PRportTest_Val((uint8)(rtb_TmpSignalConversionAtReceiv + 1U));

  /* End of Outputs for RootInportFunctionCallGenerator generated from: '<Root>/RunnableTest_10ms' */
}

Simulink生成的模板RTE(Rte_xx.h)文件定义如下:


/* Data access functions */
#define Rte_Read_PRportTest_Val        Rte_Read_RTERunnable_PRportTest_Val

Std_ReturnType Rte_Read_PRportTest_Val(UInt8* u);

#define Rte_Write_PRportTest_Val       Rte_Write_RTERunnable_PRportTest_Val

Std_ReturnType Rte_Write_PRportTest_Val(UInt8 u);

此处Interface都对应的PRportTest

在Autosar工具中查看生成的Arxml文件:
image
image
之后通过Autosar工具将RTE接口map到相对应的PR-port即可。

总结

使用PR-port不会减少应用层的输入输出端口个数,只是减少了一个RTE Port。但看起来会更加直观一些。

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: AutosarSimulink都是在汽车行业广泛使用的工具。Autosar是一种标准的汽车电子系统架构,可以用于实现控制单元之间的通信。而Simulink则是一个用于建立和模拟动态系统的工具。 Autosar Simulink是指将两者相结合使用Autosar架构的控制单元和Simulink模型可以相互通信,从而实现算法设计和软件开发的无缝集成。 具体来说,使用Autosar Simulink可以在Simulink创建算法模型,并将其转换为Autosar软件构件,从而实现对汽车电子系统的控制。使用Autosar Simulink还可以在代码生成时轻松地进行Autosar标准的校验和验证。 另外值得一提的是,使用Autosar Simulink还可以轻松实现算法的再使用,可以快速创建新的应用程序,并在多个平台之间进行移植和共享。 总之,Autosar Simulink是一种可靠的汽车电子开发工具,可以帮助工程师更快地设计和培训汽车控制单元。 ### 回答2: AutosarAutomotive Open System Architecture)是汽车行业的一种标准化软件架构。它旨在使各种不同供应商开发的软件能够在不同汽车电子平台上互相协作。Simulink是MATLAB公司MathWorks开发的一种用于建模和仿真动态系统的工具,特别适用于电气/电子系统设计。 AutosarSimulink的结合,称为Autosar SimulinkAutosar Simulink的主要目的是绕过手动创建Autosar体系结构所需的繁琐和复杂的工作,并将其自动化。Autosar Simulink模型可以与现有的Simulink模型集成,可以自动生成Autosar的软件构造(如ECU软件)、通信和运行时环境(RTE)的模型。因此,Autosar Simulink可以提高开发效率和质量,同时减少错误风险,同时将SimulinkAutosar领域的专业知识结合起来,使工程师可以更容易地进行开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赞哥哥s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值