Minecraft(我的世界)中文论坛

标题: 【sjjklh红石第三弹】触发器(满足触发条件才反应) Build 20120610

作者: sjjklh    时间: 2012-1-22 13:00
标题: 【sjjklh红石第三弹】触发器(满足触发条件才反应) Build 20120610
本帖最后由 sjjklh 于 2012-6-10 18:25 编辑

【sjjklh红石第三弹】触发器(满足触发条件才反应) Build 20120610

本教程在CC-By-NC-Sa 3.0协议下发布。

【【【【【【sjjklh红石系列连接,请看http://www.mcbbs.net/thread-25775-1-1.html】】】】】】

如果你不懂逻辑门知识的话是比较难以看懂(实际上我认为肯定看不懂)本文的。请参考《【sjjklh红石第一弹】逻辑门与常用电路符号 http://www.mcbbs.net/thread-16778-1-1.html》。里面也有电路符号讲解。看懂那篇是看懂这篇的基础。

如果您看不懂《
【sjjklh红石第二弹】RS锁存器 http://www.mcbbs.net/thread-16933-1-1.html》,尽管RS基本锁存器是触发器的核心,但关系也不太大——您能够掌握触发器整体功能的话,内部原理也可以先放一放。

因为红石电路的设计不仅仅是一层方块,常常会出现两层三层的情况。因此为了把两三层方块表达在一张平面图上,本文章中的图例皆使用MCRedstoneSim格式以追求简洁表述:(请注意:所有的符号都是相对于一个您自己定义的“地面”而言的)


实际上“锁存器”(Latch)与“触发器”(Flip-Flop)是同一类器件的两种称呼。唯一不同:“锁存器”一般是以存储为目的时的称呼(通常为电平触发),“触发器”一般是以随时间特定变化的信号为目的的称呼(大多边沿触发)。本文中大部分情况下都会用“触发器”一词。

所谓“触发器”,它是一个整体,特征为:
时钟输入满足某种条件时(称之为“满足触发条件”),输出会依据输入而进行相应变化。满足这个“触发条件”是触发器进行反应的前提。如果没有这个前提,触发器不会对输出进行任何操作。

触发条件一般分“电平触发”与“边沿触发”两种。某一个触发器只会有一个触发条件,而不可能身兼数个!
电平触发”可能是低电平触发或高电平触发。顾名思义,一旦时钟输入保持为0(低电平触发)或1(高电平触发),则触发器作出反应。电平触发的优点是一般此类触发器建造起来较为简单,缺点也显而易见——如果满足其触发条件的电平持续时间稍长,那么触发器就有可能作出多次难以计数的抽风式的反应。
边沿触发”的触发器侦测时钟输入的上边沿信号(从0变到1的那个瞬间)或下边沿信号(从1变到0的那个瞬间)。优点是因为触发条件是“那个瞬间”,所以触发器不会多次抽风式地反应;缺点……就是建造起来略复杂。
一般触发器最好采用边沿触发,除非某些特定情况,比如您要把其当锁存器用。

以下各触发器的设计方案均为最常用的。欲知晓更多的方案请参考:英文WIKIhttp://www.minecraftwiki.net/wiki/Redstone_circuit与中文WIKIhttp://zh.minecraftwiki.net/%E7%BA%A2%E7%9F%B3%E7%94%B5%E8%B7%AF



1、D触发器
在Minecraft中,D触发器属于次常见部件,只有在红石大作中才见得比较多。如果没有耐心可以跳过。
电路符号如下
其中:

“D”意为“Data”,“数据”之意。当触发条件满足时,输出端Q会变成与D相同。触发条件不满足时,D端对Q端无任何影响。电平触发的D触发器又被称为门控D锁存器
常用设计方案(C为时钟输入):方案A为低电平触发(即门控D锁存器),方案B为边沿触发。

(此为方案B)

单独应用时,输出端可以被控制只对输入端特定时刻的信号起反应。这样你可以将我的4位输入集成化可编程密码门http://www.mcbbs.net/thread-16853-1-4.html在输入端每一位加一个D触发器,改造为可以用按钮代替的拉杆。
当然,D锁存器可以当做一个1位可控存储单元。密码门里用了4个。

多个D触发器可以应用到移位寄存器当中(串行转并行)。例如你要把8位数据按顺序以一个固定的频率从一根红石线输入,想让它们依次在不同的线路中体现出来,可以这样接线:




2、JK触发器
JK触发器说来其输出相对于两个输入端J与K的关系式略显复杂。但正因为其复杂,所以能改造为很多功能。
JK触发器在Minecraft中极其罕见,学习时也需要掌握一定的数电知识。如果不是很愿意学习,建议跳过。





3、T触发器
满足触发条件时,输出取反。这样T触发器只有一个T输入——时钟输入。


在版本Beta 1.7.3的更新中粘性活塞被改进,得到了一个十分有用的特性:如果一个粘性活塞被宽度只有1刻的脉冲激活,它会一次性地推/拉一个方块,但不会再把方块拉/推回来。粘性活塞的这个特性使得其非常适合建造压缩的T触发器设计方案Z1是最常见的T触发器方案(粘性活塞与可移动方块在位于第一层的火把之上的第二层);设计方案Z2是高度最矮的——只有一格高;设计方案Z3为纵向设计;设计方案Z4由于其半埋藏的特点成为占地面积最小的方案(3x2x2)。Z4的教程如果您想使用按钮或者压力板连接设计方案Z4,第一个中继器与其右侧的方块可以被省略——只要您在那方块右侧的方块(第二层)上附着按钮或者压力板即可。

还有一些采用普通活塞的方案:




作用:T触发器输入端每改变两次,输出才会改变一次,因此可以用于时钟二分频(即频率除2)。也可以用于用按钮控制门:按一次开,再按一次关,而不是按一次按钮只能让门保持1秒的开启。




以上就是3种触发器。一时半会儿还想不出更多应用,但基本上有时大家能想到的抓耳挠腮也实现不了的电路功能往往用触发器都能解决。触发器也是时序数字电路的基础部分之一。




愿意解答任何问题

作者: Abugv5    时间: 2012-1-22 13:38
= =不懂啊- -粘性活塞V5
作者: 牛弱弱    时间: 2012-1-23 21:42
虽然看不懂。。但是感觉碉堡了...
作者: guodong    时间: 2012-1-23 23:18
果断前排啊,有时间慢慢研究
作者: geludan    时间: 2012-1-24 00:16
LZ又来了。。。凭你的图我已经向同学们证明了MC是很高级的游戏。。。
作者: geludan    时间: 2012-1-24 00:16
LZ又来了。。。凭你的图我已经向同学们证明了MC是很高级的游戏。。。
作者: jacky1440    时间: 2012-1-24 05:53
我对红石什么都不会。。。
还是支持一下·~
作者: btbj    时间: 2012-1-24 13:40
红石小白密切关注中
作者: renanyan    时间: 2012-1-25 11:16
LZV5,果断收藏~
顺便问下“本教程在CC-By-NC-Sa 3.0协议下发布。”那协议是啥,和ISO9001神马的是一个性质不?。。。
作者: renanyan    时间: 2012-1-25 16:23
renanyan 发表于 2012-1-25 11:16
LZV5,果断收藏~
顺便问下“本教程在CC-By-NC-Sa 3.0协议下发布。”那协议是啥,和ISO9001神马的是一个性质 ...

好吧,lz真热心,把ISO9001都一并给解释了。。。
作者: 黄凯航    时间: 2012-1-27 16:46
好乱啊啊啊。。。
作者: 马克思·贱人    时间: 2012-1-27 17:20
兰州V5。。虽然依旧看不懂。。。我还是从基础学起吧。。。
作者: woaiqz    时间: 2012-1-27 19:12
继续学习,继续顶楼主
作者: green丶bastard    时间: 2012-1-28 10:00
虽然看不懂中文写的那些(鸟语惯了)但是dfftff还是懂 jkff的话我从来没用过
需要压缩图 也就是我认为最简化的叫一声 没人感兴趣我也不感兴趣
2*6超小tff
活塞压缩dff
作者: s49284972    时间: 2012-1-28 11:16
虽然不是很明白不过好像很厉害的样子
作者: sjjklh    时间: 2012-4-13 20:42
教程修订 —— 20120413
作者: z12603    时间: 2012-5-26 22:35
看起来好复杂哦
作者: sjjklh    时间: 2012-6-10 18:26
修订 20120610

增加喜闻乐见的T触发器方案

并将罕见的JK触发器内容折叠,添加阅读建议
作者: jianghr    时间: 2012-6-15 00:41
红石理论小白前来拜读补课完毕。表示除jk触发器外基本都看懂了。D触发器算是学习到了。其实wiki上也有,但是比教程生硬。方案B的D触发器低电平上边沿部分感觉有点罕见。
那么,我做的那个显示器的移位电路可以说是很类似上边沿D触发器,已经算雏形了吧,不过驱动的是任意输入信号而不是时钟信号,而且RS部分是直接引出并分两条线路移位的,每条都
和控制信号做了与门/非与门,其实用一条线取个反就行了。自己撸的野生产品的确和制式装备的有差距。
那么感觉D触发器的时钟控制输出感觉可以用于时钟控制的多位计算器的数据存储读取工作。感觉可以用1~2条串行总线结构做读取。
作者: jianghr    时间: 2012-6-15 02:45
嗯嗯,不过如果是手动门控触发器组,边沿触发貌似解决不了控制进位同向时的连续进位的问题。
案例还是简单的触发器组单亮状态。预定只有一个处于1,余下皆0,比如我那个密码门(无非加了条件(译码正确)进位),或者显示器光标,移位方向与控制信号传递同向(反向就不存在下列问题)。
1、考虑到前一个0把1干掉了咋办,那么通过与门只进位1。
2、原来的1怎么灭掉(控制信号已经走远了)。对于这一点我目前办法是移位控制信号后紧跟一清零信号(这对密码门有额外的好处,误码进位失败=自动清零)。
3、但清零存在早灭现象(清零直接灭进位前的1或刚进位后的1),我先给刚进位1加了清零保护延时,然后终于暴露了连续进位的问题,(其实控制信号已经边沿处理,单个触发器的确都只反应了一次)。
4、最后iailum摆出的结构去掉RS刚点亮后的保护延时,加快清零信号是有早灭,但通过满档中继器的延迟熄灭延长了上个RS的对与门进位电路的作用时间,进到下一位后控制信号清零信号都走了,这样才搞定。那时序卡得叫一个犀利的,前后时间窗容错<2ticks……
我的小结:可以把控制信号与上一个触发器取与的结果延时写入下一个触发器(同样是等控制/清零信号都走远了),躲开连续进位和清零而不用非常严苛地卡时序。
回头看你的回帖说用公共时钟感觉也不太像,因为是手动门控(控制、进位同向),而且边沿信号对单个触发器抽风有用,触发器组还是会连续进位。假如用时钟决定每次允许进位的时长的方法,对于长距离重复结构,时钟本身同步与引线也是问题,更重要的是假如控制信号从头走到尾很长比如要1秒,这到达每个触发器的时间不同可不是都能卡到公共时钟合适的点上的。求解释。
这只是单亮的,假如是二进制数据处理(如11001001),进位+无条件清零明显不适合。D触发器组的同向移位(操作方向与移位相同)好像从逻辑上就不合理,如果没有后一位值的暂存,所有的存储位都会给刷成第一位一样的。不过延时写入貌似可以,进位电路的本身通过延时可以充当暂存器的角色,不过感觉这个时序要卡好,不然磨蹭太久,前一组触发器状态更新会干扰进位电路的暂存态的。
最后要三连,求回复T T。
作者: sjjklh    时间: 2012-6-15 14:00
jianghr 发表于 2012-6-15 02:45
嗯嗯,不过如果是手动门控触发器组,边沿触发貌似解决不了控制进位同向时的连续进位的问题。
案例还是简单 ...

= =果然我是理论型的啊

现实中D触发器级联对时钟同步有很严格的要求

触发一旦不同步就可能连续移位  或许把级与级之间加一个中继器可以适当避免……那么时钟周期(2倍宽度)必须大于中继器延迟了
作者: jianghr    时间: 2012-6-15 14:22
sjjklh 发表于 2012-6-15 14:00
= =果然我是理论型的啊

现实中D触发器级联对时钟同步有很严格的要求

确实,现实中的导线或类似元件可没MC里红石15格这么疲软,我YY一下估计也就是一个时钟可以无延时管很多触发器,只要把另外的控制信号和时钟同步取与即可,不过脑补信号宽度要短于D触发器翻转时间,加中继器估计也就为了延长这个翻转,否则连续进位,对吧?
作者: onepiece12    时间: 2012-6-15 18:53
进来看看呢~~~话说这好麻烦的感觉
作者: kite1234    时间: 2012-6-16 06:48
lz下次别用火球照明了。。。
作者: shejuly    时间: 2012-8-27 10:43
这个就真心没看懂了,T触发器的Z1和Z4中的1和2是两个都行还是两个组合到一起是一个?看蒙了。还有那个三角的符号是中继器么?另外,1.2.5的粘性活塞能做T触发器么?
作者: smskck    时间: 2013-1-7 21:10
图挂了不少,sjjklh弄下拉
作者: zheung14    时间: 2013-3-2 16:15
我说大大在发这章教程之前是不是应该告诉小白我什么是时钟输入呢?前两章都能理解,到这里就不明所以了...还有如果是不常用的触发器是不是应该放在后面再讲呢?还有呢,能不能把触发器的输入输出用表格的形式归纳一下啊,这样会直观很多诶...(原谅我智力有限...
作者: sjjklh    时间: 2013-3-2 19:20
zheung14 发表于 2013-3-2 16:15
我说大大在发这章教程之前是不是应该告诉小白我什么是时钟输入呢?前两章都能理解,到这里就不明所以了...还有 ...

建议去弄一本数字电路的书,比我这讲的要科学很多
作者: zheung14    时间: 2013-3-2 20:11
sjjklh 发表于 2013-3-2 19:20
建议去弄一本数字电路的书,比我这讲的要科学很多

好麻烦的样子- -(算了,慢慢来吧,感谢大大的教程...
作者: kaluoik    时间: 2013-3-21 16:38
renanyan 发表于 2012-1-25 11:16
LZV5,果断收藏~
顺便问下“本教程在CC-By-NC-Sa 3.0协议下发布。”那协议是啥,和ISO9001神马的是一个性质 ...

那是分享协议……如果你要转载就必须遵守那个
作者: Yihc    时间: 2013-3-22 08:02
果断收藏                   不解释.太好了。我喜欢.
作者: 13Moen    时间: 2013-3-31 11:37
1.5.1更新了之后感觉T触发器还有压缩的可能?试试比较器吧ww
作者: 13Moen    时间: 2013-3-31 11:46
普通活塞T触发器第一张图那个红石火把有没有办法隐藏呢?
作者: sgf8899    时间: 2013-4-25 21:02
平面图完全看不懂。
https://upload.wikimedia.org/wik ... K_Flip-flop.svg.png
这样的图就更看不懂了
作者: 菊花惭    时间: 2013-4-26 18:59
好吧上次就是读到这篇开始头大的。。。
作者: 至尊の翔哥    时间: 2013-5-29 20:47
图裂了......看不到了......
作者: 无名氏    时间: 2013-6-28 17:18
T触发器里那个Z1和Z4怎么看呐,是分上下两层看的吗?
作者: 你的小黑■    时间: 2013-8-19 16:56
脑子都看乱了
作者: 超级苦力怕    时间: 2013-10-21 12:37
Good!  顶啊
作者: goodsuccessful    时间: 2014-1-8 20:17
D触发器的满足条件是指什么
作者: 我的世界sun123    时间: 2014-2-3 20:14
高级的红石教程。。。我的天啊=,=!
作者: pangdundun    时间: 2014-3-23 07:45
喵喵 咩咩 请问是我的电脑问题吗? = = 看不到图的说

我是白菜
作者: litttle    时间: 2014-9-27 17:50
时钟信号是干什么用的
作者: 408010350    时间: 2014-9-28 05:36
哈哈哈哈完全看不懂{:10_499:}
作者: nsezz123    时间: 2015-8-14 21:36
第三章看不懂了
回来回复一下
小学生还是小学生啊。。。
作者: whwhwhqwe    时间: 2015-8-24 09:06
这个这个…… 呃~~ -______-我已经完全看不懂了
作者: 银琵琶树    时间: 2015-8-24 11:17
楼主坑定数学学霸...
学渣路过
作者: minecraft至上    时间: 2015-8-29 10:06
我是红石渣,看不懂。
作者: 陋室铭    时间: 2015-8-29 11:06
好厉害,继续  赞一个
作者: 13862428795    时间: 2015-11-9 22:12
现在我学电子,希望可以学会,将来成为一名红石大师
作者: 1677343686    时间: 2019-5-1 16:29
大佬牛逼,一直搞不懂逻辑电路原理

作者: heroberine    时间: 2020-1-21 12:12
T触发器图都挂了
作者: 游戏小号    时间: 2020-2-28 23:33
很好比较实用