< 前言 >
在<影像傳輸技術介紹(1)-MIPI CSI (一) 接口定義>中,介紹了MIPI在硬體上面的基礎配置與運作方式,本篇將再針對MIPI CSI-2的軟體協議層Protocol Layer做較為詳細的介紹,並著重說明在LLP層的協定。
< CSI-2 Protocol Layer >
CSI-2 Protocol Layer,可分為3種層級,由下往上分別為:
- Lane Management: 根據應用的頻寬需求,Lane數量會介於1~4個之間,並將傳輸資料Stream分配到一個或多個通道(Lane),並在接收端合併資料使其恢復原始Stream。
- Low Level Protocol (LLP): 將資料組合成不同形式的長封包和短封包。
- Pixel Packing/Unpacking: 傳輸端用來將Pixel打包成以byte為單位的資料大小來傳輸;接收端接受每一個Pixel的byte資料並組和還原。
< Low Level Protocol, LLP >
先瞭解幾個名詞定義:
LPS: Low Power State, 封包之間的spacing間距。
ST: Start of Transmission (SoT), 封包的起始訊號, 一般為低速轉換為高速的暫態訊號。
ET: End of Transmission (EoT), 封包的結束訊號, 一般為高速轉換為低速的暫態訊號。
PH: Packet Header, 32 bit表示, 為封包的標頭。
PF: Packet Footer, 16 bit表示, 為封包的結尾。
LLP定義兩種封包大小,分別為長封包與短封包,影像資料會根據長封包的格式做打包,而短封包則是用來做資料的輔助描述。有關LPS的說明,會在另一篇當中做說明。
< Long Packet >
名詞定義:
DI: Data Identifier, 8 bit表示, 定義虛擬通道(VC)和資料型態(DT)。
WC: Word Count, 16 bit表示, 定義PH和PF之間的資料個數, 即資料長度。
ECC: Error Correction Code, 8 bit表示, 錯誤更正碼。
VC: Virtual Channel, 2 bit表示, 最多可表示4個通道。
DT: Data Type, 6 bit表示, 描述該封包的資料內容。
CS: Checksum, 16 bit表示。
PH為封包的標頭,由DI, WC, ECC組成;PF為封包的結尾,一般即為CS 欄位。Packet DATA則為傳輸資料內容,大小為WC x 8 bit,MIPI接收端不會檢查資料的內容,內容通常為傳輸影像的YUV或RGB資料。
< Short Packet >
WC在短封包裡代表的是資料欄位(Data Field),根據Data Type而有不同的內容,如DT為Frame sync類型時,WC內容為Frame的數目;為Line sync類型時,WC內容為Line的數目。
< Data ID >
Data Identifier (DI) 為虛擬通道(VC, 2 bit)和資料型態(DT, 6 bit)所組成的位元組,從定義的結構來看,可以看出MIPI最多可以輸入4組影像來源,其ID為0~3,且內容可以是任意的內容,端看使用者如何使用,如下圖。
Data Type目前定義數種資料型態,範圍從0x00~0x3F,其中0x00~0x0F定義為短封包類型,0x10~0x3F則定義為長封包類型,如下表:
< 文末 >
到這邊,我們是不是對於MIPI CSI-2的協議,有更進一步的認識了呢? 下一篇將會再針對短封包與長封包,做更詳細的例子說明。