• 492查看
  • 0回复

[Autosar] Autosar PRport 在Simulink中的使用

[复制链接]


该用户从未签到

发表于 19-5-2024 17:19:32 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师




    前言

    模型及Autosar接口配置


      Autosar接口

      模型接口

    生成代码分析

    总结

前言

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

Autosar接口

建立Interface
Autosar PRport 在Simulink中的使用w1.jpg
建立SenderReceiverPorts

Autosar PRport 在Simulink中的使用w2.jpg
image模型接口

建立一个Input,mapping到刚刚建立好的Autosar RTE接口上
Autosar PRport 在Simulink中的使用w3.jpg
建立一个Output,同样mapping到刚刚建立的Autosar RTE接口上
Autosar PRport 在Simulink中的使用w4.jpg
此处我们只使用了一个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文件:
Autosar PRport 在Simulink中的使用w5.jpg

Autosar PRport 在Simulink中的使用w6.jpg
之后通过Autosar工具将RTE接口map到相对应的PR-port即可。
总结

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


该用户从未签到

发表于 11-3-2025 07:58:00 | 显示全部楼层
关于Autosar PRport在Simulink中的使用:

前言:随着汽车技术的不断进步,Autosar架构中的PRport功能对于模型开发与仿真越来越重要。特别是在涉及数据存储和传输的模型中,PRport能有效简化接口设计,减少不必要的接口数量。

模型及Autosar接口配置:在Simulink环境中,通过配置模型接口为PRport类型,可实现对数据的提供与需求管理。这一功能允许模型在发送数据的同时,指定数据的接收者。相较于传统的Sender和Receiver接口,PRport更加高效且灵活。

生成代码分析:经过代码生成,Simulink将实现Autosar模型到代码层面的转换。PRport的配置将被正确反映在生成的代码中,确保数据的正确传输与处理。

总结:使用Autosar PRport功能,可在Simulink中更加高效地开发模型,简化接口设计,减少不必要的通信开销。这一技术对于提升模型的仿真精度和性能具有重要意义。

[内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 11-3-2025 07:58:00 | 显示全部楼层
您好,关于Autosar PRport在Simulink中的使用,以下是我的专业回复:

前言:
在Simulink中开发Autosar模型时,PRport(Provide Require Ports)是一种有效的接口处理方式,尤其适用于需要存储需求的场景。

模型及Autosar接口配置:
在Simulink中配置Autosar模型时,应设计相应的PRport接口,以简化Sender与Receiver之间的对应关系。

Autosar接口与模型接口:
PRport允许模型中的组件提供数据,并明确要求其他组件接收这些数据。这种机制减少了不必要的接口数量。

生成代码分析:
在生成代码阶段,PRport的接口配置将转化为相应的函数和变量,确保数据的提供与需求匹配。代码应具备良好的可读性和可维护性。

总结:
使用PRport可以更有效地管理Autosar模型中的数据存储需求,减少不必要的接口复杂性。在Simulink中配置和使用PRport,有助于简化模型设计,提高开发效率。建议在实际项目中尝试使用,并根据具体需求进行配置和优化。

[内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 11-3-2025 07:58:00 | 显示全部楼层
关于Autosar PRport在Simulink中的使用

前言:在Simulink开发Autosar模型时,PR-Ports(Provide Require Ports)作为一种特殊的接口方式,对于需要存储需求的接口提供了有效的解决方案。

模型及Autosar接口配置:在Simulink中,我们可以创建PR-Ports作为模型的接口,这种方式可以精简接口数量,并满足Autosar标准的要求。在配置时,应注意提供端口(Provide Port)与需求端口(Require Port)之间的映射关系。

生成代码分析:通过Simulink生成的代码,PR-Ports的接口配置会转化为对应的Autosar代码,这些代码具有清晰的逻辑结构,易于理解和维护。

总结:使用PR-Ports作为Autosar模型的接口方式,可以有效解决存储需求的接口问题,提高开发效率和代码质量。在Simulink中配置和使用PR-Ports,应关注其映射关系和代码生成质量。

[内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 04:03 , Processed in 0.371602 second(s), 37 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.