嵌入式系統(tǒng)實(shí)踐實(shí)驗(yàn)8顯示器_第1頁
嵌入式系統(tǒng)實(shí)踐實(shí)驗(yàn)8顯示器_第2頁
嵌入式系統(tǒng)實(shí)踐實(shí)驗(yàn)8顯示器_第3頁
嵌入式系統(tǒng)實(shí)踐實(shí)驗(yàn)8顯示器_第4頁
嵌入式系統(tǒng)實(shí)踐實(shí)驗(yàn)8顯示器_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、LCD控制器緩存?zhèn)魉偷絃CD驅(qū)動器將圖像數(shù)據(jù)從位于系統(tǒng)內(nèi)存的集成在44B0 x中LCD驅(qū)動器和LCD屏在這里 是一個整體,被封裝在一起。20112LCD控制器系統(tǒng)內(nèi)存LCD驅(qū)動器液晶顯示屏(LCD)S3C44B0X的LCD控制器特點(diǎn)支持彩色/灰度/單色液晶屏支持3種LCD驅(qū)動類型: 4位單掃描、4支持多種虛擬顯示掃描、8位單掃描將系統(tǒng)內(nèi)存用作顯存DMA:直取系統(tǒng)內(nèi)存中的數(shù)據(jù)支持多種屏幕規(guī)格:640 x480,320 x240,160 x160支持單色/4級灰度/16級灰度級支持256色彩色STN液晶屏支持省電模式20113液晶顯示屏的像素只有亮/滅兩種狀態(tài)1像素1一個液晶就是一個象素。原理同數(shù)

2、碼管。一個像素有三個像點(diǎn),每個像點(diǎn)只有亮/滅兩種狀態(tài)1像素2每個象素由紅、綠、藍(lán)三個液晶共同。為了區(qū)別,稱它為“像點(diǎn)”這里,不考慮液晶顯示屏的發(fā)光原理,權(quán)把每個像點(diǎn)看成是具有開關(guān)的小燈即可201141像點(diǎn)彩色液晶不過這樣一來,似乎只能顯示8種顏色了。 Puzzled!單色液晶液晶屏像素(點(diǎn))的顯示按行顯示,從左到右,從上到下,逐個像素顯示(行掃描)1 2 3 4 5 6 7 8 9 20115彩色液晶12345678單色液晶掃描方式為每個象素都配備一個物理的寄存器是不現(xiàn)實(shí)的,實(shí)際上只配備一行的寄存器VD7:0,這些寄存器輪流連接到每一行象素并裝入該行內(nèi)容,將所有象素行都驅(qū)動一遍就顯示一個完整的

3、畫面(Frame).4位單掃描(VD3:0)4掃描(VD3:0,VD7:4)8位單掃描(VD7:0)并行數(shù)據(jù)線包括LCD像素輸出端口:VD7:020116掃描方式:4位單掃描利用4位并行數(shù)據(jù)線將數(shù)據(jù)送到顯示屏1個像點(diǎn)VD3:01像素行20117VD3VD2VD1VD0VD3VD2VD1VD0VD3VD2VD1VD0VD3:0VD3:0VD3:0掃描方式:4掃描利用8位并行數(shù)據(jù)線將半屏的VD3:0數(shù)據(jù)送到顯示屏,但這8位是分上半屏和下VD20118VD3VD2VD1VD0VD3VD2VD1VD0VD3VD2VD1VD07:4VD7VD6VD5VD4VD7VD6VD5VD4VD7VD6VD5VD4

4、掃描方式:8位單掃描利用8位并行數(shù)據(jù)線將數(shù)據(jù)送到顯示屏VD7:020119VD7VD6VD5VD4VD3VD2VD1VD0VD7VD6VD5VD4VD7:0LCD控制器邏輯結(jié)構(gòu)圖18個可編程寄存器,用于配置 LCD控制器: LCDCON1,LCDCON2,LCDCON3,LCD SADDR1,LCDSADDR2,LCDSADDR3,R EDLUT,GREENLUT,BLUELUT,DP1_2, DP4_7,DP3_5,DP2_3,DP5_7,DP3_4,D P4_5,DP6_7,DITHMODE產(chǎn)生 VFRAME、 VLINE、 VCLK、VM等信號從DMA接收數(shù)據(jù),并作相應(yīng)轉(zhuǎn)化后輸出給 LC

5、D驅(qū)動。DMA,可以自動將顯示數(shù)據(jù)從幀內(nèi)存 中傳送到LCD驅(qū)動器 中??蓪?shí)現(xiàn)不需CPU介入情況下顯示數(shù)據(jù)。201110外部接口信號VFRAME: 幀同步信號。VLINE: 水平同步脈沖信號。VCLK:像素時鐘信號。VM: 交流信號。VD: 像素?cái)?shù)據(jù)輸出端口。201111VFRAME時序圖該信號告知LCD屏開始顯示新一幀,LCD控制器在一個完整幀顯示后發(fā)出VFRAME信號,開始新一幀的顯示。VFRAME在每一幀開始的第1行掃描周期內(nèi),處于;其余周期處于低電平。 一個幀周期包括多個行掃描周期,數(shù)量還跟掃描方式有關(guān)(單掃描/雙掃描)VMSTN液晶屏需要在電極翻轉(zhuǎn)過程中才能顯示201112VFRAME

6、時序圖STN液晶屏需要在電極翻轉(zhuǎn)過程中才能顯示 因此需要設(shè)置VM翻轉(zhuǎn)頻率MMODE用于確定VM的改變速度and MVAL=2201113MMODE=1時,VM翻轉(zhuǎn)頻率為VLINE Rate/(2*MVAL)MMODE=0時,VM翻轉(zhuǎn)頻率同VFRAMEVLINE、VCLK和VD時序圖1個行掃描周期包括: WLH:行起始時的 WDLY:WLH后的低電平VCLK周期:VD端口1次輸出周期(4位單掃描時為4個像點(diǎn))LINEBL:寫完1行像素點(diǎn)后的調(diào)節(jié)時間201114內(nèi)存中顏色的設(shè)置(終端用戶使用的顏色)單色液晶1位 1/0表示亮/滅4級灰度2位 00/01/10/11分別表示4個不同灰度級16級灰度4

7、位.分別表示不同灰度級256彩色8位其中:3位紅度,3位綠度,2位藍(lán)度201115查找表實(shí)際系統(tǒng)中: 灰度可支持16級 彩色可支持16r*16g*16b=4096色對于4級灰度:從16個灰度級中選取4個對于16級灰度: 對應(yīng)16個灰度級對于彩色:從16個紅度中選取8個從16個綠度中選取8個從16個藍(lán)度中選取4個共256種201116查找表 - 舉例實(shí)際系統(tǒng)中: 灰度可支持16級對于4級灰度:從個灰度級中選取個級灰度的話,從16級中挑選4個液晶屏實(shí)際顯示能力為級灰度201117這4級灰度是通過查找表來自定義的,甚至可以將它們設(shè)置成相同的顏色。例如,查找表可以把00、01、10和11級灰度都設(shè)置成

8、0級灰度級級級級09ABCDEF抖動實(shí)際系統(tǒng)中:燈只有亮/滅兩種狀態(tài)灰度可支持16級如何來的呢?通過不同策略的閃爍液晶屏實(shí)際顯示能力為16級灰度2011180123456789ABCDEF內(nèi)存數(shù)據(jù)如何顯示到屏幕(單色)4位單掃描0000HA31 VD3A30 VD2A29 VD1A28 VD0A27 VD34掃描0000HA31 VD3A30 VD2A29 VD1A28 VD0A27 VD31000HB31 VD7B30 VD6B29 VD5B28 VD4B27 VD7201119VD3VD2VD1VD0VD3VD2VD1VD0VD3VD2VD1VD0VD7VD6VD5VD4VD7VD6VD5

9、VD4VD7VD6VD5VD4VD3VD2VD1VD0VD3VD2VD1VD0VD3VD2VD1VD0內(nèi)存數(shù)據(jù)如何顯示到屏幕(256彩色)4位單掃描0000HA31:29 VD3rA28:26 VD2gA25:24 VD1bA23:21 VD0rA20:18 VD3g4掃描0000HA31:29 VD3rA28:26 VD2gA25:24 VD1bA23:21 VD0rA20:18 VD3g1000HA31:29 VD7rA28:26 VD6gA25:24 VD5bA23:21 VD4rA20:18 VD7gVD只有一位,RGB三元色都有多個級別,如何反映紅/綠/藍(lán)程度?例如:A31:29有1

10、6個級別,對應(yīng)到VD3r后只剩1位了?201120VD3VD2VD1VD0VD3VD2VD1VD0VD3VD2VD1VD0VD7VD6VD5VD4VD7VD6VD5VD4VD7VD6VD5VD4VD3VD2VD1VD0VD3VD2VD1VD0VD3VD2VD1VD0多況下,內(nèi)存數(shù)據(jù)如何到屏幕A31:29 VD3rA28:26 VD2gA25:24 VD1b201121控制VD3的顯示:VD3只能取0或1,但某一時刻其值是不確定的通過閃爍(亮/滅)來模擬亮的程度抖動策略可以獲得紅色的實(shí)際級別查找表可以獲得紅色的用戶級別A31:29內(nèi)存數(shù)據(jù)顯示到屏幕的過程終端用戶寫屏幕時,實(shí)際上將顏色寫到了區(qū)域,

11、并不直接對VD操作內(nèi)存中LCD控制器會將用戶數(shù)據(jù),根據(jù)查找表和抖動策略來模擬不同的顏色亮度級別LCD驅(qū)動器內(nèi)存內(nèi)存中區(qū)域201122VD7:0圖像數(shù)據(jù)第1幀圖像數(shù)據(jù)第2幀圖像數(shù)據(jù)第N幀圖像數(shù)據(jù)虛擬屏幕舉例:規(guī)格1600*1200數(shù)碼顯示器分辨率800*600在ACDSee中按實(shí)際大小全屏顯示(不放大也不縮?。┤埃荒茱@示一部分(1/4)的其他部分此時屏幕上不能顯示可以通過鼠標(biāo)拖動,查看800*600的顯示器屏幕為實(shí)際屏幕1600*1200是虛擬屏幕201123虛擬屏幕中的幾個參數(shù)LCDBASEL=LCDBASEU+(PAGEWIDTH+OFFSIZE)*(LINEVAL+1)OFFSIZE=

12、OFFSIZE1+OFFSIZE2OFFSIZE1OFFSIZE2?如何拖動屏幕?201124LCDBASELLCDBASEUPAGEWIDTHAL+1LINEVLCD控制器的寄存器LCDCON1 LCDCON2 LCDCON3 LCDSADDR1 LCDSADDR2 LCDSADDR3 REDLUT GREENLUT BLUELUT DP1_2 DP4_7 DP3_5 DP2_3 DP5_7 DP3_4 DP4_5 DP6_7DITHMODE控制:3個地址:3個查找表:3個抖動:9個201125LCD控制器的寄存器LCDCON1T(readonly)行掃描時當(dāng)前掃描行序號CLKVAL WLH

13、 WDLY MMODE DISMODE INVCLK INVLINE INVFRAME INVVDENVID用于確定VCLK。VCLK=MCLK/(CLKVAL*2)行信號行信號低電平VM頻率模式選擇掃描方式(x位單/雙掃描)201126LCD控制器的寄存器LCDCON2LINEBL1個行掃描周期中數(shù)據(jù)顯示完后空閑時間HOZVAL行規(guī)格(1行像素需要LINEVALVD的次數(shù))決定行數(shù)201127LCD控制器的寄存器LCDSADDR1MODESEL選擇色彩模式:單色/4級灰度/16級灰度/彩色LCDB顯示緩存的27:22位,所有顯示緩存必須在些范圍內(nèi),該空間包含4M空間LCDBASEU幀起始地址

14、(高)的21:1位201128LCD控制器的寄存器LCDSADDR2BSWPMVAL決定VM頻率LCDBASEL幀起始地址(低)的21:1位LCDBASEL=LCDBASEU+(PAGEWIDTH+OFFSIZE)*(LINEVAL+1)201129LCD控制器的寄存器LCDSADDR3OFFSIZE數(shù)值上虛擬屏寬實(shí)際屏寬用半字表示(offsize=4,表示有4個半字)PAGEWIDTH實(shí)際屏寬 用半字表示201130LCD控制器的寄存器REDLUTREDVAL31:0紅度0紅度1紅度2,直到紅度7000=REDVAL3:0001=REDVAL7:4010=REDVAL11:8例:REDVAL

15、31:0=0 x0表示:紅度0(000)采用16個灰度級中的0000(最淡的一種)紅度1(001)采用16個灰度級中的0000(最淡的一種)因此,8個紅度全部采用0000最淡的一種,實(shí)際上是沒有顯示201131LCD控制器的寄存器DP1_2(亮占總數(shù)比例為1/2,同理,DP4_7表示亮占總數(shù)的比例為 4/7)DP1_215:0參考值:1010 0101 1010 0101這里:亮的次數(shù)為8,總數(shù)為16201132虛擬屏幕的例子:用于設(shè)置相應(yīng)控制寄存器IFLCD panel = 320*240, 16級灰度, 單掃描幀起始地址:frame start address = 0 xc500000 o

16、ffset dot number = 2048 dotsTHEN行數(shù)LCDCON2LINEVAL = 240-1 = 0 xefLCD寬LCDSADDR3PAGEWIDTH = 320點(diǎn)*(4位/點(diǎn))/(16位/半字) = 0 x50LCDSADDR3OFFSIZE = 2048點(diǎn)*(4位/點(diǎn))/(16位/半字)=512半字= 0 x200LCDSADDR1LCDB = 0 xc500000 22 = 0 x31LCDSADDR1LCDBASEU = 0 xc50000021:11 = 0 x100000 1 = 0 x80000LCDSADDR2LCDBASEL= 0 x80000 + (

17、0 x50 + 0 x200 ) * ( 0 xef + 1 ) = 0 xa2b00201133屏幕上點(diǎn)的改寫:#define LCD_PutPixel(x, y, c)/ 將屏幕坐標(biāo)(x,y)像素改為c顏色g_unLcdActiveBuffer(y)(x)/4= (1(2 g_unLcdActiveBufferyx/4 &(3(40 xff000000(5x%4)5*8)4)3 )2| (6 c和的優(yōu)先級低于乘號*5:坐標(biāo)x處在字對齊元素的第某個字節(jié)(03)4:將5對應(yīng)的字節(jié)各位全取1,其余各位全取03:將5對應(yīng)的字節(jié)各位全取0,其余各位全取12:將坐標(biāo)x對應(yīng)的字中,x對應(yīng)的字節(jié)清06:將

18、色彩值c(1字節(jié))放入字對齊元素的相應(yīng)位置(字節(jié))1:將x處的色彩值放入字對齊元素的對應(yīng)字節(jié),而不影響其他字節(jié)201134英文字符、漢字和圖像的顯示原理同數(shù)碼管,預(yù)先設(shè)置了點(diǎn)陣請參考C:EmbestIDEExlescommonfont_lib目錄下的幾個文件:ascii6x8.c ascii8x16.chzk16.c201135附錄:LCD初始化說明void lcd_init(void)rDITHMODE = 0 x12210; / 抖動模式,只能取0或0 x12210rDP1_2 = 0 xa5a5;/ 抖動設(shè)定/ disable,8B_SNGL_SCAN,WDLY=16clk,WLH=16clk,rLCDCON1 = (0 x0)|(25)/ 8位單掃描|(MVAL_USED7) / 計(jì)時頻率為MVAL_USED,如果該值為0,則每幀|(0 x38)|(0 x310)/ VCLK:刷新時鐘;VLINE:水平同步脈沖;這里兩位表示VLINE和VCLK之間延時的系統(tǒng)時鐘數(shù),0 x3表示16個系統(tǒng)時鐘/ VLINE保持的系統(tǒng)時鐘數(shù),0 x3表示16個系統(tǒng)時鐘/|(CLKVAL_COLOR12);/ LINEBL=10 (without any c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論