首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义计数器逻辑在SIMULINK中的实现

自定义计数器逻辑在SIMULINK中的实现
EN

Stack Overflow用户
提问于 2013-07-25 15:47:04
回答 2查看 5.3K关注 0票数 0

我试图在SIMULINK中实现一个反逻辑

代码语言:javascript
复制
in1, in2 are inputs

out1 is the output

if in2 = 0, out1 = 0;

if in2 = 1, out1 = 1 after x high edges of in1

我试过使用“检测上升正”块,但不幸地失败了,因为我没有足够的经验来正确地实现一个时间图在SIMULINK中。有人能帮我指出正确的方向吗?

更新

自从我发布这个问题以来,我采取的一种方法是“触发和启用子系统”。我试图把它设置成:

代码语言:javascript
复制
in2 becomes the enable signal
in1 becomes the trigger
in2 becomes the intput to the subsystem
Out1 becomes the output of the subsystem

但我认为以上这些都是垃圾。不幸的是,我本可以使用硬件逻辑的4-5行描述来实现它,而不是VHDL。

EN

回答 2

Stack Overflow用户

发布于 2013-07-28 15:58:33

使用触发和启用的子系统是正确的方法,但是您的输入(以及子系统中的输入无疑是什么)需要修改。

子系统没有任何输入(触发器和启用信号除外)。

在子系统里,

  • 设置“启用块”属性以在禁用时重置状态。
  • 将outport属性设置为禁用时重置,并将初始条件设为0。
  • 用常数(value=1)、求和和单元延迟块创建计数器。
  • 将计数器输入到问题中设置为“x”值的比较常量块中。
  • 把那块东西送到出口去。

启用后,计数器应在输出高之前计数所需的步骤数(触发时)。

票数 0
EN

Stack Overflow用户

发布于 2013-08-19 12:24:46

一个计数器逻辑可以很容易地在simulink中实现。取一个开关,将控制输入设为int1。如果int1为1ur输出,请选择另一个开关,将其控制输入设为int2。如果int2为1ur输出,则为1+先前在反馈函数延迟块中给出的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17862816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档