256 級灰度顯示 - 基于FPGA的OLED真彩色顯示設(shè)計
所謂圖像的灰度等級就是指圖像亮度深淺的層次,將基色的發(fā)光亮度按強度大小劃分,就是灰度級。
顯示屏能產(chǎn)生的灰度級越高,顯示的顏色和圖像層次就越多。而且人的視覺系統(tǒng)對亮度強弱的感受不僅與亮度本身的強弱相關(guān),還與發(fā)光時間和點亮面積有關(guān),在一定時間范圍內(nèi),點亮?xí)r問越長、面積越大,人眼感覺的發(fā)光強度就越強。因而利用人眼對快速的亮暗閃爍并不敏感的“暫留”效應(yīng),變換發(fā)光體的點亮?xí)r間和面積來區(qū)分亮度,就會形成一種不同灰度級畫面的視覺,一般灰度級越高,所顯示的顏色和圖像層次就越多,圖像越柔和,圖像層次越逼真。高灰度級以及有效的灰度調(diào)制方式對高清晰度顯示的發(fā)展極其重要,目前OLED 顯示驅(qū)動一個亟需解決的是灰度的精確性問題。
OLED 顯示屏是可以用傳統(tǒng)的模擬電壓控制法來實現(xiàn)灰度,問題在于: 亮度和數(shù)據(jù)電壓之間呈非線性關(guān)系,缺少一個漸變的易于控制的線性區(qū)間,因此,采用模擬電壓法調(diào)節(jié)發(fā)光強度,難以精確、有效地實現(xiàn)OLED 的灰度級顯示,現(xiàn)在總的趨勢是使用數(shù)字驅(qū)動電路。
圖2 分時顯示示意圖。
數(shù)字驅(qū)動電路的困難在于工作頻率比模擬驅(qū)動電路高得多,現(xiàn)階段較為實用的灰度調(diào)制方法主要有兩種。一種是脈寬調(diào)制法,即對驅(qū)動脈沖實現(xiàn)占空比的控制; 另一種方法是子場控制法,這種方法將發(fā)光時間按1∶ 2∶ 4∶ 8∶ …劃分為若干個子場,不同的子場導(dǎo)通組合,就能實現(xiàn)不同的灰度等級。但采用脈寬調(diào)制法,其時序復(fù)雜,要求顯示屏有較高響應(yīng)速度; 而采用子場法要求驅(qū)動頻率較高,對高灰度級的實現(xiàn)難度大。
考慮到幀頻與OLED 屏體顯示效率的折中,使驅(qū)動電路工作頻率在一個合理水平,在脈寬調(diào)制和子場原理的基礎(chǔ)上,對這兩種方法進行優(yōu)化,256 級灰度采用通過對圖像數(shù)據(jù)按位分時顯示的方法實現(xiàn),即對輸入的8 bit 像素信號RGB,通過給每種顏色字節(jié)的不同位分配不同的顯示時間達(dá)到灰度顯示的目的,使每位的顯示時間為128∶ 64∶ 32∶ 16∶ 8∶ 4∶ 2∶ 1,利用其組合可以得到256 級灰度顯示所對應(yīng)的子像素發(fā)光時間,實現(xiàn)視覺上的256 級灰度即1 667 萬色顯示,以實現(xiàn)高質(zhì)量的顯示畫面。
為實現(xiàn)256 級灰度,將一個像素點的掃描時間分成19 個單位時間t,8 bit 灰度數(shù)據(jù)q[7: 0]從高位到低位所占的時間分別為8t,4t,2 t,t,t,t,t,t.為使不同位顯示時間成一定比例,從q[3]開始引入t /2 的消影時間,q[2]引入t /4 的消影時間,d[1]引入t /8 的消影時間,d[0]引入t /16 的消影時間,如圖2 所示,由控制電路產(chǎn)生消隱信號進行消隱。由此計算OLED 屏亮度百分比λ = ( 8 + 4 + 2 + l + 1 /2 + 1 /4 + 1 /8 + 1 /16 ) /19 = 83. 9%.
1. 3 FPGA 控制器
利用FPGA 的處理速度和數(shù)據(jù)寬度高的優(yōu)勢以及芯片中可利用的豐富資源,為分辨率為480 × RGB ×640 的OLED 顯示屏設(shè)計了外圍驅(qū)動控制電路。其主要作用是向OLED 顯示屏提供掃描控制信號及進行OLED 顯示數(shù)據(jù)的數(shù)字信號處理。
根據(jù)OLED 顯示屏周邊接口的結(jié)構(gòu)和特性,利用FPGA 芯片為其設(shè)計外圍的驅(qū)動控制系統(tǒng),為OLED 屏提供控制信號以及傳輸所要顯示的數(shù)據(jù)信號。
如圖3 所示,經(jīng)解碼后的圖像數(shù)據(jù)存入FIFO( First In First Out) 緩存中,在主時鐘的控制下,F(xiàn)IFO中的圖像數(shù)據(jù)將被載入到一個16 × 8 的數(shù)據(jù)裝載寄存器,當(dāng)這16 個8 位數(shù)據(jù)裝載寄存器裝滿時,將被一個144 位的鎖存器鎖存,等待進入D/A 轉(zhuǎn)換模塊; 同時FPGA 控制器還將在主時鐘的控制下產(chǎn)生行列移位時鐘和行列掃描起始脈沖,產(chǎn)生的時鐘和脈沖進入DC -DC 轉(zhuǎn)換模塊。
圖3 FPGA 控制器結(jié)構(gòu)框圖。
1. 4 各種控制信號周期及頻率
為使FPGA 控制器能工作于一個合理的驅(qū)動頻率以及提高顯示屏的亮度,在結(jié)構(gòu)上采用標(biāo)準(zhǔn)單元塊的形式。對于分辨率480 × 3 × 640 的顯示屏,以8 × 16個顯示像素?zé)艄軜?gòu)成一個單元塊,將480 × 3 行分組組合成為90 個塊( Block) ,即每塊由一組列信號同時驅(qū)動16 行像素。設(shè)計列掃描驅(qū)動電路時,將640 列電極分組組合成為80 個塊( Block) ,每個塊并行驅(qū)動8 列像素。
OLED 顯示屏的刷新頻率是60 Hz /s,即顯示一幀圖像的時間為1 /60 s,設(shè)為T,所以,行掃描起始信號stx 的周期T 為16 667 μs,占空比為1∶ 90; 因為OLED顯示屏480 × 3 行電極分組組合成為90 個Block,所以每一塊的選通時間為T /90,即185. 185 μs.而cpx 和cpbx 是一對反相不交疊的脈沖信號,占空比為50%,在脈沖信號的高電平和低電平時,都有一個Block 行像素被選通,即在cpx 和cpbx 一個周期內(nèi)有兩個Block 行像素被選通,所以行掃描驅(qū)動脈沖cpx 和cpbx的周期為T /45,即370. 370 μs.
同理,OLED 顯示屏的列被分為80 個Block,每個列Block 的選通時間為2. 315 μs,列掃描起始信號sty的周期為185. 185 μs,占空比為1 ∶ 80.列驅(qū)動脈沖cpy 和cpby 亦是一對反相不交疊的脈沖信號,占空比為50%,在脈沖信號的高電平和低電平時,都有一個Block 被選通。由于每個列Block 的選通時間為2. 315 μs,所以列掃描驅(qū)動脈沖cpy 和cpby 的周期為4. 630 μs.
在每個列Block 選通期間,從FIFO 中并行讀出的8 個8 bit 數(shù)據(jù)進入數(shù)據(jù)鎖存器鎖存。在每個BLOCK選通期間都將進行一次數(shù)據(jù)的鎖存,所以數(shù)據(jù)鎖存信號Lock 的周期為2. 315 μs.因為當(dāng)16 個8 位的數(shù)據(jù)裝載寄存器都載滿數(shù)據(jù)的時候才進行這144 個數(shù)據(jù)的鎖存,所以16 位移位寄存器時鐘clk _reg 的周期為0. 145 μs.從FIFO 中讀出數(shù)據(jù)的速度必須和向數(shù)據(jù)裝載寄存器中裝載數(shù)據(jù)的速度一致,則FIFO 的讀時鐘clk _ fifo 的周期也為0. 145 μs.對0. 15 μs( 6. 896 MHz) 進行近似為7 MHz,所以令系統(tǒng)的基本時鐘為14 MHz,由FPGA 外部晶振產(chǎn)生。讀時鐘為基本時鐘的二分頻。
評論