加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

MIPI-DSI 顯示流程之D-PHY

07/31 14:10
8510
閱讀需 16 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

視頻流

像素時(shí)鐘(pixel clock)

顯示屏參數(shù)解析

D-PHY原理

鏈路基礎(chǔ)知識(shí)

操作模式

I/O信號(hào)

DDR(Dual Data Rate)傳輸方式

視頻流

所有現(xiàn)代計(jì)算機(jī)顯示器都是光柵顯示器,意味著顯示的圖像是通過從左到右、從顯示器頂部到底部逐行逐像素編寫而創(chuàng)建的。顯示的圖像或幀由像素的矩形陣列組成。視頻流由一系列以固定時(shí)間間隔顯示的幀組成。這個(gè)時(shí)間間隔可以用Frames Per Second(FPS)或Hz來描述。這個(gè)過程的根源可以追溯到舊式的陰極射線管顯示器。

LCD和OLED顯示屏的工作原理源于傳統(tǒng)的CRT顯示技術(shù),如上所示。它們通過電子束不斷掃描屏幕背面來逐幀點(diǎn)亮圖像。具體過程如下:

每一幀圖像的顯示是通過從左到右、從上到下逐行填充像素的方式完成的,直到整個(gè)屏幕被完全填充。電子束首先從左到右掃描一行圖像并發(fā)光,在一行掃描結(jié)束后,電子束會(huì)關(guān)閉并以水平方向返回到屏幕左側(cè),為下一行圖像的掃描做準(zhǔn)備。然后電子束會(huì)逐行從上到下掃描完整個(gè)屏幕,最終完成一幀圖像的顯示。

在完成一幀圖像顯示后,顯示系統(tǒng)會(huì)連續(xù)顯示多幀畫面,以生成連續(xù)、完整的視覺效果。

這種逐行掃描的工作機(jī)制決定了顯示系統(tǒng)需要引入一些同步信號(hào)和時(shí)序參數(shù)來確保電子束的穩(wěn)定工作,從而獲得良好的顯示效果。

這里提到的以水平方向返回左側(cè),及返回第一行的動(dòng)作不可能在瞬間完成,需要花費(fèi)一定量的時(shí)間完成。所以我們引入以下參數(shù),保證得到穩(wěn)定的光束從而完成顯示:

    HFP (Horizontal Front Porch,水平前肩) - 水平同步信號(hào)的前肩,其代表有效像素?cái)?shù)據(jù)結(jié)束后不顯示的像素個(gè)數(shù),也是之前提到的關(guān)閉和光束回轉(zhuǎn)所需要的時(shí)間間隔。H-SYNC (Horizontal Sync,水平同步) - 在每一行開始前發(fā)送,光束水平越過屏幕所需的時(shí)間。HBP (Horizontal Back Porch,水平后肩) - 水平同步信號(hào)的后肩,其代表水平同步信號(hào)以后的無效行,確保光束在點(diǎn)亮下一行時(shí)是穩(wěn)定的。在HBP信號(hào)后,第一個(gè)有效顯示像素開始發(fā)送。HACTIVE - 水平有效像素。

每幀之間的切換也需要一定量的時(shí)間,我們引入以下參數(shù),保證得到穩(wěn)定的光束從而完成顯示:

    VFP (Vertical Front Porch,垂直前肩)- 垂直同步信號(hào)的前肩,其代表本幀數(shù)據(jù)輸出結(jié)束到下一幀垂直同步周期開始之前的無效數(shù)據(jù)行,也是回轉(zhuǎn)光束所需要的時(shí)間。在VFP信號(hào)之后,下一幀畫面開始掃描。V-SYNC (Vertical Sync, 垂直同步)- 在每一幀的顯示前首先發(fā)送,保證光束從屏幕底部垂直回到頂部所需的時(shí)間間隔。VBP(Vertical Back Porch,垂直后肩)- 垂直同步信號(hào)的后肩,其代表垂直同步信號(hào)以后的無效行。與之前HBP功能相似,為確保光束穩(wěn)定所需的時(shí)間。在VBP信號(hào)之后,第一個(gè)有效像素行開始發(fā)送。VACTIVE - 垂直有效像素。

像素時(shí)鐘(pixel clock)

時(shí)鐘必須按順序保留像素?cái)?shù)據(jù)和同步信號(hào)。這個(gè)時(shí)鐘被稱為像素時(shí)鐘。每個(gè)時(shí)鐘周期傳輸一個(gè)像素。它是大多數(shù)圖像顯示傳輸系統(tǒng)的主要時(shí)鐘。在圖像傳感器的情況下,像素時(shí)鐘時(shí)間周期設(shè)置每個(gè)像素的ADC轉(zhuǎn)換時(shí)間間隔。它是HSYNC和VSYNC信號(hào)的根時(shí)鐘。HSYNC信號(hào)表示每行的開始,VSYNC信號(hào)表示每個(gè)新幀的開始。

ENB 信號(hào)用于指示主動(dòng)像素數(shù)據(jù)傳輸。如果沒有該信號(hào),各種像素管道可能會(huì)將消隱數(shù)據(jù)誤認(rèn)為具有 0 值的像素?cái)?shù)據(jù)。

顯示屏參數(shù)解析

顯示屏參數(shù)通常需要在客戶使用對(duì)應(yīng)屏的driver或DTB中包含。以下以RM67191 MIPI-DSI屏為例進(jìn)行說明:

#gpu/drm/panel/panel-raydium-rm67191.c
static?const?struct?drm_display_mode?default_mode?=?{
????????.clock?=?121000,
????????.hdisplay?=?1080,
????????.hsync_start?=?1080?+?20,
????????.hsync_end?=?1080?+?20?+?2,
????????.htotal?=?1080?+?20?+?2?+?34,
????????.vdisplay?=?1920,
????????.vsync_start?=?1920?+?10,
????????.vsync_end?=?1920?+?10?+?2,
????????.vtotal?=?1920?+?10?+?2?+?4,
????????.width_mm?=?68,
????????.height_mm?=?121,
????????.flags?=?DRM_MODE_FLAG_NHSYNC?|
?????????????????DRM_MODE_FLAG_NVSYNC,
};

屏幕的參數(shù)有時(shí)會(huì)分別以單獨(dú)參數(shù)的方式提供。在新版本的BSP中,其需要通過以上hsync_start, hsync_end 及其他參數(shù)的方式提供。各參數(shù)的具體含義及提供要求可以參考DRM相關(guān)driver中的說明:

/**
?*?linux-imx/include/uapi/drm/drm_mode.h
?*?struct?drm_mode_modeinfo?-?Display?mode?information
?*?@hdisplay:?horizontal?display?size
?*?@hsync_start:?horizontal?sync?start
?*?@hsync_end:?horizontal?sync?end
?*?@htotal:?horizontal?total?size
?*?@hskew:?horizontal?skew
?*?@vdisplay:?vertical?display?size
?*?@vsync_start:?vertical?sync?start
?*?@vsync_end:?vertical?sync?end
?*/

從上述RM67191 及 DRM driver中,我們得到RM67191的屏幕相關(guān)參數(shù)如下:

HFP = 20

H-SYNC = 2

HBP = 34

HACTIVE = 1080

VFP = 10

V-SYNC = 2

VBP = 4

VACTIVE = 1920

在實(shí)際將顯示屏集成到系統(tǒng)中時(shí),需要遵循以下步驟:

從屏幕的數(shù)據(jù)手冊(cè)(datasheet)和技術(shù)規(guī)格(spec)中獲取上述涉及的各種時(shí)序參數(shù),包括水平和垂直方向的消隱間隔、有效像素?cái)?shù)量等信息。這些參數(shù)是配置屏幕驅(qū)動(dòng)所必需的。

在顯示設(shè)備的驅(qū)動(dòng)程序中,需要根據(jù)從數(shù)據(jù)手冊(cè)獲取的時(shí)序參數(shù)對(duì)相關(guān)寄存器或變量進(jìn)行配置和初始化。比如設(shè)置HFP、H-SYNC、HBP、HACTIVE等水平方向的參數(shù)值。

同時(shí)在設(shè)備樹(DTB)中,也需要將這些時(shí)序參數(shù)進(jìn)行配置和聲明,以便操作系統(tǒng)能夠正確識(shí)別和驅(qū)動(dòng)該顯示設(shè)備。

完成上述驅(qū)動(dòng)和設(shè)備樹的配置后,系統(tǒng)就可以正確地初始化和點(diǎn)亮所連接的顯示屏幕了。

總的來說,正確獲取顯示屏的技術(shù)參數(shù),并在驅(qū)動(dòng)程序和設(shè)備樹中進(jìn)行精確配置,是成功集成顯示設(shè)備的關(guān)鍵所在。只有這樣,系統(tǒng)才能穩(wěn)定地輸出預(yù)期的圖像效果。

D-PHY原理

從圖中可以看出,MIPI-DSI接口的顯示流程可以分為兩個(gè)部分:

    D-PHY:這是CSI-2和DSI協(xié)議使用的源同步物理層,負(fù)責(zé)處理物理和電氣方面的通信。Display Serial Interface (DSI):這是處理器和外設(shè)之間的接口,它基于MIPI聯(lián)盟現(xiàn)有的規(guī)范建立。

本篇文章將首先介紹D-PHY的工作原理。

鏈路基礎(chǔ)知識(shí)

MIPI規(guī)范在討論基于CSI-2或DSI組裝系統(tǒng)所需的部件時(shí)使用了一組一致的術(shù)語(yǔ)。

    • 線路(Line):主處理器的單個(gè)引腳與外圍設(shè)備的某個(gè)引腳之間的互連、導(dǎo)線或引線。通道(Lane):需要兩條線路來支持差分信號(hào)。 D-PHY使用差分對(duì)進(jìn)行高速數(shù)據(jù)和時(shí)鐘傳輸。這種差分對(duì)被稱為通道互連( Lane
    Interconnect),但在技術(shù)文檔中大多簡(jiǎn)稱為通道。鏈路(Link):包含一個(gè)時(shí)鐘通道和至少一個(gè)數(shù)據(jù)通道的兩個(gè)設(shè)備之間的連接。 一個(gè)鏈路至少要包括兩個(gè)PHY和兩個(gè)通道的互連。

操作模式

共有四種操作模式:

    控制模式( Control)高速傳輸模式( High-Speed)脫離模式( Escape)超低功耗狀態(tài)( ULPS)模式。

數(shù)據(jù)通道支持所有四種模式,但時(shí)鐘通道僅支持控制模式、高速傳輸模式和超低功耗狀態(tài)模式。正常運(yùn)行時(shí),數(shù)據(jù)通道處于控制模式或高速傳輸模式。高速數(shù)據(jù)傳輸模式在數(shù)據(jù)突發(fā)時(shí)采用,從控制模式的停止?fàn)顟B(tài)( LP-11)開始并在控制模式的停止?fàn)顟B(tài)( LP-11)結(jié)束。通道僅在數(shù)據(jù)突發(fā)時(shí)處于高速模式。 下表描述了時(shí)鐘和數(shù)據(jù)通道可以進(jìn)入的六種物理狀態(tài)。

在正常操作中,數(shù)據(jù)通道會(huì)在低功耗控制模式和高速數(shù)據(jù)傳輸模式之間不斷切換。

I/O信號(hào)

D-PHY IO引腳有兩種不同的電氣操作模式:?jiǎn)味四J胶筒罘帜J健?/p>

    單端模式稱為低功耗( LP)模式,用于脫離模式和控制模式,在主處理器和外圍設(shè)備之間進(jìn)行系統(tǒng)配置/控制。在LP模式下,IO電路使用傳統(tǒng)的CMOS輸出緩沖器(帶斜率控制), 其在接地和VDD_IO之間切換。在LP模式下,組成通道的兩個(gè)IO電路可以獨(dú)立切換。它們提供四種不同的通道狀態(tài): LP-00、 LP-01、 LP-10和LP-11。差分模式被稱為高速( HS)模式,僅用于數(shù)據(jù)傳輸。差分模式只有HS-0和HS-1兩種狀態(tài)。在HS模式下,組成通道的兩個(gè)IO電路輸出極性始終相反,不能同時(shí)為邏輯高或邏輯低。 下圖說明了HS和LP模式之間信號(hào)電平的差異。

正常運(yùn)行時(shí),數(shù)據(jù)通道在低功耗控制模式和高速數(shù)據(jù)傳輸模式之間不斷切換。

DDR(Dual Data Rate)傳輸方式

    • 在單數(shù)據(jù)速率 (SDR) 同步數(shù)據(jù)總線架構(gòu)(例如,SDRAM)中,數(shù)據(jù)在上升沿或下降沿進(jìn)行采樣,但不會(huì)在兩者上采樣。這意味著數(shù)據(jù)速率等于時(shí)鐘速度。各種低功耗模式使用單一數(shù)據(jù)速率時(shí)鐘結(jié)構(gòu)。DDR(雙數(shù)據(jù)速率)總線架構(gòu)可以在每個(gè)時(shí)鐘邊沿上傳輸數(shù)據(jù),而不僅僅是在單個(gè)邊沿上傳輸數(shù)據(jù)。HS 模式下的數(shù)據(jù)傳輸使用 DDR 傳輸方案。這意味著對(duì)于給定的時(shí)鐘頻率 (Fr),每個(gè)通道的數(shù)據(jù)速率為 2 × Fr。

在高速數(shù)據(jù)傳輸模式(High-Speed, HS)的架構(gòu)下,數(shù)據(jù)通道(Data Lane)普遍采用雙數(shù)據(jù)率(Dual Data Rate, DDR)傳輸技術(shù)。這一技術(shù)核心在于,數(shù)據(jù)采樣操作不僅發(fā)生在時(shí)鐘信號(hào)(CLK Lane)的上升沿,還同步在下降沿進(jìn)行,實(shí)現(xiàn)了每個(gè)時(shí)鐘周期內(nèi)兩次采樣,從而有效倍增了數(shù)據(jù)傳輸效率。具體而言,每當(dāng)CLK Lane的狀態(tài)由低變高(上升沿)或由高變低(下降沿)時(shí),Data Lane上的數(shù)據(jù)即被捕獲并傳輸。

因此,若CLK信號(hào)的標(biāo)稱頻率為F Hz,則在DDR模式下,每個(gè)數(shù)據(jù)通道(lane)的實(shí)際數(shù)據(jù)傳輸速率達(dá)到2F bps(比特每秒),實(shí)現(xiàn)了頻率的有效倍增。這一特性在評(píng)估并計(jì)算移動(dòng)產(chǎn)業(yè)處理器接口(MIPI)時(shí)鐘頻率時(shí)尤為重要,其中DRPL(或稱為Bit Clock)作為數(shù)據(jù)速率的直接體現(xiàn),其值除以2即得到MIPI Clock的等效頻率,反映了系統(tǒng)內(nèi)部處理時(shí)鐘信號(hào)與數(shù)據(jù)速率之間的換算關(guān)系。

總結(jié)而言,DDR傳輸技術(shù)通過在每個(gè)時(shí)鐘周期內(nèi)的上升沿和下降沿均進(jìn)行數(shù)據(jù)采樣,實(shí)現(xiàn)了數(shù)據(jù)傳輸速率的加倍,這一機(jī)制在高速數(shù)據(jù)傳輸系統(tǒng)中具有廣泛應(yīng)用,尤其是在MIPI等標(biāo)準(zhǔn)接口的設(shè)計(jì)與實(shí)施中。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
MOC3043M 1 Fairchild Semiconductor Corporation Triac Output Optocoupler With Zero CRSVR, 1-Element, 7500V Isolation, DIP-6
$1.02 查看
AT28C010E-12JU-T 1 Microchip Technology Inc 120NS, PLCC, IND TEMP, GREEN
$43.25 查看
SN65HVD233D 1 Texas Instruments 3.3 V CAN Transceiver with Standby Mode, Loopback 8-SOIC -40 to 125

ECAD模型

下載ECAD模型
$3.93 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

針對(duì)嵌入式人工智能,物聯(lián)網(wǎng)等專業(yè)技術(shù)分享和交流平臺(tái),內(nèi)容涉及arm,linux,android等各方面。