LCD顯示實驗

Download Report

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硬體連接。
下載、除錯並執行。
結合實驗內容和原理,觀察實驗現象,實驗結果應
該可以顯示各種顏色的長方形或者圖片。
完成實驗練習題。