|
|
在嵌入式設(shè)計(jì)中常常會使用LCD屏,現(xiàn)在常用的屏大部分都是高性能的。因?yàn)長CD屏的生產(chǎn)廠商很多,標(biāo)準(zhǔn)也不統(tǒng)一,LCD屏往往不能與LCD控制器無粘合連接,所以在使用LCD屏?xí)r,廠家還會推薦使用其專為LCD屏是設(shè)計(jì)的時(shí)序芯片,例如,Sharp的LCD LQ035Q7DB02配套的控制器為LZ9FC22;日本的LCD屏是16位色的,本身價(jià)格很高,控制器成本也非常高,性能卻不見得好,采用高性能的24位真彩色屏是比較理想的,但接口邏輯需要重新設(shè)計(jì)。
1 RGB565-RGB888的轉(zhuǎn)換
以友達(dá)光電AUO生產(chǎn)的A06QU01[1]為例,這是一種24位的TFT真彩屏,分辨率為320?240,每個(gè)象素由RGB888表示,其控制時(shí)序如圖1所示,LCD要求的時(shí)序由幀同步(VSYNC)、行同步(HSYSNC)、比特時(shí)鐘(DCLK)及數(shù)據(jù)(Data[0:7])構(gòu)成,幀同步和行同步指示每一幀和每一行的開始。A06QU01每幀240行,每行320個(gè)象素,每個(gè)像素由依次產(chǎn)生的8b紅、8b綠、8b藍(lán)(R1,G2,B3,R4,G5,B6…)構(gòu)成,所以稱為RGB888。
以PXA25x為代表的嵌入式處理器擁有一個(gè)LCD控制器,可以將這個(gè)控制器配置為最高16位的TFT LCD屏控制器,其控制時(shí)序如圖1所示,LCD要求的時(shí)序由幀同步(VSYNC)、行同步(HSYSNC)、點(diǎn)時(shí)鐘(PCLK)及數(shù)據(jù)(Data[0:15]構(gòu)成,幀同步和行同步指示每一幀和每一行的開始。對于A06QU01,每幀將有240行,每行有320個(gè)像素,每個(gè)像素由5b紅、6b綠、5b藍(lán)構(gòu)成16位數(shù)據(jù),稱為RGB565。
將RGB565轉(zhuǎn)換為RGB888要解決2個(gè)問題:
1)比特時(shí)鐘3倍頻。LCD控制器每一個(gè)像素用一個(gè)時(shí)鐘1次送出16b數(shù)據(jù),而LCD撩扛魷袼匭枰?個(gè)時(shí)鐘,每次獲得8b。這樣就需要產(chǎn)生1個(gè)3倍于點(diǎn)時(shí)鐘PCLK的時(shí)鐘。
2)16b到24b數(shù)據(jù)分解。在LCD控制器送出16b數(shù)據(jù)時(shí),需要緩存,并分解出RGB信號分別送出,5b紅、6b綠、5b藍(lán)構(gòu)成16位數(shù)據(jù)可以采用補(bǔ)0的方法,構(gòu)成8b紅、8b綠、8b藍(lán)。數(shù)據(jù)高位補(bǔ)0時(shí)色彩較柔和,低位補(bǔ)0時(shí)彩色較艷麗。
通常情況下,使用模擬鎖相環(huán)技術(shù)可以實(shí)現(xiàn)均勻倍頻,在這個(gè)設(shè)計(jì)中,3倍頻時(shí)鐘與RGB數(shù)據(jù)必須同步,否則會出現(xiàn)顏色錯(cuò)位;同時(shí)鎖相環(huán)還需要數(shù)據(jù)分解電路配合使用,這樣一個(gè)數(shù)字和模擬混合的電路會增加成本,因而特別設(shè)計(jì)使用了數(shù)字電路實(shí)現(xiàn)非均勻3倍頻。具體方案是:使用一個(gè)大于6小于7倍的LCD屏比特時(shí)鐘作為CPLD的主控制時(shí)鐘,LCD屏的時(shí)鐘頻率約為7M赫茲,所以選擇CPLD的主控制時(shí)鐘頻率為48M赫茲。如圖1所示,pclk為控制器輸出的點(diǎn)時(shí)鐘,pdata為RBG565數(shù)據(jù),pclkout和pdataout是送往LCD的信號,x7pclk為CPLD的定時(shí)時(shí)鐘,在pclk上升沿將pdata存入緩沖器pdatabuf,并將內(nèi)部狀態(tài)位datavalid置位,在x7pclk的上升沿,如果檢測到datavalid為高,則使pclkout為低,將緩沖器中的數(shù)據(jù)取出高5位紅色信號,補(bǔ)零后送到pdataout,并將datavalid置為低,在下一個(gè)x7pclk的上升沿將pclkout置高,8b數(shù)據(jù)送出到LCD屏。使用這種方法依次將綠色及藍(lán)色信號送出,在藍(lán)色信號送出后,保持pclkout為高,直到下一個(gè)datavalid為高,進(jìn)入下一次轉(zhuǎn)換,從圖1中可以看出,數(shù)字3倍頻信號pclkout不是均勻的,藍(lán)色數(shù)據(jù)時(shí)鐘的占空比不是50%。根據(jù)LCD屏數(shù)據(jù)手冊的要求,pclkout的占空比變化容許的范圍是40%-60%,因而只要調(diào)整好x7pclk的時(shí)鐘頻率,還是比較容易產(chǎn)生符合占空比要求的pclkout時(shí)鐘的,LCD屏正常工作還需要幀同步(VSYNC)和行同步(HSYSNC)信號,這些信號可以由軟件驅(qū)動(dòng)程序編程產(chǎn)生。
2 LCD背光及LCD偏置的電源產(chǎn)生器
LCD屏需要特殊的供電,用于背景照明和LCD偏置,現(xiàn)在使用的小尺寸LCD大多數(shù)使用LED作為背光,以及-10V的偏置電壓,本設(shè)計(jì)使用的LCD屏是2路各4個(gè)白光LED串聯(lián),每路需要的供電電壓約為10V,電流為20mA。LCD偏置電壓為-10V,電流為3-5mA。這些電源利用LCD控制器內(nèi)部的電源控制器實(shí)現(xiàn)。如圖2所示,由L1、V1構(gòu)成升壓型DC-DC轉(zhuǎn)換器,L1為高頻功率電感,V1為高頻小功率開關(guān)晶體管。C4和R1構(gòu)成的微分電路可以提高V1的導(dǎo)通和關(guān)閉速度,有利于提高電源效率,V1由脈沖寬度調(diào)制信號控制,在導(dǎo)通期間使用L1存儲能量,在關(guān)閉時(shí)電感向負(fù)載釋放能量,這樣V1的集電極上生成高壓脈沖信號,這個(gè)信號經(jīng)過D1、C3和C6整流濾波后得到用于LED供電正電壓,同樣經(jīng)過C2隔直流后再整流濾波得到用于LCD偏置的負(fù)電壓,注意,電容C7是正端接地的。LED電流限制使用圖3所示的電路,V3和V4為LED驅(qū)動(dòng)管,V2為電流采樣管,V2、V3、V4是3個(gè)型號相同的晶體管。這3個(gè)晶體管的基級相連,因而基極電壓相等。因?yàn)樾吞栂嗤曰鶚O到發(fā)射極電壓近似相等,于是,R3、R6、R7上的壓降近似相等,這樣R3、R4上的電流被轉(zhuǎn)換為R2上的反饋電壓。控制器根據(jù)反饋電壓自動(dòng)調(diào)整圖2中的PWM控制信號的占空比,從而改變輸出LED供電電壓,使反饋電壓穩(wěn)定在0.6V,通過LED的電流穩(wěn)定在22mA,LCD偏置電壓大約穩(wěn)定在-10V。
221450pmum942g263u398c.jpg (15.48 KB, 下載次數(shù): 60)
下載附件
2016-2-23 16:24 上傳
;
221454w2ujr8gg5jaeu5ua.jpg (11.82 KB, 下載次數(shù): 60)
下載附件
2016-2-23 16:24 上傳
3 數(shù)字倍頻及數(shù)據(jù)分解實(shí)現(xiàn)
RGB565-RGB888轉(zhuǎn)換器用XC9536實(shí)現(xiàn),如圖4所示,來自LCD控制器的信號為:16b數(shù)據(jù)L_DD0..15、同步信號L_FCLK及L_LCLK、點(diǎn)時(shí)鐘信號L_PCLK,輸出到LCD屏的信號為:8b數(shù)據(jù)信號LCD_D0..7、同步信號LCD_VSYNC及LCD_HSYNC、時(shí)鐘信號LCD_DCLK。X7CLK來自于48M赫茲的晶體振蕩器,使用Verilog HDL開發(fā)。如果連接無誤,則上電后加載帶有TFT屏驅(qū)動(dòng)的嵌入式Linux內(nèi)核,一般在LCD屏左上角能看到企鵝圖案,如果實(shí)際顯示的圖案位置和色彩不正確,則需要根據(jù)實(shí)際看到的圖像調(diào)整LCD控制寄存器中的時(shí)序設(shè)置,實(shí)現(xiàn)正確的顯示。
221458jpz87okszno67lkb.jpg (38.9 KB, 下載次數(shù): 54)
下載附件
2016-2-23 16:24 上傳
4 總結(jié)
由于接口標(biāo)準(zhǔn)不統(tǒng)一、將一個(gè)新型號的LCD屏接到嵌入式處理器比較困難,需要認(rèn)真分析LCD控制器及LCD屏的時(shí)序和驅(qū)動(dòng)方式,使用低價(jià)可編程邏輯電路,可以實(shí)現(xiàn)接口的時(shí)序轉(zhuǎn)換,LCD屏需要的背光電源及偏置電源可以按本文所述方法,利用LCD屏內(nèi)部集成的電源控制器實(shí)現(xiàn),也可以通過外接專用的LCD背光電源和LCD偏置實(shí)現(xiàn). |
|