彭若晨,閆 妍
(西北工業大學 陜西 西安 710072)
FPGA填補了數字系統設計的卡空白,是對微處理器的補充。盡管微處理器能用于許多場合,但是它們依靠軟件才能實現其功能,因此比起定制芯片,它們一般運行速度比較慢而且功耗大。同樣的,FPGA也不是定制芯片,它們無法像那些為某一應用而設計的定制芯片那樣擅長完成特定功能。FPGA一般也比定制邏輯芯片的運行速度慢而且功耗大,同時相對較貴;所以人們認為定制芯片更便宜。然而,由于它們是標準期間,因而能夠彌補定制芯片的一些不足。從完成設計到取得一個可工作的芯片之間不用等待,可以吧程序寫入FPGA并立即進行測試;同種類的FPGA可以用于不同類型的設計中,以降低庫存費用。
根據以上設計背景,利用QuartusⅡ軟件編寫verilog HDL硬件描述語言程序以實現數碼管循環顯示學號以及根據鍵盤切換輸出波形并在VGA上顯示。
1)顯示學號
①采用數碼管顯示。
②循環顯示2個人的學號后四位。
2)根據鍵盤切換輸出波形
①按鍵盤一次,在VGA顯示輸出當前的溫度。
②按鍵盤兩次,在VGA顯示輸出當前的時間。
③按鍵盤三次,在VGA顯示輸出學生姓名。
用模塊PCF8591進行溫度采集,PCF8591資料如圖1所示。
本電路總共分為分頻模塊、PS/2鍵盤輸入模塊、字符碼轉換模塊、VGA驅動模塊。各模塊之間的關系如圖2所示。

圖1 PCF8591編碼圖Fig.1 PCF8591

圖2 各模塊關系圖Fig.2 The relationship between the various modules
1)顯示學號部分
只要將CLK信號分頻之后再送入數碼管即可顯示。如圖3所示。
2)鍵盤控制部分如圖4所示。

圖3 學號數碼管圖Fig.3 Student ID digital

圖4 電腦鍵盤接線圖Fig.4 Computer keyboard wiring
接口的6個腳中,接口示意圖如圖4所示。只有4個腳有意義,分別是:時鐘腳、數據腳、電源腳、電源地。其余為保留腳。PS/2靠系統的PS/2端口提供+5 V電源。這里需要用到的即是:時鐘腳和數據腳。這兩個腳都是集電極開路,所以必須接大阻值的上拉電阻。它們平時保持高電平,有輸出時才被拉到低電平,之后自動上浮到高電平。
此模塊的功能說明:當按下一個鍵時,FPGA在時鐘信號下接受來自PS/2鍵盤的數據(8個數據位),接收完畢后鎖存并轉化為十六進制數據,例如4’ha。當按鍵放開時,發出信號change。這時開始識別按鍵,如果接收到8’d102,則表示接收到按鍵Backspace,則清空顯示數據。總體來說,此部分分為接收數據模塊、數據判斷與鎖存模塊、鍵值轉化模塊。模塊電路圖如圖5所示。

圖5 模塊電路圖Fig.5 Module circuit diagram
3)VGA顯示部分
VGA時序控制模塊是整個顯示控制器的關鍵部分,最終的輸出信號行、場同步信號必須嚴格按照VGA時序標準產生相應的脈沖信號。對于普通的VGA顯示器,其引出線的共含 5 個信號:G,R,B(三基色信號),HS(行同步信號)VS(場同步信號)。在5個信號時序驅動時,VGA顯示器要嚴格遵循“VGA 工業標準”, 即 640×480×25 MHz模式或 800×600×40 MHz模式,本次字符顯示試驗采用800×600×40 MHz模式。VGA接頭焊接方法如圖6所示。
VGA顯示模塊如下
1)顯示溫度

圖6 VGA接頭焊接方法圖Fig.6 VGA connector welding method
溫度要用PCF8591進行采集,采集到的溫度進行AD轉換后經選擇通道送入VGA控制電路,進而實現VGA顯示溫度。溫度模塊電路圖如圖7所示。

圖7 溫度模塊電路圖Fig.7 Temperature module circuit diagram
2)顯示時間
這實際上是一個計數器。CLK被分頻后用來計數,并且數據要經過寄存器寄存下來才能夠被送入VGA控制模塊。
時間模塊電路圖如圖8所示。
3)顯示姓名模塊電路圖如圖9所示。

圖8 時間模塊電路圖Fig.8 Time module circuit diagram

圖9 顯示姓名模塊電路圖Fig.9 Shows the name of the module circuit diagram
1)運行Quartus II軟件,新建工程和命名頂層文件。
2)建立文件Verilog HDL File。命名為ps2.v。在文件中寫入程序,保存,編譯。
3)分配管腳。保存,編譯。
4)觀察數碼管的學號顯示
5)在鍵盤上分別輸入1、2、3,觀察VGA顯示屏的變化
6)若不相同或不完全相同,則分模塊調試。
調試現象:
1)分別輸入 1、2、3, VGA 均正確顯示。
2)輸入其他的鍵值,VGA顯示0。
3)數碼管循環顯示學號后四位。
通過本次課程設計,對FPGA有了進一步的了解,雖然只做了一些最底層、最基本的設計,也只接觸了那么一些小小的內容,但通過整個設計過程了解了FPGA的強大功能,認識了一些單元的工作原理。
多模式顯示器在VGA上顯示不同的內容,在了解結構和原理后對FPGA器件設計數字邏輯系統的方法和流程進行了討論。傳統的自下而上的設計方法已經取代當今技術的發展,不能滿足大規模復雜電路[8]設計的需求,取而代之的是自上而下的設計。硬件描述語言采用軟件編程的方式來描述電子系統的邏輯功能、電路結構和連接形式,用于描述大規模的電子系統的設計尤為方便。
[1]楊海鋼,孫嘉斌,王慰.FPGA器件設計技術發展綜述[J].電子與信息學報,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]羅萍,李肇基,甄少偉.一種基于負載狀態的分段式PSM調制模式[J].電工技術學報,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]何學宇.一種電流模式PWM開關電源芯片的研究與設計[D].沈陽:遼寧大學,2011.
[4]王紅,彭亮,于宗光.FPGA現狀與發展趨勢[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實現的視頻顯示系統[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技術的應用與發展[J].杭州電子科技大學學報,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]劉國棟,陳伯孝,陳多芳.FFT處理器的FPGA設計[J].航空計算技術,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]宋巖,杜繼業,宋顧周,等.像增強器程控電路設計[J].現代應用物理,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.