邏輯開發之LCD

概述

本節主要闡述LCD的工作原理、控制器特性及使用方法以掌握LCD驅動的編寫

工作原理

常見LCD主要分爲4類:TN(扭曲項列型)、STN(超扭曲項列型)、DSTN(雙層超扭曲項列型)、TFT(薄膜晶體管型)。其中TN、STN、DSTN基本原理相同,只是晶體的扭曲角度不同;TFT則完全不同

工作原理:http://www.szjunxian.com/Article/yjpztnstnt.html

主要技術指標:

  1. LCD屏尺寸:指LCD屏對角線的長度,單位一般爲英寸,如:3.5英寸、7英寸,尺寸不同功耗不同
  2. 對比度:是最大亮度(全白)和最小亮度值(全黑)的比值。對比度越高,圖像層次結構越分明
  3. 亮度:液晶是一種介於液體和晶體之間的物質,可以通過電流來控制光線的穿透度,從而顯示圖像。但其本身並不會發光,因此所有的液晶顯示器都需要背光照明,背光的亮度也就決定了顯示器的亮度。亮度高則顏色明亮,可以提供更好的色彩效果
  4. 響應時間:響應時間決定了每秒顯示的幀數,響應時間越短,每秒顯示的畫面就越多。
  5. 分辨率:顯示屏能表示的像素個數。像素越高,分辨率越高,圖像越清晰。屏幕的物理分辨率是固定的,顯示器改變分辨率只是通過運算模擬出顯示效果而實際的分辨率並不會改變。
  6. 可視角度:LCD現實是背光通過液晶和偏光玻璃射出,原理像百葉窗,絕大多數光都是垂直射出。當非垂直角度看就會呈現顏色失真,這就是視角問題,顯然視角越大越好。
  7. 功耗:選擇顯示器的重要參數

控制器特性

LCD 控制器支持單色LCD 的單色、2 位每像素(4 階灰度)或4 位每像素(16 階灰度)模式,通過使用基
於時間的抖動算法和幀頻控制(FRC)方法,其可以連接到8 位每像素(256 色)的彩色LCD 面板和連接到12 位
每像素(4096 色)的STN LCD。

其支持1 位每像素、2 位每像素、4 位每像素和8 位每像素的調色TFT 彩色LCD 面板連接,以及16 位每像素
和24 位每像素的無調色真彩顯示。

可以編程LCD 控制器來支持不同涉及屏幕水平和垂直像素數、數據接口的數據線寬度、接口時序和刷新率的
需要。
特性
STN LCD 顯示:
– 支持3 種類型的LCD 面板:4 位雙掃描、4 位單掃描和8 位單掃描顯示類型
– 支持單色、4 階灰度和16 階灰度
– 支持256 色和4096 色的彩色STN LCD 面板
– 支持多種屏幕尺寸
典型實際屏幕尺寸:640×480、320×240、160×160 等
最大虛擬屏幕尺寸爲4M 字節
256 色模式最大虛擬屏幕尺寸:4096×1024、2048×2048、1024×4096 等
TFT LCD 顯示:
– 支持TFT 的1、2、4、8 bpp(位每像素)調色顯示
– 支持彩色TFT 的16、24 bpp 無調色顯示
– 支持24 位每像素模式下最大16M 色TFT
– 支持多種屏幕尺寸
典型實際屏幕尺寸:640×480、320×240、160×160 等
最大虛擬屏幕尺寸爲4M 字節
64K 色模式最大虛擬屏幕尺寸: 2048×1024 等
LCD 控制器 S3C2440A RISC 微處理器
15-2
共同特性
LCD 控制器有一個支持從位於系統存儲器的視頻緩衝器接收圖像數據的專用DMA。起功能同樣包括:
– 專用中斷功能(INT_FrSyn 和INT_FiCnt)
– 使用系統存儲器作爲顯存
– 支持多種虛擬屏(支持硬件水平/垂直滾動)
– 可編程不同顯示面板的時序控制
– 支持大/小端字節順序,和WinCE 數據格式一樣
– 支持2 種類型SEC TFT LCD 面板
(三星3.5 吋豎屏/256K 色/反光型和半透型a-Si TFT LCD)
LTS350Q1-PD1:帶觸摸屏和前光源單元的TFT LCD 面板(反光型)
LTS350Q1-PD2:只是TFT LCD 面板
LTS350Q1-PE1:帶觸摸屏和前光源單元的TFT LCD 面板(半透型)
LTS350Q1-PE2:只是TFT LCD 面板
注意:WinCE 不支持12 位封裝數據格式。請檢查是否WinCE 可以支持12 位色模式。

Notes:所謂單掃描是指對於一整屏的數據,從上到下、從左至右,一個一個的發出來;雙掃描是指將一整屏數據分爲上下2部分,同時從上至下、從左至右,一個一個的發出來。“4位”、“8位”是指發送數據時使用多少根數據線;需要注意的是,4位雙掃描也用到8根數據線,其中4根擁有上半屏數據,另外4根擁有下半屏數據,

LCD控制器主要有REGBANK(產生必要的控制信號)、LCDCDMA(傳輸數據信號)兩大部分組成。

  • LCDCDMA 專用於DMA,它可以自動從幀存儲器到LCD驅動器傳輸視頻數據。通過使用專用DMA,可以在屏幕上顯示視頻數據而不需要CPU 的介入。
  • VIDPRCS 接收來自LCDCDMA 的視頻數據並且在將其變換爲適當格式爲後通過VD[23:0]數據端口發送視頻數據到LCD 驅動器,例如4/8 位信號信號掃描或4 位雙掃描顯示模式。
  • TIMEGEN 由可編程邏輯組成來支持發現不同LCD 驅動器的一般接口時序和速率的變化需要。TIMEGEN 模塊產生VFRAME、VLINE、VCLK、VM 等等。

LCDCDMA包含2個FIFO:FIFOL、FIFOH,FIFOL有12個字(48字節),FIFOH有16個字。在雙掃描模式下,FIFOL、FIFOH用來傳輸上半部和下半部數據;在單掃描模式下只能使用FIFOH來傳輸數據。

顯存中的數據格式:

在顯示屏上顯示一屏數據,我們成爲一幀,每幀顯示數據中包含N行,每行又有多個點組成,一個點稱爲一個像素。每個像素的顏色使用若干位二進制數據來表示。對於單色顯示(黑白色),一個像素由一位就可以表示,稱爲一個1BPP;對於4階灰階顯示,每個像素需要2位數據表示;16灰階圖像顯示,每個像素需要4位數據;256灰階則需要8位數據表示。

圖像顯示通常從屏幕的左上方開始,逐行顯示。每行從最左側開始顯示,顯示到最右側後顯示下一行的最左側數據。當一屏圖像顯示完成後,重新從屏的左上角開始顯示下一屏圖像。整屏的掃描過程成“Z”型。LCD控制器使用HSYNC信號通知LCD驅動芯片將開始顯示一行圖像數據、使用VSYNC信號通知LCD驅動芯片將開始顯示一屏圖像數據。VSYNC信號出現的頻率表示一秒鐘能顯示多少屏數據。根據VSYNC、HSYNC就可以知道刷新一屏數據的週期和刷新一行數據的週期。

24位TFT模式下,現存中的數據和屏幕商店的對應關係如下圖所示。24位模式下。屏幕上一個點在現存中佔4個字節的空間(R、G、B各佔一個字節),可以通過BPP2BL來控制是高24位數據有效還是低24位數據有效。途中給出了控制器VD[23:0]數據線上傳輸數據的格式,即VD[7:0]傳輸像素點B分量,VD[15:8]傳輸像素點G分量,VD[23:16]傳輸像素點R分量,.當這些引腳要鏈接到LCD控制器的相應顏色分量的引腳上,才能正確顯示圖像。

24BPP Display

BSWP = 0, HWSWP = 0, BPP24BL = 0

-------------------------------------------------------
            D[32:24]            D[23:0]
000H        Dummy Bit           P1
004H        Dummy Bit           P2
008H        Dummy Bit           P3
...


BSWP = 0, HWSWP = 0, BPP24BL = 1

-------------------------------------------------------
            D[31:8]             D[7:0]
000H        P1                  Dummy Bit
004H        P2                  Dummy Bit
008H        P3                  Dummy Bit
...

------------------------------------------

P1 P2 P3 P4 P5 ......

                LCD Panel


------------------------------------------

VD Pin Descriptions at 24BPP
VD     |23|......|16|15|......|8|7|......|0
RED     7  ...... 0
GREEN                7  ...... 0
BLUE                             7  ...... 0

時序控制

 

驅動編寫

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