LCD除錯流程
本來想學的更深入一些再來寫這些總結,但想想,邊學邊寫,記錄成長過程也挺好的。
下面自底向上,瞭解LCD的整個工作流程。
一、LCD的組成結構和各結構的功能。
(1)、背光板模組:提供光的來源;
(2)、上下偏光板,TFT Glass Substrate,液晶:形成偏振光,控制光線的通過與否;
(3)、彩色濾光片:提供TFT LCD紅、綠、藍(光的三原色)的來源;
(4)、ITO透明導電層:提供透明的導電通路;
(5)、Photo Spacer:提供一固定高度給彩色濾光片和TFT Glass Substrate。作為灌入液晶時的空間.及作為上下兩層Glass的支撐。
二、屏時序分析
(1)、上面時序圖上各時鐘延時引數的含義如下:
VBPD(verticalback porch):表示在一幀影象開始時,垂直同步訊號以後的無效的行數。
VFBD(verticalfront porch):表示在一幀影象結束後,垂直同步訊號以前的無效的行數。
VSPW(verticalsync pulse width):表示垂直同步脈衝的寬度,用行數計算。
HBPD(horizontal back porch):表示從水平同步訊號開始到一行的有效資料開始之間的VCL的個數。
HFPD(horizontal front porch):表示一行的有效資料結束到下一個水平同步訊號開始 之間的VCLK的個數。
HSPW(horizontalsync pulse width):表示水平同步訊號的寬度,用VCLK計算。
(2)、幀的傳輸過程
VSYNC訊號有效時,表示一幀資料的開始,訊號寬度為(VSPW +1)個HSYNC訊號週期,即(VSPW +1)個無效行;VSYNC訊號脈衝之後,總共還要經過(VBPD+ 1)個HSYNC訊號週期,有效的行資料才出現; 所以,在VSYNC訊號有效之後,還要經過(VSPW +1 + VBPD + 1)個無效的行;隨即發出(LINEVAL+ 1)行的有效資料;最後是(VFPD + 1)個無效的行;
(3)、行中畫素資料的傳輸過程
HSYNC訊號有效時,表示一行資料的開始,訊號寬度為(HSPW+ 1)個VCLK訊號週期,即(HSPW+1)個無效畫素;HSYNC訊號脈衝之後,還要經過(HBPD+1)個VCLK訊號週期,有效的畫素資料才出現;隨後發出(HOZVAL+1)個畫素的有效資料;最後是(HFPD +1)個無效的畫素;
(4)、將VSYNC、HSYNC、VCLK等訊號的時間引數設定好之後,並將幀記憶體的地址告訴LCD控制器,它即可自動地發起DMA傳輸從幀記憶體中得到影象資料,最終在上述訊號的控制下出現在資料匯流排RGB上。使用者只需要把要顯示的影象資料寫入幀記憶體中。
以上引數可以在屏的datasheet裡查到。
三、MTK平臺驅動引數
我們能做的工作是根據螢幕規格書調整時序引數。遇到具體問題,如果自己找不到問題的根源,可以找硬體和原廠FAE定位原因,你配合他們調整其他引數。
1、畫素時鐘的計算公式:
MTK平臺有專門的excel表(`PLL setting.xlsx)來計算畫素時鐘。
2、其他的時序引數檢視螢幕datasheet直接填入即可。
3、值得注意的是極性的設定:
A、首先看資料線,當開始傳輸第一個資料時,如果EN為下降沿,即傳輸Valid data 時EN低有效。則:Params->dpi.de_pol=LCM_POLARITY_FALLING; 反之亦然;
B、VSYNC和HSYNC分別代表一幀資料和一行資料的開始,當一幀以下降沿開始時,設定:Params->dpi.vsync_pol=LCM_POLARITY_FALLING; 反之亦然;當一行以下降沿開始時,設定:Params->dpi.hsync_pol=LCM_POLARITY_FALLING; 反之亦然。
C、PCLK的極性沒有固定的要求,主要是看其與data的關係,即保證latch到正確的資料,這一點和sensor的PCLK設定相同。當開始傳輸第一個資料時,如果PCLK為下降沿,即在下降沿latch資料時,最好設定:Params->dpi.clk_pol=LCM_POLARITY_FALLING; 反之亦然。
四、除錯LCD步驟
1、 點亮顯示屏
1.1、檢視log,(MTK平臺關鍵字為“LCM Auto Detect”)確保LCD驅動載入成功。
1.2、用示波器檢視DVDD、(AVDD、VGH、VGL、VCOM)(有些介面的屏內建了這些電壓)各組電壓值和上電時序是否符合規格書要求。如果電壓值不對,需檢視硬體原理圖分析電壓來源。可以找硬體協助分析。
1.3、用示波器檢視reset腳拉起時序是否符合規格書要求。如果未拉起,可以檢視硬體原理圖,確定GPIO配置正確。如果拉起時序不對可在驅動中,做相應的延時和反覆拉起操作。
1.4、檢視硬體原理圖確保背光使能腳的GPIO配置正確
1.5、用示波器檢視是否有影象的差分訊號,至此LCD應該能夠正常點亮。
2、 除錯休眠喚醒效果
2.1、根據規格書說明的上下電時序,用示波器檢查DVDD,Reset,AVDD,VGL,VGH,背光使能腳的時序是否符合要求。如果不符合要求可以在驅動中調節相應的上下電順序和加相應的延時。如果VGL,VGH上電時序不對,要找硬體更換相應的上下拉電阻或者電容。
2.2、確保休眠時先關背光,喚醒時最後開背光,效果比較好。
3、 除錯顯示屏顯示效果
3.1、根據規格書配置以下引數:
FRAME_WIDTH、FRAME_HEIGHT、HSYNC_PULSE_WIDTH 、HSYNC_BACK_PORCH、HSYNC_FRONT_PORCH、VSYNC_PULSE_WIDTH、VSYNC_BACK_PORCH、VSYNC_FRONT_PORCH
3.2、根據規格書配置Dclock頻率和極性,保證重新整理率大於等於60hz
3.3、根據規格書配置影象資料的位數
3.4、微調VCOM電壓值
3.5、用示波器檢視AVDD是否存在紋波,如果存在找硬體協助加電容進行濾波。
3.6、用示波器檢視Dclock的波形是否為正弦波,確保波峰,波谷的值符合LCD要求。典型的波峰需要大於等於0.7*DVDD,波谷小於等於0.3*DVDD,如果不符合要求找MTK協助,修改波形。
五、常見問題
1、 屏不亮
參照點亮顯示屏步驟查詢原因。
2、 花屏
可能原因是VGH和VGL電壓值不符合要求。可能是VGH,VGL端的限流電阻過大,導致VGH端的電流不夠大。可以跟換限流電阻增強驅動能力。
3、 開機或者喚醒時,閃一下白屏
可能原因是背光亮早了。可以在背光亮之前加延時。
4、 開機後,隨機出現花屏,白屏,黑屏的現象,進入主介面後,休眠喚醒又正常。
可能原因是開機時MT8193初始化失敗。很有可能是touch panel 驅動IC和MT8193 共用一條匯流排,preloader 階段,TP需要提前供電,否則會拉住I2C,導致MT8193初始化時 I2C通訊超時,無法在預計的時間內正常初始化。可以優先給TP供電。
5、 將機器開著保持畫面不動10分鐘,出現殘影現象。
可能原因VCOM電壓不符合要求。可以嘗試降低VCOM電壓值。
6、 畫面整體平移。
可能原因是解析度設定不對或者幀場同步的極性不對。可以根據規格書修改解析度和幀場同步的極性。
7、 畫面一直有輕微的豎條紋。
可能原因是AVDD不乾淨有紋波,可以嘗試加大電容濾波。
8、 顯示屏顏色偏綠。
可能原因是提供背光的燈顏色偏綠。可以和供應商聯絡。
9、 背光有輕微的閃動。
可以嘗試提高重新整理率改善。
10、畫面上出現藍色噪點
可能原因是Dclock不符可要求導致畫素丟失。解決方法請參照軟體知識庫m3g035顯示屏藍色噪點除錯報告
11、休眠喚醒後出現概率性無黑屏花屏。
可能原因是VGH和VGL的電容在休眠之後放點時間不夠,再喚醒時,電容仍在放電。導致LCD上電時序不對。可以嘗試硬體上將VGL,VGH端的電阻換小,讓電容放電時間縮短或者軟體上,喚醒前,加延時。讓電容放足電。
---------------------
作者:bigman_123
來源:CSDN
原文:https://blog.csdn.net/bigman_123/article/details/19070579
版權宣告:本文為博主原創文章,轉載請附上博文連結!