高清攝像頭MIPI接口與ARM處理器的連接

   MIPI攝像頭常見於手機、平板中,支持500萬像素以上高清分辨率。它的全稱爲“Mobile Industry Processor Interface”,分爲MIPI DSI 和MIPI CSI,分別對應於視頻顯示和視頻輸入標準。目前,MIPI攝像頭在其他嵌入式產品中,比如行車記錄儀、執法儀、高清微型相機、網絡監控相機等得到廣泛應用,因此我們以OMAP4處理器爲例,談談MIPI攝像頭如何與ARM處理器連接。

   OMAP4支持MIPI CSI2版本,其中4460支持兩路視頻輸入,爲了進行接口和軟件驗證,我們先在OMAP4開發板 PandaboardES 上設計了攝像頭模塊,如下圖:

wKioL1L4naTCCYQdAAP8Ftek5Pc583.jpg

   攝像頭模塊是通過Pandabaord的J17引腳焊接上去的,爲了更好地理解CSI2接口,我們先看看Pandabaord ES的J17定義了哪些引腳:

wKioL1L4q8qjmbw-AAJRGsRIOWo706.jpg

可以看到J17中包含了5組差分信號,即(CSI21_DX0,CSI21_DY0), (CSI21_DX1,CSI21_DY1), (CSI21_DX2,CSI21_DY2), (CSI21_DX3,CSI21_DY3), (CSI21_DX4,CSI21_DY4)。這五組信號來自於OMAP4CSI2-A接口,如下圖所示:

wKioL1L4rkfBu-z3AAPEYVbNgD0761.jpg

上圖摘自於omap4的手冊。可以看出,OMAP4430其實有兩路CSI2接口,即CSI2ACSI2B,說明其可以接兩個攝像頭,這已經是手機或者平板應用的基本要求了。CSI2A接口擁有五組差分接口(csi2a_dxi, csi2a_dyi, i=0~4, 分別對應J17引腳的(CSI21_DXi,CSI21_DYi, i=0~4)。一組差分信號稱爲Lane,每個Lane可以通過軟件配置爲Data LaneClock Lane,而且差分信號的極性也可以軟件配置。當然最常規的用法是將(dx0,dy0)用於傳輸clock信息。CSI2A可以有4Data Lane1Clock Lane,而CSI2B則只能有1Data Lane1Clock LaneData Lane越多,其能傳輸的速度越高,也就是更傳輸更高分辨率的圖片。Data Lane個數與傳輸速度的關係是這樣的:

data lane個數極限速度對應圖像傳輸幀率
One Data lane1000Mbps1280*720@30fps
Two Data lane2x1000Mbps1280*720@60fps
Three Data lane3x1000Mbps1280*720@90fps

從這個表格中可以看到,MIPI採用差分線傳輸,速度還是很快的,比並行傳輸要快很多。在使用兩組data lane的情況下,就可以做到720p@30fps了。如果要提高圖像的分辨率,在使用同樣多data lane的情況下,就要降低幀率了。

   我們爲pandaboard研發的攝像頭模塊採用ov5640傳感器,它支持兩組data lane,以下是它所支持的傳輸格式:

formatresolutionframe rate
5 Mpixel2592x194415fps
1280x9601280x96045fps
1080p1920x108030fps
720p1280x72060fps
VGA640x48090fps
QVGA320x240120fps

     ov5640擁有2組 data lane,還有1組 clock lane,因此可以如下方式連接ov5640和omap4.

wKiom1L4uAiS5KanAACQnr6eJ3U199.jpg

其中(MC_P,MC_N)爲ov5640的用於傳輸時鐘的引腳,(MD0_P,MD0_N), (MD1_P,MD1_N)爲用於傳輸數據的引腳。除了要連接好ov5640的差分信號外,還要給ov5640輸入時鐘信號,這個時鐘信號可以來自於晶振,也可以來自於omap4。我們選擇一個用一個晶振產生24M的時鐘信號,具體如何連接這裏不再敘述。

接下來我們順便講講OV5640I2C控制信號。另外我們注意到OV5640SIOCSIOD。那麼這I2C控制信號是幹什麼的?一個很明顯的用途就是來設置OV5640的圖像輸出格式,比如是輸出RGB格式還是YUV格式。這是通過寄存器來設置的。

其實OV5640作爲視覺傳感芯片,其有很多寄存器來控制圖像的拍攝參數,比如增益控制、曝光控制等,這些參數一般設置爲默認值即可,但如果用戶想再特定環境下獲得更好的圖像質量,可以設定這些參數來達到最佳效果。比如在晚上開啓夜視模式(把每幀曝光時間調長),或者在室內開啓工頻抑制,在日光燈下圖像不閃爍(通過設置曝光時間爲光周期信號整數倍),可以達到更加靈活的使用效果。運行於omap4的拍照軟件可以運行一個類似於光照檢測的算法來來設定這些參數,從而達到一個最佳效果,這個就得看軟件算法的功力了。

   另外,OV5640內部還有一個ISPImage Signal Processor,能夠做簡單的一些圖像處理算法,比如Gamma校正,圖像縮放等,但相對於OMAP4430的強大的ISP而言,而其功能還是小巫見大巫了,所以推薦直接使用OMAP4430ISP功能。

   好了,關於OMAP4430CSI2 接口大概就總結了到這裏,希望這個接口學習文檔能對大家有幫助。如果需要MIPI CSI2攝像頭做驗證設計,可以加入QQ羣“OMAP4攝像頭”(274241220)做交流



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章