0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SaberRD狀態(tài)機建模工具介紹(二)狀態(tài)機建模工具使用示例

冬至子 ? 來源:Saber仿真 ? 作者:Greatalent ? 2023-12-05 09:53 ? 次閱讀

3、狀態(tài)機建模工具使用示例

3.1. 使用狀態(tài)機建立電阻模型

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

假設電阻阻值為r_normal,首先打開狀態(tài)機建模工具,添加電阻端口,電阻端口包含貫通變量電流和跨接變量電壓,使用分支型端口。

圖片

第二步****添加變量

添加電阻阻值r_normal為外部靜態(tài)變量

圖片

添加電流變量ipn

圖片

添加電壓變量vpn

圖片

第三步****添加狀態(tài)圖

電阻在整過過程中沒有狀態(tài)變化,雙擊變量vpn,設置如下

圖片

設置完成后,保存模型,搭建一個簡單的電路測試電阻模型是否正確。

圖片

圖片

3.2. 使用狀態(tài)機創(chuàng)建可變電阻

可變電阻的電阻值由外部管腳r_var控制。

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

圖片

其中r_var是可變電阻的控制端。變量類型為

圖片

添加電阻的電壓變量vpn(依次點擊左側across圖標、p端口、n端口)和電流變量ipn(依次點擊左側through圖標、p端口、n端口)

圖片

保存模型,搭建簡單電路進行驗證。

圖片

圖片

3.3. 創(chuàng)建基于公式的模型

如下公式是壓控電機中的一部分算法,三相正弦交流電壓幅值由控制電壓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)

建模時分兩個狀態(tài)機進行創(chuàng)建,vfconst和uf2abc。vfconst實現第一個公式,uf2abc實現后三個公式。

3.3.1. vfconst

建立symbol端子如下圖,u_offset和f是輸入,uout和fout是輸出,單位都是 nunit。

圖片

創(chuàng)建模型靜態(tài)變量gain

圖片

建立兩個狀態(tài)圖S1和S2,狀態(tài)關系為如果頻率小于等于0時,進入state2,如果頻率大于0時進入state1。、

圖片

鼠標雙擊state1和state2設置兩個輸出變量的公式,保存模型。

圖片

3.3.2. uf2abc建模

建立輸入輸出管腳,輸入管腳u,f,輸出管腳 ua,ub,uc。單位都是no unit。

圖片

創(chuàng)建兩個ststic 變量,pi和samolerate,pi即3.141593,samplerate用來控制模型的最大采樣間隔時間。創(chuàng)建一個state變量,配合下文的clk模塊正常運行。

圖片

建立兩個狀態(tài)圖S1和S2,狀態(tài)關系為如果頻率小于等于0時,進入state2,如果頻率大于0時進入state1。

圖片

鼠標雙擊state1和state2設置兩個輸出變量的公式

圖片

添加一個時鐘源clk1,時鐘源的周期為samplerate,每個周期內做的事為給intst變量賦值為1,這樣處理的意義是:保證saber仿真器在計算ua,ub,uc的值在一個1/f周期內有足夠的采樣點。因為仿真器的步長會變,如果f變大的話,可能導致一個1/f周期內采樣點不夠,導致波形失真。samplerate可以依據1/20*fmax來考慮。

圖片

模型創(chuàng)建好后可以搭建一個簡單電路進行驗證。

圖片

圖片

圖片

3.4. 創(chuàng)建IGBT信號驅動模型

IGBT驅動器模型可將邏輯數字信號轉換為電壓信號輸出以驅動IGBT模型工作。

輸入為數字邏輯信號digital_in,輸出是模型信號analog_out,參考ref,高電平輸出電壓為vgon,低電平輸出電壓為vgoff,電平切換時間transition_time。

創(chuàng)建模型端口,digital_in輸入,邏輯信號。analog_out和ref輸出,電信號。

圖片

創(chuàng)建全局變量vgon,vgoff和transition_time

圖片

設置analog_out的電壓輸出變量vg。

圖片

創(chuàng)建兩個state,分別命名為up和down。up狀態(tài)下設置vg=vgon,down狀態(tài)下設置vg=vgoff。digital_in=0時切換到down模式,等于1時,切換到up。

圖片

使用event_on函數判斷digital_in的狀態(tài)變化,使用digital_in == '0'或digital_in == '1‘判斷邏輯電平是高還是低。

mast語言中,高電平使用’1’表示,低電平使用’0’表示。

狀態(tài)切換時間設置為transition_time

圖片

設置完成后保存模型,建立驗證電路測試模型。

圖片

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 可變電阻
    +關注

    關注

    0

    文章

    45

    瀏覽量

    15676
  • 狀態(tài)機
    +關注

    關注

    2

    文章

    491

    瀏覽量

    27456
  • 交流電壓
    +關注

    關注

    2

    文章

    186

    瀏覽量

    16845
  • 控制電壓
    +關注

    關注

    0

    文章

    35

    瀏覽量

    16057
  • CLK
    CLK
    +關注

    關注

    0

    文章

    127

    瀏覽量

    17101
收藏 人收藏

    評論

    相關推薦

    SaberRD狀態(tài)機建模工具介紹(一)什么是狀態(tài)機建模

    狀態(tài)機建模是使用狀態(tài)圖和方程式的手段,創(chuàng)建基于混合信號的有限狀態(tài)機模型的一種建模工具。
    的頭像 發(fā)表于 12-05 09:51 ?1565次閱讀
    <b class='flag-5'>SaberRD</b><b class='flag-5'>狀態(tài)機</b><b class='flag-5'>建模</b><b class='flag-5'>工具</b><b class='flag-5'>介紹</b>(一)什么是<b class='flag-5'>狀態(tài)機</b><b class='flag-5'>建模</b>

    Verilog狀態(tài)機+設計實例

    的是有限狀態(tài)機(Finite-State Machine,FSM),簡稱為狀態(tài)機,表示在有限個狀態(tài)以及這些狀態(tài)之間的轉移和動作等行為的數學模型。
    的頭像 發(fā)表于 02-12 19:07 ?3668次閱讀
    Verilog<b class='flag-5'>狀態(tài)機</b>+設計實例

    狀態(tài)機舉例

    狀態(tài)機舉例 你可以指定狀態(tài)寄存器和狀態(tài)機狀態(tài)。以下是一個有四種狀態(tài)的普通狀態(tài)機。 // Th
    發(fā)表于 03-28 15:18 ?969次閱讀

    狀態(tài)機代碼生成工具

    狀態(tài)機代碼生成工具狀態(tài)機代碼生成工具狀態(tài)機代碼生成工具狀態(tài)機
    發(fā)表于 11-19 15:12 ?9次下載

    狀態(tài)機原理及用法

    狀態(tài)機原理及用法狀態(tài)機原理及用法狀態(tài)機原理及用法
    發(fā)表于 03-15 15:25 ?0次下載

    有限狀態(tài)機建模與優(yōu)化設計

    本文提出一種優(yōu)秀 、高效的 Verilog HDL 描述方式來進行有限狀態(tài)機設計 介紹了 有限狀態(tài)機建模原則 并通過一個可綜合的實例 驗證了 該方法設計的有限
    發(fā)表于 03-22 15:19 ?1次下載

    狀態(tài)機原理進行軟件設計

    組成部分。 不過,狀態(tài)機理論的發(fā)展卻很緩慢。在眾多原因中,狀態(tài)機只是做為編程的實現工具而不是設計工具是一個最重要的原因。 本文的重點就在于,怎樣利用
    發(fā)表于 12-02 15:03 ?531次閱讀

    狀態(tài)機概述 如何理解狀態(tài)機

    本篇文章包括狀態(tài)機的基本概述以及通過簡單的實例理解狀態(tài)機
    的頭像 發(fā)表于 01-02 18:03 ?1w次閱讀
    <b class='flag-5'>狀態(tài)機</b>概述  如何理解<b class='flag-5'>狀態(tài)機</b>

    FPGA:狀態(tài)機簡述

    本文目錄 前言 狀態(tài)機簡介 狀態(tài)機分類 Mealy 型狀態(tài)機 Moore 型狀態(tài)機 狀態(tài)機描述 一段式
    的頭像 發(fā)表于 11-05 17:58 ?7263次閱讀
    FPGA:<b class='flag-5'>狀態(tài)機</b>簡述

    如何構建基于狀態(tài)機的軟件系統(tǒng)

    模式(Design Pattern)。本文介紹如何構建基于狀態(tài)機的軟件系統(tǒng),以及如何利用Linux下的工具來自動生成實用的狀態(tài)機框架。
    的頭像 發(fā)表于 09-14 10:55 ?1500次閱讀

    狀態(tài)機自動生成工具FSME

    狀態(tài)機中的各種狀態(tài)上,而不是程序本身的運行邏輯。 作為一種通用的軟件設計模式,各種軟件系統(tǒng)的狀態(tài)機之間肯定會或多或少地存在著一些共性,因此人們開始嘗試開發(fā)一些工具來自動生成有限
    的頭像 發(fā)表于 09-13 16:45 ?1401次閱讀
    <b class='flag-5'>狀態(tài)機</b>自動生成<b class='flag-5'>工具</b>FSME

    自動生成程序狀態(tài)機代碼狀態(tài)機建模方法

    首先運行fsme命令來啟動狀態(tài)機編輯器,然后單擊工具欄上的“New”按鈕來創(chuàng)建一個新的狀態(tài)機。FSME中用于構建狀態(tài)機的基本元素一共有五種:事件(Event)、輸入(Input)、輸出
    的頭像 發(fā)表于 09-13 16:50 ?1058次閱讀
    自動生成程序<b class='flag-5'>狀態(tài)機</b>代碼<b class='flag-5'>狀態(tài)機</b><b class='flag-5'>建模</b>方法

    如何生成狀態(tài)機框架

    生成狀態(tài)機框架 使用FSME不僅能夠進行可視化的狀態(tài)機建模,更重要的是它還可以根據得到的模型自動生成用C++或者Python實現的狀態(tài)機框架。首先在FSME界面左邊的樹形列表中選擇"R
    的頭像 發(fā)表于 09-13 16:54 ?926次閱讀
    如何生成<b class='flag-5'>狀態(tài)機</b>框架

    什么是狀態(tài)機?狀態(tài)機的種類與實現

    狀態(tài)機,又稱有限狀態(tài)機(Finite State Machine,FSM)或米利狀態(tài)機(Mealy Machine),是一種描述系統(tǒng)狀態(tài)變化的模型。在芯片設計中,
    的頭像 發(fā)表于 10-19 10:27 ?8836次閱讀

    什么是有限狀態(tài)機?如何解決傳統(tǒng)有限狀態(tài)機狀態(tài)爆炸」問題?

    有限狀態(tài)機(Finite State Machine,簡稱FSM)是一種用來進行對象行為建模工具,其作用主要是描述對象在它的生命周期內所經歷的狀態(tài)序列以及如何響應來自外界的各種事件。
    的頭像 發(fā)表于 02-17 16:09 ?5899次閱讀
    什么是有限<b class='flag-5'>狀態(tài)機</b>?如何解決傳統(tǒng)有限<b class='flag-5'>狀態(tài)機</b>「<b class='flag-5'>狀態(tài)</b>爆炸」問題?