郭志冬
(三門峽職業技術學院機電工程系,河南 三門峽 472000)
基于FPGA的漢字點陣顯示系統設計
郭志冬
(三門峽職業技術學院機電工程系,河南 三門峽 472000)
利用可編程邏輯器件設計了一個16×16的LED點陣顯示系統,通過設計VHDL程序從EEPROM(AT28C64)中取出相應的漢字代碼,經過FPGA處理后,送給LED點陣顯示,在相應電路控制下,能夠變換不同的漢字。具有廣泛的應用價值。
可編程邏輯器件;現場可編程門陣列;LED顯示;超高速硬件描述語言;QuartusII
LED顯示屏技術是集光電子技術、微電子技術、計算機技術和視頻技術為一體的高科技產品,它的發光部分由LED(即發光二極管)點陣拼裝組成,其優點是耗電量少,亮度高,工作電壓低,驅動簡單,壽命長,性能穩定。顯示屏面積可以根據需要由單元模塊任意拼裝,響應速度快。[1]LED顯示屏以其豐富的色彩變化,圖案,實時動態地顯示模式,完美的多媒體效果和強大的視覺沖擊力,將信息以文字、圖片、動畫及視頻等多種方式顯示出來,成為信息傳播的劃時代產品,在鐵路、民航、體育場館、會議廳、高速公路、廣場、大型商場、銀行、證券市場以及多種監控調度中得到了廣泛的應用。
本系統采用FPGA(Field Programmable Gate Arra,現場可編程門陣列)來設計,FPGA是一種高密度可編程邏輯器件,它支持系統可編程,通過寫入不同的配置數據就可以實現不同的邏輯功能,使用FPGA來設計電子系統,具有設計周期短、易于修改、可靠性高等明顯優點。此外,隨著可編程邏輯器件和EDA技術的飛速發展,越來越多的電子系統采用FPGA來設計,一旦該系統達到一定的產量規模,較容易轉化為ASIC(專用集成電路)芯片設計,而且具有完全的知識產權。[2]
本設計通過FPGA的引入,利用EDA工具軟件QuartusII,設計了一種LED點陣顯示控制系統,實現了LED屏自動掃描的功能,大幅提高了LED屏的頻率。[3]
漢字點陣顯示系統實際上就是利用FPGA產生EEPROM(AT28C64)的對應地址A9~A0,接收來自EEPROM(AT28C64)的字數據信號D7~D0,同時對外產生16×16LED點陣相應掃描驅動信號。根據設計任務提出的功能要求,整個系統應大致包括如下幾個組成部分:漢字選擇電路、數據地址產生電路、數據讀取電路、顯示掃描等部分組成。系統電路組成框圖如圖1所示。

圖1 漢字點陣系統組成框圖Fig.1 Chinese characters dot matrix system composition
點陣的結構實際上是一組很小的發光二極管,排列緊密而且規則。當點亮其中的一些燈,而熄滅一些燈時,點陣就可以顯示圖符。16×16的點陣引腳除電源和地線外還有十六根行掃描引腳,十六根列掃描引腳。點陣工作時,電源和地線固定連接好,當某一些行掃描和列掃描有信號時,點陣中對應交點上發光二極管被點亮。但是使用這種方法只能使點陣顯示一個矩形圖符。如果需要顯示更為復雜的圖符,如漢字、圖案等則需要用另外一種方法,既行掃描信號是以固定周期和固定次序循環變化,而列掃描信號在行掃描信號在某一特定值時,給出一組特定的數據。當行掃描信號變化周期比較快時,通過肉眼觀察到的圖符就是一個完整的。通過這種方法,可以用點陣顯示復雜的圖符。如果設計成點陣顯示圖符按某種事先指定的方法變化,則可以顯示動畫或其他信息。[4]
16×16掃描LED點陣的工作原理同多位數碼管動態掃描顯示類似。它有16個共陰極輸出端口,每個共陰極對應有16個LED顯示燈。所以其掃描譯碼地址是4位信號線。EEPROM(AT28C64)存儲器是電擦除/編程的只讀存儲器,容量為8k× 8Bit,有13位并行地址線和8位并行數據線,而一個完整的字符所需的存儲空間為32字節即32× 8Bit,也就是說EEPROM(AT28C64)最多可連續存256個16×16點陣字形。存儲方式可事先約定好。設計者也可自己利用字模軟件產生漢字代碼,編寫字庫。
字庫格式如圖2所示。這是一16×16點陣字庫,一個字占32個字節,例如“正”:
該字所對應的32個字節是:


圖2 字庫格式Fig.2 Font format
2.1 系統各電路模塊設計
(1)數據地址產生電路設計。根據點陣顯示原理,一個16×16點陣漢字共占用32個字節,數據地址產生電路實質上就是一個三十二進制的計數器,以輸入脈沖作為地址產生電路的計數時鐘信號,待計數至32瞬間地址產生電路則清零并重新計數。重復選擇該漢字的32個字節數據,從EEPROM(AT28C64)數據輸出端口送出。
(2)數據讀取電路設計。當提供給EEPROM(AT28C64)相應的地址后,EEPROM(AT28C64)即在I/OK口輸出8位并行數據,根據設計任務分析,只要求讀出字庫數據并顯示,所以可以直接將EEPROM(AT28C64)的片選端(CE)、輸出使能端(OE)直接接地,這樣讀取數據只需要提供地址就可以了。讀出的數據送到LED點陣的行線上。
(3)漢字選擇電路設計。根據EEPROM(AT28C64)中漢字數據存放的特點,可以分析出前第一個漢字的地址為0000000000000―00000 0001 1111,第二個漢字的字節地址為0 0000 0010 0000—0 0000 0011 1111,……通過觀察,我們不難分析出每個漢字的所有數據地址低5位都是相同的,要想選擇不同的漢字,只要改變高8位地址即可。在這里本項目提供的字模數為23個漢字。因此只需提供一個23進制的計數器就可以循環選擇不同的漢字。通過LED點陣屏顯示出來。
(4)顯示掃描電路設計。從EEPROM(AT28C64)讀出的數據,要正確的顯示在LED點陣屏上,必須將數據送到相應的位置,讀出的單個漢字數據要依次放在W0,W1,W2,…,W31列。而其中W0―W15在上半部分,W16―W31在下半部分。因而讀出的每個字前十六個數據地址為********00000―********0 1111,后十六個數據地址為********1 0000―********1 1111,通過觀察分析可以發現,前十六個數據地址和后十六個數據地址中只有ADDR4不同,其余地址范圍都是從0000―1111變化,因此用ADDR4來分配數據的上、下兩部分。同時低四位地址用來將數據顯示在 W0―W31相應位置,最終還原出一個漢字。
2.2 系統整體設計
根據以上對系統各部分電路功能的分析,整個系統包括以下三個模塊:字庫點陣數據地址產生模塊ADDR、漢字點陣數據選擇地址產生模塊HZ_SEL、漢字點陣頁面數據分配模塊PAGE。系統整體原理圖如圖3所示。

圖3 漢字點陣系統整體原理圖Fig.3 Chinese characters dot matrix system principle diagram
本系統三個模塊:字庫點陣數據地址產生模塊ADDR、漢字點陣數據選擇地址產生模塊HZ_SEL、漢字點陣頁面數據分配模塊PAGE,均在EDA開發工具軟件QuartusII中采用VHDL語言文本輸入設計法進行設計輸入,并在QuartusII中實現仿真、編譯。[5]以字庫點陣數據地址產生模塊為例,其VHDL源程序設計如下:



字庫點陣數據地址產生模塊的仿真波形如圖4所示。

圖4 字庫點陣數據地址產生模塊仿真波形Fig.4 Simulation waveform of font bitmap data address generation module
本系統在點陣顯示的設計中,利用動態掃描顯示的原理,同時利用讀取數據的地址作為掃描的信號,大大簡化了程序的設計。此外,可以擴展系統工作的外圍電路:掃描信號發生器、直流工作電源、地址譯碼電路等,使其成為一個完整的獨立系統。還可以考慮增加系統功能,如使漢字進行旋轉或按照一定位移速度移動顯示等,使整個系統更實用。基于FPGA的漢子點陣顯示系統性能更穩定,顯示效果更多樣化,而且便于實現,尤其在大批量生產時其優勢更為明顯,具有廣泛的市場應用價值。[6]
[1] 張著,程震先,劉繼華.數字設計—電路與系統[M].北京:北京理工大學出版社,2001.
[2] 曉暉,熊建國.出租車計費器的FPGA設計[J].現代電子技術,2009(23):210-212.
[3] 童星,熊文龍.基于CPLD的LED顯示控制板[J].武漢理工大學學報:交通科學與工程版,2007(1):144-147.
[4] 趙世強.電子電路EDA技術[M].西安:西安電子科技大學出版社,2000.
[5] 潘松,王國棟.VHDL實用教程[M].成都:電子科技大學出版社,2000.
[6] 唐楊波.基于單片機和CPLD共同控制的LED大屏幕顯示系統的設計與實現.科技創新導報 [J],2009(13):24-25.
The Design of Chinese Characters Dot Matrix Display System Based on the FPGA
GUO Zhidong
(Department of Mechanical and Electronic Engineering,Sanmenxia Polytechnic,Sanmenxia 472000,China)
Use of programmable logic devices to design a 16×16LED dot matrix display system,through the design of VHDL program from EEPROM(AT28C64)out of the corresponding Chinese characters code,after treatment with FPGA,to the LED dot matrix display,in the corresponding circuit control,it can transform different Chinese characters.The system has a broad application value.
PLD;FPGA;LED display;VHDL;QuartusII
TP 316
A
1671-7880(2012)05-0045-04
2012-06-26
郭志冬(1981— ),男,河南焦作人,助教,河南科技大學控制工程專業碩士在讀。