比較器與混合訊號元件
線或連接(wired-OR)
線或是一個技巧,讓許多裝置共用一條導線而不互相打架。一般來說,若兩個輸出同時驅動同一條線、一個說高另一個說低,它們會把電源短路在一起,其中一個大概會燒掉。線或用「只會把共用線拉低、絕不推高」的開汲極輸出來避開這件事,於是它們永遠不會相撞。一顆共用的上拉電阻把線維持在高;任何想引起注意的裝置,只要把它拉低即可。
想像一場安靜的會議,預設是沉默(線閒置在高,由上拉電阻維持),任何人都能藉拉低線來發言。因為下拉永遠勝過溫和的上拉,只要有任何一個裝置拉它,線就是低;只有當每個裝置都放手,線才是高。在正邏輯看來,這像是各「放手狀態」的邏輯及(AND,常稱 wired-AND);從主動低(active-low)的訊號看,它是或(OR)——名稱由此而來。經典用法是共用中斷線:十個周邊各以開汲極輸出接到一條線、配一顆上拉電阻。只要有任一周邊需要服務,處理器立刻看到低,再去輪詢找出是哪一個。
線或是 I2C 之類多主控匯流排仲裁的方式,是多顆晶片共用中斷或忙碌/就緒線的方式,也是任一來源都能觸發系統重置的方式。誠實的限制:匯流排只能被主動拉低(高只是被動的上拉,所以上升邊緣很慢);而且光看線本身無法分辨是哪個裝置把它拉下——那需要額外的邏輯或輪詢。但若要在許多發言者之間安全共用一條線,再沒有比這更簡單的了。
八個感測器,各有一個開汲極的 ALERT 腳,以單顆 4.7 kΩ 上拉共用一條線通往處理器。只有當八個都閒置時線才是高;只要任一感測器把它拉低,處理器就知道有誰需要關注,並掃描匯流排找出是誰。
多者可拉低;只有全體放手時線才是高。
線或只在開汲極(或開集極)輸出下才行得通。把兩個普通推挽輸出接在一起,一個高對一個低的衝突會經由兩顆電晶體把電源短路——這是會毀掉它們的接線錯誤。
又称
另见