摘要:介紹了一種以FPGA 可編程邏輯器件為設計平臺的、采用大屏幕全彩led 顯示屏進行全彩灰度圖像顯示的掃描控制器實現方案。經過對“19 場掃描”理論灰度實現原理的分析,針對采用該方法實現的全彩LED 顯示屏刷新頻率受串行移位時鐘限制的缺點,提出了一種新式的實現高階灰度顯示的逐位點亮控制方法,在進行FPGA 電路設計中采用單獨的計數器來控制屏幕的刷新頻率,使全彩LED 顯示屏的設計在L ED 的發光效率和刷新率之間的調整更加靈活。最后,根據大屏幕全彩LED 顯示屏的設計要求,結合本文討論的灰度控制方法,給出了FPGA 屏體掃描控制器的內部電路實現結構框架。
1 、引言
作為大型平板顯示設備的一種,LED 顯示屏以其使用壽命長、維護費用低、功耗低等特點在顯示領域占有重要的位置。特別在近年,帶有紅、綠、藍三基色以及灰度顯示效果的全彩LED 顯示屏,以其豐富多彩的顯示效果而倍受業界關注,成為LED 顯示屏市場近年增長幅度比較大的產品。壽命、單位面積亮度、三基色的偏差程度、點距、對比度、灰度等級(包括灰度級數和線性度) 、掃描頻率等指標性能是衡量或橫向比較大型顯示設備好壞的標準。而這些指標性能的優劣,很大程度上決定于掃描控制器的性能。因此對大屏幕全彩L ED 顯示掃描控制方法的研究有著重要的意義。
由于LED 的發光亮度與掃描周期內的發光時間近似成正比,所以灰度等級的實現通常是由控制LED 的發光時間與掃描周期的比值,即采用調節占空比來實現的。全彩LED 顯示屏一般采用逐位點亮的掃描方式實現灰度圖像顯示。對于顯示灰度級數為8 位的LED 顯示屏,一般采用“19場掃描”原理來實現256 級灰度顯示。L ED顯示屏的顯示數據更新一般采用串行輸出方式,如采用595 進行設計的靜態LED 全彩顯示屏,根據“19 場掃描”原理,對于分辨率等規格確定的屏體,當串行移位時鐘確定時,顯示屏的刷新頻率和LED 的發光效率(一個掃描周期內,LED的最長點亮時間所占的比例) 也就被確定。本文提出了一種新的逐位點亮掃描方式,該方式對典型的“19場掃描”方式進行了改進,可以在串行移位時鐘確定的條件下,在一定范圍內對刷新率和發光效率進行調節,從而提高了產品根據實際的應用環境和客戶要求進行設計的靈活性。
2 、逐位點亮的灰度實現算法設計
以8 位“19場掃描”理論為例,所謂逐位點亮,即從一個字節數據中依次從低位到高位或者從高位到低位提取出一位數據,分8 次點亮對應的像素,每一位對應的點亮時間與關斷時間的占空比不同。如果點亮時間從低位到高位依次倍增,則合成的點亮時間將會有256 種組合。定義D0 位對應的點亮時間加上關斷時間為一個時間單位,設為T ,可得表1 所示各位的點亮與關斷時間。
表1 “19場掃描”顯示時各位的點亮與關斷時間
在實際設計中, T也是對LED 顯示屏進行一次串行數據更新所需要的時間。表1 所示的總時間是T 的整數倍,所以每個數據位所占用的總時間可以通過刷新一次屏幕數據來進行定時。在進行LED顯示屏設計時,整個顯示屏中LED 的亮與滅可以通過總控線EN 控制,當點亮時間≥1 T時,EN 控制顯示屏處于常亮狀態,而當點亮時間《 1 T 時,可以通過控制EN 產生相應占空比的控制波形來實現相應位的亮度控制。可見,利用“19場掃描”原理,在串行移位時鐘和屏體具體規格確定的情況下,其刷新率也就被確定了,并且具有固定的發光效率η。
η =6 點亮時間6 總時間≈ 16 T19 T≈ 84 % (1)由灰度顯示的原理可以知道,能否實現灰度顯示,決定于各個數據位的點亮時間從低位到高位是否以2 的倍數遞增,而關斷時間的長短只會影響發光效率的大小。在進行系統設計時,使用了8~10 位的非線性灰度校正,因此需要實現10位灰度掃描控制。定義“t”為點亮時間的一個時間單位,則可得表2 所示的時間分配。如果定義數據為“1”有效(點亮) “, 0”無效(熄滅) ,當輸入數據從000H 到3FFH 變化時,點亮時間在0t~1 023t 變化,而亮度控制總時間則保持不變,從而實現了10 位占空比控制,采用這種灰度控制方法可以實現1 024 級的灰度顯示。與“19 場掃描”原理不同,本文控制點亮的時間不是通過屏幕刷新來實現,而是采用單獨的計數器來進行計時控制的。
表2 逐位點亮控制中各位數據點亮時間分配表
設使用串行方式更新整場視頻圖像一位數據所需要的時間為Ts ,如果Ts 滿足:
則完成一次串行數據更新所需要的時間在Dn - 1位所需要的點亮時間和Dn 位的點亮時間之間,這個時間也許小于一個時間t。由于串行數據更新時間和點亮時間可以部分重疊,設屏幕的刷新率(即顯示數據幀從顯示緩存讀出進行屏幕顯示更新的頻率) 為f r ,可以得到式(3) 。
當串行時鐘頻率和屏體參數確定, Ts 便可計算出來。此時,如果設定了屏幕的刷新率,結合式(2) 和式(3) ,對n 從0~9 進行窮舉計算,可以得到同時滿足兩式條件的n 值,同時可以確定單位時間t 的值。由此得到的t 值,通過FPGA 進行定時控制,便可實現一定刷新率的全彩灰度控制。
這里LED 的發光效率可以用式(4) 表示。
從式(3) 可知,當串行移位時鐘頻率一定,即Ts 確定的情況下,刷新率f r 與單位時間t 成反比。而式(4) 表明,發光效率η和單位時間t 成正比。可見,刷新率和發光效率成反比關系,提高刷新率的同時必然要犧牲發光效率。因此,采用上述掃描方式,設計者可以根據實際應用環境和客戶的要求在刷新率和發光效率兩者之間進行適當的調整。
如果要求系統的全彩灰度控制符合“19 場原理”的顯示效果,則由表2 可得表3 所示的關斷時間t0 ~t9 的值。結合表3 中t0 ~ t9 的值,對表2中總時間各項進行求和,便可得總時間為Ta =1 152t ,根據1 152t = 1/ f r 可得到t 值。
表3 逐位點亮控制中符合“19 場掃描”時各位數據關斷時間分配表在系統設計中,掃描板每個輸出端口分別控制16 ×48 分辨率的靜態顯示屏模塊,紅、綠、藍三色顯示數據采用3 根數據線分別輸出,串行移位時鐘頻率為6. 25 MHz ,顯示屏刷新頻率設計要求為120 Hz ,利用以上的結論可得:
Ts = 16×48×16125×106 s = 122188μs然后進行窮舉計算,如表4 所示,可以得到單位時間t 的值為7. 780μs。
表4 對n 進行窮舉計得到單位時間t 的值根據式(4) ,可計算得到發光效率η = 1023tf r = 1023 ×71780 ×10- 6 s ×120Hz = 9515 %
3、 FPGA 電路設計
視頻圖像信號頻率高、數據量大,要求實時處理,加之全彩大屏幕LED 控制器實現的數字邏輯相當復雜,采用CPLD/ FPGA 設計控制電路,可以簡化系統結構,便于調試。本文設計的掃描控制器應用于大屏幕全彩LED 脫機視頻播放系統中。其中涉及到視頻信號的存儲和讀取、視頻數據的傳輸和接收、灰度顯示控制電路、LED 點陣顯示驅動電路等。本文主要對灰度顯示控制電路進行討論,控制對象為以紅、綠、藍三色LED 組成的全彩靜態顯示屏。實現灰度顯示控制器的FPGA 內部電路結構如圖1 所示。
在LED 顯示屏掃描控制電路中,FPGA 是其中最主要的邏輯控制器件,主要實現視頻數據接收、非線性灰度校正和掃描信號產生功能。FP2GA 內部各個電路模塊相互協調運作,將數據輸入和顯示輸出連接起來,實現L ED 顯示屏的全彩視頻播放。
作為一個獨立的顯示系統,普通的RS232 、RS485 總線方式已不能滿足L ED 顯示屏進行多媒體視頻播放所要達到的高數據速率傳輸要求。以512 ×256 的全彩顯示屏為例,當要求系統換幀頻率達到30 Hz 時,需要的數據傳輸速率高達94. 4 Mbp s。因此,在系統設計中,視頻數據的傳輸和接收采用RTL8201 設計的100 M 以太網控制器來完成。
為了使視頻播放連續平滑,在數據接收過程中不能打斷顯示,這里采用兩組SRAM 進行“乒乓操作”,使顯示數據的接收存儲和讀取能夠同時進行, 從而實現視頻數據流的無縫緩沖和處理 , 如圖2 所示。換幀信號FRAME _SWITCH 是用來切換工作SRAM 組的,該信號決定兩組SRAM 哪一組處于讀狀態,哪一組處于寫入狀態。RTL8201 數據接收模塊建立MII 接口,實現與RTL8201 的接口,把MII 接口傳送過來的半字節數據轉換成為24 位RGB 數據,然后存儲在SRAM 里。RTL8201 每接收完一幀顯示數據,則對換幀信號FRAME_ SWITCH 進行求反,將兩組SRAM 的讀寫位置切換過來,使顯示屏顯示最新接收到的幀數據,從而實現換幀操作。
由于LED 顯示屏包含4 列相互獨立的顯示模塊,因此掃描控制電路需要提供4 路RGB 數據輸出接口, 在圖1 中表示為RGB0 ~ RGB3 。
CLOCK_OUT 為移位時鐘信號輸出端口,RGB0~RGB3 在該時鐘的上升沿有效,各個端口的紅、綠、藍三色顯示數據通過時鐘脈沖信號分別逐位移入驅動芯片的顯示緩存。LA TCH 信號為串行數據輸出結束后需要進行顯示刷新時的鎖存脈沖。EN 為灰度控制信號,當EN 有效時,L ED 可以隨輸入數據的0 、1 狀態熄滅或者點亮,其有效時間寬度對應為表2 所示的點亮時間。
EN 信號產生模塊為實現灰度圖像顯示的重要模塊,該模塊將輸入的位計數值轉換成為對應位的點亮時間,并進行相應時間長度的亮度控制。
在本設計中,輸入的灰度信號為256 級,考慮到反γ非線性校正過程引起的灰度損失,將輸出的灰度級別定義為1 024 級,因此需要得到10 位灰度數據各個位對應的點亮時間。依據“灰度實現原理”,10 位灰度數據各個數據位對應的點亮時間從D0 ~D9 分別從1 T 倍增為512 T ,點亮總時間為1 023 T 。
由于驅動板中驅動芯片有二級緩存功能,所以更新數據和點亮L ED 這兩個控制過程可以部分重疊,從而得到圖3 所示的LED顯示屏灰度控制流程。更新第0 位數據時點亮時間為512 T 、更新第1 位數據時點亮時間為1 T 。..依次類推,更新第n 位數據時,控制點亮的時間為上一次所更新的位所需要的點亮時間。
4、結論
討論了一種大屏幕全彩LED 顯示屏設計的掃描控制器設計方案,通過對“19 場掃描”實現方法的分析,針對其不足之處,提出了一種新式的逐位點亮灰度控制方法。該控制方法使得在全彩LED 顯示屏的設計中,可以在L ED 的發光效率和刷新率之間進行靈活的調整。本設計采用FP2GA 控制芯片為設計平臺來完成掃描控制電路的實現,借助EDA 開發工具,降低了驅動電路的設計難度,縮短了項目的開發周期。
評論
查看更多