單片F(xiàn)PGA的全彩 LED 顯示屏的工作原理
一、全彩 LED 顯示屏的工作原理
全彩 LED 顯示屏是由眾多微小的發(fā)光二極管(LED)組成的。LED 是一種半導體器件,當電流通過時,它會發(fā)出特定顏色的光。通過將紅、綠、藍三種基本顏色的 LED 組合在一起,可以產(chǎn)生各種不同的顏色。
在全彩 LED 顯示屏中,每個像素點都由一組紅、綠、藍 LED 組成。通過控制每個 LED 的亮度,可以混合出所需的顏色。例如,當紅色、綠色和藍色 LED 都以蕞大亮度發(fā)光時,會產(chǎn)生白色光;當紅色 LED 發(fā)光而綠色和藍色 LED 不發(fā)光時,會產(chǎn)生紅色光。
全彩 LED 顯示屏的控制系統(tǒng)負責接收圖像信號,并將其轉換為控制每個像素點的信號。這些信號通過數(shù)據(jù)線傳輸?shù)斤@示屏上的驅動電路,驅動電路再根據(jù)信號控制每個 LED 的亮度,從而在顯示屏上呈現(xiàn)出圖像。
二、全彩 LED 顯示屏的特點
1. 高亮度和高對比度
全彩 LED 顯示屏具有很高的亮度,可以在各種環(huán)境下清晰地顯示圖像。同時,由于 LED 的發(fā)光特性,顯示屏具有很高的對比度,能夠呈現(xiàn)出鮮明的色彩和清晰的圖像。
2. 色彩鮮艷豐富
通過精確控制紅、綠、藍三種顏色的比例,可以產(chǎn)生出幾乎無限種顏色。全彩 LED 顯示屏能夠呈現(xiàn)出非常鮮艷、逼真的色彩,給觀眾帶來強烈的視覺沖擊。
3. 視角寬廣
LED 具有較大的發(fā)光角度,使得全彩 LED 顯示屏在不同角度觀看時都能保持良好的顯示效果。無論是從正面、側面還是傾斜角度觀看,圖像都能清晰可見。
4. 響應速度快
LED 的響應速度非??欤梢栽谒查g點亮或熄滅。這使得全彩 LED 顯示屏能夠快速地切換圖像,顯示動態(tài)畫面時不會出現(xiàn)拖影現(xiàn)象。
5. 節(jié)能環(huán)保
LED 是一種高效節(jié)能的光源,相比傳統(tǒng)的顯示技術,全彩 LED 顯示屏具有更低的能耗。同時,LED 不含有汞等有害物質,對環(huán)境更加友好。
三、全彩 LED 顯示屏的應用領域
1. 商業(yè)廣告
全彩 LED 顯示屏是商業(yè)廣告的理想選擇。它可以在繁華的商業(yè)區(qū)、購物中心、車站等場所展示各種廣告內(nèi)容,吸引人們的注意力,提高品牌之名度。
2. 體育場館
在體育場館中,全彩 LED 顯示屏可以實時播放比賽畫面、比分、運動員信息等內(nèi)容,為觀眾提供更好的觀賽體驗。同時,它也可以用于舉辦大型文藝演出和活動。
3. 舞臺演出
全彩 LED 顯示屏在舞臺演出中扮演著重要的角色。它可以作為背景屏幕,營造出各種絢麗的場景,增強演出的視覺效果。同時,它也可以與燈光、音響等設備配合,創(chuàng)造出更加震撼的舞臺效果。
此類屏一般沒有多級灰度顯示能力,主要用于顯示文字和簡單的圖形信息,可以多屏聯(lián)網(wǎng)。這一方式必須需要一個帶CPU的控制器對信息進行處理。 [1]實時映射屏系統(tǒng)實時映射屏是一種同步顯示屏,基本功能是實現(xiàn)LED顯示屏實時映射計算機屏幕內(nèi)容,包括在多媒體卡的支持下顯示Video視頻圖像。把數(shù)據(jù)從主機顯卡的特征口或視霸卡上把顯卡處理好的要顯示數(shù)據(jù)取出來,然后對這些數(shù)據(jù)做一定的處理送到LED顯示屏。這種方式可以不用帶CPU的控制器,甚至只需要做出一塊硬件卡就可以實現(xiàn)。256級灰度LED顯示系統(tǒng)能使LED顯示屏完成與計算機同步顯示,并使之達到高性能顯示效果。256級灰度LED顯示控制由多媒體卡、視頻控制器、長線驅動,接收卡及顯示單元構成。視頻控制器從多媒體卡的標準顯示接口獲取數(shù)字化的顯示信號,將其轉換為顯示屏所需的信號格式,它還可以從計算機的標準接口獲得控制信號,用戶通過計算機軟件完成LED顯示屏的控制調節(jié),并使得顯示屏能適應不同規(guī)格多媒體卡,具有高度的兼容性。
引言
只要在現(xiàn)在的市場上走一圈就會發(fā)現(xiàn),大部分的中小規(guī)模 LED顯示系統(tǒng),采用的是傳統(tǒng)的單片機作為主控芯片。但是內(nèi)部資源較少、運行速度較慢的單片機,很難滿足LED大屏幕的顯示屏,因為系統(tǒng)要求數(shù)據(jù)傳輸量大,掃描速度要快。以FPGA作為控制器,一方面,F(xiàn)PGA采用軟件編程實現(xiàn)硬件功能,可以有效提高運行速度;另一方面,它的引腳資源豐富,可擴展性強。因此,用單片F(xiàn)PGA和簡單的外圍電路就可以實現(xiàn)大屏幕LED顯示屏的控制,具有集成度高、穩(wěn)定性好、設計靈活和效率高等優(yōu)點。
1 系統(tǒng)總體結構
LED大屏幕顯示系統(tǒng)由上位機(PC機)、單片機系統(tǒng)、FPGA控制器、LED顯示屏的行列驅動電路等模塊組成,如圖1所示。上位機負責漢字、字符等數(shù)據(jù)的采集與發(fā)送。單片機系統(tǒng)與上位機之間以異步串行通信工作方式,通過串行端口從上位機獲得已完成格式轉換的待顯示的圖形點陣數(shù)據(jù),并將其存入EEPROM存儲器。之后通過FPGA控制器,將存儲器的顯示數(shù)據(jù)還原到LED顯示屏。掃描控制電路采用可編程邏輯芯片Cyclone EP1C6,利用VHDL語言編程實現(xiàn),采用1/16掃描方式,刷新頻率在60 Hz以上。本文著重介紹256×1024的單色圖文顯示屏的FPGA控制模塊。

圖1 系統(tǒng)總體結構框圖
2 LED顯示屏基本工作原理
對大屏幕LED顯示屏來說,列顯示數(shù)據(jù)通常采用的是串行傳輸方式,行采用1/16的掃描方式。圖2為16×32點陣屏單元模塊的基本結構,列驅動電路采用4個74HC595級聯(lián)而成。在移位脈沖SRCLK的作用下,串行數(shù)據(jù)從74HC595的數(shù)據(jù)端口SER一位一位地輸入,當一行的所有32列數(shù)據(jù)傳送完后,輸出鎖存信號RCLK并選通行信號Y0,則第1行的各列數(shù)據(jù)就可按要求顯示。按同樣的方法顯示其余各行,當16行數(shù)據(jù)掃描一遍(即完成一個周期)后,再從第1行開始下一個周期的掃描。只要掃描的周期小于20 ms,顯示屏就不閃爍。

圖2 16×32點陣屏基本結構
256×1024大屏幕顯示屏由16×32個的16×32點陣屏級聯(lián)而成。為了縮短控制系統(tǒng)到屏體的信號傳輸時間,將顯示數(shù)據(jù)分為16個區(qū),每個區(qū)由16×1024點陣組成,每行數(shù)據(jù)為1024/8=128字節(jié),顯示屏的像素信號由LED顯示屏的右側向左側傳輸移位,把16個分區(qū)的數(shù)據(jù)存在同一塊存儲器。一屏的顯示數(shù)據(jù)為32 KB,要準確讀出16個分區(qū)的數(shù)據(jù),其存儲器的讀地址由16位組成,由于數(shù)據(jù)只有32 KB,因此最高可置為0。其余15位地址從高到低依次為:行地址(4位)、列地址(7位)、分區(qū)地址(4位)。4位分區(qū)地址的譯碼信號(Y0~Y15)作為鎖存器的鎖存脈沖,在16個讀地址發(fā)生周期內(nèi),依次將第1~16分區(qū)的第1字節(jié)數(shù)據(jù)鎖存到相應的鎖存器,然后在移位鎖存信號上升沿將該16字節(jié)數(shù)據(jù)同時鎖存入16個8位并轉串移位寄存器組中。在下一個16個讀地址發(fā)生時鐘周期,一方面,并轉串移位寄存器將8位數(shù)據(jù)移位串行輸出,移位時鐘為讀地址發(fā)生時鐘的二分頻;另一方面,依次將16個分區(qū)的第2字節(jié)數(shù)據(jù)讀出并鎖入相應的鎖存器,按照這種規(guī)律將所有分區(qū)的第一行數(shù)據(jù)依次全部讀出后,在數(shù)據(jù)有效脈沖信號的上升沿將所有串行移位數(shù)據(jù)輸出,驅動LED顯示。接下來,移位輸出第2行的數(shù)據(jù),在此期間第1行保持顯示;第2行全部移入后,驅動第2行顯示,同時移入第3行……按照這種各分區(qū)分行掃描的方式完成整個LED大屏幕的掃描顯示。
3 基于FPGA顯示屏控制器的設計
3.1 FPGA控制模塊總體方案
如圖3所示,F(xiàn)PGA控制模塊主要由單片機與FPGA接口及數(shù)據(jù)讀寫模塊、讀地址發(fā)生器、譯碼器、行地址發(fā)生器、數(shù)據(jù)鎖存器組、移位寄存器組、脈沖發(fā)生器等模塊組成。

圖3 FPGA控制模塊總體結構框圖
讀地址發(fā)生器主要產(chǎn)生讀地址信號,地址信號送往MCU接口及數(shù)據(jù)讀寫模塊,讀取外部SRAM1或SRAM2中已處理好的LED顯示屏數(shù)據(jù),并把數(shù)據(jù)按分區(qū)方式送到數(shù)據(jù)鎖存器組鎖存。鎖存器輸出16分區(qū)數(shù)據(jù),通過移位寄存器組實現(xiàn)并串轉換得到顯示屏所需要的串行數(shù)據(jù),并送往LED顯示屏列驅動電路。脈沖發(fā)生器為各模塊提供相應的同步時鐘,行地址發(fā)生器產(chǎn)生相應的行信號送往顯示屏的行驅動電路。
3.2 單片機與FPGA接口及數(shù)據(jù)讀寫模塊
單片機與FPGA接口及數(shù)據(jù)讀寫模塊結構如圖4所示。單片機從EEPROM中讀取數(shù)據(jù)并根據(jù)顯示要求進行處理后,通過接口及數(shù)據(jù)讀寫模塊把數(shù)據(jù)送往數(shù)據(jù)緩沖器SRAM1或SRAM2。為提高數(shù)據(jù)的傳輸速度,保證顯示效果的連續(xù)性,在系統(tǒng)中采用雙體切換技術來完成數(shù)據(jù)存儲過程。也就是說,采用雙SRAM存儲結構,兩套完全獨立的讀、寫地址線和數(shù)據(jù)線輪流切換進行讀寫。工作時,F(xiàn)PGA在一個特定的時間只從兩塊SRAM中的一塊讀取顯示的數(shù)據(jù)進行顯示,同時另外一塊SRAM與MCU進行數(shù)據(jù)交換。MCU會寫入新的數(shù)據(jù),依次交替工作,可實現(xiàn)左移、上移、雙屏等顯示模式。如果顯示的內(nèi)容不改變,即一塊SRAM里的數(shù)據(jù)不變時,MCU不需要給另外一塊SRAM寫數(shù)據(jù)。

圖4 單片機與FPGA接口及數(shù)據(jù)讀寫模塊結構框圖

圖5 數(shù)據(jù)讀寫狀態(tài)轉換圖
該模塊采用VHDL有限狀態(tài)機來實現(xiàn),整個控制分為4個狀態(tài),其狀態(tài)轉換圖如圖5所示。其工作過程如下:系統(tǒng)開機進入初始狀態(tài)ST0,單片機的寫入使能端E為低電平,單片機從EEPROM中讀取數(shù)據(jù)并把數(shù)據(jù)寫入到SRAM1,同時FPGA讀取SRAM2中的數(shù)據(jù);當單片機數(shù)據(jù)寫完一屏數(shù)據(jù)后E變?yōu)楦唠娖剑擣PGA從SRAM2中讀完數(shù)據(jù)、結束信號READ_END為低電平時,進入ST1狀態(tài)。
在ST1狀態(tài)下,若沒有新的數(shù)據(jù)寫入則E保持高電平,F(xiàn)PGA讀取SRAM1的數(shù)據(jù),為靜態(tài)顯示;只有當單片機的讀入控制信號E為低電平且READ_END為低電平時,進入ST2狀態(tài)。在ST2狀態(tài)下,單片機把數(shù)據(jù)寫入SRAM2,同時FPGA讀取SRAM1的數(shù)據(jù),單片機數(shù)據(jù)寫完后E變?yōu)楦唠娖剑擣PGA一屏數(shù)據(jù)讀完后READ_END為低電平,進入ST3狀態(tài)。在ST3狀態(tài)下,如果沒有新數(shù)據(jù)寫入E為高電平,F(xiàn)PGA讀取SRAM2中的數(shù)據(jù)。當單片機有新的數(shù)據(jù)寫入時E變?yōu)榈碗娖?,當FPGA一屏數(shù)據(jù)讀完后READ_END為低電平時,重新進入ST0狀態(tài)。通過這種周而復始的交替工作完成數(shù)據(jù)的寫入與讀取,其端口程序如下:
ENTITY WRITEREAD_SEL IS
PORT(
REST:IN STD_LOGIC;
CLK:IN STD_LOGIC;
E:IN STD_LOGIC; 單片機寫入標記
WR:IN STD_LOGIC;單片機寫控制信號
ADDR_WR:IN STD_LOGIC_VECTOR(15 DOWNTO 0);單片機寫地址信號
ADDR_RD:IN STD_LOGIC_VECTOR(15 DOWNTO 0);讀地址信號
DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);單片機寫入數(shù)據(jù)
READ_END:IN STD_LOGIC;讀一屏數(shù)據(jù)結束標記
D1,D2:BUFFER STD_LOGIC_VECTOR(7 DOWNTO 0);SRAM數(shù)據(jù)
AD1,AD2:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);SRAM地址
WR1,WR2:OUT STD_LOGIC;SRAM的寫控制信號
OE1,OE2:OUT STD_LOGIC; SRAM的讀控制信號
DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));輸出數(shù)據(jù)
END ENTITY WRITEREAD_SEL;
3.3 讀地址發(fā)生器
讀地址發(fā)生器主要產(chǎn)生外部緩存器SRAM1(SRAM2)的讀地址信號,使系統(tǒng)能正確地從存儲器中讀取相應的顯示數(shù)據(jù)。其地址最高位為0,其余地址分別為行地址(hang[30])、列地址(lie[60])、分區(qū)地址(qu[30])15位有效地址信號。在16個脈沖周期內(nèi)讀出在SRAM1(SRAM2)中的16字節(jié)數(shù)據(jù),其部分VHDL源程序如下:
ENTITY addressIS
PORT(
RDCLK:IN STD_LOGIC;讀地址時鐘信號
CLR,ADDR_EN:IN STD_LOGIC;清零及使能控制信號
READ_END:OUT STD_LOGIC;一屏數(shù)據(jù)讀完信號
ADDR_RD:OUT STD_LOGIC_VECTOR(15 DOWNTO 0)); 產(chǎn)生的讀地址信號
END ENTITY address;
3.4 譯碼器
譯碼器模塊主要是產(chǎn)生16路的分區(qū)信號(低電平有效)分別控制16個鎖存器,把16個分區(qū)的顯示數(shù)據(jù)分別鎖存在相應的鎖存器中。
3.5 數(shù)據(jù)鎖存器組及移位寄存器組模塊
數(shù)據(jù)鎖存器組模塊由16個8位鎖存器組成鎖存器組,鎖存16個分區(qū)的數(shù)據(jù)。移位寄存器組模塊由16個8位移位寄存器組成,把各路鎖存器中8位并行數(shù)據(jù)轉換成同時輸出的16路串行數(shù)據(jù),驅動LED顯示屏,實現(xiàn)數(shù)據(jù)的并串轉換。
其生成的元件符號如圖6所示。其中,DATA_IN[70]為每個分區(qū)的8位并行數(shù)據(jù)輸入,SCLK為移位時鐘,CLR為清零信號,LOAD為數(shù)據(jù)鎖存信號,CS[150]為16分區(qū)的輸入信號(接譯碼器的輸出),DATA_OUT[150]為16路的串行數(shù)據(jù)輸出。

圖6 并串轉換元件符號圖
3.6 脈沖發(fā)生器
系統(tǒng)采用1/16的掃描方式,把數(shù)據(jù)分為16分區(qū),16分區(qū)數(shù)據(jù)同時傳送。假設刷新的頻率為60 Hz(即周期為16.67 ms),每一行顯示的時間約為16.67 ms/16=1.04 ms。每行有1024位,則移位脈沖周期為1.04/1024=102 μs,即移位頻率為0.983 MHz以上才能滿足要求。由于移位脈沖是數(shù)據(jù)讀取模塊時鐘的2分頻,因此系統(tǒng)的時鐘至少1.97 MHz以上,本系統(tǒng)采用50 MHz時鐘源。其時序圖如圖7所示。

其中,RDCLK為FPGA讀取數(shù)據(jù)時鐘;SCLK是串行輸出的移位時鐘,是RDCLK的2分頻;LOAD是數(shù)據(jù)鎖存信號,每次讀完16個分區(qū)中的某個字節(jié)數(shù)據(jù)DATA后產(chǎn)生鎖存信號,數(shù)據(jù)鎖存在數(shù)據(jù)鎖存器組中,其時鐘是RDCLK的16分頻。
4 FPGA控制模塊的仿真測試
在QuartusII 5.1中建立一個工程,并建立原理圖文件,把單片機與FPGA接口及數(shù)據(jù)讀寫模塊、讀地址發(fā)生器、譯碼器、行地址發(fā)生器、數(shù)據(jù)鎖存器、移位寄存器、脈沖發(fā)生器等單元模塊所生的模塊元件符號連接起來,構成總控制模塊邏輯圖并對其功能仿真。仿真結果如圖8所示,從存儲器中讀取16字節(jié)數(shù)據(jù),經(jīng)并串轉換輸出16路的串行數(shù)據(jù)。從波形圖分析,功能正確,且各輸出端口信號均符合時序要求。

圖8 FPGA控制模塊仿真圖
實時映射屏是一種同步顯示屏,基本功能是實現(xiàn)LED顯示屏實時映射計算機屏幕內(nèi)容,包括在多媒體卡的支持下顯示Video視頻圖像。把數(shù)據(jù)從主機顯卡的特征口或視霸卡上把顯卡處理好的要顯示數(shù)據(jù)取出來,然后對這些數(shù)據(jù)做一定的處理送到LED顯示屏。這種方式可以不用帶CPU的控制器,甚至只需要做出一塊硬件卡就可以實現(xiàn)。256級灰度LED顯示系統(tǒng)能使LED顯示屏完成與計算機同步顯示,并使之達到高性能顯示效果。256級灰度LED顯示控制由多媒體卡、視頻控制器、長線驅動,接收卡及顯示單元構成。視頻控制器從多媒體卡的標準顯示接口獲取數(shù)字化的顯示信號,將其轉換為顯示屏所需的信號格式,它還可以從計算機的標準接口獲得控制信號,用戶通過計算機軟件完成LED顯示屏的控制調節(jié),并使得顯示屏能適應不同規(guī)格多媒體卡,具有高度的兼容性。
LED顯示屏控制系統(tǒng)(LED Display Control System),是按照用戶需求控制LED大屏幕正確顯示的系統(tǒng),按照聯(lián)網(wǎng)方式分為聯(lián)網(wǎng)版和單機版兩大類。聯(lián)網(wǎng)版又稱為LED信息發(fā)布控制系統(tǒng),可以通過云端系統(tǒng)控制各個LED終端。單機版又稱LED顯示屏控制器、LED顯示屏控制卡,它是組成LED顯示屏的核心部件、主要負責將外部的視頻輸入信號或者板載的多媒體文件轉換成LED大屏幕易于識別的數(shù)字信號,從而點亮LED大屏幕的設備,其類似于家用PC中的顯卡,區(qū)別在于PC中顯示器為CRT/LCD等,本系統(tǒng)中顯示器則為LED大屏幕。按照接入信號方式則可分為同步系統(tǒng)和異步系統(tǒng)。
通信顯示屏系統(tǒng)通信顯示屏是一種異步顯示屏,異步方式是指LED屏體本身就具有存儲及自動播放的能力,在PC機上編輯好的文字及無灰度圖片等顯示信息或者是漢字的區(qū)位碼、圖片號等和各種控制命令通過串口或其他網(wǎng)絡接口傳入LED屏控制器,調用預先存放在控制器的各種數(shù)據(jù)信息,按照要求把接收的指令處理成顯示屏需要的點陣數(shù)據(jù),發(fā)布到顯示屏上。