【正文】
繁的東西。它是解決重要部門出入口實(shí)現(xiàn)安全防范管理的有效措施。 按進(jìn)出識別方式分類(1) 密碼識別:通過檢驗(yàn)輸入密碼是否正確來識別進(jìn)出權(quán)限。缺點(diǎn)是密碼容易泄露,安全性還是不高;無進(jìn)出記錄;只能單向控制;成本高。②射頻卡:優(yōu)點(diǎn)是卡片與設(shè)備無接觸,開門方便安全;壽命長,理論數(shù)據(jù)至少十年;安全性高,可聯(lián)計算機(jī),有開門記錄;可以實(shí)現(xiàn)雙向控制;卡片很難被復(fù)制。缺點(diǎn):成本很高;識別率不高,對環(huán)境要求高,對使用者要求高(比如指紋不能劃傷,眼不能紅腫出血,臉上不能有傷,或胡子的多少);使用不方便(比如虹膜型的和面部識別型的,安裝高度位置一定了,但使用者的身高卻各不相同)。 按與微機(jī)通汛方式分類(1) 單機(jī)控制型:這類產(chǎn)品是最常見的,適用與小系統(tǒng)或安裝位置集中的單位。另外一旦安裝好就不能方便地更換管理中心的位置,不易實(shí)現(xiàn)網(wǎng)絡(luò)控制和異地控制。這類系統(tǒng)的缺點(diǎn)是系統(tǒng)的通訊部分的穩(wěn)定需要依賴于局域網(wǎng)的穩(wěn)定。其特點(diǎn)如下: (1) 開放的界面 Max+plusⅡ支持與Cadence,Exemplarlogic,Mentor Graphics,Synplicty,Viewlogic和其它公司所提供的EDA工具接口。 (5) 模塊化工具 設(shè)計人員可以從各種設(shè)計輸入、處理和較驗(yàn)選項(xiàng)中進(jìn)行選擇從而使設(shè)計環(huán)境用戶化。 FPGA基本工作原理 FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的RAM進(jìn)行編程。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。 FPGA的基本特點(diǎn)(1) 采用FPGA設(shè)計ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。 (5) FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。 (1) 設(shè)計輸入。設(shè)計的電路必須在布局布線前驗(yàn)證電路功能是否有效。 (4) 優(yōu)化。 (6) 后仿真(時序仿真)需要利用在布局布線中獲得的精確參數(shù)再次驗(yàn)證電路的時序。 芯片選擇本設(shè)計選用杭州康芯電子有限公司生產(chǎn)的GW48EDA系統(tǒng)作為硬件驗(yàn)證系統(tǒng),同時選用A1tera公司的EPlK30TCl44—3作為主控芯片。即可進(jìn)行電子密碼鎖的硬件驗(yàn)證。雖然機(jī)械式鍵盤存在一些諸如機(jī)械產(chǎn)生的彈跳消除問題和機(jī)械部分的接觸等問題,但是和出沒式的3*4鍵盤相比,機(jī)械式鍵盤具有低成本、可靠性高、構(gòu)成電路簡單、技術(shù)成熟和應(yīng)用廣泛等特點(diǎn),因此將其應(yīng)用到通用數(shù)字門禁系統(tǒng)中還是比較適宜的。根據(jù)以上選定的輸入設(shè)備和顯示器件,并考慮到現(xiàn)實(shí)各項(xiàng)數(shù)字門禁系統(tǒng)功能的具體要求,整個門禁系統(tǒng)系統(tǒng)的總體框圖如圖31所示。時序產(chǎn)生電路鍵盤鍵盤輸入彈跳消除電路鍵盤譯碼電路掃描信號鍵盤掃描電路密碼鎖輸入電路密碼鎖控制電路寄存器清除信號發(fā)生電路開/關(guān)門鎖電路數(shù)值比較電路按鍵數(shù)據(jù)緩存器顯示電路顯示七段譯碼電路七段譯碼管圖 31 門禁系統(tǒng)總體框圖4 門禁系統(tǒng)實(shí)現(xiàn) 門禁系統(tǒng)輸入電路的設(shè)計圖41是門禁系統(tǒng)的輸入電路框圖,由鍵盤掃描電路、去抖電路、鍵盤譯碼電路、按鍵數(shù)據(jù)緩存器,加上外接一個3*4矩陣式鍵盤組成。掃描信號由KY3KY0進(jìn)入鍵盤,變化的順序依次為1110110110111110。表 41 按鍵位置與數(shù)碼關(guān)系KY3KY0111011101110110111011101101110111011011101110111KX2KX0011101110011101110011101110011101110按鍵號123456789*0若從KX2KX0讀出的值皆為1時,代表該列沒有按鍵按下,則不進(jìn)行按鍵譯碼的動作,反之,如果有按鍵按下時,則應(yīng)將KX2KX0讀出的值送至譯碼電路進(jìn)行編碼。若輸入時鐘為CLK,N位計數(shù)器的輸出為Q[N1..0],則Q(0)為CLK的2分頻脈沖信號。掃描時依序分別掃描四列按鍵,當(dāng)掃描信號為1110時掃描KY3這一排按鍵;當(dāng)掃描信號為1101時,掃描KY2這一排按鍵;當(dāng)掃描信號為1011時,掃描KY1這一排按鍵;當(dāng)掃描信號為0111時,掃描KY0這一排按鍵。特別要注意的是,去抖電路所使用的脈沖信號的頻率必須比其他電路使用的脈沖信號的頻率更高;通常將掃描電路的工作頻率定在24HZ左右,而將去抖電路的工作頻率定在128HZ左右,其工作頻率通常是前者的4倍或者更高。以取樣信號CLK的周期為8ms計,則可以取樣到6次。這代表被取樣的D_IN信號能被連續(xù)取樣到兩次1,此時認(rèn)定它已經(jīng)穩(wěn)定地按下按鈕D0 為0,且D1也為0時,結(jié)果S=0,R=1,D_OUT才會輸出0。最后,由于D_OUT的信號輸出時間寬度過長,所以輸出必須再接一級微分電路后,才接到譯碼電路。鍵盤譯碼電路主要負(fù)責(zé)的工作是:首先判別是否有鍵按下;若被按下的是數(shù)字按鍵,則解碼成相應(yīng)的BCD碼,若被按下的是功能按鍵,則解碼成四位數(shù)的碼字,由門禁系統(tǒng)控制電路做相應(yīng)的動作。所謂的串行輸入/串行輸出移位寄存器,即數(shù)據(jù)一個接一個的依序進(jìn)來,輸出時采用先進(jìn)先出的順序,同樣是一個接著一個依序輸出。(2) 假如需要更改輸入的數(shù)字,可以按倒退按鍵來清除前一個輸入的數(shù)字,或者按清除鍵清除所有輸入的數(shù)字,再重新輸入四位數(shù)。(2) 激活電鎖鍵:按下此鍵時可將門禁系統(tǒng)的門上鎖。但是在實(shí)際操作中,難免會有按錯鍵的情況發(fā)生,使得“清除輸入”功能使用的機(jī)率很高,所以本設(shè)計中功共設(shè)置了兩個功能按鍵,其中“解除電鎖”和“清除輸入”共用一個功能按鍵,另一個功能按鍵是“激活電鎖”。檢查輸入的密碼是否有效輸入舊密碼后變更密碼圖 48顯示電路框圖輸入信號: in[3:0]輸入4位BCD碼 。 output a,b,c,d,e,f,g。d0:{a,b,c,d,e,f,g}=739。b0110000。 439。d4:{a,b,c,d,e,f,g}=739。b1011011。 439。d8:{a,b,c,d,e,f,g}=739。b1111011。圖 49 門禁系統(tǒng)總體框圖圖 410門禁系統(tǒng)內(nèi)部結(jié)構(gòu)圖5 主要VHDL源程序 鍵盤輸入去抖電路的VHDL源程序LIBRARY IEEE。END ENTITY DCFQ。139。139。139。 THEN Q=D。LIBRARY IEEE。ENTITY DEBOUNCING IS PORT(D_IN,CLK:IN STD_LOGIC。ARCHITECTURE ART OF SEBOUNCING ISCOMPONENT DCFQ ISPORT(CLK,CLRN,PRN,D:IN STD_LOGIC。SIGNAL Q0,Q1:STD_LOGIC。INV_D=NOT D_IN。EVENT AND CLK=39。 END PROCESS。 0=Q0。注:為便于仿真時觀察有關(guān)中間結(jié)果,程序中增加了一些觀測點(diǎn)的輸出,調(diào)試好后程序中的相應(yīng)語句應(yīng)注釋掉或作相應(yīng)修改。USE 。 KEY_IN:IN STD_LOGIC_VECTOR(2 DOWNTO 0)。 FLAG_N:OUT STD_LOGIC。END ENTITY KEYBOARD。 END COMPONENT DEBOUNCING。 SIGNAL C:STD_LOGIC_VECTOR(2 DOWNTO 0)。 BEGIN DATA_N=N。 CLK_CTR=CLK。EVENT AND CLK_1K=39。 C_DEBOUNCE=Q(2)。 CLK=Q(0)。 CLK_SCAN=SEL。 U3:DEBOUNCING PORT MAP(D_IN=KEY_IN(2),D_OUT=C(2), CLK=C_DEBOUNCE)。C。 THEN CASE IS WHEN11101=N=0000。 WHEN01011=N=0100。 WHEN10101=N=1000。 END IF。 THEN CASE IS WHEN11011=F=0100。 END IF。 END BLOCK KEY_DECODER。C_KEYBOARD=Q(5 DOWNTO 4)”。USE 。 DATA_F:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 ENLOCK:OUT STD_LOGIC。 SIGNAL NC:STD_LOGIC_VECTOR(2 DOWNTO 0)。EVENT AND CLK=39。 END IF。 KEYIN_PROCESS:BLOCK IS SIGNAL RST,D0,D1:STD_LOGIC。 THEN ACC=0000000000000000。139。 END IF。 END BLOCK KEYIN_PROCESS。) THEN IFNV=4 THEN IF DATA_F(2)=39。139。139。139。 QB=39。 END IF。 DATA_BCD=ACC。從仿真圖上可以看出。若輸入時鐘為CLK,N位計數(shù)器的輸出為Q[N1,0],則Q(0)為CLK的2分頻脈沖信號,Q(1)為CLK的4分頻脈沖信號,Q(2)為CLK的8分頻脈沖信號,……Q(N1)為CLK的2N分頻脈沖信號;Q(5 DOWNTO 4)取得的是一個脈沖波形序列,其值是依次000110110001周期性變化的,其變化頻率為CLK的25分頻,也就是32分頻。程序中使用語句“ACC=ACC(11 DOWNTO 0)amp。同時在仿真時,為了便于觀測全局結(jié)果,降低了分頻常數(shù)。若在系統(tǒng)中加入語音提示模塊,在按下按鍵的同時給出語音提示,開啟或是關(guān)閉門禁系統(tǒng)的同時給出語音提示,并在設(shè)計中添加外圍電路:系統(tǒng)用方波信號源,直流工作電源等。他平日里工作繁多,但在我做畢業(yè)設(shè)計的每個階段,從外出實(shí)習(xí)到查閱資料,設(shè)計草案的確定和修改,詳細(xì)設(shè)計,裝配草圖等整個過程中都給予了我悉心的指導(dǎo)。此次畢業(yè)設(shè)計才會順利完成。只是今后大家就難得再聚在一起吃每年元旦那頓飯了吧,沒關(guān)系,各奔前程,大