彭若晨,閆 妍
(西北工業(yè)大學(xué) 陜西 西安 710072)
FPGA填補(bǔ)了數(shù)字系統(tǒng)設(shè)計(jì)的卡空白,是對(duì)微處理器的補(bǔ)充。盡管微處理器能用于許多場(chǎng)合,但是它們依靠軟件才能實(shí)現(xiàn)其功能,因此比起定制芯片,它們一般運(yùn)行速度比較慢而且功耗大。同樣的,F(xiàn)PGA也不是定制芯片,它們無(wú)法像那些為某一應(yīng)用而設(shè)計(jì)的定制芯片那樣擅長(zhǎng)完成特定功能。FPGA一般也比定制邏輯芯片的運(yùn)行速度慢而且功耗大,同時(shí)相對(duì)較貴;所以人們認(rèn)為定制芯片更便宜。然而,由于它們是標(biāo)準(zhǔn)期間,因而能夠彌補(bǔ)定制芯片的一些不足。從完成設(shè)計(jì)到取得一個(gè)可工作的芯片之間不用等待,可以吧程序?qū)懭隖PGA并立即進(jìn)行測(cè)試;同種類(lèi)的FPGA可以用于不同類(lèi)型的設(shè)計(jì)中,以降低庫(kù)存費(fèi)用。
根據(jù)以上設(shè)計(jì)背景,利用QuartusⅡ軟件編寫(xiě)verilog HDL硬件描述語(yǔ)言程序以實(shí)現(xiàn)數(shù)碼管循環(huán)顯示學(xué)號(hào)以及根據(jù)鍵盤(pán)切換輸出波形并在VGA上顯示。
1)顯示學(xué)號(hào)
①采用數(shù)碼管顯示。
②循環(huán)顯示2個(gè)人的學(xué)號(hào)后四位。
2)根據(jù)鍵盤(pán)切換輸出波形
①按鍵盤(pán)一次,在VGA顯示輸出當(dāng)前的溫度。
②按鍵盤(pán)兩次,在VGA顯示輸出當(dāng)前的時(shí)間。
③按鍵盤(pán)三次,在VGA顯示輸出學(xué)生姓名。
用模塊PCF8591進(jìn)行溫度采集,PCF8591資料如圖1所示。
本電路總共分為分頻模塊、PS/2鍵盤(pán)輸入模塊、字符碼轉(zhuǎn)換模塊、VGA驅(qū)動(dòng)模塊。各模塊之間的關(guān)系如圖2所示。
圖1 PCF8591編碼圖Fig.1 PCF8591
圖2 各模塊關(guān)系圖Fig.2 The relationship between the various modules
1)顯示學(xué)號(hào)部分
只要將CLK信號(hào)分頻之后再送入數(shù)碼管即可顯示。如圖3所示。
2)鍵盤(pán)控制部分如圖4所示。
圖3 學(xué)號(hào)數(shù)碼管圖Fig.3 Student ID digital
圖4 電腦鍵盤(pán)接線(xiàn)圖Fig.4 Computer keyboard wiring
接口的6個(gè)腳中,接口示意圖如圖4所示。只有4個(gè)腳有意義,分別是:時(shí)鐘腳、數(shù)據(jù)腳、電源腳、電源地。其余為保留腳。PS/2靠系統(tǒng)的PS/2端口提供+5 V電源。這里需要用到的即是:時(shí)鐘腳和數(shù)據(jù)腳。這兩個(gè)腳都是集電極開(kāi)路,所以必須接大阻值的上拉電阻。它們平時(shí)保持高電平,有輸出時(shí)才被拉到低電平,之后自動(dòng)上浮到高電平。
此模塊的功能說(shuō)明:當(dāng)按下一個(gè)鍵時(shí),F(xiàn)PGA在時(shí)鐘信號(hào)下接受來(lái)自PS/2鍵盤(pán)的數(shù)據(jù)(8個(gè)數(shù)據(jù)位),接收完畢后鎖存并轉(zhuǎn)化為十六進(jìn)制數(shù)據(jù),例如4’ha。當(dāng)按鍵放開(kāi)時(shí),發(fā)出信號(hào)change。這時(shí)開(kāi)始識(shí)別按鍵,如果接收到8’d102,則表示接收到按鍵Backspace,則清空顯示數(shù)據(jù)??傮w來(lái)說(shuō),此部分分為接收數(shù)據(jù)模塊、數(shù)據(jù)判斷與鎖存模塊、鍵值轉(zhuǎn)化模塊。模塊電路圖如圖5所示。
圖5 模塊電路圖Fig.5 Module circuit diagram
3)VGA顯示部分
VGA時(shí)序控制模塊是整個(gè)顯示控制器的關(guān)鍵部分,最終的輸出信號(hào)行、場(chǎng)同步信號(hào)必須嚴(yán)格按照VGA時(shí)序標(biāo)準(zhǔn)產(chǎn)生相應(yīng)的脈沖信號(hào)。對(duì)于普通的VGA顯示器,其引出線(xiàn)的共含 5 個(gè)信號(hào):G,R,B(三基色信號(hào)),HS(行同步信號(hào))VS(場(chǎng)同步信號(hào))。在5個(gè)信號(hào)時(shí)序驅(qū)動(dòng)時(shí),VGA顯示器要嚴(yán)格遵循“VGA 工業(yè)標(biāo)準(zhǔn)”, 即 640×480×25 MHz模式或 800×600×40 MHz模式,本次字符顯示試驗(yàn)采用800×600×40 MHz模式。VGA接頭焊接方法如圖6所示。
VGA顯示模塊如下
1)顯示溫度
圖6 VGA接頭焊接方法圖Fig.6 VGA connector welding method
溫度要用PCF8591進(jìn)行采集,采集到的溫度進(jìn)行AD轉(zhuǎn)換后經(jīng)選擇通道送入VGA控制電路,進(jìn)而實(shí)現(xiàn)VGA顯示溫度。溫度模塊電路圖如圖7所示。
圖7 溫度模塊電路圖Fig.7 Temperature module circuit diagram
2)顯示時(shí)間
這實(shí)際上是一個(gè)計(jì)數(shù)器。CLK被分頻后用來(lái)計(jì)數(shù),并且數(shù)據(jù)要經(jīng)過(guò)寄存器寄存下來(lái)才能夠被送入VGA控制模塊。
時(shí)間模塊電路圖如圖8所示。
3)顯示姓名模塊電路圖如圖9所示。
圖8 時(shí)間模塊電路圖Fig.8 Time module circuit diagram
圖9 顯示姓名模塊電路圖Fig.9 Shows the name of the module circuit diagram
1)運(yùn)行Quartus II軟件,新建工程和命名頂層文件。
2)建立文件Verilog HDL File。命名為ps2.v。在文件中寫(xiě)入程序,保存,編譯。
3)分配管腳。保存,編譯。
4)觀察數(shù)碼管的學(xué)號(hào)顯示
5)在鍵盤(pán)上分別輸入1、2、3,觀察VGA顯示屏的變化
6)若不相同或不完全相同,則分模塊調(diào)試。
調(diào)試現(xiàn)象:
1)分別輸入 1、2、3, VGA 均正確顯示。
2)輸入其他的鍵值,VGA顯示0。
3)數(shù)碼管循環(huán)顯示學(xué)號(hào)后四位。
通過(guò)本次課程設(shè)計(jì),對(duì)FPGA有了進(jìn)一步的了解,雖然只做了一些最底層、最基本的設(shè)計(jì),也只接觸了那么一些小小的內(nèi)容,但通過(guò)整個(gè)設(shè)計(jì)過(guò)程了解了FPGA的強(qiáng)大功能,認(rèn)識(shí)了一些單元的工作原理。
多模式顯示器在VGA上顯示不同的內(nèi)容,在了解結(jié)構(gòu)和原理后對(duì)FPGA器件設(shè)計(jì)數(shù)字邏輯系統(tǒng)的方法和流程進(jìn)行了討論。傳統(tǒng)的自下而上的設(shè)計(jì)方法已經(jīng)取代當(dāng)今技術(shù)的發(fā)展,不能滿(mǎn)足大規(guī)模復(fù)雜電路[8]設(shè)計(jì)的需求,取而代之的是自上而下的設(shè)計(jì)。硬件描述語(yǔ)言采用軟件編程的方式來(lái)描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接形式,用于描述大規(guī)模的電子系統(tǒng)的設(shè)計(jì)尤為方便。
[1]楊海鋼,孫嘉斌,王慰.FPGA器件設(shè)計(jì)技術(shù)發(fā)展綜述[J].電子與信息學(xué)報(bào),2010, 32(3):714-727.YANG Hai-gang,SUN Jia-bin,WANG Wei.Summary of development of design technology FPGA devices[J].Electronics&Information Technology,2010,32(3):714-727.
[2]羅萍,李肇基,甄少偉.一種基于負(fù)載狀態(tài)的分段式PSM調(diào)制模式[J].電工技術(shù)學(xué)報(bào),2006(21):101-105.LUO Ping,LI Zhao-ji,ZHEN Shao-wei.PSM modulation mode segmented based on the status of load[J].China Electrotechnical Society,2006(21):101-105.
[3]何學(xué)宇.一種電流模式PWM開(kāi)關(guān)電源芯片的研究與設(shè)計(jì)[D].沈陽(yáng):遼寧大學(xué),2011.
[4]王紅,彭亮,于宗光.FPGA現(xiàn)狀與發(fā)展趨勢(shì)[J].電子與封裝,2007,7(7):32-37.WANG Hong,PENG Liang,YU Zong-guang.FPGA status quo and development trend[J].Electronics and Packaging,2007,7(7):32-37.
[5]熊文彬,蔣泉,曲建軍,等.基于FPGA實(shí)現(xiàn)的視頻顯示系統(tǒng)[J].液晶與顯示,2011,26(1):92-95.XIONG Wen-bin,JIANG Quan,QU Jiang-jun,et al.FPGA-based realization of video display system[J].LCD display,2011,26 (1):92-95.
[6]余紅娟,潘松.FPGA技術(shù)的應(yīng)用與發(fā)展[J].杭州電子科技大學(xué)學(xué)報(bào),2006,26(3):17-20.YU Hong-juan,PAN Song.Applications with FPGA technology[J].Hangzhou University of Electronic Science and Technology,2006,26(3):17-20.
[7]劉國(guó)棟,陳伯孝,陳多芳.FFT處理器的FPGA設(shè)計(jì)[J].航空計(jì)算技術(shù),2004,34(3):101-104.LIU Guo-dong,CHEN Bo-xiao,CHEN Duo-fen.FFT processor, FPGA Design[J].Aeronautical Computing Technique,2004,34(3):101-104.
[8]宋巖,杜繼業(yè),宋顧周,等.像增強(qiáng)器程控電路設(shè)計(jì)[J].現(xiàn)代應(yīng)用物理,2013(4):356-360.SONG Yan,DU Ji-ye,SONG Gu-zhou,et al.Design of as intensifier program control circuit[J].Modern Applied Physics,2013(4):356-360.