蔡 俊 ,冉 峰 ,陳章進(jìn)
(1.安徽理工大學(xué) 電氣與信息工程系,安徽 淮南 232001;2.上海大學(xué) 微電子研究與開發(fā)中心,上海 200072)
有機(jī)發(fā)光二極管(OLED)顯示器自1987年被首次報(bào)道以來,因其具有薄而輕、高對(duì)比度、快速響應(yīng)、寬視角、高亮度、全彩色、堅(jiān)固等優(yōu)點(diǎn),在光電子技術(shù)的重要領(lǐng)域,受到了顯示產(chǎn)業(yè)界的重視,也是近幾年來新材料及顯示技術(shù)領(lǐng)域研究開發(fā)的一大熱點(diǎn)。作為新一代顯示器件,OLED在手機(jī)、個(gè)人電子助理、數(shù)碼相機(jī)、車載顯示、筆記本電腦、壁掛電視以及軍事領(lǐng)域都具有廣闊的應(yīng)用前景[1-4]。
OLED器件根據(jù)其驅(qū)動(dòng)方式的不同分為無源驅(qū)動(dòng)(PM-OLED)和有源驅(qū)動(dòng)(AM-OLED)兩種。PM-OLED 器件已經(jīng)進(jìn)入實(shí)用化階段。AM-OLED顯示屏在每個(gè)像素的襯底上集成了多個(gè)薄膜晶體管(TFT),所以也叫TFTOLED[5-7]。
針對(duì)小尺寸OLED屏中的視頻應(yīng)用,筆者介紹了一種視頻顯示系統(tǒng)的設(shè)計(jì)。系統(tǒng)基于現(xiàn)場(chǎng)可編程邏輯器件(FPGA),使用硬件描述語(yǔ)言設(shè)計(jì)了顯示控制電路。它從DVI接口獲取動(dòng)態(tài)視頻圖像,經(jīng)過圖像尺寸的變換,輸出驅(qū)動(dòng)OLED顯示模塊完成視頻顯示。在設(shè)計(jì)中,采用了列縮放與行縮放分開處理的結(jié)構(gòu),使用雙口RAM作為兩次縮放間的數(shù)據(jù)緩沖區(qū),占用較少的硬件資源[4-5]。
所設(shè)計(jì)的小尺寸OLED屏的視頻顯示系統(tǒng)結(jié)構(gòu)如圖1所示,由以下模塊構(gòu)成:DVI信號(hào)解碼模塊,OLED驅(qū)動(dòng)顯示模塊,F(xiàn)PGA視頻處理模塊和數(shù)據(jù)存儲(chǔ)模塊。其中數(shù)據(jù)接收模塊由DVI接口、SiI1161 DVI數(shù)據(jù)接收芯片、E2PROM和MCU組成,主要完成圖像縮放前的準(zhǔn)備工作。系統(tǒng)的視頻輸入信號(hào)經(jīng)過DVI接收器芯片SiI1161的解碼,將其轉(zhuǎn)換成三通道24位RGB數(shù)字視頻信號(hào)和行、場(chǎng)同步信號(hào)。
DVI接口輸入的圖像分辨力為640×480,幀速為60 f/s(幀/秒),其時(shí)鐘頻率為25.175 MHz。為了在小尺寸OLED屏上顯示完整的內(nèi)容,必須把640×480的圖像轉(zhuǎn)換為OLED所需的160×128像素點(diǎn)的圖像。在設(shè)計(jì)中,使用二次縮放的結(jié)構(gòu)對(duì)輸入視頻圖像的行列信息分別進(jìn)行顯示尺寸的變換。
顯示系統(tǒng)的核心控制部分由FPGA及SRAM構(gòu)成,完成圖像數(shù)據(jù)的接收,并且對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)存儲(chǔ)、縮小、格式轉(zhuǎn)換等處理。系統(tǒng)采用了低成本、高集成度的Cyclone系列現(xiàn)場(chǎng)可編程邏輯器件,完成視頻數(shù)據(jù)處理的多種任務(wù),提高了系統(tǒng)的集成度和靈活性。
本設(shè)計(jì)選用二次縮放的結(jié)構(gòu)進(jìn)行縮放內(nèi)核的設(shè)計(jì)(見圖2),即“輸入緩沖-列預(yù)縮放-預(yù)緩存-行縮放”的結(jié)構(gòu)。列預(yù)縮放模塊對(duì)輸入的像素?cái)?shù)據(jù)做水平方向的縮放。輸入圖像信號(hào)經(jīng)過該模塊后,垂直有效區(qū)域不變,水平有效區(qū)域變?yōu)樗箫@示的寬度。
列縮放模塊從先入先出緩存器(FIFO)模塊中串行接收24位RGB信號(hào),并將其存放于計(jì)算緩沖區(qū)中;列預(yù)縮放模塊調(diào)用計(jì)算公式和縮放參數(shù)對(duì)圖像信號(hào)進(jìn)行縮放,并將結(jié)果寫入預(yù)緩存模塊;預(yù)緩存模塊通過串并轉(zhuǎn)換將串行RGB信號(hào)轉(zhuǎn)換成為并行的RGB信號(hào),輸出送到行縮放模塊。行縮放模塊對(duì)輸入的圖像數(shù)據(jù)做垂直方向的縮放。圖像經(jīng)過該模塊后,水平有效區(qū)域不變,垂直有效區(qū)域變?yōu)樾枰@示的高度。行縮放的結(jié)果被送入顯示輸出控制模塊。
緩沖存儲(chǔ)器用來存儲(chǔ)縮放前后的圖像數(shù)據(jù)信息,在設(shè)計(jì)中使用了一個(gè)異步FIFO和兩個(gè)雙端口RAM作為緩沖存儲(chǔ)。其中,異步FIFO作為圖像信息輸入緩沖模塊,兩個(gè)RAM分別用于列預(yù)縮放緩沖模塊和輸出緩沖模塊。
輸入FIFO緩沖模塊接收來自DVI接收模塊的圖像數(shù)據(jù)信號(hào)。電路工作時(shí),一方面將RGB信號(hào)與行列位置等信息寫入FIFO,另一方面則預(yù)先讀出FIFO中早先存儲(chǔ)的數(shù)據(jù),送到圖像縮放模塊進(jìn)行處理。
由于FIFO緩沖模塊的讀寫時(shí)鐘不同,因此設(shè)計(jì)了一個(gè)異步雙口FIFO作為數(shù)據(jù)緩沖器,它的寬度為52 bit,深度為512 word(字)。為了保證異步FIFO不出現(xiàn)上溢或下溢現(xiàn)象,必須控制圖像縮放模塊讀取有效像素的速度。因此,在本設(shè)計(jì)中設(shè)置了一個(gè)FIFO讀命令rdreqEna,當(dāng)列預(yù)縮放模塊處于列循環(huán)階段時(shí),rdreqEna置1,若FIFO不為空,此時(shí)列預(yù)縮放模塊從FIFO中讀取圖像數(shù)據(jù)信號(hào)。
異步雙口FIFO緩沖模塊由Verilog硬件描述語(yǔ)言設(shè)計(jì)實(shí)現(xiàn),當(dāng)數(shù)據(jù)有效信號(hào)為有效時(shí),列預(yù)縮放模塊才會(huì)讀取FIFO中的數(shù)據(jù),scaler縮放計(jì)算所使用的數(shù)據(jù)為一幀視頻圖像信號(hào)中的有效像素?cái)?shù)據(jù)。
列預(yù)縮放模塊的輸出是一行行水平方向上的有效像素?cái)?shù)據(jù),而根據(jù)縮放比例的不同,時(shí)域上行與行間可能存在間斷。而垂直縮放需要相鄰行中同列的數(shù)據(jù)作為輸入來進(jìn)行插值運(yùn)算。為了進(jìn)行垂直方向上的縮放運(yùn)算,列預(yù)縮放模塊的輸出必須進(jìn)行暫存。預(yù)緩沖存儲(chǔ)器就是用來緩存列預(yù)縮放模塊的輸出,供行縮放模塊進(jìn)行垂直方向上的縮放處理。圖3為預(yù)緩存模塊的仿真波形。
各種插值算法中,最近鄰域法鋸齒現(xiàn)象嚴(yán)重,Bezier曲線更適合于外形輪廓設(shè)計(jì),樣條曲線、分形算法和雙三次插值效果很好,但是計(jì)算量都很大,速度難以滿足實(shí)時(shí)視頻要求,硬件電路規(guī)模過大。因此作為數(shù)據(jù)前道可行性實(shí)驗(yàn)實(shí)現(xiàn)方案而言,采用雙線性插值法,對(duì)于縮放比例較小(縮小0.5倍以上或放大3.0倍以下)的情況是完全可以接受的。
用寄存器傳輸級(jí)(RTL)結(jié)構(gòu)實(shí)現(xiàn)雙線性插值算法時(shí),可采用兩種方法,即像素移交(向前映射)法和像素填充(逆向映射)法,如圖4所示。
像素移交是將輸入圖像的像素灰度值逐個(gè)轉(zhuǎn)移到輸出圖像中,但是輸出像素坐標(biāo)不是整數(shù),并且縮小變換時(shí),輸出像素將由4個(gè)以上輸入像素決定,放大變換會(huì)漏掉部分輸出像素。因此,對(duì)于雙線性插值算法,考慮使用像素填充法,逐像素、逐行地輸出圖像,每個(gè)像素值最多由4個(gè)輸入像素值決定。實(shí)際處理時(shí),先進(jìn)行垂直線性插值,將結(jié)果存入FIFO,然后再進(jìn)行水平線性插值。
尺度變換包括4個(gè)功能子模塊,分別為尺度預(yù)處理變換、FIFO、垂直尺度變換和水平尺度變換。尺度預(yù)處理根據(jù)像素填充法,計(jì)算出輸出像素點(diǎn)所對(duì)應(yīng)的坐標(biāo),坐標(biāo)的整數(shù)部分就是視頻數(shù)據(jù)的像素點(diǎn),坐標(biāo)的小數(shù)部分就是要進(jìn)行插值計(jì)算的點(diǎn)。先將整數(shù)部分的點(diǎn)存入列FIFO,然后將小數(shù)部分進(jìn)行垂直尺度變換,將所得的整列結(jié)果存入行FIFO。每當(dāng)存儲(chǔ)完兩行,則進(jìn)行水平尺度變換,得到的數(shù)據(jù)即為視頻輸出。圖5為尺度變換模塊的一種實(shí)現(xiàn)框圖。圖6是尺度變換模塊的仿真波形圖。
本設(shè)計(jì)采用型號(hào)為DD-160128FC-2A的160×128點(diǎn)陣彩色PM-OLED顯示模塊,由2.8 V和14 V兩組電源供電。該模塊使用單片OLED顯示驅(qū)動(dòng)控制器SEPS525F0A,完成行驅(qū)動(dòng)、列驅(qū)動(dòng)和顯示控制功能。驅(qū)動(dòng)控制器內(nèi)嵌160×128×18 bit的動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DDRAM),幀速在75~150 f/s內(nèi)可調(diào),能夠顯示262k色,具有微處理器接口、RGB接口和豐富的軟件功能。值得注意的是,當(dāng)使用RGB模式時(shí),D[17:12],ENABLE,DOTCLK,HSYNC和VSYNC引腳需要按照6 bit RGB接口指令來操作。否則,后4個(gè)引腳要送低電平,同時(shí)VSYNCO引腳要懸空[4]。
本系統(tǒng)主控芯片采用了低成本、高集成度的Cyclone系列現(xiàn)場(chǎng)可編程邏輯器件,使用Verilog硬件描述語(yǔ)言由頂向下設(shè)計(jì),可移植性好,通用性好。在Quartus-II軟件中,對(duì)所設(shè)計(jì)的160×128點(diǎn)陣OLED屏的控制電路進(jìn)行了仿真。試驗(yàn)結(jié)果表明,基于FPGA設(shè)計(jì)的視頻驅(qū)動(dòng)器,能夠獲得理想的控制信號(hào)時(shí)序,實(shí)現(xiàn)對(duì)OLED屏的顯示控制。
[1]趙東,耿衛(wèi)東,吳春亞,等.用FPGA實(shí)現(xiàn)OLED灰度級(jí)顯示[J].光電子·激光,2002,13(6):554-558.
[2]李雄杰.OLED電視產(chǎn)業(yè)化的技術(shù)問題探討[J].電視技術(shù),2007,31(12):40-42.
[3]MINUG,INH J, KWONOK.A real time video dataadjustingmethod for activematrix organic light emitting diode displayswith high image quality[J].IEEE Transactions on Consumer Electronics,2009,55(4):2372-2376.
[4]STEWARTM,HOWELLRS,PIRESL,etal.Polysilicon TFT technology for active matrix OLED displays[J].IEEE Transactions on Electron Devices,2001,48(5):845-851.
[5]Silicon Image,Inc.SiI1161 panelLink receiver data sheet[EB/OL].[2010-06-10].http://www.siliconimage.com/docs/SiI-DS-0096.pdf.
[6]KIM C,SEONG SM,LEE J A,et al.Winscale: an image scaling algorithm using an area pixelmodel[J].IEEE Transaction on Circuits and Systems for Video Technology,2003,13(6):549-553.
[7]李震梅,董傳岱.無源有機(jī)電致發(fā)光顯示驅(qū)動(dòng)電路的研究[J].電視技術(shù),2005,29(2):39-43.