1 SaberRD状态机建模工具介绍(二)状态机建模工具使用示例-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SaberRD状态机建模工具介绍(二)状态机建模工具使用示例

冬至子 来源:Saber仿真 作者:Greatalent 2023-12-05 09:53 次阅读

3、状态机建模工具使用示例

3.1. 使用状态机建立电阻模型

第一步****添加电阻端口

假设电阻阻值为r_normal,首先打开状态机建模工具,添加电阻端口,电阻端口包含贯通变量电流和跨接变量电压,使用分支型端口。

图片

第二步****添加变量

添加电阻阻值r_normal为外部静态变量

图片

添加电流变量ipn

图片

添加电压变量vpn

图片

第三步****添加状态图

电阻在整过过程中没有状态变化,双击变量vpn,设置如下

图片

设置完成后,保存模型,搭建一个简单的电路测试电阻模型是否正确。

图片

图片

3.2. 使用状态机创建可变电阻

可变电阻的电阻值由外部管脚r_var控制。

首先建立symbol端子如下,设置p和n为electrical量

图片

其中r_var是可变电阻的控制端。变量类型为

图片

添加电阻的电压变量vpn(依次点击左侧across图标、p端口、n端口)和电流变量ipn(依次点击左侧through图标、p端口、n端口)

图片

保存模型,搭建简单电路进行验证。

图片

图片

3.3. 创建基于公式的模型

如下公式是压控电机中的一部分算法,三相正弦交流电压幅值由控制电压U_control,增益gain。偏置U_offset控制。频率由f控制。

U_amp=U_control*gain+U_offset

U_a=U_ampsin(2pift)

U_b=U_ampsin(2pift+ 2*pi/3)

U_c=U_ampsin(2pift -2*pi/3)

建模时分两个状态机进行创建,vfconst和uf2abc。vfconst实现第一个公式,uf2abc实现后三个公式。

3.3.1. vfconst

建立symbol端子如下图,u_offset和f是输入,uout和fout是输出,单位都是 nunit。

图片

创建模型静态变量gain

图片

建立两个状态图S1和S2,状态关系为如果频率小于等于0时,进入state2,如果频率大于0时进入state1。、

图片

鼠标双击state1和state2设置两个输出变量的公式,保存模型。

图片

3.3.2. uf2abc建模

建立输入输出管脚,输入管脚u,f,输出管脚 ua,ub,uc。单位都是no unit。

图片

创建两个ststic 变量,pi和samolerate,pi即3.141593,samplerate用来控制模型的最大采样间隔时间。创建一个state变量,配合下文的clk模块正常运行。

图片

建立两个状态图S1和S2,状态关系为如果频率小于等于0时,进入state2,如果频率大于0时进入state1。

图片

鼠标双击state1和state2设置两个输出变量的公式

图片

添加一个时钟源clk1,时钟源的周期为samplerate,每个周期内做的事为给intst变量赋值为1,这样处理的意义是:保证saber仿真器在计算ua,ub,uc的值在一个1/f周期内有足够的采样点。因为仿真器的步长会变,如果f变大的话,可能导致一个1/f周期内采样点不够,导致波形失真。samplerate可以依据1/20*fmax来考虑。

图片

模型创建好后可以搭建一个简单电路进行验证。

图片

图片

图片

3.4. 创建IGBT信号驱动模型

IGBT驱动器模型可将逻辑数字信号转换为电压信号输出以驱动IGBT模型工作。

输入为数字逻辑信号digital_in,输出是模型信号analog_out,参考ref,高电平输出电压为vgon,低电平输出电压为vgoff,电平切换时间transition_time。

创建模型端口,digital_in输入,逻辑信号。analog_out和ref输出,电信号。

图片

创建全局变量vgon,vgoff和transition_time

图片

设置analog_out的电压输出变量vg。

图片

创建两个state,分别命名为up和down。up状态下设置vg=vgon,down状态下设置vg=vgoff。digital_in=0时切换到down模式,等于1时,切换到up。

图片

使用event_on函数判断digital_in的状态变化,使用digital_in == '0'或digital_in == '1‘判断逻辑电平是高还是低。

mast语言中,高电平使用’1’表示,低电平使用’0’表示。

状态切换时间设置为transition_time

图片

设置完成后保存模型,建立验证电路测试模型。

图片

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 可变电阻
    +关注

    关注

    0

    文章

    46

    浏览量

    15700
  • 状态机
    +关注

    关注

    2

    文章

    492

    浏览量

    27526
  • 交流电压
    +关注

    关注

    2

    文章

    188

    浏览量

    16900
  • 控制电压
    +关注

    关注

    0

    文章

    35

    浏览量

    16071
  • CLK
    CLK
    +关注

    关注

    0

    文章

    127

    浏览量

    17158
收藏 人收藏

    评论

    相关推荐

    SaberRD状态机建模工具介绍(一)什么是状态机建模

    状态机建模是使用状态图和方程式的手段,创建基于混合信号的有限状态机模型的一种建模工具
    的头像 发表于 12-05 09:51 1707次阅读
    <b class='flag-5'>SaberRD</b><b class='flag-5'>状态机</b><b class='flag-5'>建模</b><b class='flag-5'>工具</b><b class='flag-5'>介绍</b>(一)什么是<b class='flag-5'>状态机</b><b class='flag-5'>建模</b>

    状态机举例

    状态机举例 你可以指定状态寄存器和状态机状态。以下是一个有四种状态的普通状态机。 // Th
    发表于 03-28 15:18 982次阅读

    状态机代码生成工具

    状态机代码生成工具状态机代码生成工具状态机代码生成工具状态机
    发表于 11-19 15:12 9次下载

    状态机原理及用法

    状态机原理及用法状态机原理及用法状态机原理及用法
    发表于 03-15 15:25 0次下载

    有限状态机建模与优化设计

    本文提出一种优秀 、高效的 Verilog HDL 描述方式来进行有限状态机设计 介绍了 有限状态机建模原则 并通过一个可综合的实例 验证了 该方法设计的有限
    发表于 03-22 15:19 1次下载

    状态机原理进行软件设计

    组成部分。 不过,状态机理论的发展却很缓慢。在众多原因中,状态机只是做为编程的实现工具而不是设计工具是一个最重要的原因。 本文的重点就在于,怎样利用
    发表于 12-02 15:03 544次阅读

    状态机概述 如何理解状态机

    本篇文章包括状态机的基本概述以及通过简单的实例理解状态机
    的头像 发表于 01-02 18:03 1w次阅读
    <b class='flag-5'>状态机</b>概述  如何理解<b class='flag-5'>状态机</b>

    FPGA:状态机简述

    本文目录 前言 状态机简介 状态机分类 Mealy 型状态机 Moore 型状态机 状态机描述 一段式
    的头像 发表于 11-05 17:58 7367次阅读
    FPGA:<b class='flag-5'>状态机</b>简述

    如何构建基于状态机的软件系统

    模式(Design Pattern)。本文介绍如何构建基于状态机的软件系统,以及如何利用Linux下的工具来自动生成实用的状态机框架。
    的头像 发表于 09-14 10:55 1541次阅读

    状态机自动生成工具FSME

    状态机中的各种状态上,而不是程序本身的运行逻辑。 作为一种通用的软件设计模式,各种软件系统的状态机之间肯定会或多或少地存在着一些共性,因此人们开始尝试开发一些工具来自动生成有限
    的头像 发表于 09-13 16:45 1459次阅读
    <b class='flag-5'>状态机</b>自动生成<b class='flag-5'>工具</b>FSME

    自动生成程序状态机代码状态机建模方法

    首先运行fsme命令来启动状态机编辑器,然后单击工具栏上的“New”按钮来创建一个新的状态机。FSME中用于构建状态机的基本元素一共有五种:事件(Event)、输入(Input)、输出
    的头像 发表于 09-13 16:50 1135次阅读
    自动生成程序<b class='flag-5'>状态机</b>代码<b class='flag-5'>状态机</b><b class='flag-5'>建模</b>方法

    如何生成状态机框架

    生成状态机框架 使用FSME不仅能够进行可视化的状态机建模,更重要的是它还可以根据得到的模型自动生成用C++或者Python实现的状态机框架。首先在FSME界面左边的树形列表中选择"R
    的头像 发表于 09-13 16:54 975次阅读
    如何生成<b class='flag-5'>状态机</b>框架

    什么是状态机状态机的种类与实现

    状态机,又称有限状态机(Finite State Machine,FSM)或米利状态机(Mealy Machine),是一种描述系统状态变化的模型。在芯片设计中,
    的头像 发表于 10-19 10:27 9435次阅读

    什么是有限状态机?如何解决传统有限状态机状态爆炸」问题?

    有限状态机(Finite State Machine,简称FSM)是一种用来进行对象行为建模工具,其作用主要是描述对象在它的生命周期内所经历的状态序列以及如何响应来自外界的各种事件。
    的头像 发表于 02-17 16:09 6219次阅读
    什么是有限<b class='flag-5'>状态机</b>?如何解决传统有限<b class='flag-5'>状态机</b>「<b class='flag-5'>状态</b>爆炸」问题?

    Simulink中的状态机建模方法 Simulink数据可视化与分析功能

    1. Simulink中的状态机建模方法 1.1 理解状态机的基本概念 在开始建模之前,了解状态机的基本概念是必要的。
    的头像 发表于 12-12 09:27 270次阅读