【正文】
BEGIN Z=C_KEYBOARDamp。139。 WHEN00110=N=0011。 WHEN10011=N=0111。 END CASE。139。 END CASE。 FF=F(2) OR F(0)。圖 52 門禁系統(tǒng)輸入電路仿真結(jié)果圖 為便于觀測(cè)有關(guān)結(jié)果,仿真時(shí)假設(shè)CLK_1K為512HZ,相應(yīng)地,程序中的有關(guān)語句改為“C_DEBOUNCE=Q(1)。 門禁系統(tǒng)控制電路的VHDL源程序LIBRARY IEEE。ENTITY CTRL IS PORT(DATA_N:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 CLK:IN STD_LOGIC。ARCHITECTURE ART OF CTRL IS SIGNAL ACC,REG:STD_LOGIC_VECTOR(15 DOWNTO 0)。 BEGIN PROCESS(CLK) BEGIN IF CLK39。R0=FLAG_F。 END PROCESS。139。EVENT AND FLAG_N=39。 NC =NV+1。 END PROCESS。139。 QA=39。 ELSIF DATA_F(0)=39。 QB=39。039。 END IF。 ENLOCK=QA AND NOT QB。仿真過程為先輸入上鎖密碼“1234”,再按下上鎖鍵激活電鎖,接著輸入解鎖密碼“1234”,最后按下解鎖鍵解鎖。N的值越大,電路可以除頻的次數(shù)就越多,這樣就可以獲得更大的頻率變化,以便提供多種不同頻率的時(shí)鐘信號(hào)。這一設(shè)計(jì)技巧,對(duì)于較大的程序或多進(jìn)程程序的設(shè)計(jì)非常重要。比如說3*4的通用機(jī)械鍵盤受到鍵盤數(shù)量的限制,在很大的程度上限制了其功能的擴(kuò)展。在這里首先要感謝我的導(dǎo)師周斌。感謝大學(xué)四年來所有的老師,為我們打下電子專業(yè)知識(shí)的基礎(chǔ);同時(shí)還要感謝所有的同學(xué)們,正是因?yàn)橛辛四銈兊闹С趾凸膭?lì)。四年里,我們沒有紅過臉,沒有吵過嘴,沒有發(fā)生上大學(xué)前所擔(dān)心的任何不開心的事情。在論文即將完成之際,我的心情無法平靜,從開始進(jìn)入課題到論文的順利完成,有多少可敬的師長(zhǎng)、同學(xué)、朋友給了我無言的幫助,在這里請(qǐng)接受我誠(chéng)摯的謝意!參考文獻(xiàn)[1] ,2006,(01):64.[2] ,2006,(10):240241.[3] 王衛(wèi)兵,劉克剛,2005,(01):2628.[4] 趙益丹,徐曉林,、,2003,15(S1):103105.[5] 陸重陽,2003,(01):57.[6] ,2005,(02):8285.[7] ,2005,(19):9093.[8] K. Benkrid, A. Benkrid and S. Belkacemi .Efficient FPGA hardware development: A multilanguage approach .Journal of Systems Architectur e, 2007(04):184209.[9] Altera, Novas Team for FPGA Visibility Enhancement .Electronic News (North America).2006,(11):12.[10] 徐光輝,程?hào)|旭,黃如,[M].北京:電子工業(yè)出版社,2006,(02):19.[11] 潘松,黃繼業(yè),[M].北京:清華大學(xué)出版社,2005(03):59.[12] 譚會(huì)生,[M].西安:西安電子科技大學(xué)出版社,2004,(02):220222.[13] 褚振勇,[M].西安:西安電子科技大學(xué)出版社,2002,(03):58.[14] 李洋,張曉燕,[M].北京:機(jī)械工業(yè)出版社,2004,(01):123124.[15] 劉艷萍,高振斌,[M].北京:國(guó)防工業(yè)出版社,2006,(01):79.[16] 黃智偉,王彥,[M].北京:電子工業(yè)出版社,2005,(01):42.[17] 吳繼華,王誠(chéng). Altera FPGA/[M].北京:人民郵電出版社,2005,(04):13.[18] 王建校, 危建國(guó). SOPC設(shè)計(jì)基礎(chǔ)與實(shí)踐[M]. 西安: 西安電子科技大學(xué)出版社, 2006,(04):91.[19] 江國(guó)強(qiáng). SOPC技術(shù)與應(yīng)用[M]. 北京: 機(jī)械工業(yè)出版社, 2006,(02):1114.。我們?cè)谝黄鸬娜兆樱視?huì)記一輩子的。感謝我的室友們,從遙遠(yuǎn)的家來到這個(gè)陌生的城市里,是你們和我共同維系著彼此之間兄弟般的感情,維系著寢室那份家的融洽。我的設(shè)計(jì)較為復(fù)雜煩瑣,但是周斌老師仍然細(xì)心地糾正設(shè)計(jì)中的錯(cuò)誤。將會(huì)使該系統(tǒng)顯得更加人性化,更加接近成為一個(gè)成熟的產(chǎn)品。仿真時(shí),對(duì)于程序中數(shù)目較大的分頻/計(jì)數(shù)/計(jì)時(shí)常數(shù)的修改是非常必要的。DATA_N”非常簡(jiǎn)潔地同時(shí)實(shí)現(xiàn)了ACC中低4位用DATA_N進(jìn)行更新,而高12位用ACC中原來的低12位左移而來的處理。我們利用以上規(guī)律即可得到各種我們所需要頻率的信號(hào)或信號(hào)序列。圖 53 門禁系統(tǒng)控制電路仿真結(jié)果圖結(jié) 論。END ARCHITECTURE ART。 END PROCESS。139。 END IF。 THEN IF REG=ACC THEN QA=39。 QB=39。139。 LOCK_PROCESS:BLOCK IS BEGIN PROCESS(CLK,DATA_F) IS BEGIN IF(CLK39。 END IF。 THEN IF NC4 THEN ACC=ACC(11 DOWNTO 0)amp。 NC=000。 BEGIN RST =RR2。 RR2=R1 AND NOT R0。139。 SIGNAL RR2,CLR,BB,QA,QB:STD_LOGIC。 DATA_BCD:OUT STD_LOGIC_VECTOR(15 DOWNTO 0)。 FLAG_N:IN STD_LOGIC。USE 。從仿真圖上可以看出,CLK_CTR(即Q(0))為CLK_1K的2分頻,為256HZ;CLK_DEBOUNCE(即Q(1))為CLK_1K的22分頻,為128HZ;CLK_SCAN(即(Q(5 DOWNTO 4))為CLK_1K的25分頻,為16HZ。END ARCHITECTUERE ART。 ENDPROCESS。 WHEN11110=F=0001。 IF CLK39。 WHEN10110=N=1001。 WHEN01101=N=0101。 WHEN00011=N=0001。 IF CLK39。 END BLOCK DEBOUNUING。 END BLOK COUNTER。 END PROCESS。 C_KEYBOARD=Q(6 DOWNTO 5)。139。 COUNTER:BLOCK IS SIGNAL Q:STD_LOGIC_VECTOR(5 DOWNTO 0)。 DATA_F=F。 SIGNAL N,F:STD_LOGIC_VECTOR(3 DOWNTO 0)。 SIGNAL CLK:STD_LOGIC。ARCHITECTURE ART OF KEYBOARD IS COMPONENT SEBOUNCING IS PORT(D_IN:IN STD_LOGIC。 FLAG_F:OUT STD_LOGIC。 CLK_SCAN:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。USE 。 鍵盤輸入去抖電路的仿真圖51為鍵盤輸入去抖電路的仿真結(jié)果圖,圖中的輸出信號(hào)0,1,D_OUT,DD0,DD1是為了便于仿真時(shí)觀察中間結(jié)果而增加的觀測(cè)點(diǎn)的輸出,調(diào)試好后程序中的相應(yīng)語句應(yīng)注釋掉。 D_OUT=NOT(D1 AND NOT D0)。 DD0=D0。139。U1:DCFQ PORT MAP(CLK=CLK,CLRN=INV_D,PRN=VCC,D=VCC,Q=Q0)。SIGNAL D1,D0:STD_LOGIC。 Q:OUT STD_LOGIC)。 DDI,DD0,1,0:OUT STD_LOGIC。USE 。 END IF。 ELSIF CLK39。 AND PRN=39。 THEN Q=39。ARCHITECTURE ART OF DCFQ IS BEGIN PROCESS(CLK,CLRN,PRN) BEGIN IF CLRN=39。USE 。 default :{a,b,c,d,e,f,g}=739。b1111111。d7:{a,b,c,d,e,f,g}=739。 439。b0110011。d3:{a,b,c,d,e,f,g}=739。 439。b1111110。 input[3:0]in。輸出信號(hào):a,b,c,d,e,f,g七個(gè)一位二進(jìn)制輸出 。將新密碼回存于存儲(chǔ)組件中核對(duì)輸入密碼是否有效控制電路CTRL的框圖46如下。(上鎖前必須預(yù)先設(shè)定一個(gè)四位的數(shù)字密碼。(3) 由于這里設(shè)計(jì)的是一個(gè)四位的門禁系統(tǒng),所以當(dāng)輸入的數(shù)字鍵超過四個(gè)時(shí),電路不予理會(huì),而且不再顯示第四個(gè)以后的數(shù)字。根據(jù)以上設(shè)計(jì)思路,門禁系統(tǒng)輸入電路的KEYBOARD的框圖45如下,其中調(diào)用的程序(元件)。(5) 按鍵存儲(chǔ)電路因?yàn)槊看螔呙钑?huì)產(chǎn)生新的按鍵數(shù)據(jù),可能會(huì)覆蓋前面的數(shù)據(jù),所以需要一個(gè)按鍵存儲(chǔ)電路,將整個(gè)鍵盤掃描完畢后的結(jié)果紀(jì)錄下來。 (4) 鍵盤譯碼電路上述鍵盤中的按鍵可分為數(shù)字按鍵和文字按鍵,每一個(gè)按鍵可能負(fù)責(zé)不同的功能,例如清除數(shù)碼、退位、激活電鎖、開鎖等,詳細(xì)功能見表43。這代表被取樣的D_IN信號(hào)能被連續(xù)取樣到兩次0,此時(shí)認(rèn)定它已經(jīng)穩(wěn)定地放掉按鈕D0 為1,且D1也0為0,結(jié)果S=