使用MStar的TSUM系列的芯片,主要是用來(lái)驅(qū)動(dòng)LVDS的液晶顯示屏。
在硬件設(shè)置無(wú)誤的情況下(屏開關(guān)口、屏電壓、PWM等),按照屏規(guī)格書上的參數(shù)配置屏參,就可以完成點(diǎn)屏了.大概分為幾個(gè)步驟,確定屏供電電壓,Panel時(shí)序設(shè)置,H/VTotal設(shè)置,Clock設(shè)置,H/VSync設(shè)置,Bit設(shè)置,刷新率設(shè)置。
1.確定屏的供電電壓
在點(diǎn)屏之前最重要的一步,就是確定屏電壓是多少伏,即我們要點(diǎn)的屏是多少伏的,是否和硬件主板上匹配,如果硬件12V,屏5V,就會(huì)燒屏。一般屏規(guī)格書上可以查到。
注意:屏供電電壓,和屏背光電壓是兩個(gè)不同模塊。
2.Panel時(shí)序設(shè)置
PANEL開機(jī)步驟:先開啟PANEL供電,后傳送PANEL DATA,最后點(diǎn)亮燈管;關(guān)機(jī)時(shí)序則相反。其DELAY時(shí)間由MCU軟體設(shè)定,若時(shí)間設(shè)定不好則出現(xiàn)瞬間白畫面或畫面。
以顯示LOGO為例,先開屏,delay,送LOGO,此時(shí)用戶看到的是黑的,因?yàn)闆]開背光,然后等LOGO穩(wěn)定后,開背光,就可看到LOGO了。
T2是T-con上電到LVDS data輸出的時(shí)間,T3是LVDS data輸出到背光開啟的時(shí)間,而T4和T5是T2和T3對(duì)應(yīng)的掉電時(shí)序,T7是T-con重復(fù)上電的間隔時(shí)間。 屏的LVDS時(shí)序較為關(guān)鍵,設(shè)置不當(dāng)會(huì)出現(xiàn)花屏及閃綠屏等問(wèn)題,
具體各參數(shù)的設(shè)定值需參考屏規(guī)格書。
背光電源通常就是TV的主電源,主電源開啟后,機(jī)芯需要進(jìn)行一系列的初始化的操作,所以T2一般都可以滿足要求。背光時(shí)序通常需要結(jié)合LVDS時(shí)序使用,而且它們有一個(gè)共同的參數(shù)---背光開關(guān)信號(hào)、這時(shí)T3需要做合理的安排,以確保背光開關(guān)信號(hào)能同時(shí)滿足LVDS時(shí)序及背光時(shí)序要求。
屏上電掉電時(shí)序圖如下(來(lái)自屏規(guī)格書):
軟件設(shè)置如下: #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
如果開機(jī)時(shí),出現(xiàn)閃白線,可以考慮在屏規(guī)格時(shí)序內(nèi),增大PanelOnTiming2時(shí)間;另外,如果是用恒流板供電的話,也出現(xiàn)開機(jī)閃白線,也可以考慮增大PanelOnTiming2 時(shí)間就可以解決. 補(bǔ)充一下開屏流程:
補(bǔ)充一下開屏流程:
3.H/V Total的設(shè)置 注意,根據(jù)屏是單通道還是雙通道,HTotal和Clock要相應(yīng)的乘以2,雙通道:HTotal和Clock乘以2,單通道,不乘以2. (1).如何區(qū)分單通道和雙通道,一般屏規(guī)格書上有寫
軟件設(shè)置:根據(jù)是雙通道還是單通道,屏參里有一個(gè)define要設(shè)置成0或者0xFF、
#define PanelDualPort 0xFF // 雙通道為0xFF,單通道為0
(2).H/VTotal參數(shù)設(shè)置
以雙通道的FHD(1920*1080)分辨率的屏為例,屏規(guī)格書如下:
軟件設(shè)置:
#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
**關(guān)于miniHTotal為什么加20的解釋: PanelMinHTotal的設(shè)定要求Panel最小的Htotal加上20。屏有很多分辨率,盡量滿足Panel的不同的特性,把MinHTotal按照PanelMinHTotal來(lái)設(shè)定。會(huì)把Panel能承受的最小的范圍當(dāng)作中間點(diǎn)來(lái)設(shè)定,在設(shè)置的值恰好到最小承受范圍的情況下,如果有一點(diǎn)偏差,Panel就會(huì)出現(xiàn)異常,所以要加20。
注意:PanelHSyncWidth+PanelHSyncBackPorch+PanelWidth<PanelMinHTotal 改miniHtotal會(huì)增大Clock
(3).Clock設(shè)置
單通道Clock不乘以2,雙通道要乘以2,這里以雙通道為例,屏規(guī)格書如下
軟件設(shè)置:
#define PanelDCLK 142
#define PanelMaxDCLK 188
#define PanelMinDCLK 113
DClock=HTotal×VTotal×VFreq×Q,Q為放大系數(shù)
4.H/VSync的設(shè)置 其中,H/VSync的意思做下解釋
(1).前肩(Front Porch)/后肩 (Back Porch) :行同步或場(chǎng)同步信號(hào)發(fā)出后,視頻數(shù)據(jù)不能立即使能,要留出電子槍回掃的時(shí)間。以行掃描為例,從HSYNC結(jié)束到DE開始的區(qū)間成為行掃描的后肩(綠色區(qū)域),從DE結(jié)束到HSYNC開始稱為前肩(紫色區(qū)域)。同樣對(duì)于場(chǎng)掃面也可以由類似的定義。
(2).行同步(HSYNC):行同步就是讓電子槍控制器知道下面要開始新的一行像素
(3).場(chǎng)同步(VSYNC: 場(chǎng)同步就是告訴電子槍控制器下面要開始新的畫面 其中,H/VSync 這些參數(shù)一般不改,但是只要滿足PanelHSyncWidth+PanelHSyncBackPorch+PanelWidth<PanelMinHTotal就可以。其中,Blanking=FrontPorch + Sync + BackPorch VESA表中,H/VSync如下,H/V上一幀畫面:
(4)水平消隱(HBlank):電子槍從左到右畫出象素,它每次只能畫一條掃描線,畫下一條之前要先回到左邊并做好畫下一條掃描線的準(zhǔn)備,這之間有一段時(shí)間叫做水平消隱(HBlank)。
(5)垂直消隱(VBlank):在畫完全部256條掃描線之后它又回到屏幕左上角準(zhǔn)備下一次畫屏幕(幀),這之間的一段時(shí)間就是垂直消隱(VBlank)。電子槍就是在不斷的走‘之’字形。
(6)數(shù)據(jù)使能(DE): 在數(shù)據(jù)使能區(qū)是有效的色彩數(shù)據(jù),不在使能范圍內(nèi)的都顯示黑色。
軟件設(shè)置:
#define PanelHSyncWidth 35
#define PanelHSyncBackPorch 40
#define PanelVSyncWidth 6
#define PanelVSyncBackPorch 20
#define PanelHStart (PanelHSyncWidth+PanelHSyncBackPorch)
#define PanelVStart (PanelVSyncWidth+PanelVSyncBackPorch)
5.Bit設(shè)置,屏是8Bit還是6Bit 般
屏都是6BIT(屏規(guī)格書最上面的介紹會(huì)有)。如果是8bit可以顯示0~255灰階,如果是6bit只有0~63),但是我們的PanelDither 寫成8,因?yàn)橛蠪RC抖色可以實(shí)現(xiàn)假8bit,硬件上省成本?!?nbsp;
軟件設(shè)置:
#define PanelDither 8
關(guān)于8Bit的解釋:bit代表的還是計(jì)算機(jī)二進(jìn)制中的基本單位,而二進(jìn)制信息是由0和1組成的,而我們假設(shè)小謹(jǐn)做的顯示器是2bit面板時(shí),表示顯示器的像素點(diǎn)只能識(shí)別1位信息。那么這個(gè)像素點(diǎn)可以展現(xiàn)的信是“00”“01”“10”和“11”四種,那么這個(gè)像素點(diǎn)可以顯示4(2^2)種顏色。同理,顯示器如果是8Bit,那么總共可以顯示2的8次方=256種顏色。但是每個(gè)像素點(diǎn)都是RGB色組成的,于是8bit最終將能展現(xiàn)256×256×256=16777216種顏色。
FRC抖色簡(jiǎn)單理解:有時(shí)候?yàn)榱颂岣咝詢r(jià)比,屏只有6bit+FRC,然后利用scaler實(shí)現(xiàn)8bit的效果。這樣與8bit屏的效果有一定的差距,但是性價(jià)比高。比如我們要顯示255灰階(白場(chǎng))時(shí),但是我們6Bit,達(dá)不到,所以做法是,在最白和最黑之間抖動(dòng),類似PWM波形,但是白的波形寬度長(zhǎng)一些,所以在視覺看來(lái)是全白的。
6.屏的刷新率設(shè)置
屏的刷新率是指,一秒鐘刷新多少次,比如60Hz刷新率就是一秒鐘刷新60次 從屏規(guī)格書上可以看到屏和最大,最小及合適的刷新率
軟件設(shè)置:
#define PanelMaxVfreq (750+15) // 75Hz
#define PanelMinVfreq (500-15) // 50Hz
至于刷新率為什么是看VFreq,因?yàn)槲覀兊钠潦恰爸弊中螔呙瑁瑥纳系较?,并且是逐行掃描方式,也就是常說(shuō)的p信號(hào),所以刷新率就是1秒鐘掃描次數(shù),即VFreq。
7、LVDS驅(qū)動(dòng)電流
因LVDS接口實(shí)際是差分信號(hào)接口,調(diào)整差分信號(hào)的電流會(huì)影響LVDS信號(hào)輸出的幅度。不同的屏因?yàn)槠ヅ渥杩孤杂胁町悾瑯拥尿?qū)動(dòng)電流,LVDS輸出的幅度也不一樣。當(dāng)LVDS的輸出幅度過(guò)小或過(guò)大時(shí),畫面會(huì)出現(xiàn)閃黑屏、閃彩點(diǎn)的現(xiàn)象。有時(shí)LVDS輸出幅度設(shè)置不當(dāng)時(shí),在畫面上并沒有太明顯的表現(xiàn)。這個(gè)需要做進(jìn)一步的眼圖測(cè)試,測(cè)試不合格時(shí),需要軟件調(diào)整驅(qū)動(dòng)電流來(lái)滿足要求。
8.屏參參數(shù)解釋
LVDS_TIMode:具體含義不太懂,解決問(wèn)題看上面,畫面花屏,可以試下這個(gè)
PanelDualPort:屏的通道 0:?jiǎn)瓮ǖ溃?0xff:雙通道
PanelSwapPort:交換位選擇,數(shù)據(jù)口,有時(shí)候硬件layout板子時(shí)候,可能屏端接口和板子端接口是反的,也會(huì)出現(xiàn)屏點(diǎn)不亮,可以反一下PanelSwapPort,
PanelHTotal:?jiǎn)挝粫r(shí)間行掃描的次數(shù),參考屏規(guī)格書來(lái)。此值非常關(guān)鍵,常影響屏的顯示效果,如上下缺線、白屏、閃動(dòng)、VGA 某些模式拉絲、OSD 底部顯示缺邊等都可以調(diào)它
PanelVTotal:?jiǎn)挝粫r(shí)間列掃描的次數(shù)
PanelHSyncWidth和PanelVSyncWidth:同步信號(hào)的行寬、列高。有時(shí)候圖象只顯示了一半,就可以調(diào)這兩個(gè),V方向和 H 方向
以上是LVDS接口液晶屏點(diǎn)屏流程,具體液晶屏點(diǎn)屏都是要根據(jù)液晶屏規(guī)格書的參數(shù)來(lái)實(shí)際操作,如有遇到什么技術(shù)歡迎來(lái)咨詢。
友達(dá)液晶屏選型:http://cg35.cn/auo/
群創(chuàng)液晶屏選型:http://cg35.cn/qunchuang/