DSI是一種高速串行接口,旨在通過將數(shù)據(jù)實(shí)時(shí)傳輸?shù)斤@示模塊而不將數(shù)據(jù)存儲(chǔ)在設(shè)備中來降低移動(dòng)設(shè)備中顯示子系統(tǒng)的成本。但是,這意味著必須使用正確的時(shí)序信息發(fā)送數(shù)據(jù)。驗(yàn)證MIPI-DSI最重要的方面是與視頻幀傳輸相關(guān)的時(shí)序參數(shù)。我與幾個(gè)VIP用戶一起完成了整個(gè)練習(xí),并認(rèn)為分享這將很有用,因?yàn)樗鼘⑹蛊渌肆私庖曨l幀傳輸所涉及的復(fù)雜性。
讓我們以888×640分辨率的RGB480視頻幀為例,了解傳輸視頻幀的相關(guān)時(shí)序細(xì)節(jié)。
圖 1:888×640 顯示屏中的 RGB480 視頻格式
在RGB888數(shù)據(jù)格式中,每個(gè)像素有3個(gè)字節(jié)(24位)的信息,每個(gè)分量(R和G和B)有1個(gè)字節(jié)(8位)。在 640×480 分辨率幀中,每行有 640 像素,幀有 480 行。讓我們看看需要與此RGB數(shù)據(jù)一起發(fā)送的時(shí)序信息。
每個(gè)視頻幀應(yīng)具有以下信息(按順序):
VSYNC (同步信息)
VBP(垂直后門廊計(jì)時(shí)信息)
VACT(活動(dòng)視頻數(shù)據(jù)以及水平后門廊和前門廊定時(shí))
VFP(垂直前門廊定時(shí)信息)
VSYNC (同步信息)
VSYNC具有同步脈沖的信息。每個(gè)脈沖信息通過發(fā)送垂直同步開始或水平同步開始數(shù)據(jù)包(第一個(gè)脈沖單獨(dú)具有VSS,其余脈沖具有HSS)進(jìn)行傳輸,然后是水平同步活動(dòng)(只不過是一個(gè)消隱數(shù)據(jù)包),水平同步結(jié)束和BLLP(如果時(shí)間允許,可以引入低功耗狀態(tài),這又是一個(gè)屏蔽數(shù)據(jù)包), 參見圖 2。此信息針對(duì)每個(gè) VSA(垂直同步活動(dòng))線路發(fā)送。在簡化模式下(非突發(fā)/突發(fā)同步事件),主機(jī)只能發(fā)送同步脈沖的啟動(dòng)事件(僅限VSS或HSS),外設(shè)可以在需要時(shí)從收到的同步事件中重新生成同步脈沖。每條VSA線路應(yīng)在tL(線路時(shí)間)范圍內(nèi),時(shí)序參數(shù)由外設(shè)定義。
在此狀態(tài)下涉及的定時(shí)參數(shù)是tL(線路時(shí)間),tHSA(水平同步活動(dòng)時(shí)間)和BLLP,這些時(shí)序參數(shù)的約束顯示在VACT部分中,因?yàn)檫@些參數(shù)還取決于VACT中的其他參數(shù)(HBP,HACT,HFP)。
VBP(垂直后門廊計(jì)時(shí)信息)
VBP具有垂直后廊定時(shí)的信息。VBP 線路信息通過發(fā)送垂直同步端或水平同步開始(第一行單獨(dú)具有 VSE,其余具有 HSS)數(shù)據(jù)包,然后發(fā)送水平同步活動(dòng)(只不過是消隱數(shù)據(jù)包)、水平同步端和 BLLP(如果時(shí)間允許,可以引入低功耗狀態(tài),這又是屏蔽數(shù)據(jù)包)來傳達(dá)), 參見圖 2。此信息將針對(duì)每個(gè) VBP 行發(fā)送。每個(gè) VBP 行都應(yīng)在 tL(行時(shí)間)范圍內(nèi)。
圖2:具有同步脈沖定時(shí)信息的非突發(fā)(來源:DSI 1.1規(guī)范)
此狀態(tài)期間涉及的定時(shí)參數(shù)與 VSA 中的定時(shí)參數(shù)相同,并將在 VACT 中涵蓋,因?yàn)檫@些參數(shù)還取決于 VACT 中的其他參數(shù)(HBP、HACT、HFP)。
VACT(活動(dòng)視頻數(shù)據(jù)以及水平后門廊和前門廊定時(shí))
VACT具有活動(dòng)視頻數(shù)據(jù)以及水平后廊和水平前廊的信息。每個(gè)VACT行都有以下信息
HSYNC(水平同步信息):
這與我們?cè)赩SA或VBP中看到的Hsync信息相同。這是由HSS傳達(dá)的,其次是HAS和HSE。同步信息應(yīng)在外設(shè)定義的tHSA定時(shí)參數(shù)范圍內(nèi)。
HBP(水平后門廊計(jì)時(shí)信息):
這只不過是一個(gè)帶有水平后門定時(shí)信息的空白包。該信息應(yīng)在外設(shè)定義的tHBP時(shí)序參數(shù)范圍內(nèi)。
活動(dòng)線數(shù)據(jù)(在我們的示例中為 RGB888 數(shù)據(jù))
這是具有24位像素信息的活動(dòng)視頻像素?cái)?shù)據(jù)。每條線路作為一個(gè)長數(shù)據(jù)包發(fā)送,也可以分成多個(gè)長數(shù)據(jù)包。但是多條線路不能合并為一個(gè)長數(shù)據(jù)包,在這種情況下,我們可能無法傳達(dá)第二條線路的 HBP 和 HFP。此信息應(yīng)在外設(shè)定義的 tHACT 定時(shí)參數(shù)范圍內(nèi)。
HFP(水平前門廊定時(shí)信息)
這只不過是一個(gè)帶有水平前廊計(jì)時(shí)信息的空白包。該信息應(yīng)在外設(shè)定義的tHFP定時(shí)參數(shù)范圍內(nèi)。
每行應(yīng)在tL(線路時(shí)間)定時(shí)參數(shù)范圍內(nèi)。在此狀態(tài)下涉及的定時(shí)參數(shù)為tL,tHSA,tHBP,tHACT,tHFP。HSA 應(yīng)在 tHSA 最小和最大范圍內(nèi)。同樣,Line、HBP、HACT、HFP 應(yīng)在相應(yīng)的最小和最大時(shí)序參數(shù)范圍內(nèi)。很難對(duì)實(shí)時(shí)進(jìn)行約束,因此我們建議將時(shí)間轉(zhuǎn)換為字?jǐn)?shù)和字?jǐn)?shù)限制。例如,如果最小 tL 為 tL_MIN,最大 tL 為 tL_MAX則通過將其除以比特率然后除以 8(獲得字節(jié)數(shù) = 字?jǐn)?shù))來計(jì)算字?jǐn)?shù)。同樣,從其他參數(shù)的最小和最大范圍計(jì)算其字?jǐn)?shù)。
bit[15:0] min_line_wc = ((tL_MIN ) / bitrate) / 8;
bit[15:0] max_line_wc = ((tL_MAX ) / bitrate) / 8;
// Note: tL_MIN and tL_MAX are in micro seconds and so make sure the units of bitrate is also in micro seconds
constraint constraint_hsa {
hsa_wc inside {[min_hsa_wc:max_hsa_wc]};
}
constraint constraint_hbp {
hbp_wc inside {[min_hbp_wc:max_hbp_wc]};
}
constraint constraint_hfp {
hfp_wc inside {[min_hfp_wc:max_hfp_wc]};
}
constraint constraint_hact {
hact_wc inside {[min_hact_wc:max_hact_wc]};
// Below constraint is required to make sure HACT has one byte of data for RGB in each pixel
(hact_wc % 3) == 0;
}
constraint constraint_line {
line_wc inside {[min_line_wc:max_line_wc]};
// LINE = HSS (4bytes short packet) + HSA + HSE (4bytes short packet) + HBP + HACT + HFP
line_wc == 4 + hsa_wc + 4 + hbp_wc + hact_wc + hfp_wc;
}
constraint constraint_bllp {
//BLLP = LINE – HSS (4bytes short packet) – HSA – HSE (4bytes short packet)
bllp_wc == line_wc – 4 – has_wc – 4;
}
線路時(shí)序約束為hsa_wc、hbp_wc、hact_wc、hfp_wc、HSS 和 HSE 的總和。HSS 和 HSE 是 2 個(gè)短數(shù)據(jù)包,因此每個(gè)數(shù)據(jù)包 4 個(gè)字節(jié)。BLLP(用于 VSA、VBP 和 VFP)的字?jǐn)?shù)應(yīng)減去字?jǐn)?shù)統(tǒng)計(jì)和 2 個(gè)短數(shù)據(jù)包,HSS 和 HSE 各有字?jǐn)?shù)。
VFP(垂直前門廊定時(shí)信息)
VFP具有垂直前廊計(jì)時(shí)的信息。VFP 線路信息通過發(fā)送水平同步開始數(shù)據(jù)包,然后發(fā)送水平同步活動(dòng)(只不過是一個(gè)消隱數(shù)據(jù)包)、水平同步結(jié)束和 BLLP(如果時(shí)間允許,可以引入低功耗狀態(tài),這又是一個(gè)消隱數(shù)據(jù)包)來傳達(dá)。此信息針對(duì) VFP 時(shí)間發(fā)送。每條 VFP 線路都應(yīng)在外設(shè)定義的 tL(線路時(shí)間)計(jì)時(shí)參數(shù)范圍內(nèi)。
DSI1.1規(guī)范(表22,第8.11.5節(jié))中提到的時(shí)序參數(shù)范圍(最小值和最大值)留給外設(shè)供應(yīng)商的分立器件。除了本博客中解釋的非突發(fā)同步脈沖之外,還有不同的視頻幀信息發(fā)送模式,但有微小的變化,例如,在非突發(fā)同步事件中,不需要發(fā)送HSA和HSE,而只需使用HSS即可。同樣,DSI也具有突發(fā)模式,其中像素?cái)?shù)據(jù)使用時(shí)間壓縮突發(fā)格式在更短的時(shí)間內(nèi)傳輸,從而為LP狀態(tài)提供更多時(shí)間。讓我們?cè)诤罄m(xù)博客中看一下這些其他模式。希望此博客對(duì)那些在DSI中驗(yàn)證視頻幀傳輸?shù)娜擞兴鶐椭?/p>
審核編輯:郭婷
-
接口
+關(guān)注
關(guān)注
33文章
8859瀏覽量
152828 -
顯示屏
+關(guān)注
關(guān)注
28文章
4555瀏覽量
75606 -
DSI
+關(guān)注
關(guān)注
0文章
52瀏覽量
42559
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
如果只用到DLPC3433的mipi輸入,將并口進(jìn)行接地處理(如下圖)會(huì)不會(huì)對(duì)mipi-dsi的使能有影響呢?
請(qǐng)問用RK3399的兩個(gè)MIPI-DSI接口連接顯示屏能否實(shí)現(xiàn)雙屏異顯功能?
MIPI協(xié)議中的DSI和CSI是什么?
I.MX8:MIPI-DSI掛起/恢復(fù)失敗怎么解決?
使用imx8mm處理器的定制板上啟用mipi-dsi時(shí)遇到問題求解
如何在iMx8DualX QNX平臺(tái)上啟用MIPI-DSI?
如何使用示波器分析手機(jī)中的MIPI-DSI協(xié)議?
MIPI DSI接收網(wǎng)橋參考設(shè)計(jì)

mipi dsi接口_支持MIPI DSI接口的MCU/MPU大盤點(diǎn)

MIPI DSI轉(zhuǎn)RGB視頻轉(zhuǎn)換芯片方案介紹
ICN6211:MIPI DSI轉(zhuǎn)RGB視頻轉(zhuǎn)換芯片方案介紹

基于RV1126開發(fā)板的MIPI-DSI硬件電路設(shè)計(jì)

評(píng)論