注意,基本概念,紅石元件,充能,充能等級,紅石(狀態)更新,紅石刻,信號與脈衝,激活,充能與激活,電路與機械,電路尺寸,電路特性,傳輸電路,電路類型,傳輸類型,數字傳輸,模擬傳輸,二進制傳輸,一元傳輸,縱向傳輸,縱向數字傳輸,縱向模擬傳輸,中繼器,基本中繼器,瞬時中繼器,雙向中繼器,傳統雙向中繼器,二極體,邏輯電路,概念,邏輯門,非門,或門,或非門,與門,與非門,異或門,同或門,蘊含門,另見,
注意
本條目及其子條目用“1/0”或“高電平/低電平”代表紅石“激活/非激活”。
本條目及其子條目用計量單位“刻”來表示紅石的最小脈衝寬度,1刻=0.1秒=2倍遊戲運行單位周期。在其它非紅石相關條目中可能會出現1刻=0.05秒的情況,詳見刻條目。
本條目及其子條目的“同相,反相”與“同向,反向”兩組術語不可混淆。“相(Phase)”代表相位,指邏輯代數中的“相同”與“相反”(例如“真”與“假”互為反相);“向(Direction)”代表方向,意味空間走向(例如“朝東”與“朝西”互為反向)。
![紅石電路 紅石電路](/img/e/f73/nBnauEmYzYjZlZTY2MmN3YWZ2kjNjdTNidDNzUzM1gjM2UDZyMmZ0ATNhlzLptWa39yYpB3LltWahJ2Lt92YuUHZpFmYuMmczdWbp9yL6MHc0RHa.jpg)
本篇中的“上邊沿/上升沿”指紅石信號由“未激活”到“激活”的變化瞬間;“下邊沿/下降沿”指紅石信號由“激活”到“未激活”的變化瞬間。
基本概念
在描述能夠建築紅石電路的方塊以及可建的電路種類之前,您需要對一些基本概念有所認知。
紅石元件
紅石元件是在紅石電路里具有一定使用目的的方塊,大致分為三個大類:
充能
紅石元件與部分方塊能夠被充能或解除充能。如果說一個方塊被“充能”了,則這個方塊就可以作為電源,具有向毗鄰的“電器”方塊供電以使其工作的潛力。(“毗鄰”是這樣定義的:一個方塊是正方體,正方體有6個面。也就是說與一個方塊的任意一個面接觸的方塊最多可能有6個,稱之為“與該方塊毗鄰的方塊”)。
當非透明方塊(例如石頭、沙石、泥土等)的上、下、左、右、前、後六面中的一面毗鄰激活的
電源(當下方是中繼器、比較器時不會被充能),我們稱這個方塊被
強充能了(這個概念與充能等級不同)。強充能的方塊可以激活毗鄰的紅石線。絕大多數電源可以強充能自身。
當方塊僅被紅石線充能,我們稱這個方塊被弱充能了。與強充能的唯一區別是,弱充能的方塊無法激活毗鄰的紅石線。
被充能的方塊(無論強度如何)都可以影響毗鄰的紅石元件。不同的元件產生的反應不同。您可以查看這些元件的具體描述。
充能等級
充能等級(又稱“信號強度”)為0到15的整數。大多數電源組件均提供滿強度的15級信號,但少數電源組件能提供不同的信號強度。
紅石線能向相鄰的紅石線傳導信號,但每傳導1格,充能等級就降低1。因此,連續的紅石線最遠能將能量傳到15格遠。為了突破這個限制,你可以
保持(使用
紅石比較器)或是
重新加強(使用
紅石中繼器)紅石信號。充能等級只會因為紅石線之間的直接傳導而衰減,不會在紅石線與其他元件或方塊之間衰減。
您可以通過調節處於減法模式或比較模式的紅石比較器以直接控制輸出不同的信號強度。
紅石(狀態)更新
以曼哈頓距離度量的“兩格以內”範圍
當電路的某一部分發生狀態的改變,該改變會引起毗鄰方塊的“紅石(狀態)更新”(請勿與Minecraft 1.5正式版的代號“紅石更新”混淆)。紅石更新是個連鎖反應,會計算直到到達已載入區塊的邊界,通常這個過程極為迅速。
單次紅石更新會使得其它紅石元件得到“附近發生變化”的提示,並得到作出相應狀態變化的機會——但並非所有紅石更新都會導致變化。例如新放置的紅石火把並不會使得旁邊已經被激活的紅石粉發生狀態改變,這樣,紅石更新在這個方向上的的連鎖反應就會在此處終止。
紅石更新也會在任何臨近方塊被放置、移除或摧毀時發生。
在某些條件下,例如紅石比較器,還會因容器狀態改變而發生紅石更新,如箱子內物品的變動等。
下列紅石元件會使得以
曼哈頓距離度量的2格以內產生紅石更新:
紅石元件的毗鄰方塊以及附著方塊的毗鄰方塊
下列紅石元件會使其毗鄰方塊,以及紅石元件附著方塊的毗鄰方塊產生紅石更新:
按鈕
探測鐵軌(僅限水平鐵軌,還會使得比較器更新)
拉桿
壓力板
陷阱箱(下方方塊還會使得比較器更新)
絆線鉤
測重壓力板
毗鄰方塊
下列紅石元件只會使其毗鄰方塊產生紅石更新:
激活鐵軌(僅限水平鐵軌)
陽光感測器
絆線(同時會激活有效聯結的絆線鉤)
活塞與粘性活塞(包括活塞基體與活塞臂伸出空間)
充能鐵軌(僅限水平鐵軌)
鐵軌(僅限水平鐵軌)
下列方塊狀態更改時不會引發紅石更新或方塊更新(方塊移動或摧毀除外):
命令方塊(但會使比較器更新)
發射器(但會使比較器更新)
投擲器(但會使比較器更新)
門
柵欄門(可移動)
漏斗(但會使比較器更新)
音符盒
紅石燈(可移動)
活板門(可移動)
紅石刻
紅石刻(Redstone tick)為Minecraft計算紅石機構狀態的最小時間單位,等於0.1秒。紅石火把,中繼器以及激活的紅石組件需要1刻或更多時間改變狀態,這就引入了在大型電路中至關重要的延遲。
紅石刻與“遊戲刻”或“方塊刻”不同。當討論紅石電路時,“刻”一詞僅指“紅石刻”。
信號與脈衝
具有穩定輸出的電路能夠產生信號——“激活/非激活”時稱為“真/假”或“高電平/低電平”。當信號出現一個較為短暫的非激活-激活-非激活過程,該過程通常被稱為脈衝(或正脈衝。相反的過程被稱為負脈衝)。
非常短的脈衝(1-2刻的)可能會使一些電路組件由於紅石部件的更新順序差異而產生問題。例如紅石火把、比較器無法回響由中繼器形成的1刻脈衝。
激活
機械元件的激活— 機械元件可被電源元件(如紅石火把)、充能的方塊、紅石粉、中繼器與比較器以恰當的方式激活
機械元件(活塞,門,紅石燈等)可被激活,引發機械元件的反應(如推動方塊,開門,紅石燈點亮等)。
所有機械元件都可以被下列方塊激活:
準聯通方式激活——活塞也能夠被能夠激活活塞之上空間的東西激活。請注意,最左側的夠活塞並未被準聯通激活,因為紅石粉僅僅是路過了活塞上面的方塊,而不是直接指向該方塊,因此無法激活該活塞
有些機械元件只會在剛激活時有所反應(如命令方塊執行命令,投擲器與發射器發射物品,音符盒播放一個音符),直到反激活-激活之前都不會再有所反應。其它機械元件會在激活時始終保持狀態,直到反激活(紅石燈保持點亮,門保持開啟,漏斗保持不工作狀態,活塞保持伸出等)。
部分機械元件可以用其他方式激活:
充能與激活
充能與激活— 上方的紅石燈既被“激活”(因此紅石燈點亮),也被“充能”(因此毗鄰中繼器激活,且下方紅石燈點亮),但下方紅石燈只是被“激活”,並未被“充能”
對於非透明機械元件(包括
命令方塊、投擲器、
發射器、
音符盒與
紅石燈),因為非透明方塊可以充能,因此區分它們是被“激活”還是被“充能”相當重要,也因此我們將“激活”與“充能”作為兩個獨立的概念進行表述。
任何充能機械元件的方法也會同時激活機械元件,但一些激活方法(如毗鄰被充能的非透明方塊)並不會充能該機械元件。
透明機械元件(門、柵欄門、活塞、漏斗、鐵軌、活板門)可被激活並作出反應,但因為不具備非透明方塊的性質而無法被充能。
電路與機械
兩個術語通常都用於指包含電路組件的結構,但兩者一般還是有明顯區別的:
所有機械均包含紅石組件或電路,但電路本身是不會對環境產生影響的(除了紅石火把或中繼器在激活時產生的光,或活塞作為電路組成成分之一時造成的推拉方塊的負效果)。明確這些簡單的概念有利於我們理解紅石電路
電路尺寸
本wiki用寬× 長× 高的格式(電路的外切長方體)描述電路的尺寸,其中包括底板支撐方塊,但不包括輸入/輸出。
描述電路尺寸的另一種方法是忽略最下層支撐電路的那層方塊(例如位於下層紅石粉之下的方塊)。然而這種方法無法區分平面電路與一格高的電路。
通常直接用電路的占地面積,或是直接用1格寬的電路的長度描述電路尺寸較為方便。
電路特性
根據不同的設計目標,您應當考慮一些常見的特性:
1格高電路
1格高電路意味著其縱向只有1格,也就是說這種電路不能存在需要下方方塊支撐的元件(例如紅石線、紅石中繼器)。
1格寬電路
1格寬電路指至少1個橫向尺寸為1.
平面電路
指的是可以直接建造在地平面,不需要層疊元件(不計方塊支撐紅石元件)。平面電路通常利於初學者理解與學習。
隱形電路
指的是可以完全隱藏在一堵牆,或地板之下,或天花板之上的電路。這種電路尤其適合活塞門。
立即回響電路
指一接到輸入信號,能夠馬上輸出的零延遲電路。
靜音電路
指不會發出聲音的電路。這種電路不會有活塞、發射器、投擲器等會發出響聲的元件。此類電路適合陷阱、安靜環境以及需要減噪的電路的建造。
可堆疊電路
指同樣的電路可以一個直接疊在另一個上面的電路,疊放之後電路之間不會互相干擾。
可並列電路
指同樣的電路可以一個直接毗鄰另一個旁邊建造的電路,毗鄰之後電路之間不會互相干擾。
可能還會有其他的設計目標,包括降低子電路延遲、減少昂貴元件消耗(例如比較器)與儘量減小設計尺寸等。
傳輸電路
傳輸電路(Transmission Circuit)使得信號從一處傳到另一處,為最基本的
紅石電路之一。
電路類型
雖然建造電路的方法無窮無盡,但特定的電路建造樣式是比較固定的。下面的章節對Minecraft社區中流行的電路進行了分類,每個章節有獨立的主條目用於描述具體的電路設計方案。
某些電路可能只能完成最簡單的控制功能,但你將逐漸能用此類簡單電路的組合成複雜的、能夠滿足機械需要的大型電路
傳輸類型
對於簡單的紅石結構來說,數字(0/1)傳輸就足夠了。
對於複雜的紅石結構來說,可能需要更複雜的傳輸形式,例如數字、二進制或一元傳輸。
如果數字被不同形式的傳輸方式表達,那么稱這種過程為編碼。
數字傳輸
數字(Digital)傳輸只關心是“激活”還是“未激活”。
紅石粉
信號能在連續的紅石粉上傳導最多15格遠。
紅石粉長鏈構造簡單,使用靈活。
絆線傳輸
絆線傳輸圖示
1格寬
電路延遲:上升沿瞬時,下降沿3刻
特點:適宜長距離傳輸,但不適合傳輸短脈衝。
通過移動實體接觸絆線(圖中以礦車為例),最遠可以激活40格之外的絆線鉤。
活塞移動方塊時,運動中的方塊不具有紅石特性(其此時無法傳導或提供電能)。然而,活塞推動實體時,實體會在每一遊戲刻刷新自己的位置,因此,礦車能在活塞激活時馬上接觸到絆線,從而立即激活遠方的絆線鉤,故在上升沿信號作用時,本電路無延遲。然而,活塞縮回時,礦車無法被拉回,而是受重力影響落下,因此在下降沿信號作用時會產生3刻的延遲。總的來說,正脈衝會被本電路加長3刻,負脈衝減短3刻,因此其可能會抹去較短的負脈衝(即低通濾波特性),從而不適合傳輸短脈衝。
絆線傳輸電路必須與其他實體隔離,例如生物、玩家等。
還有很多傳輸紅石信號的方法。這些方法可能在長距離上效率較低,但在某些壓縮的紅石結構中利用其特殊的紅石信號交換方式起到一定的作用。
傳輸交叉
絆線可以互相交叉的同時不互相影響,但紅石粉就必須保證互相隔絕,否則會造成信號串擾。
紅石橋
最中間一格為紅石粉-方塊-紅石粉疊放結構。
最簡單、最快的交叉線解決方法就是紅石橋了。
替代方案:降低中央方塊1格高度,同時讓南北走向的三個紅石粉也都降低1格高度。
中繼器橋
中繼器橋
中繼器橋的高度落差顯然要比紅石橋小1格,但代價是兩條線路都引入了1刻延遲。
模擬傳輸
模擬(Analog)傳輸(即“十六進制線”)為輸出端保持輸入端信號強度的電路。因為信號強度有16種,模擬傳輸線就能在一條線內實現16種狀態。
| 現實生活中“模擬”與“數字”的區別“ 模擬”意為“連續變化”。這並不符合 Minecraft中的只有16格離散值的模擬線路(例如,13.43強度的信號並不存在)。但這裡使用“模擬”一詞是為了區分信號強度傳輸與0/1傳輸,現實生活中也只有數字電子(僅傳輸高電壓或低電壓)與模擬電子(重在連續變化的電勢)之間的區別與其最為相似了。因此“模擬”與“數字”的叫法被各大 Minecraft社區所採用。 |
模擬比較器傳輸線
特點:短距離傳輸與拐角傳輸的最佳選擇。
最簡單的模擬線路就是這種比較器鏈了。然而與中繼器相似,比較器也可以從非透明方塊接收信號,這樣每4格1個比較器從用料和延遲角度考慮都更有效率。
這種線路中的任意一個比較器都可以用於減弱或阻斷傳輸的信號(比較器的減法功能);任意一個固體方塊都可以用於加強傳輸的信號。
由於紅石粉並未與任何電源或傳輸元件相鄰,因此紅石粉呈點狀,點狀紅石粉能向前後左右以及下方的方塊弱充能。故其他線路的傳輸元件(例如紅石粉、比較器等)不能與本線路的紅石粉相鄰,否則紅石粉會與之匹配,從而使信號無法傳遞下去。
模擬中繼器傳輸線
模擬中繼器傳輸線圖示
平面,靜音
電路延遲:每14格1刻
特點:長距離的最快選擇。
另一種思路是在恰當的距離上中繼所有可能的信號強度,以傳導與輸入相同的信號強度。
一塊完整的模擬中繼器傳輸線包括15箇中繼器用於中繼所有可能的信號強度。若想多個這樣的部分首尾相接,必須保證前一級最後一個中繼器的輸出紅石粉必須就是後一級第一個中繼器的輸入紅石粉(例如,前一級的方塊B就是後一級的方塊A)。
替代方案:若想保持多個首尾相接的模組在同一條直線上,相鄰模組的中繼器朝向必須相反,且模組之間需要用比較器和固體方塊保持信號強度。然而,這樣會使電路延遲增加到每17格2刻。
模擬減法傳輸線
模擬減法傳輸線圖示【可用10個值】
二進制傳輸
二進制(Binary)傳輸包括多條平行的數字傳輸線,每條線代表一個二進制數的一位。例如,三條傳輸線可以分別代表二進制001(十進制1),二進制010(十進制2)與二進制100(十進制4)——這樣的三條線的排列可以代表十進制0到7的任意一個數。每條傳輸線的命名按照該位的權重而定,類似十進制的個位、十位、百位、千位,二進制就是個位、二位、四位、八位,以此類推。
當二進制傳輸用於輸出十進制數值(例如7段顯示),這種情形被稱為“二進制編碼十進制(Binary-Coded Decimal,BCD編碼)”。
四位二進制編碼
四位二進制編碼所攜帶的數據量與模擬傳輸線相同。…
八位(即“位元組匯流排”)與16位二進制編碼在類計算機結構中較為常見。
一元傳輸
一元(Unary)傳輸包括平行的多條數字傳輸線,傳輸的數值由被激活哪條線決定(例如,數字5可以用第5條線激活代表)。一元編碼很少用於數據傳輸(太耗資源),但經常用於輸入端(例如,哪條拉桿拉下)或輸出端(例如,哪個發射器激活)。與不同編碼之間需要編碼/解碼器的轉換。
| 現實生活中的一元“ 一元”意思是“只有一個元素”。本稱謂也用於 一進制中,用2個數位表達數字,但第二個數位僅用作數字結束的標記。在 Minecraft中,“一元”並非嚴格與現實生活中對應,但用“一元”描述“用單獨的一條線表達數字”最為貼切。 |
16態一元編碼
16態一元編碼所攜帶的數據量與模擬傳輸線相同。…
縱向傳輸
紅石樓梯(左),紅石梯(中)與火把塔(右)
雖然橫向傳輸較為容易,但縱向傳輸就需要一些代價了。
縱向數字傳輸
絆線無法用於縱向傳輸,您只能選用其他的方法。
紅石樓梯
向上或向下
1xNxN,1格寬,靜音
電路延遲:每15格1刻
紅石粉能夠在沒有非透明方塊切斷信號的前提下,對毗鄰的高於或低於1格的紅石粉傳導信號。這樣就是最簡單的縱向傳輸方案。
替代方案(螺旋樓梯):每次傳導到下一層時朝相同時針方向轉向90度的話,可以創建螺旋樓梯,占地面積2x2。順時針與逆時針皆適用。
紅石梯
只能向上
1x2xN,1格寬,靜音
電路延遲:縱向每15格1刻
承載紅石粉的透明方塊並不會切斷紅石粉傳導,因此利用這個特性可以創建之字形的紅石梯。紅石梯通常選用成本較低的
螢石與倒置
台階;漏斗和倒置的
樓梯是性價比不高的替代方案。
火把塔
只能向上
1x1xN,1格寬,靜音
電路延遲:縱向每2格1刻
紅石火把能夠對其上方毗鄰非透明方塊強充能,這樣就可以使得信號向上傳輸了。
火把梯
向上或向下
1x2xN,1格寬,靜音,1x1可並列
電路延遲:縱向向上每1格1刻,向下每2格1刻
紅石火把能夠激活其下方毗鄰的紅石線,這樣可以使得信號向下傳輸。
活塞塔
只能向下
1x1xN,1x1可並列
電路延遲:上升沿縱向每5格2刻,下降沿為0
活塞能向下推動紅石塊,從而激活下一級紅石粉,紅石粉弱充能方塊,方塊激活活塞……這樣循環就能向下傳輸信號了。
由於上升沿與下降沿的延遲不同,正脈衝會被縮短2刻,這樣小於等於2刻的正脈衝就會被過濾掉。因此在套用於短脈衝時要考慮到這種情況。
組合向上梯
組合向上梯式縱向數字傳輸電路
只能向上
1x3xN,1格寬,靜音
電路延遲:縱向每17格2刻
可以將火把塔和紅石梯組合起來實現縱向傳輸電路,這樣可以達到最大的傳輸高度和最小的延遲,如圖所示。
縱向模擬傳輸
模擬傳輸的縱向方案與橫向方案思路基本類似。
紅石比較器可以充能方塊,方塊上的紅石粉又可以激活同一高度的另一個比較器,以此類推。縱向比較器傳輸方案高度每增加1格,需要橫向2方塊的空間(如果計入紅石粉與方塊的重疊部分,也可以看成是3方塊空間),當然也可以設計成3×3的螺旋樓梯結構。
縱向模擬中繼器傳輸
縱向中繼器傳輸為基於紅石梯的模擬中繼器傳輸線。這種方案只能向上傳輸,單位為14格(可以用縱向比較器傳輸彌補非14倍數的高度差)。與橫向模擬中繼器傳輸類似的是,前一級的最後一個紅石粉必須是後一級的第一個紅石粉(除非用縱向比較器傳輸方案拉開距離)。
縱向模擬樓梯傳輸由紅石樓梯或紅石梯組合,中間有減法所需的斷點。
中繼器
“中繼”信號的意思是將信號加強到最大強度。紅石信號在連續的紅石粉上傳導時,信號會逐漸衰減,每15格至少需要中繼一次。中繼元件與電路能夠使得信號的傳輸距離加長。
基本中繼器
一些紅石元件可以中繼信號。
紅石中繼器
1×1×2(2方塊),1格寬,平面,靜音
電路延遲:1-4刻可調
長距離信號傳輸時,用非透明方塊代替中繼器兩端的紅石粉較為經濟——這樣每18格才需要1格中繼器,延遲也能降低到最小每18格1刻。
火把中繼器
火把中繼器
1×2×1(2方塊),1格寬,平面,靜音
電路延遲:1刻
長距離傳輸也可以用紅石火把,只不過要注意紅石火把是一個非門,故最終使用的火把數量必須是偶數。紅石火把中繼器的紅石用量比紅石中繼器稍低(每17格16個紅石),但延遲略大(每17格1刻)
雙火把中繼器
雙火把中繼器
1×3×2(6方塊),1格寬,靜音
'電路延遲:2刻
雙火把中繼器是紅石中繼器方塊加入Minecraft之前的標準中繼配置。在傳輸線里,每18格需要1個雙火把中繼器,用料為每18格18紅石,引入每18格2刻的延遲。
瞬時中繼器
瞬時中繼器(Instant repeater)指可以無延遲中繼信號的電路。瞬時中繼器與紅石粉的序列通常被稱為“瞬時線”。
瞬置瞬時中繼器
本電路較小巧,耗費資源少,但依賴非有意為之的活塞特性,這些特性有在未來版本中改變的可能。
行為(上升沿):輸入為0時,紅石塊間接激活下一層的活塞。輸入變成1時,上方活塞激活,紅石塊開始推出,與此同時下方活塞失去供能,開始拉回方塊A,這樣上方活塞在激活的幾乎同時又失去了能量來源方塊A——這樣上方活塞幾乎瞬間完成了活塞臂伸出與縮回(即“瞬(間放)置”:活塞把紅石塊瞬間推到了下一格,活塞臂縮回時也沒有把紅石塊拉回去),這樣紅石塊又開始激活下方活塞。所有的過程幾乎是瞬間完成的(在同一刻內),有效地使得上升沿信號瞬間通過整箇中繼器。下方活塞繼續伸出,2刻後使得A處於原始位置,上方活塞重新伸出,準備在下降沿時拉回紅石塊。
行為(下降沿):輸入由1變0時,上方粘性活塞開始拉回紅石塊,從而立刻切斷輸出端信號,有效地使得下降沿信號瞬間通過整箇中繼器。紅石塊移動時,下方活塞縮回,但紅石塊完全縮回到位後,又可以間接激活下方活塞。整個系統又回到初始狀態。
紅石粉斷路瞬時中繼器
紅石粉斷路瞬時中繼器
本電路比瞬置瞬時中繼器稍大,但使用了較為穩定的遊戲特性。
行為(上升沿):輸入由0變1時,下方粘性活塞伸出,使得上方粘性活塞縮回,從而立即使方塊A下方的紅石粉傳導信號到輸出端。所有的過程幾乎是瞬間完成的(在同一刻內),有效地使得上升沿信號瞬間通過整箇中繼器。移動中的紅石塊也會立即停止對其下方紅石粉的激活,但由於中繼器的延遲,紅石塊能夠在中繼器輸出信號消失之前接替中繼器,繼續對輸出端供電。
行為(下降沿):輸入由1變0時,下方粘性活塞開始拉回紅石塊,從而立即切斷輸出信號,有效地使得下降沿信號瞬間通過整箇中繼器。紅石塊縮回到位後激活下面的紅石線與上方活塞,但由於中繼器的延遲,上方活塞能夠在中繼器有輸出信號之前把方塊A推回原位,徹底切斷可能激活輸出的線路。
替代方案(2格寬):圖示最上面2層的所有方塊(包括紅石粉)可垂直於圖示平面移出1格,並下移1格,使得下層活塞與中繼器同一層放置,同時移出下層的最後方的方塊及其紅石粉,這樣可以將原裝置改造成2格寬版本。在該版本中,如果想要減少紅石用量,可以挖空紅石塊可能存在的2個位置下方的方塊,用紅石火把代替,再用任意非透明方塊取代紅石塊。
雙向中繼器
雙向中繼器(Two-way repeater)能夠中繼兩個方向傳來的信號。
雙向中繼器具有2個輸入端,也可以作為輸出端。
設計雙向中繼器的最大問題就是在激活輸出端同時杜絕輸出端信號作為另一方向的輸入信號的可能,否則就會產生永遠激活的中繼器環路。
目前的方案都存在“雙向復位時間”——一個方向的輸入信號消失時,需要一段時間的復位才能允許另一個方向信號輸入。
中繼器鎖存雙向中繼器
3×4×2(24方塊),平面,靜音
電路延遲:1刻
雙向復位時間:3刻
一個方向信號輸入時,利用中繼器鎖存原理杜絕另一個方向的輸入。
替代方案(輸入補償):電路兩側都有線狀排列的紅石粉,這樣兩側信號在得到中繼前的強度都衰減了1,因此該中繼器前後的元件與其距離必須小於或等於11紅石粉。你可以考慮通過移動輸入輸出端的位置來補償這個損失。
比較雙路中繼器
比較雙路中繼器
2×5×2(20方塊),平面,靜音
電路延遲:2刻
雙向復位時間:4刻
信號從一段輸入時,會通過比較器的減法功能阻隔另一端信號的輸入。
也可以利用比較器的另一側以隨意阻斷單向信號。
替代方案:可以用非透明方塊代替中繼器前後的紅石粉以減少不必要的信號強度損失(原理與長距離中繼器傳輸線相同)。
CodeCrafted版雙路中繼器
CodeCrafted版雙路中繼器
2×6×3(36方塊),靜音
電路延遲:2刻
雙向復位時間:3刻
每側輸出都由方塊下的紅石火把提供,該火把由於另一側的火把輸入而保持熄滅。另一側輸入信號時,該側輸出火把點亮——同時也會通過另一邊的紅石粉使得另一側輸出火把保持熄滅,從而防止信號返回。
傳統雙向中繼器
傳統雙向中繼器
3×4×3(36方塊),靜音
電路延遲:2刻
雙向復位時間:4刻
本方案相對其他方案幾乎沒什麼優勢,但可能適用於特定情形。
瞬時雙向中繼器
瞬時雙向中繼器
粘性活塞之下是設定為1刻延遲的、由火把指向外面的中繼器。
4×4×3(48方塊),瞬時
電路延遲:0
雙向復位時間:2.5刻
一側輸入信號時,該信號會(1)使側面火把熄滅(2)激活一條直線上的粘性活塞。活塞開始推動方塊時,方塊下方的紅石線會立刻連線到輸出端,從而使輸出端立刻開始輸出。活塞推動到位後,來自火把和活塞下方中繼器的電能消失,同時推動的方塊又會被強充能,接替對輸出端供電的工作。
方塊推動雙向中繼器
方塊推動雙向中繼器
2×5×2(20方塊),平面
電路延遲:上升沿1.5刻,下降沿0
雙向復位時間:1.5刻
輸入由0到1時,粘性活塞會推動紅石塊到可以激活輸出端的位置,但同時,輸出端紅石線會自動與紅石塊匹配,從而無法激活反向的粘性活塞。
由於本電路會對上升沿產生延遲,正脈衝的長度均會縮短1.5刻。
二極體
信號傳輸可能有時要保證傳輸的方向正確。“二極體”即為保證信號單向傳輸的裝置。
元件二極體
紅石中繼器與紅石比較器都能分別作為作為數字傳輸與模擬傳輸的二極體,均引入1刻延遲。
透明二極體
透明二極體
某些透明方塊能夠附著紅石粉:
螢石、倒置
台階、倒置
樓梯與
漏斗。這些方塊能夠使紅石信號斜向上傳輸,但無法斜向下傳輸(無法附著紅石粉的透明方塊無此特性)。因此,簡單地用此類方塊抬高一格即可實現極其簡單的二極體。
一般而言,倒置台階最常用,但偶爾為了照明需要會使用螢石,或是為了與物流管道交疊而採用漏斗,等等。
邏輯電路
邏輯電路(Logic Circuit)可以認為是一個會返回輸出結果的裝置,輸出結果由輸入信號以及邏輯門的規則決定。舉個例子,若且唯若兩個輸入到
與門的信號都為 '真'/'開'/'激活的'/'高電平'/'1'時,與門才將'真'/'開'/'激活的'/'高電平'/'1'作為輸出結果。
有許多不同種類的邏輯門,每種邏輯門都有很多不同的設計方案。不同的方案也各自有優缺點,如電路規模、複雜度、運行速度、維護難度以及花費等。下面的章節會對每一種邏輯門列出很多不同的設計方案供讀者參考。
概念
A | 開 | 開 | 關 | 關 | (輸出為真時)等效文字邏輯表達 |
---|
A非 | 關 | 關 | 開 | 開 | A為假嗎? |
A或B | 開 | 開 | 開 | 關 | 有一個輸入為真嗎? |
A或非B | 關 | 關 | 關 | 開 | 兩個輸入都為假嗎? |
| 開 | 關 | 關 | 關 | 兩個輸入都為真嗎? |
A與非B | 關 | 開 | 開 | 開 | 有一個輸入為假嗎? |
A異或B | 關 | 開 | 開 | 關 | 兩個輸入不同嗎? |
A同或B | 開 | 關 | 關 | 開 | 兩個輸入相同嗎? |
A蘊含B | 開 | 關 | 開 | 開 | 如果A是真,B是真嗎? |
如果忽略邏輯門本身的少量延遲,我們可以認為邏輯門的輸出可以立即對輸入的狀態產生反應。
交換輸入
大多數2輸入邏輯門中,交換A端與B端並不影響輸出結果。
交換蘊含門的輸入端會對輸出造成影響,除此之外,非門只有一個輸入端。
層疊輸入
與門,或門與異或門可以通過輸入端兩兩樹狀層疊完成多輸入改造。這樣改造後的輸入端彼此依然可以交換。
異或門這樣改造後,只有輸入端為真的個數為奇數,輸出才為真。
邏輯門的選擇
如果不清楚應該用哪種邏輯門,您可以像右邊一樣列一張表(只留一行輸出就夠了)。列出所有輸入信號的可能組合以及期望對應的輸出,然後可以將你列出的表與下面的表進行對比,看看哪一種符合即可選用。列表也給出了每種運算的對應數學符號。
如果你期望在輸入穩定時輸出發生改變,請參見
脈衝電路;如果你期望輸入的某個狀態可以被保存(邏輯門無法完成此功能),請參見
記憶電路。
邏輯門
邏輯門(Logic Gate)為最基本的邏輯電路。
非門
非門(NOT Gate)即為"反相器",會將所輸入的真值反相,也就是當輸入為假時輸出為真,反之亦然。
火把反相器
1格寬,平面,靜音,可並列
電路延遲:1刻
火把反相器是最古老、最常見的非門,其具有低原材料消耗、小體積、高靈活性與極容易建造等特點。
火把反相器的最大缺點就是當其傳輸時鐘寬度小於3刻(即3刻高電平3刻低電平循環)的時鐘信號(稱為3刻時鐘)時,火把會產生“燃盡”效果而暫時無法正常工作。一定隨機時間間隔之後才會恢復正常,這樣會造成難以預測的電路回響。
減法反相器
減法反相器能夠回響2刻時鐘,但無法回響更快的時鐘——因為比較器本身的限制。
替代方案:拉下的拉桿可以替換為任何永遠激活的電源元件(例如紅石火把、紅石塊);如果放置電源元件不方便,用裝滿的容器替代也是可以的。.
中繼器的作用是確保輸入信號比比較器的末端輸入更強。如果輸入信號強度已知,那么中繼器可以在拉下的拉桿被能夠產生相同信號強度的容器替換的前提下移除。你也可以在確保輸出端連線的紅石線長到足以將信號反相的前提下移除中繼器。
瞬時反相器
瞬時反相器是大型瞬時電路的基礎部分。
“地面版”具有最大的占地面積,但較矮小,而且能與其它平面電路相適應。“高版”占地面積與用料均最小,但輸入和輸出端的位置不甚理想。“長版”較大,但輸入和輸出端的位置方便與其他電路相接。
“高版”的輸出端也可以從台階下面的方塊引出,但這樣的話只有輸入的上邊沿信號才能做到無延遲。
表現:瞬時反相器有兩個粘性活塞——一個用於切斷輸出,另一個用於移動紅石塊電源。
輸入為假時,紅石塊激活輸出端。輸入為真時,紅石塊馬上被移走,切斷輸出端信號(即立即對輸入進行反相)。同時,紅石中繼器激活,但在其能激活輸出端之前,另一個方塊就會及時移動切斷輸出。
輸入為真時,紅石比較器嘗試激活輸出,但輸出會被移來的方塊切斷。輸出一被切斷,方塊縮回,馬上使得信號通過(即立即對輸入進行反相)。中繼器只會在其熄滅之前激活輸出端2刻,但這點時間已經足夠讓紅石塊回到原先位置接替中繼器繼續激活輸出端。
替代方案:將瞬時反相器作為大型電路的一部分時,可能需要移動輸入輸出端,此時,兩個粘性活塞和紅石中繼器必須同時激活。“長版”讓這三個部件可以通過充能一個方塊同時激活,但其餘瞬時反相器方案就需要玩家自己布線連線三個部件了。
除此之外,只要紅石塊以及其粘附的活塞能夠被輸入端無延遲激活,且能夠在中繼器之後2刻之內伸出激活輸出端,紅石塊以及其粘附的活塞可以挪到任何合適的地方。
或門
或門(OR Gate)在邏輯學裡又稱為 "選言",運算方法是只要有一個輸入信號為真,輸出即為真;所有輸入都為假時,輸出才會為假。
或運算可以層疊,或門可以樹狀首尾自由組合,之間的順序與層級不會影響最終的運算結果。.
方案A是最簡單的或門:僅僅是一個直接連線輸出端和輸入端的紅石線。不過這也導致這個或門的輸入變得很“暴露”,因此同一輸入端只能被接在這一個或門上面。圖示中的例子用了一個固體方塊替代了紅石線,這樣就不會有這個問題了。
如果你想把輸入用在其他地方,輸入端必須隔離,或是像上面一樣穿過一個方塊,或是利用紅石火把/中繼器,這樣就產生了方案B。其實這個方案就是一個輸出被反相的或非門。
方案C用中繼器隔離了輸入端。可以在水平方向將輸入端數量擴展到至多15個,比方案B快一刻。如果想擴展更多輸入信號,就需要用額外的中繼器加強了。然而,由於一個紅石中繼器需要三個紅石粉來製作,故版本C需要較多的紅石粉(還有石頭)。
方案D1格寬的縱向設計,中繼器用於隔離輸入輸出。本版本只能有兩個輸入,當然你可以通過層疊或門達到變相擴展輸入端數量。
方案
E利用了諸如倒置
台階與螢石塊等
透明方塊的特性:他們鋪設紅石線時只能向上傳導,而無法向下傳導。本設計與C方案都具有相當強的可擴展性。
或非門
或非門(NOR gate)即為或的反面,也就是只要有一個輸入為真,輸出即為假。當所有輸入都為假時,才會輸出真。
或非門可以由一個紅石火把來實現,所以在Minecraft中算是非常基礎的邏輯門。(單輸入時為非門,無輸入時為“真門”即電源)
一個火把很容易透過方案A那樣實現三輸入,而方案B通過長度加長實現了四輸入。如果想實現更多輸入端,可以像或門那樣層疊,最後再經過一個非門。
與門
與門(AND gate)在邏輯學裡又稱為"且",只有在所有輸入都為真時,才會輸出真。和或門類似,三輸入與門可以自由層疊。
與門的典型套用是建造一個可以鎖住的門,如果要開門,就需要同時按鈕按下以及鎖(通常是拉桿)打開的情況下激活按鈕。
很多與門類似於“三態緩衝器”,輸入端B就像一個開關,但它關閉後,輸入端A就與電路其他部分斷路了。不過與現實生活中的三態緩衝器不同的是,Minecraft里不可以驅動低電流。(請參考維基百科:三態邏輯獲知更多信息)
與非門
與非門(NAND gate)簡單來說就是“不全是即真”,也就是與門的反面。在所有的輸入都為真時,輸出假。
“與非門”跟“或非門”類似,任選一個就可以構建出所有的邏輯門。
與非門也可以通過層疊與門,最後再取反相,來實現輸入端擴展。
異或門
異或門(XOR gate)為只要輸入信號有不同時,就輸出真,所有輸入信號都相同時,才輸出假。
異或門一般能滿足在多地控制同一機械的需要。控制端(通常為拉桿)用異或門組合,切換任意一個控制端都會改變異或門的輸出(類似於現實生活中控制同一個燈泡的兩個開關——你可以用任意一個開關控制燈泡的亮暗)。
類似與門、或門,異或門也可以自由層疊。只不過輸入端為1的數量為奇數時,最終輸出才為1.
方案D很簡潔,但只能用拉桿作為輸入。加深的方塊在另一個固體方塊的頂層,同時被兩個拉桿和一個紅石火把附著。
方案F為純紅石火把方案中最常用的,但一些包括新元件的方案的性能比這個方案更好。方案H採用了活塞,回響速度更快,更節省空間。
除了火把和活塞之外,不同的中繼器可以實現相對壓縮與便宜的異或門方案。方案I依照可用空間任意選擇輸入端中繼器的來向,下方也可以。方案J使用了便宜的透明方塊。
Minecraft 1.5
紅石比較器的引入使得異或門擁有了新的設計思路:“減法異或門”,平面,回響速度快,靜音,建造容易。唯一局限是在生存模式里你需要花時間開採下界石英。
每個輸入端與和其距離最近的比較器的側面與尾部距離均相同,這樣可以單個輸入端無法使得和其距離最近的比較器輸出信號,但能夠使距離較遠的那個比較器輸出信號。因此,整個減法異或門若且唯若只有一個輸入端激活時,輸出端才有信號。
然而,這種情況必須保證原始輸入信號強度完全相同(相差不超過1也可以),否則會出現一側信號過強將另一側壓制的情況。在保證原始輸入信號強度相同的前提下,您才可以使用“基礎版”。否則就必須採取方法平衡兩邊的強度。常用的方法包括“中繼版”與“反相版”。
同或門
同或門(XNOR gate)在邏輯學裡又稱為“雙條件”,或稱為“若且唯若”(if and only if)。所有輸入信號都相同時才輸出真,只要有一個以上不相同時就輸出假,也就是異或門的反面。
跟異或門類似,兩個輸入信號中的任何一個發生改變,輸出信號都會發生改變。
在異或門的輸出端或者其中一個輸入端加非門,可以很方便的等效實現同或門。
方案A為純火把設計。如果不需要外部輸入端,朝後的兩個火把可以用拉桿代替,即方案B。方案F較大,但邏輯思路清晰,方案I實際就是異或門方案H的非門改造產物。
蘊含門
蘊含門(IMPLIES Gate)在邏輯學裡又稱為“實質條件”,簡單來說就是“如果A那么B”。
在A → B的所有四種結果中,只有在A為真,但B為假的狀況下,蘊含門才會輸出信號為假。其他狀況蘊含門都輸出為真。
如果1代表真,0代表假,蘊含門也可以理解為“A小於等於B”(A<=B)。
方案C在輸出為真時需要2刻,輸出為假時只需要1刻。類似地,另一個方案在輸出為假時需要1刻,輸出為1時瞬時反應。如果你必須同步輸出周期,一般會用紅石中繼器來對“較快的”輸入端延遲1個紅石周期從而使輸出同步(對於C而言就是輸入端A,對於其他方案而言就是輸入端B)。
另見