Triggers SIMULINK模型的上升沿或下降沿触发延迟器
我的问题 我想建立一个名为“confirmer”的块的模型。规范是,输出将只是基于边缘(上升/下降)的输入延迟版本。为了澄清,我将尝试将时序图放在下面:Triggers SIMULINK模型的上升沿或下降沿触发延迟器,triggers,delay,modeling,simulink,Triggers,Delay,Modeling,Simulink,我的问题 我想建立一个名为“confirmer”的块的模型。规范是,输出将只是基于边缘(上升/下降)的输入延迟版本。为了澄清,我将尝试将时序图放在下面: ___________________________ | | Input _______| |____________________________
___________________________
| |
Input _______| |____________________________
(Tdelay) _____________________
| |
Output ______________| |____________________________
及
正如我试图在上面画的,上升沿意味着我的输出将简单地跟随Tdelay之后的更改输入。但当它从1变回0时,没有延迟。这是上升沿触发的确认程序块的示意图
对于下降沿触发的确认器,情况正好相反。当存在下降沿时,输出将在Tdelay秒后跟随输入的变化,即保持Tdelay的最后一个输入
我的目标平台
SIMULINK和MATLAB
我的初始解决方案
我知道有一种方法可以通过使用触发的子系统块来触发某些操作。但我正在努力使用SIMULINK中的延迟/单位延迟块来实现触发器的延迟。我已经设法使用了另一个称为Resetable delayer的块,但当它是上升沿重置时,它不能正常工作;它只是基于边进行重置
以前有人试过这种问题吗
自@PhilGoddard的回答以来的更新
我认为这应该行得通,因为我已经设法重现了问题中的时序图
我是如何设计的:
1) 使用重复序列楼梯作为输入
2) 配置单元延迟块,以便在上升沿或下降沿启用重置。这将允许以下任何一项“
i) 输入(下降沿)=输出(下降沿)[上升沿延时
ii)输入(上升沿)=输出(上升沿)[故障边缘由Tdelay延迟]
除非我失去理智,否则我认为这个解决方案是可以的?使用启用和触发的子系统 从端口和子系统库中拖动该块,并仅对其属性进行两次更改:打开子系统,打开输出端口(称为Out1),将“禁用时输出”属性更改为“重置”,将“初始输出”更改为0 然后,将输入馈送到启用端口;将延迟版本的输入馈送到触发端口(默认设置为上升沿);并将常量块(值为1)馈送到信号输入端口。
子系统的输出应符合要求。这是我针对所提出问题的案例2的解决方案。输出是两个值相反的信号的总和,在触发信号的每个上升或下降边缘都会增加。这很可能是一种过度杀伤力,可能有更简单的解决方案,但所提出的解决方案没有为我工作,这就是 我的解决方案:
如何创建计数器(计入):
尝试开启/关闭延迟。它完全满足您的需求 (应该有它的图标,但似乎我不能发布声誉低于10的图片) 报告中的描述说: 当Select type参数设置为On Delay(接通/断开延迟)时,接通/断开延迟块执行以下逻辑:
- 当输入变为真时,输出在预设时间延迟后变为真。只要输入为真,输出保持为真
- 当输入为false或变为false时,输出将立即变为false
- 当先前输入参数的初始条件设置为1,且输入在t=0时为真时,输出为真且无延迟
- 当输入变为false时,输出在预设时间延迟后变为false。只要输入为false,输出将保持false
- 当输入为真或变为真时,输出为真且无延迟
- 当前一个输入参数的初始条件设置为0,且在t=0时输入为假时,输出为假,无延迟
谢谢你的回答+1。我有一个关于将延迟的输入馈送到触发器端口的问题。我应该使用什么样的延迟?它会被
Tdelay/Tsampling
样本数延迟吗?你能澄清一下吗?另外,我正在努力解决下降沿触发的问题!如果你能提供一些com,那就太好了在已粘贴的引用周围添加标记。
____________________________
| |
Input _______________| |____________________________
(Tdelay)
______________________________________
| |
Output _______________| |_____________________