其實工作了這么久后,真的發(fā)現(xiàn)現(xiàn)在的工程師太依賴軟件庫了,做一個成熟的項目可以,稍微新一點,沒做過的,沒現(xiàn)成的代碼的項目,就不敢接了。一來是風(fēng)險控制,二來還是技術(shù)太菜!
其實技術(shù)很簡單,超級簡單,大學(xué)做實驗時候,在開發(fā)板,做什么紅外報警,32位密碼鎖,還有無繩電話等,拉一套學(xué)長的代碼,調(diào)試一下,燒到板子,就OK了。用帶我的張老師的話說“加個殼,你們就可以注冊個商標(biāo)創(chuàng)業(yè)開公司了?!?img doc360img-src='http://image109.360doc.com/DownloadImg/2018/01/2510/122869192_1_20180125103733518' src="http://image109.360doc.com/DownloadImg/2018/01/2510/122869192_1_20180125103733518" alt="這里寫圖片描述" title="">
以前覺得技術(shù)NB,銷售LJ?,F(xiàn)在回頭一看,銷售才是王道啊,技術(shù)什么的,拉個虎皮就能出產(chǎn)品了,慢慢升級質(zhì)量也會上去。只要有銷路,土豪做朋友。
╮(╯▽╰)╭
吐槽完了,還是出點干貨吧?,F(xiàn)在的COMS sensor 完全不顧人眼最適的800W像素,1200W,1300W不停向上搞。那么問題來了:這么高像素的IC,要達(dá)到30幀/S,這傳輸速率要多給力啊,所以,mipi傳輸協(xié)議打敗了串口,并口的傳輸方式,成為現(xiàn)在的新寵。
下面就介紹一下mipi協(xié)議及一些常規(guī)故障排除。不要問我為什么懂,畢竟COMS芯片F(xiàn)AE的工作不是白做的,現(xiàn)在呆過的第一家公司已經(jīng)上市了,祝福啊。對于在上市前夕離開開公司的事情,我真是一點不后悔啊。%>_<%
MIPI ——Mobile industry process interface
多家移動開發(fā)或者應(yīng)用商共同籌劃
接口標(biāo)準(zhǔn)聯(lián)盟
節(jié)約成本,加快產(chǎn)品開發(fā)速度
內(nèi)容豐富,顯示、照相機(jī)、電源管理、射頻、存儲接口等等
CIS(cmos image sensor)中僅用到了mipi協(xié)議中的csi-2(camera serial interface二代,標(biāo)識生成要求)和D-phy(物理層,輸出通道要求)
Camera端做transmitter,平臺端做receiver
簡而言之 mipi的作用就是:
1.數(shù)據(jù)并行轉(zhuǎn)換成串行;
2.功能復(fù)用,節(jié)約傳輸線;
3.相對提高傳輸品質(zhì)和速度;
4.增加傳輸距離;
5.適用新的平臺需求;
為什么mipi那么NB,下面對比一下就照了。
并口需要
Vsync:幀同步信號
Hsync:行同步信號
和8條數(shù)據(jù)線,但這10根線,mipi只需要5根。所以,我行,我來!
Clock和 data中體現(xiàn)差分即低位先出,故如此表示,差分信號P高N低表1,P低N高表0.
現(xiàn)在對mipi大概有點小小的概念了。再給你看看她的照片,保證你喜歡。MIPI 輸出長什么樣?
當(dāng)當(dāng)當(dāng)當(dāng)~~
幀頭標(biāo)識、幀尾標(biāo)識(分別由vsync上升下降沿生成)
行頭標(biāo)識、行尾標(biāo)識(分別由hsync上升下降沿生成)
有效數(shù)據(jù)長包。包含行標(biāo)識,所以可以省略line_sync短包
相對于并口傳輸,即是將vsync、hsync與數(shù)據(jù)共通道復(fù)用傳輸。
總之一句話,能用軟件解決的一定不要動硬件,能動手的一定不要動嘴。人生哲理。
什么?不要看PS過的照片!好吧,下面發(fā)個素顏照。
是不是美如畫。
而mipi的信號符合其通信協(xié)議,
規(guī)定其起始電壓在1.1~1.3V,等等,如下圖(我比較懶,不服來辯)。這是其電氣要求。
然后軟件方面,如下圖:
字節(jié)(byte)為基本傳輸單元,每個byte中有8位(bit)
Sync dyte:用來同步數(shù)據(jù)開始,告知接下來為有效數(shù)據(jù)
DATA TYPE:該包傳輸?shù)氖鞘裁锤袷降臄?shù)據(jù)YUV422(1E)/RAW8(2A)/RAW10(2B)
WC(16bits)= PAYLOAD中的byte數(shù)量(即輸出窗口的1行中有多少個字節(jié),也即列數(shù)。注意raw10為列數(shù)的1.25倍,raw12為列數(shù)的1.5倍)
ECC:校驗datatype和wc是否出錯
Payload=image data
CSC:PAYLOAD數(shù)據(jù)傳輸校驗
*由于插入了許多數(shù)據(jù)標(biāo)識,所以會影響hb或者vb的最小值
MIPI DPHY 終端概念
mipi的信號線是一對差分線,理論上可以高電平傳一個數(shù)據(jù),低電平也傳一個,速度又快,功耗又小。
很多時候,平臺端的mipi時序和Sensor端如果不匹配,就會出問題。硬件問題的話,就亮信號!
Term未連接情況信號時這樣滴。正常的是這樣滴:
Sensor輸出在設(shè)計時已經(jīng)考慮,應(yīng)用時主要是FPC或者PCB走線影響
通常要求:
差分對內(nèi)兩線等長,盡量少折線,方向一致;
差分對間地線走地,減小串?dāng)_;
線上過孔最少;
至少一側(cè)有鋪地;
線長最長不超過20cm;
盡量遠(yuǎn)離天線;
目的:
阻抗匹配、阻抗連續(xù),減少信號損失,獲得較高的信號完整性;
減少信號間耦合,保證信號完整性;
減少與其他射頻信號的相互作用,保證各信號的質(zhì)量;
Settle count
主要是hs_prepare+hs_zero時間與其匹配;
通常設(shè)定T_settle count為T_(hs_prepare+hs_zero)/2;
是平臺設(shè)定參數(shù),通常不改默認(rèn)值,與pclk頻率有關(guān);
不匹配會引起的問題:
卡頓;
不出圖;
不規(guī)則滾屏、拍照分屏
調(diào)節(jié)方法:
增大或者減小T_hs_prepare、hs_zero,參數(shù)最小值為1,有時需要調(diào)的很不可思議才可行,這是需要配成manual模式。
DDR采樣,即在時鐘的上升和下降沿均采集數(shù)據(jù),保證高速傳輸又可以有效降低時鐘頻率,要求時鐘和數(shù)據(jù)相位為正交關(guān)系。
實際中因為負(fù)載差異,會限制時鐘的建立速度,同時數(shù)據(jù)的不規(guī)律輸出(不是確定的輸出序列),所以對setup或者h(yuǎn)old時間要求不同??赡茉斐烧`碼,引起麻點,嚴(yán)重時會丟行。
數(shù)據(jù)傳輸速率,單位為bps(bit per second)
mipi_data=pclk_tot*10(raw10)
=pclk_tot*8 (raw8)
pclk_tot=數(shù)字輸出并行時鐘pclk * 數(shù)字通道數(shù)M
mipi N通道,每通道數(shù)據(jù)率=mipi_data/N
Mipi時鐘速度=每通道數(shù)據(jù)率/2= mipi_data/4
|