请教一道异步时序逻辑设计问题

adrift
随风飘荡 2017-09-02 字数 864

孩子玩电路时问我的,虽然我解出来了,但感觉不是个一般性的方法。

问题描述:

1.输出器件:铁轨道岔,有两个分岔,接收0->1上升沿信号时会自动在这两个分岔间切换。初始时可由人工放置在两个分岔中的一个。

2.输入器件:脉冲按键,被按下时自动发出一个短的正脉冲,即先从0->1,在固定的短时间自动回复到0。被弹起时无效果

3.孩子希望用两个前述脉冲按键A和B,按A则把道岔切换到第一个分岔,按B则切换到第二个分岔

问题描述结束

我的方案,釆用下降沿有效T触发器,初始时是清零状态,代表此时在第一个分岔

激励方程:T=(A and Q) or (B and ~Q)

输出方程等同于T

我一开始采用教科书上的脉冲模式电路设计方法,没有成功,因为我要在按键的上升沿和下降沿各触发一次状态改变,不知道怎么做(釆用某种延时电路?)而且即使这样可以,但电路也太复杂了,后来灵机一动想出了上面的方案。但有没有更一般化的设计方法以应对上升沿和下降沿都要改变状态的需求呢?

我本人是学软件的,电路部分还是大学时学的,忘得差不多了,如果术语有误请多包涵。谢谢

Circuit 电路设计与调试
11 个回复
tom6bj
tom 2017-09-02

短延时再和原信号异或

【 在 adrift 的大作中提到: 】

:孩子玩电路时问我的,虽然我解出来了,但感觉不是个一般性的方法。

:问题描述:

:...................

adrift
随风飘荡 2017-09-02

谢谢,这样确实将一个脉冲变成了两个脉冲,但电路岂不是复杂很多?能否通过状态化简能将这些复杂部分化简呢?

【 在 tom6bj () 的大作中提到: 】

: 短延时再和原信号异或

: 【 在 adrift 的大作中提到: 】

tom6bj
tom 2017-09-02

你找个小软件,似乎是叫logiswim

【 在 adrift 的大作中提到: 】

:谢谢,这样确实将一个脉冲变成了两个脉冲,但电路岂不是复杂很多?能否通过状态化简能将这些复杂部分化简呢?

:【 在 tom6bj () 的大作中提到: 】

:...................

adrift
随风飘荡 2017-09-02

好的,非常感谢

【 在 tom6bj () 的大作中提到: 】

: 你找个小软件,似乎是叫logiswim

: 【 在 adrift 的大作中提到: 】

jwxxjq
白色de小牙刷 2017-09-02

RS触发器的R和S

adrift
随风飘荡 2017-09-02

不太明白,R和S怎么能做到?能详细说说吗?

【 在 jwxxjq () 的大作中提到: 】

: RS触发器的R和S

jwxxjq
白色de小牙刷 2017-09-04

直接接到RS触发器的reset(置零)端和set(置1)端。脉冲来了置位,同端重复脉冲不影响输出值。

【 在 adrift 的大作中提到: 】

: 不太明白,R和S怎么能做到?能详细说说吗?

adrift
随风飘荡 2017-09-05

我这里需要在上升沿时根据当前状态置位或保持,下降沿时根据状态复位或保持同时改变或保持状态。查了教科书,既有点像脉冲模式电路但需将上升沿和下降沿分别转成脉冲,又有点像基本模式电路。感觉你这个方法没解决问题

【 在 jwxxjq () 的大作中提到: 】

: 直接接到RS触发器的reset(置零)端和set(置1)端。脉冲来了置位,同端重复脉冲不影响输出值。

: 【 在 adrift 的大作中提到: 】

jwxxjq
白色de小牙刷 2017-09-05

不明白这个问题和下降沿有什么关系。

我的理解是上升沿置位(按键按下),和下降沿没关系。

【 在 adrift 的大作中提到: 】

: 我这里需要在上升沿时根据当前状态置位或保持,下降沿时根据状态复位或保持同时改变或保持状态。查了教科书,既有点像脉冲模式电路但需将上升沿和下降沿分别转成脉冲,又有点像基本模式电路。感觉你这个方法没解决问题

adrift
随风飘荡 2017-09-05

因为输出要求的是一个脉冲,而不是电平。

【 在 jwxxjq () 的大作中提到: 】

: 不明白这个问题和下降沿有什么关系。

: 我的理解是上升沿置位(按键按下),和下降沿没关系。

: 【 在 adrift 的大作中提到: 】

jwxxjq
白色de小牙刷 2017-09-05

哦哦~原来是这样,之前理解有错。

【 在 adrift 的大作中提到: 】

: 因为输出要求的是一个脉冲,而不是电平。