SIMULINK型号的上升或下降沿触发延迟器

时间:2013-07-22 13:49:52

标签: triggers delay modeling simulink

我的问题

我想模拟一个名为“确认者”的块。规范是输出将SIMPLY为基于边沿(上升/下降)的输入的延迟版本。为了澄清,我将尝试将时序图放在下面:

                 ___________________________ 
                |                           |
Input    _______|                           |____________________________

               (Tdelay) _____________________
                       |                    | 
Output   ______________|                    |____________________________

                        ____________________________
                        |                           |
Input    _______________|                           |____________________________
                                                      (Tdelay)                           
                        ______________________________________
                        |                                     | 
Output   _______________|                                     |_____________________

当我试图在上面绘制时,上升沿意味着我的输出将仅在Tdelay之后跟随变化输入。但是当它从1变回0时,没有延迟。这是上升沿触发的确认块的图表。

对于下降沿触发的确认者,情况正好相反。当存在下降沿时,输出将在Tdelay秒之后跟随输入的变化,即保持Tdelay的最后一个输入。

我的目标平台

SIMULINK和MATLAB。

我的初步解决方案

我知道有办法通过使用触发的子系统块来触发某些操作。但我正在努力使用SIMULINK中的延迟/单位延迟模块来实现触发延迟。我已设法使用另一个名为resettable delayer的块,但它在上升沿复位时无法正常工作;它只是根据边缘重置。

之前有没有人尝试过这种问题?

自@ PhilGoddard回答后更新

enter image description here

我认为这应该有效,因为我已设法重现问题中的时序图。

我是如何设计的:

1)使用重复序列楼梯作为我的输入。

2)配置单位延迟程序段,以便在上升沿或下降沿启用复位。这将允许以下任何一个“

i)输入(下降沿)=输出(下降沿)[上升沿被Tdelay延迟    ii)输入(上升沿)=输出(上升沿)[前沿延迟由Tdelay延迟]

除非我丢失弹珠,否则我认为这个解决方案没问题?

4 个答案:

答案 0 :(得分:2)

使用启用和触发的子系统。

从Ports和Subsystems库中拖动该块,并仅对其属性进行两处更改:打开子系统,打开outport(称为Out1),并将“禁用时输出”属性更改为“reset”和“初始输出“为0。

然后,将输入提供给启用端口;将输入的延迟版本输入触发端口(默认情况下设置为上升沿);并将一个常量块(值为1)送入信号输入端。 子系统的输出应符合要求。

答案 1 :(得分:0)

这是我提出的问题的案例2的解决方案。输出是两个相反值信号的总和,它在触发信号的每个上升沿或下降沿增加。这很可能是一种过度杀伤力,而且可能有一个更简单的解决方案,但建议的解决方案并不适合我,而且确实如此。

我的解决方案:
my solution

如何创建计数器(归功于How to create a counter in simulink):
counter

答案 2 :(得分:0)

尝试开/关延迟。它完全满足您的需求。

(应该有它的图标,但似乎我不能发布低于10声望的图像)

来自help page的说明:

  

当Select type参数设置为On delay:

时,On / Off Delay块实现以下逻辑      
      
  • 当输入变为真时,在预设的时间延迟后输出变为真。只要输入为真,输出就为真。

  •   
  • 当输入为false或变为false时,输出变为false而没有延迟。

  •   
  • 当前一个输入参数的初始条件设置为1,并且输入在t = 0时为真时,输出为真,没有延迟。

  •   
     

当选择类型参数设置为关闭延迟时,开/关延迟块实现以下逻辑:

     
      
  • 当输入变为false时,在预设的时间延迟后输出变为false。只要输入为false,输出就为false。

  •   
  • 当输入为true或变为true时,输出为true且没有延迟。

  •   
  • 当前一个输入参数的初始条件设置为0,并且在t = 0时输入为假时,输出为假,没有延迟。

  •   

答案 3 :(得分:0)