0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

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

3天内不再提示

如何使用StateAMS状态机对具有阈值和滞后的理想开关进行建模?

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

描述

理想开关的打开(关闭或停用)关闭(打开或激活)由施加在开关控制端子上的控制信号控制,用户可以根据阈值电平和滞后定义的操作区域进一步提高可控性。

具有阈值和滞后的开关通常用于开关应用中,以避免系统振荡。它们有助于减少具有机械负载(泵或电机)的系统不稳定性并减少磨损。它们通过启用稳定的控制回路来帮助提高系统的可靠性。

在理想的开关中,开关的电阻是根据其工作状态选择的。在导通状态期间,开关的电阻将非常低,因此满载电流流过开关,同时在器件上施加的压降最小。在关断状态期间,开关的电阻将非常高,因此流过开关的电流非常低,并且在开关两端施加了全压降。

使用SaberRD中的StateAMS状态机建模工具直观地对具有阈值和滞后的理想开关进行建模。StateAMS 工具允许从基于状态图和方程的独立于语言的描述中创建混合信号有限状态机模型。有关详细的建模技术,请参阅工具帮助文档。

您可以根据您的应用设计不同类型的开关。本文描述了四种不同的用例。

Case 1 - 单刀单掷开关在控制终端进行阈值检查

Case 2 - 单刀双掷开关在控制终端进行阈值检查

Case 3 - 单刀单掷开关在引线端子处进行阈值检查

Case 4 - 单刀双掷开关在引线端子处进行阈值检查

向下滚动到每个用例以了解使用 StateAMS 建模工具实现的开关行为和建模技术。

文后提供了test_design.zip示例下载,使用示例中提供的测试设计文件和实验测试文件,可以验证上述四种不同开关的实现。在SaberRD中打开测试设计test.ai_dsn,下图1是四种案例的电路原理图,运行实验测试文件 test_bench.ai_expt即可。

图片

1、Case 1

单刀单掷开关 (SPST) 是通过控制终端提供的阈值检查创建的。SPST开关常开。当控制信号值 v(cntrl) 变得大于或等于提供的阈值和滞后的总和 (v(cntrl) >= (thresh + hyst)) 时,开关闭合。表1给出了在控制端带有阈值检查的SPST的不同操作模式。

在模式3中,当控制信号值落在这两个检查点之间,即 ((thresh - hyst) < v(cntrl) < (thresh + hyst)) 时,开关将根据之前的状态保持打开或关闭施加控制信号的开关。例如,假设开关闭合(ON 状态),即 (v(cntrl) >= (thresh + hyst))。

现在,要打开开关(关闭),控制信号电平必须小于或等于 (thresh-hyst)。因此,直到控制信号电平从 ON 状态下降到 v(cntrl) <= (thresh - hyst) 的电平之前,开关仍像之前的状态一样处于 ON 状态。同样,一旦开关打开(OFF),开关将保持OFF,直到控制信号大于或等于(thresh+hyst)。

因此,当控制信号电平从关闭状态上升到 v(cntrl) >= (thresh + hyst) 的电平时,开关仍像之前的状态一样处于关闭状态。模式3的存在是由于模型中存在滞后。当滞后为零时,模式3不存在。

表1控制端带有阈值检查的SPST操作模式

图片

下面是StateAMS 状态机模型。

图片

下面是实验结果。仿真完成后,从结果窗格中打开图表 Case1。

图片

2、Case 2

单刀双掷开关 (SPDT) 是通过控制终端提供的阈值检查创建的。SPDT 在p1端子处常闭 (NC),在p2端子处常开 (NO)。开关根据控制信号值切换p1和p2端子之间的连接。控制信号必须大于或等于(阈值 + 迟滞)才能使开关从p1切换到p2。

然后,控制信号值必须小于或等于(阈值 - 滞后),以便开关从p2切换回p1。表2给出了在控制终端进行阈值检查的SPDT的不同操作模式。模式3的存在是由于模型中存在滞后现象,如Case1 所述。

表2控制端带有阈值检查的SPDT操作模式

图片

下面是StateAMS 状态机模型。

图片

下面是实验结果,从结果窗格中打开图表 Case2。

图片

3、Case 3

单刀单掷开关 (SPST) 是通过引线端子处提供的阈值检查创建的。除了提供的控制信号外,该模型还会在关闭和打开开关之前检查 p 端子的阈值电平。

在此模型中,控制端子是数字的,必须由数字源驱动。只有当控制信号为高电平或l4_1,且p端电压大于等于(thresh+hyst)时,开关才闭合。表 3 给出了在 p 端进行阈值检查的 SPST 的不同操作模式。模式 4 的存在是由于模型中存在滞后,如案例 #1 的模式 3 中所述。

表3在 p 端进行阈值检查的SPST的不同操作模式

图片

下面是StateAMS模型。

注意:L4_0和l4_1等MAST数字值在StateAMS建模工具中分别表示为“0”和“1”。

图片

下面是实验结果,从结果窗格中打开图表 Case3。

图片

4、Case 4

单刀双掷开关 (SPDT) 是通过引线端子处提供的阈值检查创建的。除了提供的控制信号外,模型还会在切换连接之前检查p1和p2端子的阈值电平。

在这个模型中,控制端是数字的,它必须由数字源驱动。该模型的初始状态是在p1和p2端常开。表4给出了在引线端子处进行阈值检查的SPDT的不同操作模式。模式3和6的存在是由于模型中存在滞后现象,如Case1中模式3所述。

表4在引线端子处进行阈值检查的SPDT的不同操作模式

图片

下面是StateAMS模型。

注意:L4_0和l4_1等MAST数字值在StateAMS建模工具中分别表示为“0”和“1”。

图片

从结果窗格中打开图表 Case4查看结果:

图片

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

    关注

    0

    文章

    35

    浏览量

    11413
  • 有限状态机
    +关注

    关注

    0

    文章

    51

    浏览量

    10270
  • 状态机
    +关注

    关注

    2

    文章

    486

    浏览量

    27187
收藏 人收藏

    评论

    相关推荐

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

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

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

    假设电阻阻值为r_normal,首先打开状态机建模工具,添加电阻端口,电阻端口包含贯通变量电流和跨接变量电压,使用分支型端口。
    的头像 发表于 12-05 09:53 417次阅读
    SaberRD<b class='flag-5'>状态机</b><b class='flag-5'>建模</b>工具介绍(二)<b class='flag-5'>状态机</b><b class='flag-5'>建模</b>工具使用示例

    状态机编程

    等待一段时间后,光标的位置就会右移,表示对最后输入字符的确认。因此,按键输入接口设计和实现的核心,更多的体现在软件接口处理程序的设计中。下面将以此为例,介绍有限状态机的分析设计原理,以及基于状态机思想进行
    发表于 07-10 18:00

    FPGA/CPLD状态机稳定性研究

    .   根据图1所示,很容易理解状态机的结构.但是为什么要使用状态机而不使用一般时序电路呢?这是因为它具有一些一般时序电路无法比拟的优点.用VHDL描述的状态机结构分明,易读,易懂,易
    发表于 01-12 10:48

    pspiceA/D中理想开关器件是哪个

    pspiceA/D中理想开关器件是哪个
    发表于 11-14 18:30

    raw os 之状态机编程

    事件的操作系统QP 具有异曲同工之妙。状态机编程的其中一个优势是所有的任务可以共享一个栈,这样可以避免传统的操作系统一个任务一个栈空间的局限。所以能普遍被资源短缺的单片系统采用,另外一个优势是面对复杂
    发表于 02-27 14:35

    具有多个输入的状态机

    你好,我对vhdl中的状态机感到困惑。我有自定义IP,有两个Slave输入和一个主输出。我将1st_input的状态机写入文件,现在想要使用该特定文件中的其他输入(包含状态机)。我应该为第二次输入
    发表于 04-01 09:42

    如何在SystemVerilog中为状态机的命令序列的生成建模

     我们将展示如何在SystemVerilog中为状态机的命令序列的生成建模,并且我们将看到它是如何实现更高效的建模,以及实现更好的测试生成。​
    发表于 01-01 06:05

    什么是状态机状态机是如何编程的?

    什么是状态机状态机是如何编程的?
    发表于 10-20 07:43

    如何设置状态机中断的阈值

    你好 ,我需要知道如何设置状态机中断的阈值,你能举个例子解释一下吗?精确地意味着在寄存器中设置唤醒状态机的值
    发表于 02-03 07:50

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

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

    状态机原理进行软件设计

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

    SPICE滞后建模的解决办法

    本文提供了一种构建标准 SPICE 模型的技术,该模型能够对具有连续滞后的系统的基本特征进行建模
    的头像 发表于 04-26 16:06 1418次阅读
    SPICE<b class='flag-5'>滞后</b><b class='flag-5'>建模</b>的解决办法

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

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

    如何生成状态机框架

    生成状态机框架 使用FSME不仅能够进行可视化的状态机建模,更重要的是它还可以根据得到的模型自动生成用C++或者Python实现的状态机框架
    的头像 发表于 09-13 16:54 655次阅读
    如何生成<b class='flag-5'>状态机</b>框架