COMS sensor 徹底不顧人眼最適的800W像素,1200W,1300W不停向上搞。那麼問題來了:這麼高像素的IC,要達到30幀/S,這傳輸速率要多給力啊,因此,mipi傳輸協議戰勝了串口,並口的傳輸方式,成爲如今的新寵。
MIPI ——Mobile industry process interface
多家移動開發或者應用商共同籌劃
接口標準聯盟
節約成本,加快產品開發速度
內容豐富,顯示、照相機、電源管理、射頻、存儲接口等等spa
CIS(cmos image sensor)中僅用到了mipi協議中的csi-2(camera serial interface二代,標識生成要求)和D-phy(物理層,輸出通道要求)
Camera端作transmitter,平臺端作receiver
簡而言之 mipi的做用就是:
1.數據並行轉換成串行;
2.功能複用,節約傳輸線;
3.相對提升傳輸品質和速度;
4.增長傳輸距離;
5.適用新的平臺需求; 設計
爲何mipi那麼NB,下面對比一下就照了。
並口須要
Vsync:幀同步信號
Hsync:行同步信號
和8條數據線,但這10根線,mipi只須要5根。因此,我行,我來! blog
Clock和 data中體現差分即低位先出,故如此表示,差分信號P高N低表1,P低N高表0.
如今對mipi大概有點小小的概念了。再給你看看她的照片,保證你喜歡。MIPI 輸出長什麼樣?
噹噹噹當~~ 接口
幀頭標識、幀尾標識(分別由vsync上升降低沿生成)
行頭標識、行尾標識(分別由hsync上升降低沿生成)
有效數據長包。包含行標識,因此能夠省略line_sync短包
相對於並口傳輸,便是將vsync、hsync與數據共通道複用傳輸。
總之一句話,能用軟件解決的必定不要動硬件,能動手的必定不要動嘴。人生哲理。
什麼?不要看PS過的照片!好吧,下面發個素顏照。 ip
是否是美如畫。
而mipi的信號符合其通訊協議,
規定其起始電壓在1.1~1.3V,等等,以下圖(我比較懶,不服來辯)。這是其電氣要求。 開發
而後軟件方面,以下圖: get
字節(byte)爲基本傳輸單元,每一個byte中有8位(bit)
Sync dyte:用來同步數據開始,告知接下來爲有效數據
DATA TYPE:該包傳輸的是什麼格式的數據YUV422(1E)/RAW8(2A)/RAW10(2B)
WC(16bits)= PAYLOAD中的byte數量(即輸出窗口的1行中有多少個字節,也即列數。注意raw10爲列數的1.25倍,raw12爲列數的1.5倍)
ECC:校驗datatype和wc是否出錯
Payload=image data
CSC:PAYLOAD數據傳輸校驗
*因爲插入了許多數據標識,因此會影響hb或者vb的最小值
MIPI DPHY 終端概念
mipi的信號線是一對差分線,理論上能夠高電平傳一個數據,低電平也傳一個,速度又快,功耗又小。
不少時候,平臺端的mipi時序和Sensor端若是不匹配,就會出問題。硬件問題的話,就亮信號! 同步
Term未鏈接狀況信號時這樣滴。正常的是這樣滴: 產品
Sensor輸出在設計時已經考慮,應用時主要是FPC或者PCB走線影響
一般要求:
差分對內兩線等長,儘可能少折線,方向一致;
差分對間地線走地,減少串擾;
線上過孔最少;
至少一側有鋪地;
線長最長不超過20cm;
儘可能遠離天線;
目的:
阻抗匹配、阻抗連續,減小信號損失,得到較高的信號完整性;
減小信號間耦合,保證信號完整性;
減小與其餘射頻信號的相互做用,保證各信號的質量;
Settle count
主要是hs_prepare+hs_zero時間與其匹配;
一般設定T_settle count爲T_(hs_prepare+hs_zero)/2;
是平臺設定參數,一般不改默認值,與pclk頻率有關;it
不匹配會引發的問題:
卡頓;
不出圖;
不規則滾屏、拍照分屏
調節方法:
增大或者減少T_hs_prepare、hs_zero,參數最小值爲1,有時須要調的很難以想象纔可行,這是須要配成manual模式。
DDR採樣,即在時鐘的上升和降低沿均採集數據,保證高速傳輸又能夠有效下降時鐘頻率,要求時鐘和數據相位爲正交關係。
實際中由於負載差別,會限制時鐘的創建速度,同時數據的不規律輸出(不是肯定的輸出序列),因此對setup或者hold時間要求不一樣。可能形成誤碼,引發麻點,嚴重時會丟行。
數據傳輸速率,單位爲bps(bit per second)
mipi_data=pclk_tot*10(raw10)
=pclk_tot*8 (raw8)
pclk_tot=數字輸出並行時鐘pclk * 數字通道數M mipi N通道,每通道數據率=mipi_data/N Mipi時鐘速度=每通道數據率/2= mipi_data/4