无延时电路的原理及实现方法[]
在红石电路中,中继器和红石火把等红石元件产生反应都会有延迟。然而,它们的延迟有些时候是没有必要,甚至是有害的。在大型电路中,会使用许多红石中继器来充能,它们产生的延迟不断叠加,会导致非常大的总延迟。若想实现中继器和红石火把的功能但不产生延迟,就需要用到无延迟电路。
无延迟电路的目的就是实现基础元件的相应功能,同时避免产生延迟。然而避免延迟的后果就是电路比较复杂,制造相对麻烦。当需要缩短延迟且电路大小并不非常重要时,无延迟电路的应用价值是很高的。在无延迟电路的发展中作出较大贡献的有Sethbling和JL2579。然而无延迟电路的基本原理是很简单的,电路结构也可以根据自己的需求重新设计。本教程中的部分电路是作者自己设计的,但是类似作用的电路的相似度都很高,因此也没有什么原创性可言。只要掌握了原理,就可以根据自己的需求对这些电路进行重新设计。
原理[]
移动的活塞[]
当活塞或黏性活塞推动一个方块时,在活塞接受到信号的瞬间,被推动的方块会立即被转换成移动的活塞,并且36号方块的外观表现为被推动的方块(36号方块就是为了实现活塞在推动中的动画效果而设计的)。
在活塞收到信号变化时,它所推动、拉动的方块转变成36号方块的过程不一定是瞬时的。活塞收到信号后可能要再过0.5刻(启动延迟)才会开始推动、拉动过程。
可以注意到,36号方块不是红石导体。如果推动前活塞附着的方块是红石导体,那么这个方块的实体/非实体的转化就可以被有效利用。
图示:
- 第一行:活塞推出前
- 第二行:活塞刚推出后(此被推出的方块变为36号方块,外形不变)
- 第三行:活塞推出0.5秒后(此时被推出的方块变回原始方块)。
红石线被红石导体切断[]
当红石线向上方连接时,若被红石导体切断,那么红石线将断开,信号将无法传输。被非红石导体切断并不受影响。图中左侧红石信号即使被非红石导体切断仍能继续传递,图中右侧红石信号被红石导体切断就失去了传递信号的能力。
中继器、红石火把、红石线和比较器进行充能[]
中继器、红石火把、红石线和比较器只能对红石导体进行充能。图中左侧中继器无法对非红石导体进行强充能,红石无法得到信号;图中右侧中继器对红石导体进行强充能,红石得到信号。
无延迟中继器、非门具体做法[]
上边沿无延迟中继器[]
当输入端(拉杆)从OFF->ON时,输出端(红石粉)立即变成强度为14的信号源但是ON->OFF时仍然有延迟,很多场景中仅仅对于OFF->ON时有严格的延时要求,因此这种OFF->ON无延迟中继器的应用场景非常大.
当输入信号从OFF变为ON时,活塞所附着的方块立即变成36号方块,由于36号方块是非红石导体,无法再切断红石线的连接,因此输出端的红石与下方的红石连接,得到强度为14的信号,拉杆即为输入端,红石粉为输出端。
下边沿无延迟中继器[]
当输入端(拉杆)从ON->OFF时,输出端(红石粉)立即失去强度为15的信号,但是OFF->ON时仍然有延迟,若输入端信号默认为ON,而要求无延迟传送时,这种ON->OFF无延迟中继器的应用场景非常大,当输入信号从ON变为OFF时,活塞所附着的方块立即变成36号方块,由于36号方块是非红石导体,无法再被中继器强充能,因此输出端的红石失去强度为14的信号。
上边沿无延迟非门[]
当输入端(拉杆)从OFF->ON时,输出端(红石粉)失去强度为15的信号源,但是ON->OFF时仍然有延迟,若需要使用OFF->ON的无延迟非门时这个是非常不错的选择,原理同ON->OFF无延迟中继器,仅调换了输出位置而已,输入信号从ON变为OFF时,活塞所附着的方块立即变成36号方块,由于36号方块是非红石导体,无法再被中继器强充能,因此输出端的红石失去强度为15的信号。
下边沿无延迟非门[]
当输入端(拉杆)从ON->OFF时,输出端(红石粉)立即变成强度为14的信号,但是OFF->ON时仍然有延迟。当需要ON->OFF无延迟的非门时这个电路的使用场景很大。原理同OFF->ON无延迟中继器,仅调换了输出位置而已。当输入信号从ON变为OFF时,活塞所附着的方块立即变成36号方块。由于36号方块是非红石导体,无法再切断红石线的连接。因此输出端的红石与下方的红石连接,得到强度为14的信号。
双向无延迟中继器[]
根据输入端(拉杆)信号的ON或OFF,输出端(红石粉)信号会无延迟变成0或14,这个就是毫无延迟的用于延长信号的中继器了。电路可以看作是ON->OFF和OFF->ON两种无延迟中继器的结合,当电路从OFF->ON时,红石导体立即变为36号方块。因此金块的红石线连接到下方的线路,获得强度为14的信号,过了1tick后红石火把熄灭,再过1tick后中继器熄灭,此时活塞已完成推动,下方中继器对红石导体进行充能,维持信号。
当电路从ON->OFF时,红石导体立即变为36号方块,中继器无法进行充能,输出端失去信号。
- 瞬置瞬时中继器[1]
→
| ||||
→
|
A
|
|||
- 1×3×2(6方块),1格宽,瞬时
- 电路延迟:0
- 本电路较小巧,耗费资源少,但依赖非有意为之的活塞特性,这些特性有在未来版本中改变的可能。
- 行为(上升沿): 输入为0时,红石块间接激活下一层的活塞。输入变成1时,上方活塞激活,红石块开始推出,与此同时下方活塞失去供能,开始拉回方块A,这样上方活塞在激活的几乎同时又失去了能量来源方块A——这样上方活塞几乎瞬间完成了活塞臂伸出与缩回(即“瞬(间放)置”:活塞把红石块瞬间推到了下一格,活塞臂缩回时也没有把红石块拉回去),这样红石块又开始激活下方活塞。所有的过程几乎是瞬间完成的(在同一刻内),有效地使得上升沿信号瞬间通过整个中继器。下方活塞继续伸出,2刻后使得A处于原始位置,上方活塞重新伸出,准备在下降沿时拉回红石块。
- 行为(下降沿): 输入由1变0时,上方黏性活塞开始拉回红石块,从而立刻切断输出端信号,有效地使得下降沿信号瞬间通过整个中继器。红石块移动时,下方活塞缩回,但红石块完全缩回到位后,又可以间接激活下方活塞。整个系统又回到初始状态。
- 红石粉断路瞬时中继器[2]
A
|
||||||
→
|
→
| |||||
- 1×5×4(20方块),1格宽,瞬时
- 电路延迟:0
- 本电路比瞬置瞬时中继器稍大,但使用了较为稳定的游戏特性。
- 行为(上升沿):输入由0变1时,下方黏性活塞伸出,使得上方黏性活塞缩回,从而立即使方块A下方的红石粉传导信号到输出端。所有的过程几乎是瞬间完成的(在同一刻内),有效地使得上升沿信号瞬间通过整个中继器。移动中的红石块也会立即停止对其下方红石粉的激活,但由于中继器的延迟,红石块能够在中继器输出信号消失之前接替中继器,继续对输出端供电。
- 行为(下降沿):输入由1变0时,下方黏性活塞开始拉回红石块,从而立即切断输出信号,有效地使得下降沿信号瞬间通过整个中继器。红石块缩回到位后激活下面的红石线与上方活塞,但由于中继器的延迟,上方活塞能够在中继器有输出信号之前把方块A推回原位,彻底切断可能激活输出的线路。
- 替代方案(2格宽):图示最上面2层的所有方块(包括红石粉)可垂直于图示平面移出1格,并下移1格,使得下层活塞与中继器同一层放置,同时移出下层的最后方的方块及其红石粉,这样可以将原装置改造成2格宽版本。在该版本中,如果想要减少红石用量,可以挖空红石块可能存在的2个位置下方的方块,用红石火把代替,再用任意红石导体取代红石块。
- 瞬时双向中继器[3]
- 4×4×3(48方块),瞬时
- 电路延迟:0
- 双向复位时间:2.5刻
- 一侧输入信号时,该信号会:
- (1)使侧面火把熄灭;
- (2)激活一条直线上的黏性活塞。
- 活塞开始推动方块时,方块下方的红石线会立刻连接到输出端,从而使输出端立刻开始输出。活塞推动到位后,来自火把和活塞下方中继器的信号消失,同时推动的方块又会被强充能,接替对输出端供电的工作。
- 这里的双向指的是信号传递的方向。
双向无延迟火把[]
根据输入端(拉杆)信号的ON或OFF,输出端(红石粉)信号会无延迟变成0或14,这个就是毫无延迟的用于反转信号的红石火把了。电路可以看作是ON->OFF和OFF->ON两种无延迟红石火把的结合。电路从OFF->ON时,红石导体立即变为36号方块,中继器无法进行充能,输出端失去信号,当电路从ON->OFF时,红石导体立即变为36号方块,因此金块的红石线连接到下方的线路,获得强度为14的信号,过了2刻后中继器熄灭,此时活塞已完成推动,左侧中继器对红石导体进行充能,维持信号。
(活塞下方有一红石线)
- “地面版”具有最大的占地面积,但较矮小,而且能与其他平面电路相适应。“高版”占地面积与用料均最小,但输入和输出端的位置不甚理想。“长版”较大,但输入和输出端的位置方便与其他电路相接。
- “高版”的输出端也可以从台阶下面的方块引出,但这样的话只有输入的上边沿信号才能做到无延迟。
- 表现: 瞬时反相器有两个黏性活塞——一个用于切断输出,另一个用于移动红石块电源。
- 输入为假时,红石块激活输出端。输入为真时,红石块马上被移走,切断输出端信号(即立即对输入进行反相)。同时,红石中继器激活,但在其能激活输出端之前,另一个方块就会及时移动切断输出。
- 输入为真时,红石比较器尝试激活输出,但输出会被移来的方块切断。输出一被切断,方块缩回,马上使得信号通过(即立即对输入进行反相)。中继器只会在其熄灭之前激活输出端2刻,但这点时间已经足够让红石块回到原先位置接替中继器继续激活输出端。
- 替代方案: 将瞬时反相器作为大型电路的一部分时,可能需要移动输入输出端,此时,两个黏性活塞和红石中继器必须同时激活。“长版”让这三个部件可以通过充能一个方块同时激活,但其余瞬时反相器方案就需要玩家自己布线连接三个部件了。
- 除此之外,只要红石块以及其粘附的活塞能够被输入端无延迟激活,且能够在中继器之后2刻之内伸出激活输出端,红石块以及其粘附的活塞可以挪到任何合适的地方。
无延迟脉冲电路[]
要点同上
无延迟脉冲稳定器[]
- 中继器链脉冲稳定器
- 2×N×2,平面,静音,瞬时
- 电路延迟: 0或
- 输出脉冲长度:最长每中继器4刻
- 输入脉冲长度必须至少为链路中延迟最长的中继器的延迟(通常为4刻)。
无延迟上边缘检测器[]
当输入端(拉杆)信号从OFF->ON时,输出端(红石粉)无延迟的输出一个一定长度(x+1)的脉冲信号。
(活塞下方有一红石导体)
无延迟下边缘检测器[]
当输入端(拉杆)信号从ON->OFF时,输出端(红石粉)无延迟的输出一个一定长度(x+1)的脉冲,当电路从OFF->ON时,红石导体立即变为36号方块,因此金块的红石线连接到下方的线路,获得信号,当中继器熄灭之后,信号消失。
无延迟双边缘检测器[]
当输入端(拉杆)从OFF->ON或ON->OFF时,输出端(红石粉)都无延迟发出一个一定长度(2.5刻)的脉冲信号,当电路从OFF->ON时,红石块立即变为36号方块,下方活塞失去信号,红石导体立即变为36号方块,红石线连接到下方的信号源,发出信号。上方活塞完成推动后,下方被半连接激活将方块推出并完成推动后,切断信号。当电路从OFF->ON时的电路原理也类似。
红石粉断路双边沿感应器[]
→
| |||||||
→
|
|||||||
无延迟反相上升沿感应器[]
- 方块移动反相上升沿感应器
-
- 1×4×3 (12方块),1格宽,瞬时
- 电路延迟:启动延迟, 输出脉冲长度:1刻(负脉冲)
- 本装置实质上是利用中继器抑制下降沿输出的方块移动双边沿感应器 。
→
|
→
| ||||
无延迟反相下降沿感应器[]
- 或门反相下降沿感应器
- 输入到输出有2条线路,两条线路的延迟巧妙配置,这样输入变为0瞬间,输出也会短时间内保持0。
- 方块移动反相下降沿感应器[4]
-
- 1×4×2 (8方块),1格宽,瞬时
- 电路延迟:启动延迟, 输出脉冲长度:2.5刻(负脉冲)
→
|
→
| ||||
→
|
→
| ||||
→
|
→
| ||||
无延迟反相双边沿感应器[]
- 方块移动反相双边沿感应器
- 1×3×3 (9方块),1格宽,瞬时
- 电路延迟:启动延迟, 输出脉冲长度:1.5刻(负脉冲)
- 替代方案: 整个电路可以改为2格宽的平面配置:活塞、红石块及其移动轨迹可以与红石线同高度并列。
→
|
||||
→
| ||||
→
|
|||
→
| |||
无延迟单稳态传输电路[]
- 墙更新链
- 无视距离1刻,1宽可并列
如果和侧面连接、断开,墙(圆石墙等)通过生成、破坏穿过自己和下面所有墙的柱子瞬间向下传递信号。光滑的墙要求能从相反的方向连接两个墙(不论有没有柱子)或其他方块。大概切换墙这些状态最实用的方式是红石控制的活板门。墙有两个稳态,但很难区分。墙改变状态也无法无延迟、可重复地检测。
- 活塞线
活塞推拉一串方块。
下面的方案传输正脉冲,需要输入NC更新或在第一个向右的侦测器输出信号前结束的短脉冲。
侦测器激活向左的活塞,红石块激活向右的活塞,后面的方块使向右的活塞成为方块更新感应器,在上一串方块被推动时伸出。
下面的方案传输负脉冲,需要输入足够第一个活塞缩回的负脉冲。
向右的黏性活塞拉回红石块取消激活下一个活塞,然后红石火把或侦测器再激活它。正前方有多个需要推动的方块的需要向左的活塞或侦测器更新才能伸出。
下面的方案在第一个活塞受到NC更新时伸缩。
无延迟BUD[]
当右侧的活塞收到一个方块更新(狭义)时,输出端(红石粉)无延迟发出一个一定长度的脉冲信号,当需要BUD无延迟检测更新时这个电路非常有用,右侧就是一个普通的BUD电路,当右侧活塞收到更新时,活塞开始推出,红石导体立即变为36号方块,左侧活塞失去充能,左侧活塞开始收回,红石导体立即变为36号方块。金块上的红石线连接到下方的信号源,无延迟输出信号。
(示意图层数排序为从下到上)
无延迟活塞线[]
总结[]
其他无延迟电路门也可以用以上的原理做出,而更加复杂的电路可以把全部中继器和非门替换为无延迟版本而实现无延迟。
活板门-红石粉瞬时技术[]
活板门-红石粉装置简称粉板,是一种简单的双稳态BUD,在栈上的方块更新(更新核)清空前即可作出响应甚至复位。粉板可以用作无延迟的双稳态传输电路等电路[5],其瞬时复位的特点不仅可以提高电路工作的效率,还产生了不需要加载区块、输入不会因落在复位期间而丢失等优势。此外,由于能响应连续的多次方块更新,粉板可以实现无限速率复制绊线钩等操作,并使得利用多次更新传递信息可行。
参见[]
参考[]
- ↑ "BeGamerPlays" (14 February 2013). "Dual-Edge InstaWire 1.5 " (Video). YouTube.
- ↑ "TT Lemon" (3 January 2013). "Snapshot 13w02a - Instant Repeater" (Video). YouTube.
- ↑ "DvirWi" (18 February 2013). "Instant two-way repeater (Designed for 1.5)" (Video). YouTube.
- ↑ "ImETtheAlien" (4 June 2013). "How to Make Simple Compact Fast Redstone Pulsers In Minecraft 1.5.2! [Tutorial] Works in 1.6!" (Video). YouTube.
- ↑ https://www.bilibili.com/video/BV1wV4y167Eo
|
语言