44B0X的LCD 控制器資料

44B0X的LCD 控制器資料
LCD 控制器用來把定位在系統存儲器中的視頻緩衝區的LCD圖象數據傳輸到LCD驅動器,並
產生必須的LCD控制信號。
LCD 控制器使用時間抖動算法和幀速率控制方法,支持在灰白LCD上的單色、4級灰度(一個
點佔兩位)、16級灰度(一個點佔4位)顯示,也能與彩色LCD的接口支持最大256色(每點8
位)的顯示 。
LCD 控制器可以編程支持不同水平和垂直點數(640x480, 320x240, 160x160等等)、不同數
據線寬度、不同的接口時序和刷新速率的LCD,支持4位雙掃描、4位單掃描、8位單掃描的LCD
顯示器,並支持水平/垂直捲動,用來支持更大的屏幕顯示(如1280*1280)。
LCD顯示數據流如下:
當LCDCDMA(LCD專用DMA,用來在不用CPU參與的情況下自動傳輸幀存儲器的視頻數據到
LCD驅動器顯示)中的FIFO 存儲區爲空或部分爲空時,LCDCDMA請求從幀存儲器預取數據(使
用突發傳輸模式,一次預取4個字,在傳輸期間,不允許總線控制權轉讓。FIFO 存儲區總的尺
寸是24個字(12個FIFOL,12個FIFOH,用來支持雙掃描,在單掃描模式,僅一個12個FIFOH
可用).
灰度顯示:4級灰度顯示模式使用查找表,允許在16級可能的灰度中選擇四級灰度顯示,該查找
表和彩色查找表的蘭色查找表公用一個寄存器BULEVAL[15:0],灰度0由BLUEVAL[3:0]值表示,
灰度1由BLUEVAL[7:4]值表示,灰度2由BLUEVAL[11:8]值表示,灰度3由BLUEVAL[15:12]值表
示。在16級灰度顯示模式不使用查找表。
彩色8位顯示模式:3位分配爲紅,3位綠,可以同時顯示8個紅色與8個綠色,,2位藍色位,可
以同時顯示4個蘭色,合起來最大顯示256色。紅、綠、藍分別使用不同的查找表,紅色、綠色
查找表入口都是32位(並分成8組),分別由REDVAL[31:0]、GREENVAL[31:0]寄存器指示,
蘭色查找表入口爲16位,由BLUEVAL[15:0] 寄存器指示,並分成4組。也就是說紅、綠色可以
在在32位中顏色組合中選擇8色進行顯示,蘭色可以在在16位中顏色組合中選擇4色進行顯示。
LCD自刷新模式:S3C44B0X支持LCD自刷新模式,以減少電源消耗,這時VCLK爲低,VD保持
先前的值,其它信號不變,這時電源管理模式可以進入SL_IDLE模式。
LCD寄存器
1 LCD控制寄存器1
LCDCON1    0x01F00000   R/W    LCD控制寄存器1  初始值 0x00000000
位名稱             BIT                描述
LINECNT(只讀)   [31:22]      這些位反映行計數值      
CLKVAL         [21:12]      這些位確定VCLK的頻率. 如果該值在ENVID=1改變,將下
一幀使用.  
公式爲 VCLK = MCLK / (CLKVAL x 2) ( CLKVAL 32 )
WLH            [11:10]       這些位確定VLINE高電平的寬度  
00 = 4 clock, 01 = 8 clock, 10 = 12 clock, 11 = 16 clock
WDLY          [9:8]         這些位確定VLINE和VCLK之間的延時
00 = 4clock, 01 = 8 clock, 10 = 12 clock, 11 = 16 clock
MMODE        [7]            這位確定VM的改變速度.
0 = Each Frame, 1 = The rate defined by the MVAL
DISMODE      [6:5]         這些位選擇顯示模式
00 = 4-bit dual scan display mode
01 = 4-bit single scan display mode
10 = 8-bit single scan display mode
11 = Not used
INVCLK        [4]     該位控制VCLK 的極性
0 = The video data is fetched at VCLK falling edge
1 = The video data is fetched at VCLK rising edge
INVLINE       [3]    該位指示行脈衝的極性
0 = normal 1 = inverted
INVFRAME    [2]    該位指示幀脈衝的極性
0 = normal 1 = inverted
INVVD        [1]    該位指示(VD[7:0]) 的極性.
0 = Normal
1 = VD[7:0] output is inverted.
ENVID        [0]    LCD視頻輸出和邏輯的允許與否  
0 = 不允許,LCD FIFO 清除
1 = 允許
2 LCD控制寄存器1
LCDCON2    0x01F00004   R/W    LCD控制寄存器2  初始值 0x00000000
位名稱           BIT                描述
LINEBLANK      [31:21]  這些位確定行掃描的返回時間. LINEBLANK I的單位是MCLK.
如: LINEBLANK 爲10, 返回時間在10個系統時鐘期間插入VCLK  
HOZVAL         [20:10]   這些位確定LCD屏的水平尺寸,HOZVAL值的確定必須滿足一行總
的字節數是2的倍數 如120點的LCD 的水平尺寸X=120不支持,因
爲一行包含15個字節,而X=128可以被支持(16個字節),額外的8點
將被LCD驅動器放棄.
公式:
HOZVAL = ( Horizontal display size / Number of the valid VD data line) -1
彩色模式: Horizontal display size = 3 * Number of Horizontal Pixel
LINEVAL         [9:0]      這些位確定LCD屏的垂直尺寸
確定公式:
LINEVAL = (Vertical display size) -1:單掃描類型
LINEVAL = (Vertical display size / 2) -1: 雙掃描類型
3 LCD控制寄存器3
LCDCON3      0x01F00040  R/W    LCD控制寄存器3  初始值 0x00
位名稱           BIT        描述
Reserved       [2:1]        保留
SELFREF       [0]         LCD刷新模式允許位
0 : LCD self refresh mode disable
1 : LCD self refresh mode enable
4  幀緩衝區開始地址1
LCDSADDR1      0x01F00008   R/W    幀緩衝區開始地址1寄存器  初始值 0x000000
位名稱           BIT             描述
MODESEL       [28:27]     這些位選擇顯示模式
00 = monochrome mode 01 = 4-level gray mode
10 = 16-level gray mode 11 = color mode
LCDBANK        [26:21]  這些位指示視頻緩衝區在系統存儲器的段地址A[27:22]  
LCDBANK在視點移動時不能變化, LCD 幀緩衝區應當與4M區域
對齊,因此在分配存儲區應當注意
LCDBASEU       [20:0]    這些位指示幀緩衝區或在雙掃描LCD時的上幀緩衝區的開始地址
A[21:1]  
注:1 LCDBANK在ENVID=1時不能變化.
   2 如果LCDBASEU,LCDBASEL在ENVID=1時變化,新的量將在下一幀起作用,
5  幀緩衝區開始地址2
LCDSADDR2     0x01F0000C   R/W    幀緩衝區開始地址2寄存器  初始值 0x000000
位名稱           BIT             描述
BSWP             [29]    字節交換控制位
1 : Swap Enable 0 : Swap Disable
LCD DMA 以4個字的突發模式預取幀存儲區數據,在little endian
模式和BSWP = 0, 幀存儲區數據以n+3th, 4n+2th ,4n+1th ,4n-th
次序顯示
否則BSWP =1次序爲4n-th, 4n+1th,4n+2th, 4n+3th.
如果CPU在little endian模式,幀存儲區可以以字節存取模式存取,
因爲BSWP =1,存取的數據也將在little endian模式正常顯示,否則
BSWP 必須爲0
MVAL         [28:21]    如果MMODE=1,這兩位定義VM信號以什麼速度變化  
                        公式爲:VM Rate = VLINE Rate / ( 2 * MVAL)
LCDBASEL    [20:0]   這兩位指示在使用雙掃描LCD時的下幀存儲區的開始地址 A[21:1]  
公式如下:
LCDBASEL =LCDBASEU + (PAGEWIDTH + OFFSIZE) x (LINEVAL +1)
注:用戶通過改變LCDBASEU 和 LCDBASEL的值來滾動屏幕,但在幀結束時,不能改變LCDBASEU
和 LCDBASEL的值,因爲預取下一幀的數據優先於改變幀,如果這時改變幀, 預取的數據將無效
和將顯示不正確.爲了檢查LINECNT,中斷應當被屏蔽,否則如果在讀LINECNT後,任意中斷剛好執行,
因爲ISR的執行,LINECNT的值可能無效.,
6  幀緩衝區開始地址3
LCDSADDR3     0x01F00010   R/W    虛擬屏幕地址設置  初始值 0x000000
位名稱           BIT             描述
OFFSIZE         [19:9]     虛擬屏幕偏移量(半字的數量),該值定義前一顯示行的最後的半
字和新的顯示一行首先的半字之間的距離
PAGEWIDTH     [8:0]       虛擬屏幕寬度(半字的數量),該值定義幀的觀察區域的寬度
注: PAGEWIDTH 和 OFFSIZE必須在ENVID = 0時變化.
7  紅色查找表寄存器
REDLUT     0x01F00014    R/W   紅色查找表寄存器  初始值 0x00000000
位名稱      BIT             描述
REDVAL    [31:0  ]    這些位定義8組的每一組中的16個影射的哪一個將選擇
000 = REDVAL[3:0], 001 = REDVAL[7:4]
010 = REDVAL[11:8], 011 = REDVAL[15:12]
100 = REDVAL[19:16], 101 = REDVAL[23:20]
110 = REDVAL[27:24], 111 = REDVAL[31:28]
8  綠色查找表寄存器
GREENLUT     0x01F00018   R/W   綠色查找表寄存器  初始值 0x00000000
位名稱         BIT             描述
GREENVAL    [31:0  ]    這些位定義8組的每一組中的16個影射的哪一個將選擇
                          000 = GREENVAL[3:0], 001 = GREENVAL[7:4]
010 = GREENVAL[11:8], 011 = GREENVAL[15:12]
100 = GREENVAL[19:16], 101 = GREENVAL[23:20]
110 = GREENVAL[27:24], 111 = GREENVAL[31:28]
9  藍色查找表寄存器
BLUELUT     0x01F0001C   R/W   藍色查找表寄存器  初始值 0x0000
位名稱         BIT             描述
BLUEVAL    [15:0  ]    這些位定義4組的每一組中的16個影射的哪一個將選擇
                        00 = BLUEVAL[3:0], 01 = BLUEVAL[7:4]
10 = BLUEVAL[11:8], 11 = BLUEVAL[15:12]
10  抖動模式寄存器
DP1_2      0x01F00020    R/W   抖動模式佔空比爲1/2寄存器   初始值 0xa5a5
DP4_7      0x01F00024    R/W   抖動模式佔空比爲4/7寄存器   初始值 0xba5da65
DP3_5      0x01F00028    R/W   抖動模式佔空比爲3/5寄存器   初始值 0xa5a5f
DP2_3      0x01F0002C    R/W   抖動模式佔空比爲2/3寄存器   初始值 0xd6b
DP5_7      0x01F00030    R/W   抖動模式佔空比爲5/7寄存器   初始值0xeb7b5ed
DP3_4      0x01F00034    R/W   抖動模式佔空比爲3/4寄存器   初始值 0x7dbe
DP4_5      0x01F00038    R/W   抖動模式佔空比爲4/5寄存器   初始值 0x7ebdf
DP6_7      0x01F0003C    R/W   抖動模式佔空比爲6/7寄存器   初始值 0x7fdfbfe
DITHMODE  0x01F00044    R/W   抖動模式寄存器               初始值 0x00000
                                   用戶必須改變該值爲0x12210.
LCD控制器的VCLK最大頻率是16.5MHZ(在系統時鐘爲66MHZ時),  
VCLK(Hz)=MCLK/(CLKVAL x 2)
VCLK的速度應大於數據傳輸速率.
數據傳輸速率=HS × VS × FR × MV
HS: LCD 水平尺寸
VS: LCD 垂直尺寸
FR:  幀速率
MV: 由顯示模式確定的值
FR(Hz) = 1 / [ ( (1/VCLK) x (HOZVAL+1)+(1/MCLK) x (WLH+WDLY+LINEBLANK) ) x
( LINEVAL+1) ]
VCLK(Hz) = (HOZVAL+1) / [ (1 /(FR x (LINEVAL+1))) - ((WLH+WDLY+LINEBLANK) / MCLK )]
顯示模式                          MV值
單色, 4位單掃描                     1/4
單色, 8位單掃描或4位雙掃描          1/8
4級灰度, 4位單掃描                  1/4
4級灰度,8位單掃描或4位雙掃描       1/8
16級灰度,4位單掃描                  1/4
16級灰度,8位單掃描或4位雙掃描      1/8
彩色, 4位單掃描                     3/4
彩色, 8位單掃描或4位雙掃描          3/8
LCDBASEU寄存器的量是幀緩衝區的開始地址,在突發4字存取模式,最低4位必須取消.
LCDBASEL寄存器的量由LCD尺寸和LCDBASEU的量確定,公式爲;
LCDBASEL = LCDBASEU + LCDBASEL offset

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章