以下把 MIPI(以 Display Serial Interface — DSI 為主)驅動 LCD 面板的要點做一個系統性、工程導向的詳解,包含物理層、協定層、模式差異、常見控制信號、設計/佈線注意事項與除錯要點。
1) 簡介 — MIPI DSI 是什麼
MIPI DSI 是 MIPI Alliance 定義的顯示序列介面,常用於手機/平板/嵌入式面板,把像素流或命令從應用處理器送到面板 controller(panel IC)。DSI 之上有 Display Command Set (DCS) 等命令集合,實務上 DSI 常配合 MIPI 的 PHY(如 D-PHY 或 C-PHY)一起使用。 mipi.org
2) 物理層(PHY):D-PHY / C-PHY 概念要點
- D-PHY(最常見): 每條 data lane 為一對差分線(+ / −),另外還有一對差分時鐘線(clock lane)。PHY 有兩種主要工作模式:高速(HS,差分、高頻、用於傳送畫素/大量資料)與低功耗(LP,低速、用於控制/命令或回傳資料)。最小組態是 clock + 1 個 data lane;常見 1/2/3/4 lane。 Intel+1
- C-PHY(替代選擇): 用 3 線「trio」編碼(3-phase symbol encoding),每個 trio 在符號層面能傳更多位元,對於高頻率或降低線數有優勢;D-PHY 與 C-PHY 在很多器件上可以共用引腳。 Arasan Chip Systems+1
- 頻寬與規格更新: D-PHY 隨版本提升速率(例如新版 D-PHY 可達更高 Gbps 類別),因此選 PHY 時要注意所需頻寬是否與 panel/SoC 相容。 mipi.org
3) 協定層(DSI)與資料封包
- 封包(Packet)架構: DSI 傳輸以 packet 為單位,主要分短封包(short packet,常用於指令/少量參數)與長封包(long packet,大量資料如像素資料)。封包 header 含 Virtual Channel (VC)、Data Type (DT)、Word Count(長封包)與 ECC/CRC 等。 Wenting's Web Page+1
- Virtual Channel(虛擬通道): 支援多個虛擬通道(例如同一條物理連線可帶多個 stream),常用在多面板或多路畫素 stream 的應用。 Wenting's Web Page
- Display Command Set (DCS): panel 控制(像素格式、顯示開關、Gamma、開背光)常用 DCS 命令集合來下達。 mipi.org
4) 動作模式:Command Mode vs Video Mode(工程應用差異)
- Command Mode(命令模式): Host 以「指令/資料」方式寫入 panel 的 GRAM/framebuffer(panel 通常有自己的顯示記憶體),Host 在更新畫面時只需寫入需要改變的區域。適合帶有面板內存且需要省電或間歇更新的系統。啟動/傳輸時可以多用 LP 以及短/長封包控制。 Macnica+1
- Video Mode(即時影像模式): Host 連續以像素流(real-time)送出影像資料給 panel(面板僅作 timing controller),通常像素資料必須透過 HS 模式傳輸,常用於沒有或很少面板緩衝記憶體的系統(如某些相機/鏡頭顯示或簡單 LCD)。Video mode 又細分為非 burst/同步脈衝、非 burst/事件、以及 burst 模式等,選擇需看 panel 支援情況。 Macnica+1
5) 面板控制信號(外部 pin)與同步問題
- 常見額外腳位:RESET(面板復位)、TE(Tearing Effect / VSYNC 同步)、BACKLIGHT(BL)控制、以及供電開關。TE 通常由 panel 在每幀安全時刻輸出,Host 可以此為觸發點去寫入 GRAM,避免畫面 tearing。TE 也可透過 DSI lane 的 TE trigger message 以 lane 方式回傳(視 panel/host 支援)。 Focus LCDs+1
6) 設計與 PCB 佈線注意事項(實務重點)
- 差分線的阻抗控制與長度配對(skew control):HS 資料 lane 與 clock lane 要做阻抗 100Ω 差分控制、並把 clock 與各 data lane 的延遲/長度做匹配到可接受的 skew(通常幾十 ps 範圍內)。 羅德與施瓦茨
- HS vs LP 路徑隔離:在 PCB 走線時盡量避免交叉或長距離不一致使 HS 眼圖退化;高頻差分線應走外層或有明確地平面層支持。 羅德與施瓦茨
- 終端/ESD/電源完整性:PHY 端可能需要 termination 或 LDO 穩壓、以及良好的地平面與去耦。某些新版 D-PHY receiver 會內建 CTLE 或 equalizer,佈線時也要考量。 mipi.org
7) 常見問題與除錯步驟(工程 checklist)
- 畫面黑或亂碼:先檢查 panel init sequence(RESET timing、power on sequence、DCS 初始化命令)、pixel format(RGB565/666/888)與 driver 設定是否一致。
- DSI packet CRC / ECC error:檢查 lane skew、阻抗、接地、以及 HS 訓練是否成功。
- tearing(畫面撕裂):面板若有 TE pin,應使用 TE 作同步;若無,確保 command/video 模式與寫入策略(framebuffer 更新)配合好。 Espressif 文檔+1
- 時脈/頻寬不足:若解析度/刷新率要求太高,可能需要增加 lane 或切換到 C-PHY / 更高速的 D-PHY(檢查 panel 與 SoC 支援的最大 lane/速率)。 mipi.org
8) Linux / Device Tree(快速提示)
在 Linux 中使用 mipi_dsi 面板時,device tree 常會有屬性如 data-lanes、pixel-format、mode、height、width、以及 te 等,驅動程式(panel driver)要提供對應的 DCS 初始化 sequence(通常在驅動或 panel 的 DT/driver 裡)。在開發時檢查 DT binding(mipi_dsi 相關)與 panel datasheet 的 Init sequence 非常重要。
五題自問自答:
Q1:為什麼 MIPI DSI 需要分 HS(High-Speed) 與 LP(Low-Power) 模式?
A1:
因為 MIPI DSI 同一組差分線要同時承擔「高速傳輸像素」和「低速命令/控制」的角色。
- HS 模式:差分信號,Gbps 級,主要傳輸畫素資料。
- LP 模式:單端信號,Mbps 級,功耗低,主要用於初始化、寄存器配置、ACK/TE 回傳。
→ 這樣設計可以在相同硬體線路上同時達到高效能與低功耗。
Q2:Command Mode 和 Video Mode 的差異是什麼?
A2:
- Command Mode:面板有內部影像緩衝,Host 只在更新畫面時傳資料。適合 UI、低功耗應用。
- Video Mode:面板依賴 Host 持續送像素流,沒有緩衝,常用於即時影像顯示。
→ 選錯模式會導致「黑屏」或「撕裂」等問題。
Q3:為什麼有些 LCD 需要 TE(Tearing Effect)腳位?
A3:
因為在 Command Mode 下,如果 Host 在掃描期間寫入 GRAM,會造成畫面撕裂。
TE pin 是一個 垂直同步訊號,告訴 Host 何時安全更新畫面。
有些 panel 也支援 TE message 回傳(透過 DSI lane 傳送),而不需要額外引腳。
Q4:MIPI 走線設計上需要注意什麼?
A4:
- 資料與時鐘差分線阻抗需控制在 100Ω 差分。
- Data lane 與 Clock lane 的長度需匹配,避免 skew 超過規格。
- 走線盡量靠近接地平面,避免串擾與 EMI。
- 電源/背光線需加濾波與 ESD 保護。
若走線品質不好,常見錯誤是 CRC/ECC error 或完全黑屏。
Q5:如果面板黑屏,應該先檢查哪些?
A5:
- Reset 與 Power-on 時序 是否正確(面板 datasheet 上會列出 ms 級 timing)。
- Init command sequence 是否正確(RGB format、寄存器設定)。
- MIPI lane 數與速率 是否符合(Host 與 panel 要一致)。
- Command / Video mode 是否選對。
TE/同步機制 是否有正確使用。
參考來源