《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 基于FPGA的保密型密碼輸入器設計

基于FPGA的保密型密碼輸入器設計

2009-07-08
作者:樊國梁1,張曉燕2,曹 杰1

??? 摘? 要: 為了改善現有密碼輸入器容易造成密碼泄露的缺點,設計了保密型密碼輸入器。闡述了保密型密碼輸入器的工作原理,給出具體設計、計算機仿真。經過實驗分析和計算機仿真,該電路能夠最大限度地保護用戶密碼并且容易在工程中應用。?

??? 關鍵詞: 密碼保護;鍵位;仿真;VHDL?

?

??? 在生活中人們越來越頻繁地使用各種各樣的密碼來管理私人信息和資金賬戶。密碼作為個人信息的保密鎖,在銀行、網絡等公共場合應用廣泛,普遍采用各種加密算法進行處理,有效地提高了安全可靠性。但是在一些場合,如ATM柜員機、商場刷卡消費時,由于數字鍵盤排列具有一定的規(guī)律性,當用戶輸入密碼時,即使旁人站在一米線以外,也能通過輸入者手指的移動順序猜出密碼,這使得原本安全可靠的密碼泄漏,使密碼輸入器變得不再安全。?

??? 目前國內外對于密碼輸入器的改進大都局限在外形設計上[1],如加罩、將鍵盤方型布局改為V型等,這些措施不能從根本上解決密碼泄漏問題,并且給密碼輸入者帶來操作上的不便。本文利用VHDL語言設計了一種新型保密型密碼輸入器,使鍵盤上0~9的10個數字每次輸入時隨機排列,不再具有規(guī)律性,從而使輸入密碼時手指按下的按鍵順序和目前普通的密碼輸入器按下的順序不同,這樣就可以避免他人記下按鍵順序再根據鍵盤數字的排列規(guī)律猜出用戶輸入的密碼。?

1 設計思想?

??? 保密型密碼輸入器的最大特點就是它可以改變現有密碼輸入器鍵值排列順序,在每一個按鍵上安裝一個數碼管,每次輸入密碼時,0~9的鍵值隨機排列顯示,同時還要完成以下功能:?

??? (1)產生0~9共10個隨機排列且不重復的數組,用來確定鍵盤上數字的排列順序;?

??? (2)將隨機數組轉化成數碼管上要顯示的鍵值,并順序輸出到相應按鍵的數碼管上;?

??? (3)對鍵盤進行掃描,根據按下的鍵位信息與顯示到按鍵上的鍵值判斷出輸入的密碼;?

??? (4)將密碼信息輸出。?

??? 根據以上功能,可以分四個模塊進行設計:分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路" title="分頻電路">分頻電路、消除抖動電路、鍵盤譯碼電路、主體控制電路。?

2 電路設計?

2.1 分頻電路?

??? 芯片中每一個模塊都要有一定的時鐘信號才能工作,而且在外部鍵盤電路和動態(tài)掃描數碼顯示管上都要加一定頻率的時鐘信號。利用分頻電路將從外部輸入的4 MHz的時鐘clk_4m經過分頻后輸出各部分電路所需的時鐘脈沖。在程序中設定一個20位的信號q,在clk_4m到上升沿時q自加1,這樣可以取q的其中幾位來達到分頻的目地。?

??? 頻率計算公式為:其中q(n)為從右起第n位信號。例如取q(1)即得到4分頻后的時鐘1 MHz。?

??? 程序中各信號頻率為:信號clk_keyboard1是鍵盤行掃描信號,與鍵盤列掃描信號一同識別按鍵,它的頻率設定為8 Hz;信號clk_debounce是消除抖動電路的采樣頻率,為128 Hz。信號clk_disp1是數碼管掃描信號,它的頻率要高于人眼的最大可分辨頻率24 Hz,設定為128 Hz。信號clk_scan是鍵盤的行掃描信號,一共有四位分別代表鍵盤上的四行,最低位clk_scan(0)代表第一行,最高位clk_scan(3)代表第四行,低電平有效,它與clk_keyboard1相對應,即clk_keyboard1代表的二進制數。?

2.2 消除抖動電路?

??? 在輸入密碼時由于手抖動或按鍵接觸時產生抖動造成輸入信號不連續(xù),利用消抖電路將信號變化成一個連續(xù)的信號,防止被誤認為是多次輸入。?

??? 以分頻電路輸入的消抖電路時鐘信號為采樣信號,檢查每個采樣信號的上升沿處輸入的信號key是什么狀態(tài)。當key信號改變并且連續(xù)兩次采樣結果相同時才輸出改變后的信號dif_out,否則將維持原來的輸出信號。?

??? 從圖1中可以看出,key輸入多次的低電平,模擬輸入時的抖動。當這些低電平的寬度未達到兩個上升沿的寬度時,輸出信號沒有改變;當寬度超過兩個上升沿的寬度時,輸出信號才發(fā)生改變,且輸出的低電平信號的寬度為一個采樣寬度。?

?

?

圖1? 消除抖動電路的仿真

?

2.3 鍵盤譯碼電路?

??? 將鍵盤按鍵信息根據clk_keyboard1中0的位置判斷行位置,根據信號c中0的位置判斷列位置,從而確定按鍵位置,然后將這些鍵位的信息以四位二進制碼的形式輸出。?

??? 用clk_debounce1為觸發(fā)信號,每當clk_debounce1在上升沿時,將clk_keyboard1和c合并送給內部信號z,由程序判斷是哪一個鍵被按下。flag_numb為輸出信號的標記信號,它是在clk_debounce1的下降沿才變化,使得flag_numb信號比out_numb落后半個周期。這樣確保在flag_numb信號為1時,輸出的out_numb信號是0~9中的一個。鍵盤掃描參數表由表1所示。?

?

?

??? 如圖2所示,輸入0~9共10個按鍵信號,信號out_numb經過譯碼后正確地輸出相應按鍵,并且flag_numb的上升沿位于out_numb信號的中間,可完全確保flag_numb上升沿觸發(fā)寄存器移位存儲的都是out_numb有用的信號。?

?

?

圖2? 鍵位譯碼電路的仿真

?

2.4 主體控制電路?

??? 該部分電路的主要功能為產生隨機的數組,用來確定S0~S9每個鍵位的鍵值。定義10個信號a~j,將0~9 10個數分別賦值給a~j,然后將a~j隨即排列組成一個數組,排在第1位的將是在0號鍵位上顯示的數字,排在最后的將是在9號鍵位上顯示的數字。表2定義了8個數組,定義的數組越多鍵盤上數字顯示的變化種類就越多。另外定義一個s信號,當開始輸入密碼信號start有效時,s進行累加,從而產生0~7的循環(huán),用來選擇8個數組中的一個,進而實現產生隨機數組的功能。?

?

?

??? 當start信號有效時,S經過自加后就確定下來,選中一組隨機數組,程序就將數組的值保存起來,這個信號代表從0~9號鍵位的鍵值。然后順序送到按鍵的數碼管顯示出來,例如s=1時,S0~S9對應數組behfadjgic,即S0=1,S1=4,S2=7,S3=5,……,S9=2。?

??? 程序中定義一個24位的二進制信號acc作為寄存器用來存放6個密碼數字,當start有效就對寄存器清空(置1)和計數信號jishu置0。由鍵盤譯碼電路產生的標志信號flag_numb的上升沿觸發(fā)寄存器向左移位,把鍵位信號out_numb1從acc的最低位輸入,并且每移一次計數信號jishu加1,這樣用戶輸入的前6位將被作為密碼保存在寄存器中,超過六6位,寄存器則不會記錄。?

??? 通過把寄存器acc中的鍵位信號和相應的數組進行對比,就可以找出按鍵對應的6位密碼(mima),并可以將其輸出。?

??? 如圖3所示,當start信號有效使得s=1時,按輸入信號的規(guī)則加入1~9這9個按鍵信號和flag_numb標志信號??梢钥闯鲈谳斎?~9這9個鍵后,程序只存儲了前6個,由s=1推算出按下的1號~6號鍵位代表的密碼為475039,這和仿真后輸出的結果一致。?

?

?

圖3? 控制電路的仿真

?

2.5 頂層模塊的設計?

??? 各模塊利用VHDL語言設計,通過仿真,功能都正確,生成各自的功能符號,然后在MAX+plusII平臺上利用原理圖設計方法調用各模塊,將其按照電路原理連接在一起,加上輸入、輸出信號,構成的模塊圖如圖4所示,由此可生成一個完整的程序。?

?

?

?

圖4? 頂層模塊圖

?

??? 本設計改變了傳統(tǒng)密碼輸入器的形式,將每一個鍵所代表的數字進行隨機排列,防止用戶輸入密碼時被別人通過觀察手指移動的位置而竊取密碼。并且該設計采用EPF10K10LC84-4芯片實現,外圍電路簡單,工作穩(wěn)定可靠,便于在銀行、商場等工程中應用,并且作為內蒙古大學本科生創(chuàng)新基金項目受到專家肯定。?

參考文獻?

[1] 李海波.銀行密碼輸入器改進[J].青年科學,2005(3):20-21.?

[2] 盧毅,賴杰.VHDL與數字電路設計[M].北京:科學出版社,2001.?

[3] 潘松,黃繼業(yè).EDA技術實用教程(第二版)[M].北京:科學出版社,2005.?

[4] 褚振勇,翁木云.FPGA設計及應用[M].西安:西安電子科技大學出版社,2003.

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。