Panel重要參數解析

panel的從顯示類型上分,主要可分爲LCD和LED兩種。

前者是由背光模塊加上對液晶的控制來顯示圖像,最大的特點是背光不會閃爍,相對而言對眼睛更好。

後者是相對比較新的技術,“像素”顆粒可以各自獨立地進行發光,從而省去了LCD的背光模塊,可以做的更輕薄且不再需要很大的邊框防止漏光,故也是超窄邊框的首選。LED的動態比更好,理論上的顯示效果也會強於LED,但像素顆粒中的藍色發光材料衰減快,所以LED屏的調節難度會遠高於LED,且無論怎樣愛惜,從其點亮開始,使用壽命就已開始了倒計時。若長時間顯示同樣的圖像,可能出現“燒屏”現象,將圖像深深烙印在背景圖像中。

從接口方式上講:從最早的LCD接口(每bit數據一根data線,傳入數據爲raw data),到後來的HDMI和MIPI接口多種多樣。

但無論使用何種接口,panel需要的關鍵參數及相應配置方式都是相通的。

先看一張圖:

Kernel 源碼中Documentation/fb/framebuffer.txt 目錄有描述panel中framebuffer的抽象圖示:

各參數的意義爲:

- pixclock: pixel clock in ps (pico seconds)
- left_margin: time from sync to picture
- right_margin: time from picture to sync
- upper_margin: time from sync to picture
- lower_margin: time from picture to sync
- hsync_len: length of horizontal sync
- vsync_len: length of vertical sync

 

從上圖linux系統進行的frame抽象,比較容易對比出porting panel過程中需要用到的及spec中比較重要的配置參數:

參數 Spec中常用術語 意義 備註
refresh Frame Rate / FPS 每秒刷新的幀率 常被設爲60
xres x resolution 行像素值  
yres y resolution 列像素值  
pixclock pixel clock 像素 clock 單位可爲HZ或時間
left_margin HBP (Horizontal Back Porch) 從Hsync信號enable起,到行有效像素數據輸出時,中間需要插入的時鐘週期數  
right_margin HFP (Horizontal Front Porch ) 從行有效數據輸出完畢,到Hsync信號再次disable間,中途需要插入的時鐘週期數  
upper_margin VFP (Vertical Front Porch) 從Vsync信號enable起(垂直同步信號開始)到有效的幀數據首行間的無效行數  
lower_margin VBP (Vertical Back Porch) 本幀數據輸出結束到下一幀Vsync信號enable(垂直同步信號)前的無效行數  
hsync_len Hsync Width Hsync信號從非使能狀態到enable狀態間需要保持非使能狀態電平的clock數 個人這麼理解
vsync_len Vsync Width Vsync信號從非使能狀態到enable狀態間需要保持非使能狀態電平的clock數 個人也是這麼理解

 

PS:對於MIPI pane,還需要有panel的接口lane參數,其指的就是panel接的lane個數。

爲了更好的理解上表的參數,引用另一篇<博客>中很清楚的圖片(抱歉未找到其轉載的博客源):

引用:

下面以天馬的3.5寸TFT液晶屏 TM035KDH03爲例進行講解。

參數計算:

可以看到LCD時鐘是28M,所以pixclock=1000000/28

行同步脈衝寬度是一個時鐘週期,所以,hsync_len=1

場同步脈衝的寬度是一個行週期,所以vsync_len = 1

上圖是一幀圖像的顯示時序圖。的上圖顯示,up_margin = 13-1=12,, yres= 240,

整個場週期爲263,所以lower_margin= 263-13-240 = 10

同時看到,列同步信號高電平有效,行同步信號也是高電平有效。

上圖是一行的時序圖。

可以看到,left_margin = 69, xres = 320, right_margin = 408 -320 - 70 = 18

數據在上升沿有效,輸出使能是高電平有效。

 

這樣一來,各個參數就很清楚了。

劃重點:場信號的頻率等於frame rate,行信號的頻率等於出現的信號行數(這裏的行數包含有效行數和VFP VBP及Vsync wide)

 

問題又來了,MIPI panel打的MIPI信號與上面所講的這些參數是如何聯繫上的呢?

下面是panel ic內部的部分接口圖,由圖可見,mipi協議傳來的mipi信息會通過內部芯片轉換爲內部可識別的vsnc hsync等信號。

 

所以我們需要將panel需要的HFP/HBP/FPS等參數,通過mipi控制器正常傳輸到芯片端,芯片就會處理這些參數。

 

從<轉載來源>裏可以看到:

 

我們先來看一個公式:Mipiclock = [ (width+hsync+hfp+hbp) x (height+vsync+vfp+vbp) ] x(bus_width) x fps/ (lane_num)/2

即mipi 屏的傳輸時鐘頻率(CLKN,CLKP)等於(屏幕分辨率寬width+hsync+hfp+hbp)x ( 屏幕分辨率高height+vsync+vfp+vbp) x(RGB顯示數據寬度) x 幀率/ (lane_num)/2

 

簡單解釋下:

      一幀畫面需要的數據量爲(單位bit):FRAME_BIT = (屏幕有效顯示寬度+hsync+hfp+hbp) x ( 屏幕有效顯示高度+vsync+vfp+vbp) x(RGB顯示數據寬度24)

     一秒鐘內需要傳輸的數據量爲(單位bps):FRAME_BIT  x  fps(幀率)。

     那爲何要除以lane_num----因爲mipi通訊協議中,一個CLOCK幾個lane是可以同時傳輸數據的。

     爲何又要除以2----因爲根據mipi通訊協議,CLK_N、CLK_P這兩根時鐘線的上升沿/下降沿可以獲取到數據。

 

因此我們可以得出如下結論:

1.在相同的時鐘頻率下,lane數越多,則單位時間內可以傳輸的數據越多。若顯示幀率固定不變,則可以支持的更大的分辨率;而分辨率固定不變的情況下,則我們可以考慮支持更高的幀率顯示。

2.在lane數固定的情況下,提高傳輸的時鐘頻率,則單位時間內也可以傳輸更多的顯示數據。進而我們可以考慮是提高幀率還是提高分辨率,或兩者做出平衡。

 

由此可大致瞭解相關原理。

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