資料來源:Lcd Controller Timing parameters
Lcd panel 的Timing 最小單位是clock,datasheet中標示為 Clock cycle。
這是panel 的特性,每個panel 有他工作的極限。
像 XXX 的 480x272 type,他的 clock cycle 就標示:
Typ : 9, Max 15, Unit MHz
所以我們就要適當調整(除頻) host controller 的lcd vclk 頻率,讓他落在這個範圍內。
這個 Clock 信號,配合 R.G.B Data line,每個clock 會write一個pixel 的data到Lcd。
-------------------------------------------------------------------------------------------------------------------
Lcd 掃描是橫式的,以這個例子來看,就是一條 480 的線。 這是一條 horizontal 掃描線。
Lcd 需要另一個信號 HSYNC,用來標示Horizontal 掃描線的開始。
HSYNC信號必須要維持一段時間,讓Lcd controller能夠正確收到。在datasheet中,稱作 Horizontal Sync Pulse Width。
480x272 這個type,標示:
Min 2, Typ 41 Unit CLK
基於每個 Lcd controller 內部控制器的能力,一旦收到 HSYNC 後,需要一段內部處理時間,才能開始收取horizontal line 的pixel 資料。
這一段時間叫做 Horizontal Back Porch。是以 lcd clock 為單位來計算的。
這也標示在lcd 的data sheet中。
像 480x272這個 type,就標示 Horizontal back porch:
Min 2, Typ 2, Unit CLK
另外,由於Lcd Controller 實在太糟了,在處理完一條horizontal line的所有pixel後,ㄒ需要休息一段時間,才能再處理下一條。這段時間叫做 Horizontal front porch。
datasheet標示
Min 2, Typ - Unit CLK
這樣,一條掃描線所需要的參數都定義出來了 (都是以 lcd clock 為單位):
|<--HSPW-->|<--HBP-->|<---HORIZONTAL_LINE_DATA--->|<--HFP-->|
-------------------------------------------------------------------------------------------------------------------
掃描線做完後,接著要靠一條一條的掃描線形成一個畫面(frame)。所以這部份的參數內容,都是以一條掃描線的時間為單位的..
和水平掃描線一樣,每個畫面的開頭,都需要一個信號,告知Lcd "這一條線是frame的開頭",這個信號叫做 Vertical Synch : VSYNC。
在datasheet標示 VSYNC 的信號,必須要維持至少 2 條掃描線的時間: Vertical Pulse Width
Min 2, Typ 10, Unit H
其中"H"代表一個掃描線所需要的時間。
完全和Horizontal line一樣,Lcd收到VSYNC後,需要一段準備的時間,叫做 vertical back porch。datasheet上寫
Min 2, Typ 2, Unit H
接下來還是一樣,一個畫面的所有掃描線資料都收完後,Lcd需要休息一段時間,才能再處理下一個Vertical Synch 信號,這段時間叫 Vertical Front Porch。Datasheet上寫:
Min 2, Typ 2, Unit H
所以Vertical 部份看起來Horizontal 一樣,只是他的reference clock 單位變成"Horizontal Line Time (Period)"
|<--VSPW-->|<--VBP-->|<---EVERY_LINES_IN_FRAME--->|<--VFP-->|
-------------------------------------------------------------------------------------------------------------------
所以 決定 Lcd Clock 頻率後,在決定一條horizontal line 需要的clock 數後,就可以得到 horizontal line 的頻率:
Lcd Clock = 9MHz
HSPW(41)+HBP(2)+H_PIXEL_NUMBER(480)+HFP(2) = 525.
Horizontal Freq = 10MHz/525 = 17.14kHz
然後由vertical 參數算出一個畫面(frame)需要的horizontal line 後,就可以知道frame rate (frame freq:
Horizontal Freq = 17.14kHz
VSPW(10)+VBP(2)+V_LINE_NUMBER(272)+VFP(2) = 286
Frame Rate = 17.14kHz/286 = 59.9 Hz
No comments:
Post a Comment