1、攝像頭工做原理git
上一篇咱們講了攝像頭模組的組成,工做原理,作爲一種瞭解。下面咱們析攝像頭從寄存器角度是怎麼工做的。如何閱讀攝像頭規格書(針對驅動調節時用到關鍵參數,以GT2005爲例)。編程
規格書,也就是一個器件全部的說明,精確到器件每個細節,軟件關心的寄存器、硬件關心的電氣特性、封裝等等。單單驅動方面,咱們只看對咱們有用的方面就能夠了,不必所有看完。主要這樣資料全都是鳥語(En),所有看完一方面時間上會用的比較多,找到關鍵的地方就好了。性能
一、camera的整體示意圖以下:控制部分爲攝像頭上電、IIC控制接口,數據輸出爲攝像頭拍攝的圖傳到主控芯片,全部要有data、行場同步和時鐘號。GT2005/GT2015是CMOS接口的圖像傳感器芯片,能夠感知外部的視覺信號並將其轉換爲數字信號並輸出。編碼
咱們須要經過MCLK給攝像頭提供時鐘,RESET是復位線,PWDN在攝像頭工做時應該始終爲低。PCLK是像素時鐘,HREF是行參考信號,VSYNC是場同步信號。一旦給攝像頭提供了時鐘,而且復位攝像頭,攝像頭就開始工做了,經過HREF,VSYNC和PCLK同步傳輸數字圖像信號。 數據是經過D0~D7這八根數據線並行送出的。調試
(1)、Pixel Array視頻
GT2005陣列大小爲 1268 列、1248 行,有效像素爲 1616 列, 1216 行。也就是說攝像頭爲1600X1200的時候,像素點要多於這個,去除邊緣一部分,保證圖像質量吧。接口
(2)、IIC 這個不用說了,攝像頭寄存器初始化的數據都從這裏傳輸的,全部的IIC器件都同樣的工做,來張圖吧,後面作詳細分析;圖片
下面這一部分在調試驅動的過程當中比較重要了:ip
(3)、MCLKci
電子元件工做都得要個時鐘吧,攝像頭要工做,這個就是咱們所要的時鐘,在主控制芯片提供,這個時鐘必定要有,要否則攝像頭不會工做的。
(4)、上下電時序,這個要接規格書上來,注間PWDN、RESETB這兩個腳,不一樣的攝像頭不太同樣,這個圖是上電時序,上電時參考一下,知道在那裏看就行;
(5)PCLK \D1~D7
攝像頭獲得的數據要傳出來吧,要有數據,固然數據出來要有時鐘和同步信號了,看下它的時序,和LCD顯示的時序同樣,道理是同樣的:
(6)、主要的寄存器:分辨率、YUV順序、X軸、Y軸鏡相、翻轉
以上工做完成後,也許還有一些問題,分辨率過小; YUV順序不對圖像不對; XY圖像方向。這些工做完成後,若是還有什麼細節的問題,若是你想花時間,看規格書裏面的寄存器能夠解決的,若是不想看,找模組廠的FAE,他們專業的,很快會幫你搞定。
(7)、攝像頭的硬件接口
2、S5pv310上Camera主控芯片上的硬件接口
1、CAMIF Camera Interface
先看一下攝像頭接口框圖:(這個看着有點抽像,咱們放這裏,先了解一下,其實驅動中通常不會涉及到這裏,不過咱們這裏分析了,就把這個帶出來了)
(1)、攝像頭接口的主要屬性:
a、支持多種輸入接口:(就是上面咱們看到的四模式)
DMA (AXI 64-bitinterface) 模式;
MIPI (CSI) 模式;
ITU-R BT 601/ 656/ 709模式;
Direct FIFO (PlayBack)模式;
b、支持多種輸出模式:
DMA (AXI 64-bitinterface) 模式;
Direct FIFO 模式;
c、支持數碼變焦Digital Zoom In (DZI) capability;
d、支持多攝像頭輸入;
e、 支持視頻同步信號極性可編程控制;
f、支持最大輸入分辨率爲8192X8192;
g、支持圖像翻轉(X軸、Y軸鏡相,90、180、270翻轉);
h、支持多種圖片格式;
i、支持捕獲幀控制;
j、支持的圖像特效。
二、FIMC Fully InteractiveMobile Camera
攝像頭的採集的數據要CPU沒法直接處理,主控芯片裏面集成了Camera控制器,叫FIMC(FullyInteractive Mobile Camera)。攝像頭須要先把圖像數據傳給控制器,通過控制器處理(裁剪拉昇後直接預覽或者編碼)以後交給CPU處理。實際上攝像頭工做須要的時鐘(MCLK)也是FIMC給它提供的。
在s5pv310上的攝像頭接口是一個FIMC(徹底交互式移動相機接口),支持ITUR BT-601-605標準、AMX接口、MIPI接口
MIPI 、ITU、AMX
(1)、ITU國際電信聯盟無線電通訊部門ITU-RRadiocommunication Sector of ITU 簡稱ITU-RITU-R BT.601 16位數據傳輸;Y、U、V信號同時傳輸,是並行數據,行場同步單獨輸出。
ITU-R BT.6568/10位數據傳輸;不須要同步信號;串行數據傳輸;傳輸速率是601的2倍;先傳Y,後傳UV。行場同步信號嵌入在數據流中。
(2)、MIPI(移動行業處理器接口)是MobileIndustry Processor Interface的縮寫 MIPI 規範:Camera工做組:MIPI Camera Serial Interface 1.0specification .Camera Serial Interface 2 v1.0 (CSI-2)
(3)、AMX(Advanced eXtensible Interface)是一種總線協議,該協議是ARM公司提出的AMBA(Advanced Microcontroller BusArchitecture)3.0協議中最重要的部分,是一種面向高性能、高帶寬、低延遲的片內總線。
三、接口信息
FIMC信號定義以下所示(YCbCr模式)
Signal
I/O
Description
Type
HREF
I
行同步信號
PCLK
I
像素時鐘
DATA[7:0]
I
像素數據
FIELD
O
FIELD信號
MCLK
O
系統時鐘信號
經過CAM_MCLK給攝像頭提供時鐘,RST是復位線,PWDN在攝像頭工做時應該始終爲低。HREF是行參考信號,PCLK是像素時鐘,VSYNC是場同步信號。一旦給攝像頭提供了時鐘,而且復位攝像頭,攝像頭就開始工做了,經過HREF,PCLK和VSYNC同步傳輸數字圖像信號。數據是經過DATA0~DATA7這八根數據線並行送出的。
四、不一樣接口模式的工做時序
ITU-R BT 656輸入時序圖,這種方式下同步信號已經內嵌到視頻數據中了,所以不須要額外的行和幀同步信號。
ITU-R BT 601輸入時序圖,這種方式下行和幀同步信號獨立於視頻數據,所以須要同步信號。
(ITU-R BT 601: 16位數據傳輸;21芯;Y、U、V信號同時傳輸。
ITU-R BT 656: 9芯,不須要同步信號;8位數據傳輸;串行視頻傳輸;傳輸速率是601的2倍;先傳Y,後傳UV。)
同步信號的時延參數
Ø t1:表示VSYNC前、後插入週期
Ø t2:表示HREF前插入週期
Ø t3:表示 HREF寬度
Ø t4:表示HREF後插入週期
5、camera的時鐘域,三個時鐘:系統時鐘、PCLK、MCLK
每一個攝像頭接口包括三個時鐘域,每個時鐘域是系統總線時鐘,第二個是攝像頭像素時鐘PCLK,第三個時鐘域爲內部時鐘MCLK。系統總線時鐘必需高於PCLK, CAM_MCLK 必需固定頻率分頻,如PLL時鐘。若是有外部時鐘晶振,CAM_MCLK 空掉。不須要同步MMCLK,PCLK應該與schmitt-triggered電平移位器鏈接。
六、硬件接口電路
主控芯片上的接口:
camera 接口