基于FPGA的LED大屏幕控制系統(tǒng)設(shè)計(jì)
摘要:介紹LED顯示屏的工作原理,提出大屏幕LED圖文顯示屏控制系統(tǒng)MCU+FPGA的設(shè)計(jì)方案。單片機(jī)系統(tǒng)負(fù)責(zé)接收和存儲(chǔ)上位機(jī)LED點(diǎn)陣數(shù)據(jù),FPGA控制器完成顯示數(shù)據(jù)的轉(zhuǎn)換、動(dòng)態(tài)掃描并驅(qū)動(dòng)大屏幕LED顯示屏。FPGA控制器由VHDL語(yǔ)言編程實(shí)現(xiàn),并在QuartuslI中仿真測(cè)試通過(guò)。整個(gè)系統(tǒng)外圍電路簡(jiǎn)單,易于擴(kuò)展。
關(guān)鍵詞:FPGA;LED;大屏幕;控制系統(tǒng)
引言
目前,市場(chǎng)上的中小規(guī)模LED顯示系統(tǒng),一般采用傳統(tǒng)的單片機(jī)作為主控芯片。對(duì)LED大屏幕顯示屏來(lái)說(shuō),由于數(shù)據(jù)傳輸量大,要求掃描速度快,而單片機(jī)內(nèi)部的資源較少、運(yùn)行速度較慢,難于滿足系統(tǒng)要求。以FPGA作為控制器,一方面,F(xiàn)PGA采用軟件編程實(shí)現(xiàn)硬件功能,速度較快;另一方面,它的引腳資源豐富,可擴(kuò)展性強(qiáng)。因此,用單片F(xiàn)PGA和簡(jiǎn)單的外圍電路就可以實(shí)現(xiàn)大屏幕LED顯示屏的控制,無(wú)需另外設(shè)計(jì)漢字庫(kù),具有集成度高、穩(wěn)定性好、設(shè)計(jì)靈活和效率高等優(yōu)點(diǎn)。
1 系統(tǒng)總體結(jié)構(gòu)
LED大屏幕顯示系統(tǒng)由上位機(jī)(PC機(jī))、單片機(jī)系統(tǒng)、FPGA控制器、LED顯示屏的行列驅(qū)動(dòng)電路等模塊組成,如圖1所示。上位機(jī)負(fù)責(zé)漢字、字符等數(shù)據(jù)的采集與發(fā)送。單片機(jī)系統(tǒng)與上位機(jī)之間以異步串行通信工作方式,通過(guò)串行端口從上位機(jī)獲得已完成格式轉(zhuǎn)換的待顯示的圖形點(diǎn)陣數(shù)據(jù),并將其存入EEPROM存儲(chǔ)器。之后通過(guò)FPGA控制器,將存儲(chǔ)器的顯示數(shù)據(jù)還原到LED顯示屏。掃描控制電路采用可編程邏輯芯片Cyclone EP1C6,利用VHDL語(yǔ)言編程實(shí)現(xiàn),采用1/16掃描方式,刷新頻率在60 Hz以上。本文著重介紹256×1024的單色圖文顯示屏的FPGA控制模塊。
2 LED顯示屏基本工作原理
對(duì)大屏幕LED顯示屏來(lái)說(shuō),列顯示數(shù)據(jù)通常采用的是串行傳輸方式,行采用1/16的掃描方式。圖2為16×32點(diǎn)陣屏單元模塊的基本結(jié)構(gòu),列驅(qū)動(dòng)電路采用4個(gè)74HC595級(jí)聯(lián)而成。在移位脈沖SRCLK的作用下,串行數(shù)據(jù)從74HC595的數(shù)據(jù)端口SER一位一位地輸入,當(dāng)一行的所有32列數(shù)據(jù)傳送完后,輸出鎖存信號(hào)RCLK并選通行信號(hào)Y0,則第1行的各列數(shù)據(jù)就可按要求顯示。按同樣的方法顯示其余各行,當(dāng)16行數(shù)據(jù)掃描一遍(即完成一個(gè)周期)后,再?gòu)牡?行開(kāi)始下一個(gè)周期的掃描。只要掃描的周期小于20 ms,顯示屏就不閃爍。
256×1024大屏幕顯示屏由16×32個(gè)的16×32點(diǎn)陣屏級(jí)聯(lián)而成。為了縮短控制系統(tǒng)到屏體的信號(hào)傳輸時(shí)間,將顯示數(shù)據(jù)分為16個(gè)區(qū),每個(gè)區(qū)由16×1024點(diǎn)陣組成,每行數(shù)據(jù)為1024/8=128字節(jié),顯示屏的像素信號(hào)由LED顯示屏的右側(cè)向左側(cè)傳輸移位,把16個(gè)分區(qū)的數(shù)據(jù)存在同一塊存儲(chǔ)器。一屏的顯示數(shù)據(jù)為32 KB,要準(zhǔn)確讀出16個(gè)分區(qū)的數(shù)據(jù),其存儲(chǔ)器的讀地址由16位組成,由于數(shù)據(jù)只有32 KB,因此最高可置為0。其余15位地址從高到低依次為:行地址(4位)、列地址(7位)、分區(qū)地址(4位)。4位分區(qū)地址的譯碼信號(hào)(Y0~Y15)作為鎖存器的鎖存脈沖,在16個(gè)讀地址發(fā)生周期內(nèi),依次將第1~16分區(qū)的第1字節(jié)數(shù)據(jù)鎖存到相應(yīng)的鎖存器,然后在移位鎖存信號(hào)上升沿將該16字節(jié)數(shù)據(jù)同時(shí)鎖存入16個(gè)8位并轉(zhuǎn)串移位寄存器組中。在下一個(gè)16個(gè)讀地址發(fā)生時(shí)鐘周期,一方面,并轉(zhuǎn)串移位寄存器將8位數(shù)據(jù)移位串行輸出,移位時(shí)鐘為讀地址發(fā)生時(shí)鐘的二分頻;另一方面,依次將16個(gè)分區(qū)的第2字節(jié)數(shù)據(jù)讀出并鎖入相應(yīng)的鎖存器,按照這種規(guī)律將所有分區(qū)的第一行數(shù)據(jù)依次全部讀出后,在數(shù)據(jù)有效脈沖信號(hào)的上升沿將所有串行移位數(shù)據(jù)輸出,驅(qū)動(dòng)LED顯示。接下來(lái),移位輸出第2行的數(shù)據(jù),在此期間第1行保持顯示;第2行全部移入后,驅(qū)動(dòng)第2行顯示,同時(shí)移入第3行……按照這種各分區(qū)分行掃描的方式完成整個(gè)LED大屏幕的掃描顯示。
評(píng)論