没有合适的资源?快使用搜索试试~ 我知道了~
首页Simulink模型架构指导
Simulink模型架构指导
195 浏览量
更新于2023-05-22
评论 1
收藏 594KB PDF 举报
所有的系统都可以使用Simulink或Stateflow进行建模。如果使用Stateflow进行建模,Simulink仅仅作为信号的输入输出和仿真,在Stateflow中可以使用多种公式和方法来替代simulink进行处理。如果只用Simulink,可以通过使用Switch-Case块的方法来替代Stateflow实现复杂的状态变量。因此,使用Simulink或Stateflow对于特定部分的建模,是主观依据开发人员对于哪种表达方法更为理解。应该根据整体的团队水平来实现如上选择和建模。在大多数情况下,Stateflow的RAM效率要比Simulink差。因此,Simulink在使用简单公式的计
资源详情
资源评论
资源推荐

Simulink模型架构指导模型架构指导
1. Simulink 和 Stateflow的角色
所有的系统都可以使用Simulink或Stateflow进行建模。
如果使用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.除了状态变量,输入和输出变量是可以被可视化的信号.
举个例子,在触发器电路中,不同的输出对应于同一个输入。而且,状态变量的值被限定在0和1。 然而,在输入输出都为0或
1的情况下,仍可以有无限多的状态分类。此外,在状态进入和执行两个动作间没有区别。换句话说,上诉几条中仅仅符合第
一条,所以这时候应该使用Simulink进行建模。
关于采用Simulink还是Stateflow进行建模可以和几个人进行沟通协商,并最终取决于需要解决的实际问题。 Stateflow中是采
用状态转换还是 流程图函数也需要进行考虑和决定,例如需要 定夺 使用 状态的转换和条件分支来 替代 使用状态的流程图函
数。真值表也被分类为使用条件分支当中的方法。
此外,当使用Stateflow进行如上设计时,需要依据经典的模型样式进行设计,以便于能够更好的生成嵌入式代码。
Stateflow支持生成HDL代码。在实现HDL编码器时,应使用Mealy和Moore模式。此外,当需要对内部泄漏进行保护时,
Moore 模式更适合。
需要注意,本指南不是针对HDL代码生成。
2. 模型结构分层
如下示例了模型分层中分割和布局的观念,可作为开发中的参考。这并不是一个明确的规则,但这是一个建模的基础方法。
2.1 层的类型
搭建层的方法
如果主要目的为调整一层的空间排布,则应尽量避免打包到子系统如下为层次的概念,子系统需要依据此描述进行分层不要使
用多余的层一层模型中,允许复合层的建模概念
层概念
名称 |层概念 | 层目的
-------|-----------|------------


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0