天天看點

LVDS接口液晶屏點屏流程

使用MStar的TSUM系列的晶片,主要是用來驅動LVDS的屏。

在硬體設定無誤的情況下(屏開關口、屏電壓、PWM等),按照屏規格書上的參數配置屏參,就可以完成點屏了.大概分為幾個步驟,确定屏供電電壓,Panel時序設定,H/VTotal設定,Clock設定,H/VSync設定,Bit設定,重新整理率設定。

1.确定屏的供電電壓

在點屏之前最重要的一步,就是确定屏電壓是多少伏,即我們要點的屏是多少伏的,是否和硬體主機闆上比對,如果硬體12V,屏5V,就會燒屏。一般屏規格書上可以查到。

注意:屏供電電壓,和屏背光電壓是兩個不同子產品。

LVDS接口液晶屏點屏流程

2.Panel時序設定

PANEL開機步驟:先開啟PANEL供電,後傳送PANEL DATA,最後點亮燈管;關機時序則相反。其DELAY時間由MCU軟體設定,若時間設定不好則出現瞬間白畫面或畫面。

以顯示LOGO為例,先開屏,delay,送LOGO,此時使用者看到的是黑的,因為沒開背光,然後等LOGO穩定後,開背光,就可看到LOGO了。

T2是T-con上電到LVDS data輸出的時間,T3是LVDS data輸出到背光開啟的時間,而T4和T5是T2和T3對應的掉電時序,T7是T-con重複上電的間隔時間。 屏的LVDS時序較為關鍵,設定不當會出現花屏及閃綠屏等問題,

具體各參數的設定值需參考屏規格書。

 背光電源通常就是TV的主電源,主電源開啟後,機芯需要進行一系列的初始化的操作,是以T2一般都可以滿足要求。背光時序通常需要結合LVDS時序使用,而且它們有一個共同的參數---背光開關信号、這時T3需要做合理的安排,以確定背光開關信号能同時滿足LVDS時序及背光時序要求。

屏上電掉電時序圖如下(來自屏規格書):

LVDS接口液晶屏點屏流程

 軟體設定如下:

#define PanelOnTiming1      50// time between panel & data while turn on power
#define PanelOnTiming2      550 // time between data & back light while turn on power
#define PanelOffTiming1     150// time between back light & data while turn off power
#define PanelOffTiming2    30// time between data & panel while turn off power      

如果開機時,出現閃白線,可以考慮在屏規格時序内,增大PanelOnTiming2時間;另外,如果是用恒流闆供電的話,也出現開機閃白線,也可以考慮增大PanelOnTiming2 時間就可以解決.

補充一下開屏流程:

          

LVDS接口液晶屏點屏流程

 3.H/V Total的設定

注意,根據屏是單通道還是雙通道,HTotal和Clock要相應的乘以2,雙通道:HTotal和Clock乘以2,單通道,不乘以2.

(1).如何區分單通道和雙通道,一般屏規格書上有寫

LVDS接口液晶屏點屏流程
LVDS接口液晶屏點屏流程

 軟體設定:根據是雙通道還是單通道,屏參裡有一個define要設定成0或者0xFF、

#define PanelDualPort       0xFF // 雙通道為0xFF,單通道為0
      

(2).H/VTotal參數設定

以雙通道的FHD(1920*1080)分辨率的屏為例,屏規格書如下:  

LVDS接口液晶屏點屏流程

 軟體設定:

#define PanelWidth    		1920
 #define PanelHeight   		1080
 
 #define PanelHTotal   		2100  
 #define PanelVTotal   		1130 
 
 #define PanelMaxHTotal     	2200
 #define PanelMinHTotal     	2088 // miniHTotal要先乘以2,再+20,為什麼加20,後面講
 
 #define PanelMaxVTotal     	1818
 #define PanelMinVTotal     	1092
      

**關于miniHTotal為什麼加20的解釋:

PanelMinHTotal的設定要求Panel最小的Htotal加上20。屏有很多分辨率,盡量滿足Panel的不同的特性,把MinHTotal按照PanelMinHTotal來設定。會把Panel能承受的最小的範圍當作中間點來設定,在設定的值恰好到最小承受範圍的情況下,如果有一點偏差,Panel就會出現異常,是以要加20。

注意:PanelHSyncWidth+PanelHSyncBackPorch+PanelWidth<PanelMinHTotal

改miniHtotal會增大Clock

(3).Clock設定

單通道Clock不乘以2,雙通道要乘以2,這裡以雙通道為例,屏規格書如下

LVDS接口液晶屏點屏流程
LVDS接口液晶屏點屏流程

 軟體設定:

#define PanelDCLK       		142
 #define PanelMaxDCLK     	    188
 #define PanelMinDCLK     		113
      

 

DClock=HTotal×VTotal×VFreq×Q,Q為放大系數

4.H/VSync的設定

其中,H/VSync的意思做下解釋

(1).前肩(Front Porch)/後肩 (Back Porch) :行同步或場同步信号發出後,視訊資料不能立即使能,要留出電子槍回掃的時間。以行掃描為例,從HSYNC結束到DE開始的區間成為行掃描的後肩(綠色區域),從DE結束到HSYNC開始稱為前肩(紫色區域)。同樣對于場掃面也可以由類似的定義。

(2).行同步(HSYNC):行同步就是讓電子槍控制器知道下面要開始新的一行像素

    水準同步信号 HSYNC(Horizontal Sync)用于表示液晶屏一行像素資料的傳輸結束,每傳輸完成液晶屏的一行像素資料時, HSYNC 會發生電平跳變,如分辨率為 800x480 的顯示屏(800 列, 480 行),傳輸一幀的圖像 HSYNC 的電平會跳變 480 次。

(3).場同步(VSYNC): 場同步就是告訴電子槍控制器下面要開始新的畫面

其中,H/VSync 這些參數一般不改,但是隻要滿足PanelHSyncWidth+PanelHSyncBackPorch+PanelWidth<PanelMinHTotal就可以。其中,Blanking=FrontPorch + Sync + BackPorch

VESA表中,H/VSync如下,H/V上一幀畫面

垂直同步信号 VSYNC(Vertical Sync)用于表示液晶屏一幀像素資料的傳輸結束,每傳輸完成一幀像素資料時, VSYNC 會發生電平跳變。其中“幀”是圖像的機關,一幅圖像稱為一幀,在液晶屏中,一幀指一個完整屏液晶像素點。人們常常用“幀/秒”來表示液晶屏的重新整理特性,即液晶屏每秒可以顯示多少幀圖像,如液晶屏以 60 幀/秒的速率運作時, VSYNC 每秒鐘電平會跳變 60 次。 

(4)水準消隐(HBlank):電子槍從左到右畫出象素,它每次隻能畫一條掃描線,畫下一條之前要先回到左邊并做好畫下一條掃描線的準備,這之間有一段時間叫做水準消隐(HBlank)。

   (5)垂直消隐(VBlank):在畫完全部256條掃描線之後它又回到螢幕左上角準備下一次畫螢幕(幀),這之間的一段時間就是垂直消隐(VBlank)。電子槍就是在不斷的走‘之’字形。

  (6)資料使能(DE): 在資料使能區是有效的色彩資料,不在使能範圍内的都顯示黑色。資料使能信号 DE(Data Enable)用于表示資料的有效性,當 DE 信号線為高電平時,RGB 信号線表示的資料有效。 

LVDS接口液晶屏點屏流程

 軟體設定:

#define PanelHSyncWidth     35
#define PanelHSyncBackPorch 40

#define PanelVSyncWidth     6
#define PanelVSyncBackPorch 20

#define PanelHStart   (PanelHSyncWidth+PanelHSyncBackPorch)
#define PanelVStart   (PanelVSyncWidth+PanelVSyncBackPorch)
      

5.Bit設定,屏是8Bit還是6Bit

般屏都是6BIT(屏規格書最上面的介紹會有)。如果是8bit可以顯示0~255灰階,如果是6bit隻有0~63),但是我們的PanelDither 寫成8,因為有FRC抖色可以實作假8bit,硬體上省成本。  

 

LVDS接口液晶屏點屏流程

 軟體設定:

#define PanelDither     8
      

  

關于8Bit的解釋:bit代表的還是計算機二進制中的基本機關,而二進制資訊是由0和1組成的,而我們假設小謹做的顯示器是2bit面闆時,表示顯示器的像素點隻能識别1位資訊。那麼這個像素點可以展現的信是“00”“01”“10”和“11”四種,那麼這個像素點可以顯示4(2^2)種顔色。同理,顯示器如果是8Bit,那麼總共可以顯示2的8次方=256種顔色。但是每個像素點都是RGB色組成的,于是8bit最終将能展現256×256×256=16777216種顔色。

FRC抖色簡單了解:有時候為了提高成本效益,屏隻有6bit+FRC,然後利用scaler實作8bit的效果。這樣與8bit屏的效果有一定的差距,但是成本效益高。比如我們要顯示255灰階(白場)時,但是我們6Bit,達不到,是以做法是,在最白和最黑之間抖動,類似PWM波形,但是白的波形寬度長一些,是以在視覺看來是全白的。

6.屏的重新整理率設定

屏的重新整理率是指,一秒鐘重新整理多少次,比如60Hz重新整理率就是一秒鐘重新整理60次

從屏規格書上可以看到屏和最大,最小及合适的重新整理率

LVDS接口液晶屏點屏流程

 軟體設定:

#define PanelMaxVfreq   (750+15) // 75Hz
#define PanelMinVfreq   (500-15) // 50Hz
      

  至于重新整理率為什麼是看VFreq可以看上一篇轉載的部落格:LCD顯示的一些基本概念以及DSI的一些clock解釋

這篇部落格介紹比較詳細。附上連結:https://blog.csdn.net/cswuhsdaz/article/details/95231752

因為我們的屏是“之”字形掃描,從上到下,并且是逐行掃描方式,也就是常說的p信号,是以重新整理率就是1秒鐘掃描次數,即VFreq。

7、LVDS驅動電流

     因LVDS接口實際是差分信号接口,調整差分信号的電流會影響LVDS信号輸出的幅度。不同的屏因為比對阻抗略有差異,同樣的驅動電流,LVDS輸出的幅度也不一樣。當LVDS的輸出幅度過小或過大時,畫面會出現閃黑屏、閃彩點的現象。有時LVDS輸出幅度設定不當時,在畫面上并沒有太明顯的表現。這個需要做進一步的眼圖測試,測試不合格時,需要軟體調整驅動電流來滿足要求。

8.屏參參數解釋(也是自己琢磨的,可能不太準确,有好的了解的可以留言補充,共同學習)

LVDS_TIMode:具體含義不太懂,解決問題看上面,畫面花屏,可以試下這個

PanelDualPort:屏的通道 0:單通道, 0xff:雙通道

PanelSwapPort:交換位選擇,資料口,有時候硬體layout闆子時候,可能屏端接口和闆子端接口是反的,也會出現屏點不亮,可以反一下PanelSwapPort,

PanelHTotal:機關時間行掃描的次數,參考屏規格書來。此值非常關鍵,常影響屏的顯示效果,如上下缺線、白屏、閃動、VGA 某些模式拉絲、OSD 底部顯示缺邊等都可以調它

PanelVTotal:機關時間列掃描的次數

PanelHSyncWidth和PanelVSyncWidth:同步信号的行寬、列高。有時候圖象隻顯示了一半,就可以調這兩個,V方向和 H 方向