《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > FPGA和MCU在大型LED顯示屏系統(tǒng)設計中的應用
FPGA和MCU在大型LED顯示屏系統(tǒng)設計中的應用
摘要: 傳統(tǒng)的大型LED顯示屏系統(tǒng)以單片機MCU、ARM 或PLD為核心控制芯片,,以FPGA為核心的LED顯示屏控制系統(tǒng)設計實現起來比較復雜,,并且需要以高性能的FPGA芯片作為基礎,而以微處理器為核心的LED顯示屏控制系統(tǒng)不夠靈活,,在改變LED屏幕顯示尺寸時,需要大幅修改系統(tǒng)設計,PLD雖在處理速度上有較大提高且能很好地控制多模塊顯示,,但其在時序電路描述方面明顯不如FPGA.提出了基于FPGA與單片機MCU的大型LED顯示屏系統(tǒng)設計方案,,該系統(tǒng)中FPGA為主控制單元,單片機為掃描控制單元,,該方案簡化電路,,提高系統(tǒng)的靈活性和可靠性。實踐仿真結果表明:系統(tǒng)顯示內容較多,,能較好地支持彩色顯示,,降低了功耗,實現了現場實時控制顯示,。
關鍵詞: FPGA MCU LED顯示屏
Abstract:
Key words :

  隨著平板顯示技術的不斷更新,,大型LED顯示系統(tǒng)利用發(fā)光二極管構成的點陣模塊或像素單元組成大面積顯示屏,主要顯示字符,、圖像等信息,,具有低功耗、低成本,、高亮度,、長壽命、寬視角等優(yōu)點,。近年來廣泛應用在證券交易所,、車站機場、體育場館,、道路交通,、廣告媒體等場所。

  通常用單一單片機作為主控器件控制和協(xié)調大屏幕顯示,。由多片單片機構成的多處理器系統(tǒng),,其中一片作為主CPU,其他作為子CPU共同控制大屏幕的顯示,,該系統(tǒng)可以減輕主CPU 的負擔,,提高了LED點陣的刷新頻率。但單片機的驅動頻率有限,,無法驅動等分辨率LED屏幕,,尤其是對于多灰度級彩色大屏幕,數據送到顯示屏之前要進行灰度調制重現圖像的色彩,,對數據的處理速度要求更高,,單片機控制在速度上無法滿足上述要求。因此該方案主要應用于實時性要求不高的場合,,主要進行一些文字,、圖片等靜態(tài)異步顯示的控制。視頻圖像信號頻率高、數據量大,,要求實時處理,,采用FPGA/CPLD設計控制電路,其中的同步控制,、主從控制,、讀寫控制和灰度調制等大量電路進行了集成,簡化系統(tǒng)結構,,便于調試且系統(tǒng)結構緊湊,,工作可靠。與單片機控制電路相比,,電路結構明顯簡潔,,電路的面積減小,可靠性增強,,調試也更為簡單,,由于FPGA/CPLD可以并行處理多個進程,比起單片機對任務的順序處理效率更高,,點陣的刷新頻率也隨之提高,。

  對實時性要求較高,、數據量較大的場合下,,可編程邏輯器件是首選的核心數據處理器。本系統(tǒng)考慮對于傳輸視頻數據大小和驅動LED大屏幕刷新頻率的要求,,LED發(fā)送卡,、接收卡均采用FPGA作為核心處理器,筆者選擇Xilinx公司基于90nm工藝制造的XC3S250E-FTG256,,內有25萬邏輯門,,最高頻率可以達到600MHz,完全可以滿足系統(tǒng)速度的要求在系統(tǒng)中作為掃描控制單元,,同時以MCU芯片為主控制單元,。采用該方案可以有效簡化顯示屏的電路結構,從而提高了整個控制系統(tǒng)的靈活性和可靠性,。

 

  1 系統(tǒng)的組成和工作原理

  該系統(tǒng)采用89C51單片機和SDRAM 組成控制中心,,由基于Xilinx公司的FPGA的90nm工藝制造的XC3S250E-FTG256和RAM 組成掃描控制模塊,以FLASH作為存儲器模塊,,采用以太網傳輸數據,,組成LED屏的控制系統(tǒng)。系統(tǒng)結構如圖1所示,。其工作原理為:主機通過TFTP協(xié)議將圖片傳輸給系統(tǒng)以太網接口模塊,,以太網接口模塊解析協(xié)議,接收圖片數據,然后將數據傳輸給MCU,,MCU 將接收到的數據寫入存儲模塊NAND Flash.在顯示時,,MCU讀取FLASH 中的數據,通過SPI接口將數據傳輸給FPGA掃描控制模塊,,經掃描控制模塊處理后傳輸到LED屏幕上顯示,。

  圖1 基于FPGA和MCU的LED顯示屏控制系統(tǒng)框圖

 

  2 硬件系統(tǒng)設計

 

  2.1存儲器電路設計

  本系統(tǒng)中需要用2片RAM 芯片作為緩存來存儲視頻數據,并以乒乓方式進行快速讀寫操作,。目前主要有動態(tài)存儲器(DRAM)和靜態(tài)存儲器(SRAM),,SRAM 的讀寫時間短,靜態(tài)功耗比較低,,總線利用率高,,它不需要刷新電路就能保存內部存儲的數據,但是它的集成度較低,,相同的容量占用體積大,,價格較高,主要用于性能要求較高的領域,。

  DRAM 只能將數據保持很短的時間,,它使用電容存儲,必須經常刷新電路來保存數據,,它的讀寫過程比較復雜,,時間較長,動態(tài)功耗較大,,總線利用率比較低,。不過DRAM 的存儲容量大,價格便宜,,被大量用在服務器和電腦中,。由于DRAM 讀寫過程比較復雜,本系統(tǒng)要求存儲器有快速的讀寫響應,,所以設計中選用SRAM 作為存儲器,。本系統(tǒng)所用的LED屏大小為512×64,每個像素數據(RGB)占用24bit,,則一場畫面的數據量為512×64×24=768kbits.本設計選用ISSI公司的IS61LV25616芯片來存儲視頻數據,。SAA7111輸出16bit視頻信號,16位數據線正好方便存儲數據,。它的容量為256×1 024×16bit,,足夠存儲一場視頻數據,并有留有充足的容量供系統(tǒng)以后的升級,。SRAM 的電路設計如圖2所示,。

 

  圖2 SRAM 電路

  圖2 SRAM 電路

 

  2.2 FPGA的硬件設計

  FPGA的硬件設計如圖3所示,。FPGA 需要提供大量的I/O引腳和高速的顯示控制信號,所選用的基于Xilinx公司的FPGA 的90nm 工藝制造的XC3S250E-FTG256可以滿足設計的要求,。

 

  圖3 FPGA的硬件結構

  圖3 FPGA的硬件結構

 

  2.3驅動電路

  FPGA采用的電壓是3.3V,,而LED屏體顯示電路的電壓是5V的TTL邏輯電平,因此需要進行電平轉換的電路,。這個電路由74HC245構成,,工作電壓為5V,74HC245采用CMOS工藝,,是一種三態(tài)輸出,、8組總線收發(fā)器,其輸入電平兼容3.3V系統(tǒng),,使用外接的5V電源將輸出電平提升到5V,,同時為各種控制和數據信號提供驅動能力。74HC245的電路如圖4所示,。其中:OE為輸出控制引腳,,低電平為有效;DIR引腳用于控制轉換方向,,接高電平時表示從A向B轉換,,A0~A7用于輸入數據信號,B0~B7用于輸出轉換后的數據信號,。

 

  圖4 74HC245驅動電路

  圖4 74HC245驅動電路

 

  2.4顯示板的驅動電路

  LED顯示板的面積很大,,它的正面由LED 顯示塊級聯而成,背面是驅動電路,。由于LED的驅動電流相對較大,,驅動電路應盡量和LED點陣模塊靠近,。因此行列驅動器一般都安裝在屏體的背面,。LED顯示板的驅動電路中采用了74HC595芯片,是硅結構的CMOS器件,,兼容低電壓TTL電路,,具有8位串入并出的移位、并行鎖存和三態(tài)輸出功能,。移位寄存器和鎖存器使用獨立的時鐘,,數據SDATA 在SCLK的上升沿輸入移位寄存器,在LT的上升沿進入的鎖存器中去,。當使能信號OE為低電平時,,鎖存器的數據輸出到LED.74HC595芯片可以解決數據顯示和數據串行傳輸在時間上的沖突問題,在顯示1行各列數據的同時,,可以準備下1列的LED數據,。以1/16行掃描為例,,LED顯示板的驅動電路如圖5所示。

  CLK是移位寄存器時鐘,,每個脈沖將引起1位數據移入74HC595中,,當1行的數據全部移完后,鎖存信號LT控制數據從74HC595的寄存器移入鎖存器,。A,、B、C,、D是行掃描信號,,其中A是最低位,通過4/16譯碼器控制LED屏的行掃描,。OE是消影信號,,它可以選擇控制行信號或列信號,用于LED點陣是否能被點亮和控制整屏的亮度,。如果OE控制列信號,,它接74HC595芯片的OE端,因為只有當OE為低電平時74HC595的輸出才有效,,否則輸出三態(tài),。如果OE控制行信號,它接到4/16譯碼器的使能端,,低電平時行掃描不起作用,。

 

  圖5 LED顯示板的驅動電路

  圖5 LED顯示板的驅動電路

 

  3 系統(tǒng)軟件設計

 

  整個系統(tǒng)的軟件包括2部分:上位機應用軟件和嵌入制單元軟件。上位機軟件編輯在LED顯示屏上顯示的數息,,并實現與下位機的通信,;嵌入式控制單元軟件實現了接收和存儲、數據輸出和圖像顯示方式變換,,從而實現LED屏的控制,。

  3.1上位機應用軟件

  上位機應用軟件用Visual C++編寫,主要實現顯示的編輯與通訊的功能,。該軟件運行于WindowsXP環(huán)境中,,方便用戶使用。完成的功能有:(1)對顯示信息進行編輯,、修改功能,,也可以直接調用Windows中的256色畫圖文件(*.bmp);(2)在上位機上對顯示的內容進行預覽,,以保證有較好的顯示效果,;(3)依照上位機與I2C接口模塊的協(xié)議,將信息傳輸給系統(tǒng)以I2C接口模塊,,從而實現顯示數據的更新,。

  3.2嵌入式控制單元的軟件

  嵌入式控制單元的軟件實現以下3大功能:數據接收和存儲,、數據輸出和圖像顯示方式變換。(1)依照顯示屏與上位機之間的通訊協(xié)議,,與上位機進行通訊,,接收顯示數據,存入Flash存儲器,。(2)將待顯示的數據從Flash存儲器中取出,,對數據進行處理,實現上移,、下移,、左移、右移等豐富多彩的圖像顯示效果,。(3)通過SPI接口將數據傳輸給掃描控制模塊,,FPGA通過串并轉換等將數據轉換成適合LED屏驅動電路格式的數據,然后傳到LED屏幕上顯示出來,,仿真如圖6,,7所示。

 

  圖6 軟件模擬顯示效果

  圖6 軟件模擬顯示效果

 

  圖7 LED顯示屏實際顯示效果

  圖7 LED顯示屏實際顯示效果

 

  4 結語

  與傳統(tǒng)的基于單片機的LED屏控制系統(tǒng)相比較,,該系統(tǒng)在不增加系統(tǒng)成本的情況下,,可支持256灰度級的全彩圖文信息的顯示,可以播放全彩動畫,;可存儲較大容量的數據(64MB),;通過I2C接口快速傳輸數據,為顯示區(qū)域較大,、顯示內容切換頻繁的大屏幕LED顯示控制系統(tǒng)提供良好的解決方案,。

此內容為AET網站原創(chuàng),未經授權禁止轉載,。