Transcript LCD顯示實驗
LCD顯示實驗
LCD顯示實驗
實驗目的
瞭解TFT型彩色LCD顯示的工作原理和介面
掌握S3C2440與LCD顯示的介面原理
掌握LCD色彩及繪製簡單圖形的編譯
實驗內容
編寫程式,實現任意位置畫長方形的功能(或者其
他的繪圖功能)以及顯示圖片
實驗設備
DMA2440XP教學平台
ADS 1.2 內建開發環境和除錯軟體
USB連接線、串列連接線、電源
4.3吋橫式TFT 彩色螢幕
LCD原理簡介(1)
LCD顯示器,即人們常說的液晶顯示器,具有低耗
電,體積小等特點,被廣泛應用於嵌入式系統中。
在LCD顯示器中,顯示面板薄膜被分成很多小柵格,
每個小柵格有一個電極控制,通過改變柵格上的電壓
就能控制格內液晶分子的排列,因而控制光路的導通。
彩色顯示通過利用三種原色混合的原理顯示不同的
色彩:彩色面板中,每個像素都是有三個液晶單格構
成的,其中每個單格前面都分別有紅色,綠色或藍色
的過濾片;光線經過過濾片的處理變成紅色,藍色或
者綠色,利用三原色的原理組合出不同的色彩。
LCD原理簡介(2)
常見的LCD
TN(Twist Nematic)型顯示器(扭轉向列型顯示器,
如TN_LCD,STN_LCD和DSTN_LCD)
TFT(Tin Film Transistor薄膜電晶體)型顯示器
LCD原理簡介(3)
這兩種顯示器的基本原理比較接近,不同點在於:
TN型顯示器通過電極控制液晶分子,FET有電容效
應,顯示質量較差。
TFT型顯示器則通過FET控制液晶分子,FET有電容
效應,所以液晶分子能在下一次電極變化前保持原
有的排列,因此TFT型顯示器的顏色數量和更新速
度都優於TN型顯示器。
FET名為場效應電晶體是依靠電場去控制通道形狀,
因此能控制半導體材料中某種類型載流子的通道導
電性。
LCD控制器(1)
ARM晶片中內建LCD控制器(以S3C2440為例)主
要是將記憶體中的圖像資訊傳送到LCD驅動器中。
一般的ARM晶片中內建的LCD控制器支援多種
LCD顯示模式,比如單色,灰階,偽彩色或真彩色等。
ARM晶片連接不同的LCD顯示設備時,需要通過
設置控制暫存器來調整顯示狀態,以便正常顯示。因
此,對LCD控制器的控制實際上轉換成對映射到記憶
體空間的暫存器值的控制。
LCD控制器(2)
三星ARM晶片內置的LCD控制器還提供虛擬螢幕
功能,大圖片在顯示的時候可以上下左右移動。
三星ARM晶片的LCD控制器中還帶有查色表(調色
板)功能。這個功能可以在LCD顯示器上顯示最接近原
始圖顏色特徵的圖片。
S3C2440的內部LCD控制器介紹
S3C2440內置的LCD控制器支援單色,4級灰階,
或16級灰階的黑白螢幕,也可以支援256色和4096
色的彩色STN LCD螢幕。它也支援調色TFT彩色LCD,
並且也支援16位元和24位元的真實色彩顯示。
LCD控制器可以通過編譯選擇支援不同的LCD螢幕
的要求,例如行和列的像素,資料匯流排寬度,介
面時序和更新頻率。
LCD控制器的主要作用就是,將定位於系統記憶體
的顯示緩衝區的LCD圖像資料傳送到外部LCD驅動
器。
LCD控制器的主要特性(1)
STN LCD顯示器為例:
支援3種類型的LCD顯示幕:4位元雙掃描,4位元
單掃描和8位元單掃描顯示類型。
支援單色,4色灰階,16色灰階的黑白色以及256
色和4096色的彩色STN LCD螢幕。
支援多種螢幕大小
典型的螢幕大小:640X480,320X240,,160X160
最大虛擬螢幕大小:4Mbytes
在256色下最大虛擬螢幕大小:4096×1024,2048×2048
,1024×4096
LCD控制器的主要特性(2)
TFT LCD顯示為例:
支援1.2.4.8-bpp(bit per pixel)調色彩色TFT顯示幕
支援16-bpp或24-bpp真彩TFT顯示幕
在每像素24位元模式下,最大可支援16M彩色
TFT
支援多種螢幕大小
典型實際螢幕大小:640×480,320×240,160×160
最大虛擬螢幕大小是4Mbytes
在64K彩色模式下最大虛擬螢幕大小:2048×1024
LCD控制器結構圖
LCD控制器用來傳送圖像資料以及產生重要的信號,像是垂直信號、水平信
號、像素時脈等等,LCD控制器包含了REGBANK、LCDCDMA、VIDPRCS、
TIMGEN、LPC3600、LCC3600、以及MUX。
LCD控制器功能單元
REGBANK內含17個暫存器和256*26的記憶體,用來配置LCD控
制器上的指令和資料。
LCDCDMA為DMA加快資料上的傳輸並自動把記憶體內的圖像資
料傳送至LCD驅動器,不需CPU的干預,即可直接顯示於LCD上。
VIDPRCS用來接收LCDCDMA所傳來的圖像資料並處理為合適
的資料格式。例如:4位元雙掃描,4位元單掃描和8位元單掃描。
VD[23:0]為LCD圖像資料輸出埠,是將VIDPRCS處理好的圖像資
料傳送給LCD驅動器。
TIMGEN(Timing Control)用來產生LCD螢幕所需的控制信號及時
脈,例如:VSYNC、HSYNC、VCLK和LEND等等,這些控制信
號跟REGBANK的暫存器有密切的關係,不同的配置, TIMGEN
就會產生不同的形態,並支援不同的LCD螢幕。
LCD外部介面信號(1)
LCD外部介面信號(2)
VFRAME/VSYNC/STV:LCD控制器和LCD驅動器之間的封包同步信號。它
通知LCD 螢幕新的一個封包顯示,LCD 控制器在一個完整封包的顯示後發出
VFRAME 信號。
VLINE/HSYNC/CPV:LCD控制器和LCD驅動器間的同步脈衝信號,LCD驅
動器透過它來將水平移位暫存器中的內容顯示到LCD螢幕上。LCD控制器在
一整行資料全部傳輸到LCD驅動器後,插入一個 VLINE信號。
VCLK:此信號為LCD控制器和LCD驅動器之間的圖像時脈信號,LCD控制器
在VCLK的上升準位發送資料,LCD驅動器在VCLK的下降準位採樣資料。
VM:LCD驅動器所使用的交流信號。LCD驅動器使用VM信號改變用於打開
或關閉像素的行和列電壓的極性,從而控制圖點的顯示或熄滅。VM信號可
以與每個封包同步,也可以與可變數量的VLINE信號同步。
VD[0..23]:LCD圖像資料輸出埠,也就是我們所說的RGB信號線,採用的是
5:6:5模式。
LCD控制器操作
LCD顯示掃描方式
LCD控制器支援三種驅動:4位元元單掃描方式,4位
元元雙掃描方式和8位元元單掃描方式,下圖展示了
彩色模式下的幾種掃描方式。
像素位元組資料格式
本實驗採用的是64K色的真彩TFT,每像素16位元,
採用的是5:6:5顯示模式。
BSWP=0,HWSWP=0
NC:沒有資料輸出,不顯示圖像。
TFT時序分析
TFT時序分析說明(1)
在LCD螢幕上有許多的顯示點然而它是由矩形左上
角的第一行第一個點開始,一個點一個點在LCD上
顯示,在上張投影片中的時序圖所呈現的時序就表
示為VCLK。
當顯示點一直顯示到矩形的最右邊就結束這一行,
那麼這一行的動作就稱為1 Line。
接下來顯示點又回到矩形的左邊並且從第二行開始
顯示,顯示點在從第一行的右邊回到第二行的左邊
是有時間間隔的,這裡稱作為行切換。
TFT時序分析說明(2)
以此類推,顯示點就這樣一行一行的顯示至矩形的
右下角才完整顯示出圖像。因此,這個動作就是時
序圖上的HSYNC。
然而,LCD上的顯示並不是對一張圖像做快速的顯
示一下,為了持續和穩定的在LCD上去做顯示,就
需切換至另一張圖上(另一張圖可以是和上一張圖
一樣或者不一樣,目的只是為了將圖像持續的顯示
在LCD上),那麼這一幅幅的圖像就稱為幀,也就是
在時序圖上的1 Frame,因此從時序圖上可以看出
1 Line只是1 Frame的一小部份。
同樣的,在幀與幀之間的切換也是有時間間隔,這
裡稱作為幀切換,那麼在LCD整個顯示過程也就是
時序圖上的VSYNC。
TFT時序圖上各個時脈延遲的參數
VBPD(vertical back porch):表示在一張幀圖像開始時,垂直同步信號
之後無效的行數,並對應LCD螢幕中上緣。
VFBD(vertical front porch):表示在一張幀圖像結束後,垂直同步信號
之後無效的行數,並對應LCD螢幕中下緣。
VSPW(vertical sync pulse width):表示垂直同步脈衝的寬度,用行數
來計算,並對應LCD螢幕中的vsync_len。
HBPD(horizontal back porch):表示從水平同步信號開始到開始的那一
行間有效資料的VCLK數,並對應LCD螢幕中左緣。
HFPD(horizontal front porch):表示結束時那一行到下一行水平同步信
號開始之間的VCLK數,並對應LCD螢幕中右緣。
HSPW(horizontal sync pulse width):表示水平同步脈衝的寬度,用
VCLK來計算,並對應LCD螢幕中的hsync_len。
TFT控制器操作(1)
TIMEGEN產生LCD驅動器的控制信號,像VSYNC,
HSYNC,VCLK,VDEN和LEND信號。
VSYNC和HSYNC脈衝的產生依賴於LCDCON2/3暫存
器中的HOZVAL和LINEVAL的設置。
HOZVAL和LINEVAL透過下面的算式由LCD螢幕的大小
來決定:EX.320*240
HOZVAL={水平顯示大小}-1 ; LINEVAL={垂直顯示大小}-1
HOZVAL:水平掃描次數 ; LINEVAL:垂直掃描次數
水平顯示大小=顯示寬度/VD接線的位元數
垂直顯示大小=顯示高度/VD接線的位元數
顯示寬度=3*每行像素點的數目 ;顯示高度=每列像素點的數目
TFT控制器操作(2)
VCLK信號的頻率依賴於LCDCON1暫存器中的
CLKVAL,下表定義了VCLK和CLKVAL的關係。
CLKVAL的最小值是0
VCLK(Hz)=HCLK/[(CLKVAL+1)×2]
TFT控制器操作(3)
封包速度是VSYNC信號頻率,封包速度依賴於
LCDCON1和LCDCON2/3/4暫存器中的VSYNC,
VBPD,VFPD,LINEVAL,HSYNC,HBPD,HFPD,
HOZVA,以及CLKVAL值。
大部分的LCD驅動器需要適合的封包速度,由下面
的公式來計算封包速度:
Frame rate=
1/[{(VSPW+1)+(VBPD+1)+(LINEVAL+1)+(VFPD+1)}×{(HSPW
+1)+(HBPD+1)+(HFPD+1)+(HOZVAL+1)}×{2×(CLKVAL+1)/(HCLK)}]
LCD相關暫存器
LCD 控制暫存器1(LCDCON1)
LCD 控制暫存器2(LCDCON2)
LCD 控制暫存器3(LCDCON3)
LCD 控制暫存器4(LCDCON4)
LCD 控制暫存器5(Cont.)
LCD 控制暫存器5(LCDCON5)
封包緩衝區起始位址暫存器1
LCDSADDR1
封包緩衝區起始位址暫存器2
LCDSADDR2
封包緩衝區起始位址暫存器3
LCDSADDR3
紅色查表
綠色查表
藍色查表
LCD電路介面
LCD電路介面說明
相關CPU與LCD介面連線說明:
BUF_VD0~BUF_VD23
經過緩衝後的資料線DATA0~DATA23
BUF_GPB1_PWM
通過PWM信號來控制背光,BUF_GPB1_PWMGPB1/TOUT1接腳通
過緩衝後的信號
實驗步驟
新增一個Project名為Lcd,並建立檔案,輸入程式,
設置好Project編譯產生映射檔。
S3C2440硬體連接。
下載、除錯並執行。
結合實驗內容和原理,觀察實驗現象,實驗結果應
該可以顯示各種顏色的長方形或者圖片。
完成實驗練習題。