soc camera 子系統簡介

在介紹soc_camera 子系統之前,先看這張結構圖。從如上,我們可以看出,soc_camera 子系統是基於V4L2 system的,其實吧,即使你不使用soc_camera子系統,一樣可以寫攝像頭驅動,那麼它存在的意義到底是什麼呢?目前,大多數移動設備使用的camera sensor不像傳統的PC攝像頭那樣通過USB來連接,而是通過I2C總線與SOC連接,SOC通過I2C來配置和控制設備,通過串行總線或者並行總線來傳輸數據,例如鄙人所在的公司,Camera interface module就是通過4個clk時鐘線和8條並行的數據線與Image sensor連接。總體來說,soc_camera 子系統就是爲移動平臺而生的。

那麼,該平臺的具體意義到底在哪裏呢?首先,soc camera 子系統爲soc camera device 和 soc camera host定義了標準的接口或者說是回調函數,而soc_camera.c主要是用來管理這些接口或者回調函數的。這樣的話,就將camera sensor 和camera host的實現獨立起來了,減少兩者之間的依賴關係,提高camera sensor驅動在不同平臺之間的可移植性。

同時該子系統也考慮到了,一個平臺會存在多個camera host,一個camera host可能會連接多個camera sensor的可能性。不同通常情況下,host與sensor是一對一的關係。這裏簡單介紹了soc camera 子系統,接下來,就要逐個擊破,根據內核代碼,來分析該子系統的相關特性以及如何編寫camera host與camera sensor 驅動。

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