上回講述初階版 4 位二進制密碼鎖電路,密碼核對部分以 2 輸入
XNOR 閘和 4 輸入 AND 閘構成。只要輸入正確密碼,LED 便亮著。因電路設計非常簡單,存在不少漏洞,所以不適合應用於實際生活。如此,文末建議將電路加以完善,並設定以下條件:
設計一個 4 位二進制密碼鎖。預設一組密碼〈P3, P2, P1, P0〉,使用者輸入另一組數值〈U3, U2, U1, U0〉後,按「提交」鍵核對。如兩組數值相符(每個位元對〈Ui, Pi〉的值需相同),綠色 LED 穩定亮著;如不相符,則紅色 LED 亮起後熄滅。系統接受最多連續三次錯誤輸入,之後需按「重置」鍵,以重新接受輸入。(如輸入密碼正確,亦需按「重置」鍵進行下一次核對。)
各位可有想出符合以上條件的電路?事實上,要全以邏輯元件建構電路,當中有一定挑戰性;相反,如轉用編程方法實踐,電路定必大幅簡化,但為熟習邏輯電路設計技術,諸位必須迎難而上、積極思考、夙夜練習。
進階電路剖析
設計電路前,宜先清楚列出電路組成部分:
輸入元件
l 兩組 4 位撥動開關(預設密碼和輸入密碼)
l 「提交」鍵
l 「重置」鍵
輸出元件
l 紅色 LED
l 綠色 LED
詳細執行要求
l 按下「提交」鍵後始進行密碼核對,並出現下列其一情況:
(情況一)之前輸入錯誤次數累計少於 3 次以下,並且現時綠色 LED 未有亮著:
n 如兩組密碼相符,綠色 LED 穩定亮著。
n 如兩組密碼不相符,紅色 LED 短暫亮著,輸入錯誤次數遞增一次。
(情況二)之前輸入錯誤次數累計已達 3 次:
n 不管兩組密碼是否相符,皆沒有燈號提示。
(情況三)之前輸入正確密碼,現時綠色 LED 穩定亮著:
n 必須按下「重置」鍵,始可再次輸入密碼。
l 按下「重置」鍵後,不論先前所輸入的密碼錯誤或正確,所有燈號(如有)將消除,並且將輸入錯誤記錄次數重設為零,準備接受新一次密碼核對。
參考電路
一如慣例,先提供參考電路(可按此下載)。
![]() |
圖一:4 位二進制密碼鎖(進階版)參考電路
|
電路操作流程
邏輯電路設計如下棋佈陣,各電路部分環環相扣,比編程更難於有系統地分拆講述,大型邏輯電路設計尤甚。筆者只能嘗試解構當中重點,望諸位見諒。
本參考電路的密碼輸入和核對部分,與初階版電路相若,皆使用 2 輸入 XNOR 閘和
AND 閘組成。初階版電路使用 4 輸入 AND 閘,本電路則需要第 5 個 AND 閘輸入,該輸入直接與「提交」(SUBMIT)鍵相接。由於坊間沒有 5 輸入 AND 閘,是次改用 8 輸入 AND 閘,只要將其中 4 個輸入直接連接,便可當成 5 輸入
AND 閘使用。
未按「提交」鍵時,第 5 個 AND 閘輸入「L」;按下「提交」鍵後,第 5 個 AND 閘輸入的位準取決於 NOR 閘(標示名稱:U3B)輸出。只有兩個 NOR 閘輸入為「L」,輸出才會為「H」。進一步觀察電路,兩個輸入皆為「L」的條件為:
1.
現時紅色 LED(R
LED)不亮著;
2.
現時沒按下「重置」鍵(RESET)不放;
3.
現時綠色 LED(G
LED)不亮著;及
4.
現時密碼輸入錯誤的次數未達
3 次
符合以上條件並按下「提交」鍵後,第 5 個 AND 閘輸入的位準為「H」,表示有效的提交。讓我們分開以下兩種情形講述電路的連鎖反應:
(1)
輸人密碼正確
8 輸入 AND 閘將輸出「H」,即 AND 閘(U5C )第
8 腳位為「H」。留意按下「提交」鍵前及連續輸入錯誤次數少於 3 次,令 AND 閘(U5B)第 4 腳已輸出「H」,因接至 AND 閘(U5C )第 9 腳,該輸入端同為「H」,最後令綠色 LED 亮著。AND 閘(U5C )輸出接回第 8 腳,產生閂鎖功能(參閱文章:《簡單?不簡單!:三人搶答系統(進階版)電路探討》),如「重置」鍵不按下,LED 保持長亮。
留意接至「提交」鍵的 NOR 閘(U3B)變成輸出「L」(請各位嘗試推敲原因),即不接受下一次提交密碼,直至按下「重置」鍵。
(2)
輸人密碼錯誤
8 輸入 AND 閘將輸出「L」,令 AND 閘(U5A )第 1 腳位為「H」。留意,按下「提交」鍵一剎(未復位時),亦令 AND 閘第 2 腳位為「H」,最後因輸出「H」而使紅色 LED 亮起。然而紅色 LED 亮起後短時間內會熄滅,亮著所維持的時間取決於接至該 AND 閘第 2 腳位的電容和電阻值。注意,當紅色 LED 仍然亮著時,不接受新一次密碼核對,你知道是什麼原因嗎?
AND 閘(U5A )輸出「H」亦令十進制計數器 IC 4017 加一,即密碼輸入錯誤次數累加一次。如錯誤次數少於上限,仍可繼續接受新一次密碼核對。否則當 4017 的 Q3 輸出「H」,表示錯誤次數已達上限,最後令 NOR 閘(U3B)輸出「L」,直至按下「重置」鍵,方可再有 3 次機會核對密碼。
電路設計要點
物盡其用
參考電路圖上的邏輯元件可進一步簡化,例如 NOR 閘(U3A )與 NOT 閘(U4A )可直接使用 OR 閘取代,又或兩個相連的 NOT 閘(U4C 和 U4D)可改成一個緩衝(Buffer)閘。但電路設計在大多數情況下,應以精簡為原則,例如 4069 IC 包含 6 個 NOT 閘,我們不妨物盡其用,使用當中 4 個 NOT 閘。相較另加一個緩衝 IC,更能節省電路成本和縮減電路尺寸。
二極管的使用
參考電路上有 3 顆二極管 IN4148,相隔電路前後部分,令兩者不互相影響,避免操作錯誤或引致短路。
緩衝閘的作用
邏輯閘輸出端接駁至下一級邏輯閘輸入端的數量是有限制的,我們稱之為扇出數。以 TTL 為例大概扇出 10 左右,所以使用邏輯閘輸出端接駁不同的負載(如指示燈、繼電器或大量邏輯閘輸入閘等),導致輸出產生壓降,令推動下一級邏輯閘輸入端的位準電壓降低,使工作產生錯誤。此時可使用一個或多個緩衝閘負擔部份負載輸出。以本電路為例,若在紅色 LED 前不接駁緩衝閘,LED 不能點亮。
實際操作問題
完成電路焊接後,接上電源嘗試操作,你或許發現電路出現不正常狀況,例如綠色 LED 無故亮起,又或按下「提交」鍵後,LED 全沒反應。出現這個狀況,在於接上電源後,輸入各 IC 的工作電壓慢慢浮升,但因特性差異,未能同步正式工作,故此在初始階段處於不明狀態,可能令某些邏輯元件產生錯誤輸出、計數器初值不是零等。只要在每次開機後,按下「重置」鍵便回復正常操作。追求完美的你或認為這種動作帶來不便,此時我們可修改電路,強制電路在開機後自動重置,徹底解決問題。修改部分較為複雜,在此省略,如有興趣請自行研究。
圖二:設有「開機後自動重置」功能的參考實體電路
|
最後送上圖二的電路示範影片,以茲參考:
讚
回覆刪除謝謝支持 :-)
刪除