mipi和dsi【轉】


轉自:https://www.cnblogs.com/dirt2/p/5848979.html

轉自: http://blog.csdn.net/longxiaowu/article/details/24410021

 

一、MIPI

MIPI移動行業處理器接口)是Mobile Industry Processor Interface的縮寫。MIPI(移動行業處理器接口)是MIPI聯盟發起的為移動應用處理器制定的開放標准。

已經完成和正在計划中的規范如下:

 

二、MIPI聯盟的MIPI DSI規范

1、名詞解釋

• DCS (DisplayCommandSet):DCS是一個標准化的命令集,用於命令模式的顯示模組。
• DSI, CSI (DisplaySerialInterface, CameraSerialInterface
  • DSI 定義了一個位於處理器和顯示模組之間的高速串行接口。
  • CSI 定義了一個位於處理器和攝像模組之間的高速串行接口。
• D-PHY:提供DSI和CSI的物理層定義
 2、DSI分層結構

DSI分四層,對應D-PHY、DSI、DCS規范、分層結構圖如下:
• PHY 定義了傳輸媒介,輸入/輸出電路和和時鍾和信號機制。
• Lane Management層:發送和收集數據流到每條lane。
• Low Level Protocol層:定義了如何組幀和解析以及錯誤檢測等。
• Application層:描述高層編碼和解析數據流。

3、Command和Video模式
• DSI兼容的外設支持Command或Video操作模式,用哪個模式由外設的構架決定
• Command模式是指采用發送命令和數據到具有顯示緩存的控制器。主機通過命令間接的控制外設。Command模式采用雙向接口
• Video模式是指從主機傳輸到外設采用時實象素流。這種模式只能以高速傳輸。為減少復雜性和節約成本,只采用Video模式的系統可能只有一個單向數據路徑

 

 三、D-PHY介紹

1、 D-PHY 描述了一同步、高速、低功耗、低代價的PHY。

• 一個 PHY配置包括
  •  一個時鍾lane
  •  一個或多個數據lane
• 兩個Lane的 PHY配置如下圖
• 三個主要的lane的類型
  • 單向時鍾Lane
  • 單向數據Lane
  • 雙向數據Lane
• D-PHY的傳輸模式
  • 低功耗(Low-Power)信號模式(用於控制):10MHz (max)
  • 高速(High-Speed)信號模式(用於高速數據傳輸):80Mbps ~ 1Gbps/Lane
• D-PHY低層協議規定最小數據單位是一個字節
  • 發送數據時必須低位在前,高位在后.
• D-PHY適用於移動應用
  • DSI:顯示串行接口
     • 一個時鍾lane,一個或多個數據lane 
  • CSI:攝像串行接口
2、Lane模塊
• PHY由D-PHY(Lane模塊)組成
• D-PHY可能包含:
  • 低功耗發送器(LP-TX) 
  • 低功耗接收器(LP-RX)
  • 高速發送器(HS-TX)  
  • 高速接收器(HS-RX)
  • 低功耗競爭檢測器(LP-CD)
• 三個主要lane類型
  • 單向時鍾Lane
    • Master:HS-TX, LP-TX
    • Slave:HS-RX, LP-RX
  • 單向數據Lane
    • Master:HS-TX, LP-TX
    • Slave:HS-RX, LP-RX
  • 雙向數據Lane
    • Master, Slave:HS-TX, LP-TX, HS-RX, LP-RX, LP-CD
3、Lane狀態和電壓
  • Lane狀態 
    • LP-00, LP-01, LP-10, LP-11 (單端)
    • HS-0, HS-1 (差分)
  • Lane電壓(典型) 
    • LP:0-1.2V
    • HS:100-300mV (200mV)
4、操作模式 
   • 數據Lane的三種操作模式 
    • Escape mode, High-Speed(Burst) mode, Control mode
  •從控制模式的停止狀態開始的可能事件有: 
    • Escape mode request (LP-11→LP-10→LP-00→LP-01→LP-00)
    • High-Speed mode request (LP-11→LP-01→LP-00)
    • Turnaround request (LP-11→LP-10→LP-00→LP-10→LP-00)
  •  Escape mode是數據Lane在LP狀態下的一種特殊操作 
    •在這種模式下,可以進入一些額外的功能:LPDT, ULPS, Trigger
    •數據Lane進入Escape mode模式通過LP-11→LP-10→LP-00→LP-01→LP-00
    •一旦進入Escape mode模式,發送端必須發送1個8-bit的命令來響應請求的動作
    • Escape mode 使用Spaced-One-Hot Encoding
  •超低功耗狀態(Ultra-Low Power State)
    •這個狀態下,lines處於空狀態 (LP-00)
  • 時鍾Lane的超低功耗狀態
    •時鍾Lane通過LP-11→LP-10→LP-00進入ULPS狀態
    •通過LP-10 → TWAKEUP →LP-11退出這種狀態,最小TWAKEUP時間為1ms
  • 高速數據傳輸
    •發送高速串行數據的行為稱為高速數據傳輸或觸發(burst)
    •全部Lanes門同步開始,結束的時間可能不同。
    •時鍾應該處於高速模式
  • 各模操作式下的傳輸過程
    •進入Escape模式的過程 :LP-11→LP-10→LP-00→LP-01→LP-00→Entry Code → LPD (10MHz)
    •退出Escape模式的過程:LP-10→LP-11
    •進入高速模式的過程:LP-11→LP-01→LP-00→SoT(00011101) → HSD (80Mbps ~ 1Gbps)
    •退出高速模式的過程:EoT→LP-11
    •控制模式 - BTA 傳輸過程:LP-11→LP-10→LP-00→LP-10→LP-00
    •控制模式 - BTA 接收過程:LP-00→LP-10→LP-11
  • 狀態轉換關系圖
 
 

四、DSI介紹
1、DSI是一種Lane可擴展的接口,1個時鍾Lane/1-4個數據Lane
  • DSI兼容的外設支持1個或2個基本的操作模式:
    • Command Mode(類似於MPU接口)
    • Video Mode(類似於RGB接口)- 必須用高速模式傳輸數據,支持3種格式的數據傳輸
    •  Non-Burst 同步脈沖模式
     • Non-Burst 同步事件模式
     • Burst模式
  • 傳輸模式:
    • 高速信號模式(High-Speed signaling mode)
    • 低功耗信號模式(Low-Power signaling mode) - 只使用數據lane 0(時鍾是由DP,DN異或而來)。
  • 幀類型
    • 短幀:4 bytes (固定)
    • 長幀:6~65541 bytes (可變)  

• 兩個數據Lane高速傳輸示例

2、短幀結構
  • 幀頭部(4個字節)
    • 數據標識(DI) 1個字節
    • 幀數據- 2個字節 (長度固定為2個字節)
    • 錯誤檢測(ECC) 1個字節
  • 幀大小
    • 長度固定為4個字節
3、長幀結構
  • 幀頭部(4個字節)
    • 數據標識(DI) 1個字節
    • 數據計數- 2個字節 (數據填充的個數)
    • 錯誤檢測(ECC) 1個字節
  •數據填充(0~65535 字節)
    • 長度=WC*字節
  • 幀尾:校驗和(2個字節)
  • 幀大小:
    • 4 + (0~65535) + 2 = 6 ~ 65541 字節

4、幀數據類型

 具體代碼在drivers/video/msm/Mipi_dsi.h中

 

[cpp]  view plain  copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. /* dcs read/write */  
  2. #define DTYPE_DCS_WRITE     0x05    /* short write, 0 parameter */  
  3. #define DTYPE_DCS_WRITE1    0x15    /* short write, 1 parameter */  
  4. #define DTYPE_DCS_READ      0x06    /* read */  
  5. #define DTYPE_DCS_LWRITE    0x39    /* long write */  
  6.   
  7. /* generic read/write */  
  8. #define DTYPE_GEN_WRITE     0x03    /* short write, 0 parameter */  
  9. #define DTYPE_GEN_WRITE1    0x13    /* short write, 1 parameter */  
  10. #define DTYPE_GEN_WRITE2    0x23    /* short write, 2 parameter */  
  11. #define DTYPE_GEN_LWRITE    0x29    /* long write */  
  12. #define DTYPE_GEN_READ      0x04    /* long read, 0 parameter */  
  13. #define DTYPE_GEN_READ1     0x14    /* long read, 1 parameter */  
  14. #define DTYPE_GEN_READ2     0x24    /* long read, 2 parameter */  
  15.   
  16. #define DTYPE_TEAR_ON       0x35    /* set tear on */  
  17. #define DTYPE_MAX_PKTSIZE   0x37    /* set max packet size */  
  18. #define DTYPE_NULL_PKT      0x09    /* null packet, no data */  
  19. #define DTYPE_BLANK_PKT     0x19    /* blankiing packet, no data */  
  20.   
  21. #define DTYPE_CM_ON     0x02    /* color mode off */  
  22. #define DTYPE_CM_OFF        0x12    /* color mode on */  
  23. #define DTYPE_PERIPHERAL_OFF    0x22  
  24. #define DTYPE_PERIPHERAL_ON 0x32  
  25.   
  26. /* 
  27.  * dcs response 
  28.  */  
  29. #define DTYPE_ACK_ERR_RESP      0x02  
  30. #define DTYPE_EOT_RESP          0x08    /* end of tx */  
  31. #define DTYPE_GEN_READ1_RESP    0x11    /* 1 parameter, short */  
  32. #define DTYPE_GEN_READ2_RESP    0x12    /* 2 parameter, short */  
  33. #define DTYPE_GEN_LREAD_RESP    0x1a  
  34. #define DTYPE_DCS_LREAD_RESP    0x1c  
  35. #define DTYPE_DCS_READ1_RESP    0x21    /* 1 parameter, short */  
  36. #define DTYPE_DCS_READ2_RESP    0x22    /* 2 parameter, short */  
五、MIPI DSI信號測量實例

 

 1、MIPI DSI在Low Power模式下的信號測量圖

  

2、MIPI的D-PHY和DSI的傳輸方式和操作模式

 • D-PHY和DSI的傳輸模式
   •  低功耗(Low-Power)信號模式(用於控制):10MHz (max)
   •  高速(High-Speed)信號模式(用於高速數據傳輸):80Mbps ~ 1Gbps/Lane
 • D-PHY的操作模式
   • Escape mode, High-Speed(Burst) mode, Control mode
 • DSI的操作模式
   • Command Mode(類似於MPU接口)
   • Video Mode(類似於RGB接口)- 必須用高速模式傳輸數據
3、小結論
 • 傳輸模式和操作模式是不同的概念
 • Video Mode操作模式下必須使用High-Speed的傳輸模式
 • Command Mode操作模式並沒有規定使用High-Speed或Low Power的傳輸模式,或者說
 • 即使外部LCD模組為Video Mode,但通常在LCD模組初始化時還是使用Command Mode模式來讀寫寄存器,因為在低速下數據不容易出錯並且容易測量。
 • Video Mode當然也可以用High-Speed的方式來發送指令,Command Mode操作模式也可以使用High-Speed,只是沒有必要這么做


免責聲明!

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



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