2019年2月22日 星期五

經典數位電路:4 位二進制密碼鎖(初階版)

筆者小廣告:喜愛電子製作的同好,本人誠意推介以下電子時鐘套件。套件為筆者與團隊共同開發,屬本地原創,外型與硬件設計以簡約為本,基本功能完善,性價比高。內附詳細焊接及使用說明書,並有YouTube影片作操作示範。要求套件及成品均可,歡迎零售或批發。

*註:套件不附外殼







前文討論如何建構搶答電路,藉此實踐邏輯元件的使用技巧。今回與大家分享密碼鎖電路,這是極為經典的數位電路應用實例,讓我們先從最基本的設計開始。要求如下:

設計一個 4 位二進制密碼鎖。如輸入的數值〈U3, U2, U1, U0〉與預設的一組密碼〈P3, P2, P1, P0〉相符(每個位元對〈Ui, Pi〉的值需相同),LED 亮著。如不相符,LED 則不亮著。

為進一步簡化電路,初階版不設「提交」鍵,故此在電源開啟後,任何時間均在核對兩組數字。

以下為參考電路(可按此下載):

圖一:4 位二進制密碼鎖(初階版)參考電路

電路設計較為簡單,當中使用兩個 4 位撥動開關設定預設密碼和輸入密碼。每個 XNOR 閘比較兩個二進制數字的相同位元,如兩個數值相同,輸出為「H」。因為密碼是 4 位數,所以 4 XNOR 閘輸出需同為「H」,才表示輸入密碼正確,令 LED 亮著。使用一個 4 輸入的 AND 閘,即能控制 LED 亮著或熄滅。

將電路圖化為實體電路後如下:

圖二:4 位二進制密碼鎖(初階版)參考實體電路

圖三:兩組密碼不符,LED 不會亮著。

圖四:兩組密碼相符,LED 亮著。

如各位有興趣,可進一步觀看示範影片:




初階版密碼鎖電路的設計簡單,亦不具實用性,漏洞頗多。4 位二進制共有 24 = 16 個組合,因不設輸入次數上限,只要最多嘗試輸入 16 次,便能破解密碼。現實生活上,密碼鎖通常具防止暴力攻擊(brute-force attack)的特點。讓我們重新思考一個更合常理的密碼鎖設計要求,如下所述:

設計一個 4 位二進制密碼鎖。預設一組密碼〈P3, P2, P1, P0〉,使用者輸入另一組數值〈U3, U2, U1, U0〉後,按「提交」鍵核對。如兩組數值相符(每個位元對〈Ui, Pi〉的值需相同),綠色 LED 穩定亮著;如不相符,則紅色 LED 亮起後熄滅。系統接受最多連續三次錯誤輸入,之後需按「重置」鍵,以重新接受輸入。(如輸入密碼正確,亦需按「重置」鍵進行下一次核對。)

這個進階版密碼鎖電路,更為貼近實際需要。輸入密碼錯誤次數超出上限,將鎖著系統,需通知系統管理人員解鎖才可再次輸入,增加安全性。功能增加令電路設計難免稍加複雜,系統需正確執行外,更要考慮穩定性。雖然我們可改用編程設計複雜的電路,但為本著熟習應用邏輯元件的初衷,參考電路將主要以數位 IC 構成,且待下回分解。

沒有留言:

張貼留言

冬天裡的靜電 Static electricity in the winter

冬天天氣乾燥 ,當身體接近金屬物體,例如門鎖、水龍頭等,會產生微細「啪」的聲響,更甚在黑暗的環境中會看見閃光,皮膚亦會感到 輕微刺痛 ,雖然一般不會對身體構成危害,但亦令人感到困擾。這種現象的成因是 身體與衣服相互磨擦而積聚過多電荷(靜電),又因天氣乾燥,身體的電荷不能通過空...