MIPI入門 CSI 2介紹(三)

2021-09-25 05:12:17 字數 1084 閱讀 3245

mipi csi-2的low level protocol主要有一下特徵:

csi-2的data lane的low level protocol資料報的一般形式為:

如上圖所示,也就是說,csi-2的資料報有兩種:長包和短包。無論是長包還是短包,包的開頭都是sot(start of

transmission),包的結尾都是eot(end of transmission)。此外,長包的sot之後還有包頭(ph,packet header),eot之前還有包尾pf(packet footer)。在兩次hs傳輸過程之間,插入的是lp狀態(一般是lp11等control狀態,當然也可以進入escape狀態進行lpdt或者進入upls)。

乙個長包的基本結構如下圖所示:

其中,ecc採用的是hamming code的方式,可以糾正ph(包頭)中一位的錯誤或者發現兩位的錯誤,具體可以看一下我之前**的博文:

而checksum採用的則是ccitt的16-bit的crc校檢,即x^16+x^12+x^5+x^0。crc只能檢測數傳輸發生的乙個或者多個錯誤,但是並不能糾正錯誤。具體可以參考這篇文章:

需要注意的是,無論是wc,還是packet data,或者checksum,都是先發低位元組(lsb),再發高位元組(msb)!!!!對於乙個具體的位元組來說,也是先發低位,再發高位,如下圖:

短包的結構比較簡單,具體如下圖所示:

短包只是將長包中的wc的位置作為包的資料域,也就是說,短包每次最多只能發兩個位元組的資料。和長包一致,同樣需要先發lsb,再發msb。應當注意的是,短包一般是用來傳送同步控制訊號的,一般不建議使用短包來傳送使用者資料(當然你可以這樣做)。

同步訊號的型別如下:

而當data type為0x08到0x0f時,則為generic short packet code,即可傳送使用者自定義資料。

其中,di的高兩位表示虛擬通道號,低六位表示data type,如下圖所示:

虛擬通道(vc,virtual channel)技術使得csi-2可以在同乙個lane傳送不同型別的資料,然後在接收端在進行恢復,如下圖所示:

舉例如下:

前面說到過,短包用來發同步控制訊號,長包用來發資料,比如下面的例子,短包發幀同步訊號,長包發資料:

MIPI入門 CSI 2介紹(一)

前面的博文中提到過,csi旨在為高畫質攝像頭和應用處理器之間提供乙個高速的序列介面,舉例來說,在目前的智慧型手機中的攝像頭和cpu之間採用的就是csi協議。目前來說,廣泛使用的是其第二個版本csi 2,最新的版本則是csi 3。置於csi 1是否存在,亦或是曾經是否存在暫時無從考證,至少在mipi的...

lwIP 介紹 2 介紹

我的部落格 現今,無線網路技術比如藍芽與ieee 802.11b g wifi 已經成為大部分人生活不可或缺的一部分。這使得關於健康管理 安全加密 傳輸 工業處理等相關設施的蓬勃發展。小的裝置比如感測器,可以連線到現有的網路設施,在網路上進行監控。網路技術已經證明自身足夠靈活來適應千變萬化的網路環境...

git 快速入門 00 介紹

linus在1991年建立了開源的linux,從此,linux系統不斷發展,已經成為最大的伺服器系統軟體了。linus雖然建立了linux,但linux的壯大是靠全世界熱心的志願者參與的,這麼多人在世界各地為linux編寫 那linux的 是如何管理的呢?事實是,在2002年以前,世界各地的志願者把...