LCD之mipi DSI接口驅動調試流程【轉】


轉自:https://blog.csdn.net/liwei16611/article/details/68146912

1、LCD MIPI DSI協議
MIPI-DSI是一種應用於顯示技術的串行接口,兼容DPI(顯示像素接口,Display Pixel Interface)、DBI(顯示總線接口,Display Bus Interface)和DCS(顯示命令集,Display Command Set),以串行的方式發送像素信息或指令給外圍,而且從外圍中讀取狀態信息或像素信息,而且在傳輸的過程中享有自己獨立的通信協議,包括數據包格式和糾錯檢錯機制。

MIPI-DSI具備高速模式和低速模式兩種工作模式,全部數據通道都可以用於單向的高速傳輸,但只有第一個數據通道才可用於低速雙向傳輸,從屬端的狀態信息、像素等式通過該數據通道返回。時鍾通道專用於在高速傳輸數據的過程中傳輸同步時鍾信號。此外,一個主機端可允許同時與多個從屬端進行通信。

LCD mipi系統簡單示意圖如下:

 

 

1.1、mipi DSI協議分層
主要分為四個層:應用層、協議層、通道管理層、物理層

 

 

1.2、物理層
在接收到低速發送請求時,邏輯電路將待發送的指令或數據串行化,並控制輸出高擺幅低功耗電平進行低功耗傳送請求,隨后將指令或數據串行地加載到通道,接收端則識別傳送模式完成串行數據的並行轉換。

當接收到高速請求后,電路發送高擺幅低功耗電平進行高速傳送請求,然后將待發送數據經過串行轉換之后驅動差分驅動模塊以低擺幅信號在通道上傳送,接收端則識別高速模式后正確地檢測其同步信號將高速串行數據完成串並轉換成功地接收。

除此之外,總線控制權可在主機端與從屬端之間交換,發送端發送放棄總線請求,接收端接收請求之后控制總線發起應答,總的過程為TA(turn around)操作,在LCD中我們稱之為BTA(Bus Turn-Around)。當主機端需要獲取從屬端接收數據的狀況或者讀取顯示模塊的參數或顯示數據的時候,主機端發起TA操作,在從屬端發送數據完畢之后自動發起TA操作,歸還總線控制權。

信號兩種工作狀態,高速模式狀態(LP)和低速模式狀態(HS)。

物理層,就是要控制硬件信號的(時序),MIPI-DSI兩種信號類型: 

時鍾lane,兩根線一個Dp,Dn;

數據lane,兩根線一個Dp,Dn;

數據lane根據需求有多個,最少一個lane(lane0),最多4個lane(lane0,lane1,lane2,lan3),其中只有lane0是雙向的(低速模式雙向,高速模式也只能是單向),其他的都只能是單向(高速模式單向)。

數據lane電平:

低速模式LP:0-1.2V,空閑電平(LP11)Dp,Dn是1.2V。

高速模式HS:100-300mV (200mV) 

按照D-PHY協議,在整個協議的物理層中,在主機端和從屬端之間采用的是同步連接,時鍾通道用於傳送高速時鍾,一個或多個數據通道用於傳送低功耗數據信號或高速數據信號每一個通道都是利用兩根互連線實現主機端和從屬端的連接,並且支持高速模式和低速ESCAPE模式。

在高速模式下,發送端同時驅動該通道僅有的兩根互連線,輸出低擺幅差分信號,例如200mV;

低速模式下,發送端分別驅動互連線,各自輸出單端信號,但擺幅相對較大,例如1.2V,如下圖所示:

 

差分發送模塊(HS_TX)以差分信號驅動互連線,高速通道上呈現兩種狀態:differential-0和differential-1。低功耗單端發送模塊(LP_TX)獨立地驅動兩根互連線,通道上則有四種不同的狀態:LP00、LP01、LP10和LP11。協議針對線路電平作了具體的定義並設置了三種工作模式:高速模式、控制模式和ESCAPE模式,通道默認為控制模式,線路處於STOP狀態。當通道需要進入高速模式或ESCAPE模式,發送模塊則需驅動線路為LP01或LP10向接收端發送請求,發送完請求序列之后便進行相應工作模式,發送LP11
便可退出結束傳送回到STOP控制狀態。接收端需要時刻進行LP-RX接收,偵測線路電平明確通道的工作模式。

 

1.2.1、時鍾通道
時鍾通道支持高速模式和ULPS(超低功耗模式)模式:

高速模式應用於整個接口工作於高速數據傳送模式,用於傳送高速時鍾:

 

ULPS模式用於外圍(如整個顯示模塊)要進入休眠模式時將時鍾通道置於超低功耗狀態,節省外圍接口功耗。

 

1.2.2、數據通道
數據通道支持高速模式和ESCAPE模式,在此還包括另外一個重要的功能總線控制權交換——BTA模式。高速模式是以高速的低擺幅差分信號傳送數據,速度快,最高可達
1Gps。在經過請求序列LP11->LP01->LP00之后,HS_TX開始發送串行高速數據,發送結束之后,LP_TX發送LP11回到正常的控制模式。
 

 


ESCAPE模式是由LP_TX直接驅動線路通道發送電平序列傳送低功耗數據。其進入方式為LP11->LP10->LP00->LP01->LP00,退出方式為LP10->LP11。經過請求序列之后,LP_TX發送模式命令,包括trigger命令和低功耗數據傳送(LPDT)等,如下如所示:

 

 

  BTA模式用於交換總線控制權,在控制模式下完成。LP_TX發送請求序列LP11->LP10->LP00->LP10->LP00,經過BTA-GO之后停止驅動總線。相對於總線另一端來說,在接收到請求序列並且經過BTA-SURE之后,LP_TX開始驅動總線,發送確認信號,接管總線。

 


1.3、通道管理層
依據設計所設定最多為4個數據通道,該層在發送端將需要發送的數據按照通道次序分成N組輸送到相應的數據通道,使其經數據通道同時發送至從屬端。在接收端,該層需要做的是將接收到的N組數據組合在一起恢復成原始的數據序列。

數據分組與恢復如下圖:

 

 

  數據分組:


數據恢復:

 

數據操作過程:

 

1.4、協議層
信息傳送采用數據包格式,包括長數據包和短數據包。發送數據的時候,將數據按照信息類型及內容進行壓包,完成ECC碼的生成和CRC碼的添加。接收數據的時候,依據ECC碼和CRC碼就整個數據包進行檢錯糾錯,完成對包頭和數據內容的譯碼並合理輸送到應用層中。

DSI協議是一個基於數據包傳送的通信協議,主機端和顯示模塊之間傳送的命令和數據基本上都以數據包格式進行。DSI所定義的數據包有兩種:端數據包(short packet) 
和長數據包(long packet),短數據包主要用於傳輸命令、讀寫寄存器,長數據包主要用用於傳輸大量圖象數據或部分控制命令。


1.5、應用層
根據應用模塊的需要,在發送端對發送的命令和數據進行初步編碼轉化為MIPI-DSI所規定的格式,而在接收端則將接收的數據還原為應用模塊所支持的數據格式及時序要求。

應用層模塊直接連接到顯示模塊,負責着與顯示模塊的通信。按照協議要求,接口電路支持命令模式和視頻模式,命令模式則是經過接口轉換之后主機端依然得以“命令+參數”格式對顯示模塊進行讀寫操作,而視頻模式下,主機端可以直接將顯示數據寫入顯示模塊,無需命令操作,實時顯示視頻。該模塊在設計的過程中應支持命令模式和視頻模式。

根據協議所定義的數據類型的意義,其中一些數據類型是專門應用於video模式,如0x01指代的是場同步信號(Vsync)開始。所以在此模塊電路的設計中,分成了視頻模式應用電路和命令模式應用電路兩個模塊,視頻模式應用電路模塊僅接收視頻模式相關的命令和數據並以DPI時序格式傳送到驅動中。

cmd模式應用電路模塊適用於非視頻模式的控制命令和數據,對其進行譯碼並以DBI時序格式寫入到顯示模塊中的寄存器或SRAM中。當需要讀取數據的時候,命令模式應用電路模塊通過DBI口可從顯示模塊中讀取相關寄存器的信息等。

mipi總體框圖:

 

 

2、MIPI DSI實踐
2.1、mipi速率
mipi_clk = resX * resY * bps * 1.25 * fps / lane_num                  

注:bps = 3 * 8 = 24位

1.25為余量 

如:

分辨率:2560*1440,fps = 65

MIPI lane:2條數據lane,1條時鍾lane

mip_clk = 2560*1440*60fps*(3*8)* 1.25 * 65 / 2/8/104/1024 = 429Mhz

 

2.2、LCD dsi簡圖
今天以LCD MIPI為例做簡要討論。Display對應MIPI DSI,Camera對應MIPI CSI。和Display相關的就是MIPI DSI,DPI,DBI等,規范了host display controller到panel之間通信時從物理層,鏈路層到應用層的協議。

DPI:Video-mode displays

 

 


DBI:Command-mode displays

 

2.3、mipi導致花屏問題
2.3.1、切換屏幕畫面,中間閃一條豎線
原因:mipi clk_post偏低

分析:data lane在傳輸完成最后一幀數據后進入lp模式,clklane繼續傳輸時鍾信號的時間過短導致datalane未完全進入lp11,狀態不穩定。

解決:

1、增大clk_post

2、時鍾改為continue模式,功耗大

2.3.2、LCD右半邊閃屏
原因:mipi clk偏低,lk階段clk偏低,kernel階段clk正常

分析:數據包長短不一致會導致進入lp11時間點不一致,屬於正常現象  --- 排除    lk頻率偏低導致問題

解決:修整頻率

2.3.3、panel電荷無法釋放導致閃屏 --- 硬件設計
2.4、時序異常
2.4.1、IOVCC上電瞬間,mipi異常脈沖
此時mipi接口還沒准備好,lp-tx被打開,輸出異常脈沖

2.4.2、reset低電平時,mipi信號被拉低
器件由於低功耗考慮,reset為低時,進入深度待機模式,regulator關閉,保護二極管分流,拉低信號。

2.5、mipi測試
需要引出clkp、clkn、data0p,data0n

 

參考:

1、mipi DSI
http://blog.csdn.net/redredbird/article/details/12648847

http://blog.csdn.net/eZiMu/article/details/56279847?locationNum=14&fps=1

2、LCD調試流程
http://blog.csdn.net/dearsq/article/details/52354593?locationNum=9&fps=1

3、lcd DSI論文

http://www.doc88.com/p-0877384948107.html
————————————————
版權聲明:本文為CSDN博主「簡一商業」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/liwei16611/article/details/68146912


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM