傳統(tǒng)的大型LED顯示屏系統(tǒng)以單片機MCU,、ARM 或PLD為核心控制芯片,以FPGA為核心的led顯示屏控制系統(tǒng)設(shè)計實現(xiàn)起來比較復(fù)雜,,并且需要以高性能的FPGA芯片作為基礎(chǔ),,而以微處理器為核心的LED顯示屏控制系統(tǒng)不夠靈活,在改變LED屏幕顯示尺寸時,,需要大幅修改系統(tǒng)設(shè)計,,PLD雖在處理速度上有較大提高且能很好地控制多模塊顯示,但其在時序電路描述方面明顯不如FPGA,。提出了基于FPGA與單片機MCU的大型LED顯示屏系統(tǒng)設(shè)計方案,,該系統(tǒng)中FPGA為主控制單元,單片機為掃描控制單元,,該方案簡化電路,,提高系統(tǒng)的靈活性和可靠性。實踐仿真結(jié)果表明:系統(tǒng)顯示內(nèi)容較多,,能較好地支持彩色顯示,,降低了功耗,實現(xiàn)了現(xiàn)場實時控制顯示。
隨著平板顯示技術(shù)的不斷更新,,大型LED顯示系統(tǒng)利用發(fā)光二極管構(gòu)成的點陣模塊或像素單元組成大面積顯示屏,,主要顯示字符、圖像等信息,,具有低功耗,、低成本、高亮度,、長壽命,、寬視角等優(yōu)點。近年來廣泛應(yīng)用在證券交易所,、車站機場、體育場館,、道路交通,、廣告媒體等場所。
通常用單一單片機作為主控器件控制和協(xié)調(diào)大屏幕顯示,。由多片單片機構(gòu)成的多處理器系統(tǒng),,其中一片作為主CPU,其他作為子CPU共同控制大屏幕的顯示,,該系統(tǒng)可以減輕主CPU 的負擔(dān),,提高了LED點陣的刷新頻率。但單片機的驅(qū)動頻率有限,,無法驅(qū)動等分辨率LED屏幕,,尤其是對于多灰度級彩色大屏幕,數(shù)據(jù)送到顯示屏之前要進行灰度調(diào)制重現(xiàn)圖像的色彩,,對數(shù)據(jù)的處理速度要求更高,,單片機控制在速度上無法滿足上述要求。因此該方案主要應(yīng)用于實時性要求不高的場合,,主要進行一些文字,、圖片等靜態(tài)異步顯示的控制。視頻圖像信號頻率高,、數(shù)據(jù)量大,,要求實時處理,采用FPGA/CPLD設(shè)計控制電路,,其中的同步控制,、主從控制、讀寫控制和灰度調(diào)制等大量電路進行了集成,,簡化系統(tǒng)結(jié)構(gòu),,便于調(diào)試且系統(tǒng)結(jié)構(gòu)緊湊,工作可靠。與單片機控制電路相比,,電路結(jié)構(gòu)明顯簡潔,,電路的面積減小,可靠性增強,,調(diào)試也更為簡單,,由于FPGA/CPLD可以并行處理多個進程,比起單片機對任務(wù)的順序處理效率更高,,點陣的刷新頻率也隨之提高,。
對實時性要求較高、數(shù)據(jù)量較大的場合下,,可編程邏輯器件是首選的核心數(shù)據(jù)處理器,。本系統(tǒng)考慮對于傳輸視頻數(shù)據(jù)大小和驅(qū)動LED大屏幕刷新頻率的要求,LED發(fā)送卡,、接收卡均采用FPGA作為核心處理器,,筆者選擇Xilinx公司基于90nm工藝制造的XC3S250E-FTG256,內(nèi)有25萬邏輯門,,最高頻率可以達到600MHz,,完全可以滿足系統(tǒng)速度的要求在系統(tǒng)中作為掃描控制單元,同時以MCU芯片為主控制單元,。采用該方案可以有效簡化顯示屏的電路結(jié)構(gòu),,從而提高了整個控制系統(tǒng)的靈活性和可靠性。
1 系統(tǒng)的組成和工作原理
該系統(tǒng)采用89C51單片機和SDRAM 組成控制中心,,由基于Xilinx公司的FPGA的90nm工藝制造的XC3S250E-FTG256和RAM 組成掃描控制模塊,,以FLASH作為存儲器模塊,采用以太網(wǎng)傳輸數(shù)據(jù),,組成LED屏的控制系統(tǒng),。系統(tǒng)結(jié)構(gòu)如圖1所示。其工作原理為:主機通過TFTP協(xié)議將圖片傳輸給系統(tǒng)以太網(wǎng)接口模塊,,以太網(wǎng)接口模塊解析協(xié)議,,接收圖片數(shù)據(jù),然后將數(shù)據(jù)傳輸給MCU,,MCU 將接收到的數(shù)據(jù)寫入存儲模塊NAND FLASH.在顯示時,,MCU讀取FLASH 中的數(shù)據(jù),通過SPI接口將數(shù)據(jù)傳輸給FPGA掃描控制模塊,,經(jīng)掃描控制模塊處理后傳輸?shù)絃ED屏幕上顯示,。
圖1 基于FPGA和MCU的LED顯示屏控制系統(tǒng)框圖
2 硬件系統(tǒng)設(shè)計
2.1存儲器電路設(shè)計
本系統(tǒng)中需要用2片RAM 芯片作為緩存來存儲視頻數(shù)據(jù),并以乒乓方式進行快速讀寫操作,。目前主要有動態(tài)存儲器(DRAM)和靜態(tài)存儲器(SRAM),,SRAM 的讀寫時間短,,靜態(tài)功耗比較低,總線利用率高,,它不需要刷新電路就能保存內(nèi)部存儲的數(shù)據(jù),,但是它的集成度較低,相同的容量占用體積大,,價格較高,,主要用于性能要求較高的領(lǐng)域。
DRAM 只能將數(shù)據(jù)保持很短的時間,,它使用電容存儲,,必須經(jīng)常刷新電路來保存數(shù)據(jù),它的讀寫過程比較復(fù)雜,,時間較長,,動態(tài)功耗較大,總線利用率比較低,。不過DRAM 的存儲容量大,,價格便宜,被大量用在服務(wù)器和電腦中,。由于DRAM 讀寫過程比較復(fù)雜,本系統(tǒng)要求存儲器有快速的讀寫響應(yīng),,所以設(shè)計中選用SRAM 作為存儲器,。本系統(tǒng)所用的LED屏大小為512×64,每個像素數(shù)據(jù)(RGB)占用24bit,,則一場畫面的數(shù)據(jù)量為512×64×24=768kbits.本設(shè)計選用ISSI公司的IS61LV25616芯片來存儲視頻數(shù)據(jù),。SAA7111輸出16bit視頻信號,16位數(shù)據(jù)線正好方便存儲數(shù)據(jù),。它的容量為256×1 024×16bit,,足夠存儲一場視頻數(shù)據(jù),并有留有充足的容量供系統(tǒng)以后的升級,。SRAM 的電路設(shè)計如圖2所示,。
圖2 SRAM 電路
傳統(tǒng)的大型LED顯示屏系統(tǒng)以單片機MCU、ARM 或PLD為核心控制芯片,,以FPGA為核心的led顯示屏控制系統(tǒng)設(shè)計實現(xiàn)起來比較復(fù)雜,,并且需要以高性能的FPGA芯片作為基礎(chǔ),而以微處理器為核心的LED顯示屏控制系統(tǒng)不夠靈活,,在改變LED屏幕顯示尺寸時,,需要大幅修改系統(tǒng)設(shè)計,PLD雖在處理速度上有較大提高且能很好地控制多模塊顯示,,但其在時序電路描述方面明顯不如FPGA,。提出了基于FPGA與單片機MCU的大型LED顯示屏系統(tǒng)設(shè)計方案,,該系統(tǒng)中FPGA為主控制單元,單片機為掃描控制單元,,該方案簡化電路,,提高系統(tǒng)的靈活性和可靠性。實踐仿真結(jié)果表明:系統(tǒng)顯示內(nèi)容較多,,能較好地支持彩色顯示,,降低了功耗,實現(xiàn)了現(xiàn)場實時控制顯示,。
隨著平板顯示技術(shù)的不斷更新,,大型LED顯示系統(tǒng)利用發(fā)光二極管構(gòu)成的點陣模塊或像素單元組成大面積顯示屏,主要顯示字符,、圖像等信息,,具有低功耗、低成本,、高亮度,、長壽命、寬視角等優(yōu)點,。近年來廣泛應(yīng)用在證券交易所,、車站機場、體育場館,、道路交通,、廣告媒體等場所。
通常用單一單片機作為主控器件控制和協(xié)調(diào)大屏幕顯示,。由多片單片機構(gòu)成的多處理器系統(tǒng),,其中一片作為主CPU,其他作為子CPU共同控制大屏幕的顯示,,該系統(tǒng)可以減輕主CPU 的負擔(dān),,提高了LED點陣的刷新頻率。但單片機的驅(qū)動頻率有限,,無法驅(qū)動等分辨率LED屏幕,,尤其是對于多灰度級彩色大屏幕,數(shù)據(jù)送到顯示屏之前要進行灰度調(diào)制重現(xiàn)圖像的色彩,,對數(shù)據(jù)的處理速度要求更高,,單片機控制在速度上無法滿足上述要求。因此該方案主要應(yīng)用于實時性要求不高的場合,,主要進行一些文字,、圖片等靜態(tài)異步顯示的控制。視頻圖像信號頻率高,、數(shù)據(jù)量大,,要求實時處理,,采用FPGA/CPLD設(shè)計控制電路,其中的同步控制,、主從控制,、讀寫控制和灰度調(diào)制等大量電路進行了集成,簡化系統(tǒng)結(jié)構(gòu),,便于調(diào)試且系統(tǒng)結(jié)構(gòu)緊湊,,工作可靠。與單片機控制電路相比,,電路結(jié)構(gòu)明顯簡潔,,電路的面積減小,可靠性增強,,調(diào)試也更為簡單,,由于FPGA/CPLD可以并行處理多個進程,比起單片機對任務(wù)的順序處理效率更高,,點陣的刷新頻率也隨之提高,。
對實時性要求較高、數(shù)據(jù)量較大的場合下,,可編程邏輯器件是首選的核心數(shù)據(jù)處理器,。本系統(tǒng)考慮對于傳輸視頻數(shù)據(jù)大小和驅(qū)動LED大屏幕刷新頻率的要求,LED發(fā)送卡,、接收卡均采用FPGA作為核心處理器,,筆者選擇Xilinx公司基于90nm工藝制造的XC3S250E-FTG256,內(nèi)有25萬邏輯門,,最高頻率可以達到600MHz,完全可以滿足系統(tǒng)速度的要求在系統(tǒng)中作為掃描控制單元,,同時以MCU芯片為主控制單元,。采用該方案可以有效簡化顯示屏的電路結(jié)構(gòu),從而提高了整個控制系統(tǒng)的靈活性和可靠性,。
1 系統(tǒng)的組成和工作原理
該系統(tǒng)采用89C51單片機和SDRAM 組成控制中心,,由基于Xilinx公司的FPGA的90nm工藝制造的XC3S250E-FTG256和RAM 組成掃描控制模塊,以FLASH作為存儲器模塊,,采用以太網(wǎng)傳輸數(shù)據(jù),,組成LED屏的控制系統(tǒng)。系統(tǒng)結(jié)構(gòu)如圖1所示,。其工作原理為:主機通過TFTP協(xié)議將圖片傳輸給系統(tǒng)以太網(wǎng)接口模塊,,以太網(wǎng)接口模塊解析協(xié)議,接收圖片數(shù)據(jù),,然后將數(shù)據(jù)傳輸給MCU,,MCU 將接收到的數(shù)據(jù)寫入存儲模塊NAND FLASH.在顯示時,,MCU讀取FLASH 中的數(shù)據(jù),通過SPI接口將數(shù)據(jù)傳輸給FPGA掃描控制模塊,,經(jīng)掃描控制模塊處理后傳輸?shù)絃ED屏幕上顯示,。
圖1 基于FPGA和MCU的LED顯示屏控制系統(tǒng)框圖
2 硬件系統(tǒng)設(shè)計
2.1存儲器電路設(shè)計
本系統(tǒng)中需要用2片RAM 芯片作為緩存來存儲視頻數(shù)據(jù),并以乒乓方式進行快速讀寫操作,。目前主要有動態(tài)存儲器(DRAM)和靜態(tài)存儲器(SRAM),,SRAM 的讀寫時間短,靜態(tài)功耗比較低,,總線利用率高,,它不需要刷新電路就能保存內(nèi)部存儲的數(shù)據(jù),但是它的集成度較低,,相同的容量占用體積大,,價格較高,主要用于性能要求較高的領(lǐng)域,。
DRAM 只能將數(shù)據(jù)保持很短的時間,,它使用電容存儲,必須經(jīng)常刷新電路來保存數(shù)據(jù),,它的讀寫過程比較復(fù)雜,,時間較長,動態(tài)功耗較大,,總線利用率比較低,。不過DRAM 的存儲容量大,價格便宜,,被大量用在服務(wù)器和電腦中,。由于DRAM 讀寫過程比較復(fù)雜,本系統(tǒng)要求存儲器有快速的讀寫響應(yīng),,所以設(shè)計中選用SRAM 作為存儲器,。本系統(tǒng)所用的LED屏大小為512×64,每個像素數(shù)據(jù)(RGB)占用24bit,,則一場畫面的數(shù)據(jù)量為512×64×24=768kbits.本設(shè)計選用ISSI公司的IS61LV25616芯片來存儲視頻數(shù)據(jù),。SAA7111輸出16bit視頻信號,,16位數(shù)據(jù)線正好方便存儲數(shù)據(jù),。它的容量為256×1 024×16bit,足夠存儲一場視頻數(shù)據(jù),,并有留有充足的容量供系統(tǒng)以后的升級,。SRAM 的電路設(shè)計如圖2所示。
圖2 SRAM 電路
2.2 FPGA的硬件設(shè)計
FPGA的硬件設(shè)計如圖3所示,。FPGA 需要提供大量的I/O引腳和高速的顯示控制信號,,所選用的基于Xilinx公司的FPGA 的90nm 工藝制造的XC3S250E-FTG256可以滿足設(shè)計的要求,。
圖3 FPGA的硬件結(jié)構(gòu)
2.3驅(qū)動電路
FPGA采用的電壓是3.3V,而LED屏體顯示電路的電壓是5V的TTL邏輯電平,,因此需要進行電平轉(zhuǎn)換的電路,。這個電路由74HC245構(gòu)成,工作電壓為5V,,74HC245采用CMOS工藝,,是一種三態(tài)輸出、8組總線收發(fā)器,,其輸入電平兼容3.3V系統(tǒng),,使用外接的5V電源將輸出電平提升到5V,同時為各種控制和數(shù)據(jù)信號提供驅(qū)動能力,。74HC245的電路如圖4所示,。其中:OE為輸出控制引腳,低電平為有效,;DIR引腳用于控制轉(zhuǎn)換方向,,接高電平時表示從A向B轉(zhuǎn)換,A0~A7用于輸入數(shù)據(jù)信號,,B0~B7用于輸出轉(zhuǎn)換后的數(shù)據(jù)信號,。
圖4 74HC245驅(qū)動電路
2.4顯示板的驅(qū)動電路
LED顯示板的面積很大,它的正面由LED 顯示塊級聯(lián)而成,,背面是驅(qū)動電路,。由于LED的驅(qū)動電流相對較大,驅(qū)動電路應(yīng)盡量和LED點陣模塊靠近,。因此行列驅(qū)動器一般都安裝在屏體的背面,。LED顯示板的驅(qū)動電路中采用了74HC595芯片,是硅結(jié)構(gòu)的CMOS器件,,兼容低電壓TTL電路,,具有8位串入并出的移位、并行鎖存和三態(tài)輸出功能,。移位寄存器和鎖存器使用獨立的時鐘,數(shù)據(jù)SDATA 在SCLK的上升沿輸入移位寄存器,,在LT的上升沿進入的鎖存器中去,。當(dāng)使能信號OE為低電平時,鎖存器的數(shù)據(jù)輸出到LED.74HC595芯片可以解決數(shù)據(jù)顯示和數(shù)據(jù)串行傳輸在時間上的沖突問題,,在顯示1行各列數(shù)據(jù)的同時,,可以準(zhǔn)備下1列的LED數(shù)據(jù)。以1/16行掃描為例,,LED顯示板的驅(qū)動電路如圖5所示,。
CLK是移位寄存器時鐘,,每個脈沖將引起1位數(shù)據(jù)移入74HC595中,當(dāng)1行的數(shù)據(jù)全部移完后,,鎖存信號LT控制數(shù)據(jù)從74HC595的寄存器移入鎖存器,。A、B,、C,、D是行掃描信號,其中A是最低位,,通過4/16譯碼器控制LED屏的行掃描,。OE是消影信號,它可以選擇控制行信號或列信號,,用于LED點陣是否能被點亮和控制整屏的亮度,。如果OE控制列信號,它接74HC595芯片的OE端,,因為只有當(dāng)OE為低電平時74HC595的輸出才有效,,否則輸出三態(tài),。如果OE控制行信號,,它接到4/16譯碼器的使能端,低電平時行掃描不起作用,。
圖5 LED顯示板的驅(qū)動電路
3 系統(tǒng)軟件設(shè)計
整個系統(tǒng)的軟件包括2部分:上位機應(yīng)用軟件和嵌入制單元軟件,。上位機軟件編輯在LED顯示屏上顯示的數(shù)息,并實現(xiàn)與下位機的通信,;嵌入式控制單元軟件實現(xiàn)了接收和存儲,、數(shù)據(jù)輸出和圖像顯示方式變換,從而實現(xiàn)LED屏的控制,。
3.1上位機應(yīng)用軟件
上位機應(yīng)用軟件用Visual C++編寫,,主要實現(xiàn)顯示的編輯與通訊的功能。該軟件運行于WindowsXP環(huán)境中,,方便用戶使用,。完成的功能有:(1)對顯示信息進行編輯,、修改功能,,也可以直接調(diào)用Windows中的256色畫圖文件(*.bmp);(2)在上位機上對顯示的內(nèi)容進行預(yù)覽,,以保證有較好的顯示效果;(3)依照上位機與I2C接口模塊的協(xié)議,將信息傳輸給系統(tǒng)以I2C接口模塊,,從而實現(xiàn)顯示數(shù)據(jù)的更新,。
3.2嵌入式控制單元的軟件
嵌入式控制單元的軟件實現(xiàn)以下3大功能:數(shù)據(jù)接收和存儲、數(shù)據(jù)輸出和圖像顯示方式變換,。(1)依照顯示屏與上位機之間的通訊協(xié)議,與上位機進行通訊,,接收顯示數(shù)據(jù),,存入Flash存儲器。(2)將待顯示的數(shù)據(jù)從Flash存儲器中取出,,對數(shù)據(jù)進行處理,,實現(xiàn)上移、下移,、左移,、右移等豐富多彩的圖像顯示效果。(3)通過SPI接口將數(shù)據(jù)傳輸給掃描控制模塊,,F(xiàn)PGA通過串并轉(zhuǎn)換等將數(shù)據(jù)轉(zhuǎn)換成適合LED屏驅(qū)動電路格式的數(shù)據(jù),,然后傳到LED屏幕上顯示出來,仿真如圖6所示,。
圖6 軟件模擬顯示效果
4 結(jié)語
與傳統(tǒng)的基于單片機的LED屏控制系統(tǒng)相比較,該系統(tǒng)在不增加系統(tǒng)成本的情況下,,可支持256灰度級的全彩圖文信息的顯示,,可以播放全彩動畫;可存儲較大容量的數(shù)據(jù)(64MB),;通過I2C接口快速傳輸數(shù)據(jù),,為顯示區(qū)域較大、顯示內(nèi)容切換頻繁的大屏幕LED顯示控制系統(tǒng)提供良好的解決方案,。