Simulink模型架构指导

本文详细介绍了Simulink模型架构的设计指导,包括Simulink和Stateflow的角色,模型结构分层方法,如顶层划分、功能层、调度层、控制层、选择层和数据流层的构建。此外,还探讨了AUTOSAR概念,以及单任务和多任务在嵌入式系统中的应用。文章强调了根据项目需求和团队能力选择Simulink或Stateflow的重要性,并提出了模型分层的最佳实践,以提高模型的可读性和可维护性。
摘要由CSDN通过智能技术生成

Simulink模型架构指导


LICENCE: 本文根据《JMAAB V4.01》部分章节进行翻译和整理,文中只是针对MBD开发方式描述了模型架构的纲要和观念。由于Simulink提供了多种可以满足需求的模块及建模方法,所以很难进行详尽的描述说明,翻译和整理由Tomato一人完成,欢迎探讨,转载时需要保留本段文字

所有的系统都可以使用SimulinkStateflow进行建模。

如果使用Stateflow进行建模,Simulink仅仅作为信号的输入输出和仿真,在Stateflow中可以使用多种公式和方法来替代simulink进行处理。如果只用Simulink,可以通过使用Switch-Case块的方法来替代Stateflow实现复杂的状态变量。

因此,使用Simulink或Stateflow对于特定部分的建模,是主观依据开发人员对于哪种表达方法更为理解。应该根据整体的团队水平来实现如上选择和建模。

在大多数情况下,Stateflow的RAM效率要比Simulink差。因此,Simulink在使用简单公式的计算中具有优势。除此之外,Simulink在使用简单的触发和切换系统中,对于状态变量的使用也更具有优势。当使用Stateflow所建的模型可以用Simulink进行替代建模时,需要考虑如下因素进而做出决定:

  • 确保静态RAM足够大,以保证Stateflow 的输入输出以及内部变量的正确运行。
  • 当使用内部通用计算公式时,要设计防溢出的保护。
  • 当外部计算完成时,需要对整体进行分块,以降低这个模块的理解难度。

在一些情况下,Stateflow能够比Simulink进行更接近于C语言的表达方法,但是这样的模型没有很好的外观状态,并不是很容易理解。在这些情况下,使用S-Function会更有利。

Stateflow 可以计算特定的状态安排,或进行for-loop的计算,在这些层面上要比Simulink更有效率,但是近些年来,使用Matlab语言进行如上计算,也变得更有效率一些。

当使用Simulink进行建模时,如果处理如下所述的状态,则可通过使用Stateflow来改善可读性。

  1. 同一个输入有不同的输出值
  2. 多个状态存在 (例如3个及更多)
  3. 对于定义的一个状态的意义,不是无限的值而是一个离散的数值。
  4. 在状态内部,要求初始化(首次执行)和后面的 执行状态期间有所不同。
  5. 除了状态变量,输入和输出变量是可以被可视化的信号.

举个例子,在触发器电路中,不同的输出对应于同一个输入。而且ÿ

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值