LCD顯示屏原理與應用


1、什么是LCD?

(1)LCD(Liquid Crystal Display)俗稱液晶.
(2)液晶是一種材料,液晶這種材料具有一種特點:可以在電信號的驅動下液晶分子進行旋轉,旋轉時會影響透光性,因此我們可以在整個液晶面板后面用白光照(稱為背光),可以通過不同電信號讓液晶分子進行選擇性的透光,此時在液晶面板前面看到的就是各種各樣不同的顏色,這就是LCD顯示。
(3)被動發光和主動發光。有些顯示器(譬如LED顯示器、CRT顯示器)自己本身會發光稱為主動發光,有些(LCD)本身不會發光只會透光,需要背光的協助才能看起來是發光的,稱為被動發光。
(4)液晶應用領域:電視機、電腦顯示屏、手機顯示屏、工業顯示屏等····

2、LCD顯示單位:幀(frame)


(1)顯示器上一整個畫面的內容成為一個幀(frame),整個顯示器工作時是一幀一幀的在顯示。
(2)電影實際就是以每秒種24幀的速度在播放圖片。
(3)幀內數據:一幀分為多行,一行分為多像素,因此一幀圖像其實就是多個像素組成的矩陣。
(4)幀外數據:整個視頻由很多個幀構成,最終播放視頻時逐個播放各個圖像幀即可。

 

3、為了向前兼容出現的六個時序參數

HSPW 水平同步信號脈寬
HBPD 水平同步信號前肩
HFPD 水平同步信號后肩
VSPW 垂直同步信號脈寬
VBPD 垂直同步信號前肩
VFPD 垂直同步信號后肩

(1)一行的通信過程是這樣的:LCD控制器先發送一個HSYNC高電平脈沖(脈沖寬度是HSPW),脈沖告訴驅動器下面的信息是一行信息。然后開始這一行信息,這一行信息包括3部分:HBPD+有效行信息+HFPD。其中前肩和后肩都屬於時序信息(和LCD屏幕具體有關),有效行信息就是橫向分辨率。所以你可以認為一行總共包含4部分:HSPW+HBPD+有效行信息+HFPD。
(2)一幀圖像其實就是一列,一列圖像由多個行組成,每行都是上面講的這個時序。
(3)一幀圖像的通信過程是這樣的:整個幀圖像信號分為4部分:VSPW+VBPD+幀有效信號+VFPD。VSPW是幀同步信號寬度,用來告訴驅動器一幀圖像要開始了;VBPD和VFPD分別是垂直同步信號前后肩。
(4)必須說明:這6個參數對於LCD顯示器其實本來是沒用的,這些信號其實是老式的CRT顯示器才需要的,LCD本身不需要,但是出於歷史兼容性要求,LCD選擇了兼容CRT顯示器的這些時序要求,所以理解LCD顯示器時序和編程時,用CRT的方式來理解不會錯。
(5)要注意,這幾個時序參數本身是LCD屏幕本身的參數,與LCD控制器無關。所以同一個主板如果接的屏幕不一樣則時序參數設置也會不同。這些參數的來源一般是:第一,廠家會直接給出,一般以實例代碼的形式給出;第二,來自於LCD的數據手冊。
第一種方式,查看九鼎的210裸機教程(x210v3裸機開發教程\src\template-framebuffer-font\source\hardware\s5pv210-fb.c的第774行)
.h_fp = 210,    // 160-210-354
.h_bp = 38,    // 46
.h_sw = 10,    // 1-40
.v_fp = 22,    // 7-22-147
.v_fpe = 1,
.v_bp = 18,   // 23
.v_bpe = 1,
.v_sw = 7,    // 1-20
第二種方式,查看LCD數據手冊(X210光盤資料\A盤\DataSheet\AT070TN92.pdf)

LCD顯示的主要相關概念
1、像素(pixel)
  (1)整個圖像是由一個個的像素組成的,像素就是一個顯示點。
2、像素間距(pitch)
  (1)pitch是連續2個像素的像素中心的距離。一般的像素是方形的,所以橫向pitch和縱向的pitch一樣的。但是也有不一樣的。
  (2)像素間距會影響屏幕的最佳觀看距離。像素間距大的適合遠距離看,像素間距小的適合近距離看。

3、分辨率(resolution)
  (1)整個屏幕的橫向和縱向的像素個數就叫分辨率,譬如X210開發板用的屏幕是800×480.
  (2)屏幕尺寸和分辨率無關的,像開發板的屏幕尺寸是7寸的(純屏幕對角線尺寸是7英寸)。
  (3)屏幕尺寸和分辨率和像素間距三者之間有關聯。

4、清晰度
  (1)清晰度是一個主觀概念,是人眼對顯示效果的一個主觀判斷。說白了就是人看起來感覺清晰不清晰。
  (2)客觀來講,清晰度由分辨率和像素間距共同決定。一般的,屏幕尺寸固定時分辨率越高越清晰,分辨率越低就越不清晰;分辨率固定下,屏幕尺寸越小越清晰,越大越不清晰。
  (3)清晰度還由其他很多因素共同決定。

5、像素深度(bits per pixel,簡稱bpp)
  (1)一個像素在計算機中由多少個字節數據來描述。
  (2)計算機中用二進制位來表示一個像素的數據,用來表示一個像素的數據位越多,則這個像素的顏色值更加豐富、分的更細,顏色深度就更深。
  (3)一般來說像素深度有這么幾種:1位、8位、16位、24位、32位。

應用

  要想LCD工作,必須給LCD屏幕和顯存之間建立一個映射(映射是在CPU初始化LCD控制器來完成的)。(這也是LCD顯示的2個階段的第一階段,第二階段中我們只需要給顯存中丟入相應的數據,LCD屏幕就會自動顯示相應內容)

#define FB_ADDR            (0x23000000)
#define ROW                (600)
#define COL                (1024)
#define HOZVAL            (COL-1)
#define LINEVAL            (ROW-1)

#define XSIZE            COL
#define YSIZE            ROW
u32 *pfd = (u32 *)FB_ADDR;
void draw_xy(u32 x,u32 y, u32 color)
{
*(pfd + COL * y + x) = color;
}

繪制點函數,通過初始化將內存中一段地址作為顯存。向顯存中地址寫入相應值,就會讓相應點顯示顏色。

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM