310 likes | 522 Views
8 . LCD 顯示實驗. 實驗目的 瞭解 TFT 型彩色 LCD 顯示的工作原理和介面 掌握 S3C2440 與 LCD 顯示的介面原理 掌握 LCD 色彩及繪製簡單圖形的編譯 實驗內容 編寫程式,實現在任意位置畫長方形的功能(或者其他的繪圖功能)以及顯示圖片 實驗設備 DMA2440XP 教學平台 ADS 1.2 試用版內建開發環境和除錯軟體 USB 連接線、串列連接線、電源 4.3〞 橫式 TFT 彩 色螢幕. 8. 1 LCD 原理簡介. LCD 顯示器,即人們常說的液晶顯示器,具有低耗電,體積小等特點,被廣泛應用於嵌入式系統中。
E N D
8. LCD顯示實驗 實驗目的 • 瞭解TFT型彩色LCD顯示的工作原理和介面 • 掌握S3C2440與LCD顯示的介面原理 • 掌握LCD色彩及繪製簡單圖形的編譯 實驗內容 • 編寫程式,實現在任意位置畫長方形的功能(或者其他的繪圖功能)以及顯示圖片 實驗設備 • DMA2440XP教學平台 • ADS 1.2 試用版內建開發環境和除錯軟體 • USB連接線、串列連接線、電源 • 4.3〞橫式TFT 彩色螢幕
8.1 LCD 原理簡介 LCD顯示器,即人們常說的液晶顯示器,具有低耗電,體積小等特點,被廣泛應用於嵌入式系統中。 在LCD顯示器中,顯示面板薄膜被分成很多小柵格,每個小柵格有一個電極控制,通過改變柵格上的電壓就能控制格內液晶分子的排列,從而控制光路的導通。彩色顯示通過利用三種原色混合的原理顯示不同的色彩:彩色面板中,每個圖元都是有三個液晶單格構成的,其中每個單格前面都分別有紅色,綠色或藍色的過濾片;光線經過過濾片的處理變成紅色,藍色或則綠色,利用三原色的原理組合出不同的色彩。 常見的LCD包括TN(Twist Nematic)型顯示器(扭轉向列型顯示器,如TN_LCD, STN_LCD和DSTN_LCD)和TFT(Tin Film Transistor薄膜電晶體)型顯示器。這兩種顯示器的基本原理比較接近,不同點在於:TN型顯示器通過電極控制液晶分子,FET有電容效應,顯示質量較差;TFT型顯示器則通過FET控制液晶分子,FET有電容效應,所以液晶分子能在下一次電極變化前保持原有的排列,因此TFT型顯示器的顏色數量和更新速度都優於TN型顯示器。
ARM晶片中內建LCD控制器(以S3C2440為例)主要是將記憶體中的圖像資訊傳送到LCD驅動器中。一般的ARM晶片中內建的LCD控制器支援多種LCD顯示模式,比如單色,灰階,偽彩色或真彩色等。三星ARM晶片內置的LCD控制器還提供虛擬螢幕功能,大圖片在顯示的時候可以上下左右移動。三星ARM晶片的LCD控制器中還帶有查色表(調色板)功能。這個功能可以在LCD顯示器上顯示最接近原始圖顏色特徵的圖片。ARM晶片中內建LCD控制器(以S3C2440為例)主要是將記憶體中的圖像資訊傳送到LCD驅動器中。一般的ARM晶片中內建的LCD控制器支援多種LCD顯示模式,比如單色,灰階,偽彩色或真彩色等。三星ARM晶片內置的LCD控制器還提供虛擬螢幕功能,大圖片在顯示的時候可以上下左右移動。三星ARM晶片的LCD控制器中還帶有查色表(調色板)功能。這個功能可以在LCD顯示器上顯示最接近原始圖顏色特徵的圖片。 ARM晶片連接不同的LCD顯示設備時,需要通過設置控制暫存器來調整顯示狀態,以便正常顯示。因此,對LCD控制器的控制實際上轉換成對映射到記憶體空間的暫存器值的控制。
8.2 S3C2440的內部LCD控制器介紹 • S3C2440內置的LCD控制器支援單色,4級灰階,或16級灰階的黑白螢幕,也可以支援256色和4096色的彩色STN LCD螢幕。它也支援調色TFT彩色LCD,並且也支援16位元和24位元的真實色彩顯示。 • LCD控制器可以通過編譯選擇支援不同的LCD螢幕的要求,例如行和列圖元,資料匯流排寬度,介面時序和更新頻率。 • LCD控制器的主要作用就是,將定位於系統記憶體的顯示緩衝區的LCD圖像資料傳送到外部LCD驅動器。 LCD控制器的主要特性: STN LCD顯示器 • 支援3種類型的LCD顯示幕:4位元雙掃描,4位元單掃描,和8位元單掃描顯示類型; • 支援單色,4色灰階,16色灰階的黑白色以及256色和4096色的彩色STN LCD螢幕; • 支援多種螢幕大小; 典型的螢幕大小:640X480,320X240,,160X160 最大虛擬螢幕大小:4Mbytes 在256色下最大虛擬螢幕大小:4096×1024,2048×2048,1024×4096
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和其他
8.3 LCD外部介面信號 下圖為控制信號: • 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的下降準位採樣資料。VCLK:此信號為LCD控制器和LCD驅動器之間的圖元時鐘信號,LCD控制器在VCLK的上升準位發送資料,LCD驅動器在VCLK的下降準位採樣資料。 • VM:LCD驅動器所使用的交流信號。LCD驅動器使用VM信號改變用於打開或關閉象素的行和列電壓的極性,從而控制圖點的顯示或熄滅。VM信號可以與每個封包同步,也可以與可變數量的VLINE信號同步。 • VD[0..23]:LCD象素資料輸出埠,也就是我們所說的RGB信號線,採用的是5:6:5模式。 其他的部分,在S3C2440手冊上有詳細說明。
8.4 LCD控制器操作 LCD顯示掃描方式 LCD控制器支援三種驅動:4位元元單掃描方式,4位元元雙掃描方式和8位元元單掃描方式。 下圖展示了彩色模式下的幾種掃描方式,至於單色的掃描模式與彩色的很類似。
畫素位元組資料格式(BSWP=0,HWSWP=0) 本教學平台採用的是64K色的真彩TFT,每畫素16位元,採用的是5:6:5顯示模式。 虛擬螢幕顯示 S3C2440硬體支援水平移動或垂直滾動,如果要使螢幕滾動,可以通過修改LCDSADDR1和LCDSADDR2暫存器中的LCDBASEU和LCDBASEL的值來實現,而不是透過修改PAGEWIDTH和OFFSIZE來實現。LCDBASEU,LCDBASEL,PAGEWTDTH和OFFSIZE的定義也可以透過下頁的圖來認識:
FT控制器操作 TIMEGEN產生LCD驅動器的控制信號,像VSYNC,HSYNC,VCLK,VDEN和LEND信號。 VSYNC和HSYNC脈衝的產生依賴於LCDCON2/3暫存器中的HOZVAL和LINEVAL的設置。HOZVAL和LINEVAL通過下面的等式由LCD螢幕的大小來決定: HOZVAL={水平顯示大小}-1 LINEVAL={垂直顯示大小}-1 VCLK信號的頻率依賴於LCDCON1暫存器中的CLKVAL,下表定義了VCLK和 CLKVAL的關係。CLKVAL的最小值是0。 VCLK(Hz)=HCLK/[(CLKVAL+1)×2]
封包速度是VSYNC信號頻率,封包速度依賴於LCDCON1和LCDCON2/3/4暫存器中的VSYNC,VBPD,VFPD,LINEVAL,HSYNC,HBPD,HFPD,HOZVA,以及CLKVAL值。大部分的LCD驅動器需要適合的封包速度。按下面的公式來計算封包速度:封包速度是VSYNC信號頻率,封包速度依賴於LCDCON1和LCDCON2/3/4暫存器中的VSYNC,VBPD,VFPD,LINEVAL,HSYNC,HBPD,HFPD,HOZVA,以及CLKVAL值。大部分的LCD驅動器需要適合的封包速度。按下面的公式來計算封包速度: Fram Rate=1/[{(VSPW+1)+(VBPD+1)+(LINEVAL+1)+(VFPD+1)}×{(HSPW +1)+ (HBPD+1)+ (HFPD+1)+(HOZVAL+1)}×{2×(CLKVAL+1)/(HCLK)}]
8.5 LCD相關暫存器 LCD 控制暫存器1(LCDCON1)
8.6 LCD電路介面說明 相關CPU與LCD介面連線說明:BUF_VD0~BUF_VD23:(經過緩衝後的資料線DATA0~DATA23) BUF_GPB1_PWM:通過PWM信號來控制背光,BUF_GPB1_ PWMGPB1/TOUT1接腳通過緩衝後的信號。
8.7實驗步驟 • 新建一個工程名為Lcd,並新建原始檔案、輸入程式,設置好工程編譯產生映射檔。 • 硬體連接:用串列線將PC的COM1與實驗箱的UART1連起來,再用USB連接線(A->B)將PC的USB HOST介面與實驗箱的USB Device介面連起來,最後插上12V電源。 • 下載、除錯並執行:該步驟操作過程與手冊5-3.2小節的步驟是類似的。 • 結合實驗內容和原理,觀察實驗現象,實驗結果應該可以顯示各種顏色的長方形或 • 者圖片。 • 完成實驗練習題。
8.8 LCD顯示應用編譯實例 LCD顯示實驗函數 程式如下: