回想這工作的這幾年,嘗盡社會的辛酸艱難,從一開始什麼都沒有到30萬,從30萬到200萬,從200萬到1300萬,不是炫耀,我只是想通過我自己的經歷告訴我的朋友們「手機像素越高,拍的照片越清晰」
攝像頭結構我初中的時候,有一次我考了年級第7名,學校獎勵了 200塊錢,我當時非常開心,第一時間就想去買一個照相機,我想把自己那時看到的畫面都記錄下來,可惜的是,我看上那個最便宜的也要兩百多,然後我媽跟我說先把錢存她那裡,等過陣子有錢了再給我買,然後,你可能想知道然後怎麼了,然後就沒有然後了,我最開始的照相機就是大學的時候,我哥給我買的那個大塊頭手機,鈴聲一響起來,一頭熟睡的母豬都能被吵醒。
最開始的照相機是那種手動對焦的,就是轉動馬達讓感光晶片能接收到最好的信號,俗稱對焦。
說起成像原理,我們不得不說小孔成像,就是有了小孔成像,我們才有了相機這麼神奇的東西。
小孔成像是是比較古老的方式了,隨著現在技術的發展,已經使用了新的方式替代小孔成像,因為小孔成像的孔很小,也造成了拍攝存在很多局限性。
camera工作原理是外部光線穿過 lens 後, 經過 color filter 濾波後照射到 Sensor 面上, Sensor 將從 lens 上傳導過來的光線轉換為電信號,再通過內部的 AD 轉換為數位訊號。如果 Sensor 沒有集 成 DSP,則通過 DVP 的方式傳輸到baseband,此時的數據格式是 RAW DATA。如果集成 了 DSP, RAW DATA 數據經過 AWB、 則 color matrix、 lens shading、 gamma、 sharpness、 AE 和 de-noise 處理(手機一般在cpu isp端做),後輸出 YUV 或者 RGB 格式的數據。最後會由 CPU 送到 framebuffer 中進行顯示,這樣我們就看到 camera 拍攝到的景象了。
我們先用眼睛通過目鏡確定當前拍攝的這個人是不是一個靚仔,然後呢,讓這個靚仔做一個比較帥點的姿勢,然後按下快門就,擋光板抬起,把光線照到感光器上,感光器是一個模擬圖片,通過ADC轉換數位訊號,存儲到存儲晶片上。
硬體原理圖分析
POWER:
VDD_CAMA28 ----2.8v camera的模擬電壓
VDD_CAMD28 ----1.5v camera的工作電壓
VDD_CAMIO28 ----2.8v camera的GPIO口數字電壓
OUTPUT:
CAM_DATA: camera的數據管腳。此數據腳可以輸出的格式有YUV、RGB、JPEG
CAM_VSYNC: camera的幀同步信號管腳。一個VYSNC信號結束表示一幀(即一個畫面)的數據已經輸出完畢
CAM_HSYNC: camera行同步信號管腳。一個HSYNC信號結束表示一行的數據已經輸出完畢
CAM_PCLK: 像素同步信號管腳。一個PCLK信號結束表示一個數據已經輸出完畢
INPUT:
CAM_PWDN: camera的使能管腳,當camera處於PWDN模式時,一切對camera的操作都是無效的,因此,在RST之前,一定要將PWDN管腳置為normal模式
CAM_RST: camera的復位管腳。此方式為硬復位模式,一般管腳置為低,camera處於硬復位狀態,camera的各個IO口恢復到出廠默認狀態。只有在XCLK開啟後,將RESET置為低,硬復位才有效,否則復位無效。
CAM_MCLK: camera工作時鐘管腳。此管腳為主控提供camera的工作時鐘
CAM_I2C: camera與主控的通信管腳Camera主要的通信接口是i2c,數據傳輸是mipi
我們在軟體調試時,camera大致流程:
第一步:給sensor進行上電和輸出時鐘信號;
第二步:然後通過i2c進行通信,通過發送地址,cpu查找camera;
第三步:在打開camera時,通過i2c下發,對sensor寄存器進行適配和準備工作;
第四步:camera數據輸出,通過mipi給到cpu端進行採集;
Sensor類型4.1、常見的攝像頭傳感器類型主要有兩種
CCD(Chagre Couled Device),即電荷耦合器,目前被廣泛應用於大部分數位相機上,這是一種特殊的半導體材料,它由大量獨立的光敏元件組成,這些光敏元件通常按矩陣排列。光線透過鏡頭照射到CCD上,並轉換成電荷,每個元件上的電荷量取決於其受到的光照強度。當攝影者按動快門時,CCD可將各個元件的信息傳送到模/數轉換器上,然後將模擬電信號轉變為數位訊號,數位訊號再以一定的格式壓縮後存入緩存內,這樣就完成了數碼相片的整個拍攝。
CMOS(Complementary Metal-Oxide-Semiconductor),即互補金屬氧化物半導體,它在微處理器和快閃記憶體等半導體技術上佔有重要的地位,也是一種可用來感受光線變化的半導體,其組成元素主要是矽和鍺,通過CMOS上帶負電和帶正電的電晶體來實現基本功能。這兩個互補效應所產生的電流即可被處理晶片記錄和解讀成影像。由於CMOS結構相對簡單,與現有的大規模集成電路生產工藝相同,從而生產成本可以降低,理論上講,CMOS的信號是以點為單位的電荷信號,CCD是以行為單位的電流信號,相比較而言,前者更為敏感、速度更快、更為省電。目前CMOS技術發展還不成熟,這種高質量的CMOS還只應用於一些專業的數位相機上,而在一些低檔數位相機上常使用廉價低檔的CMOS,成像質量一般比較差。所以目前要購買消費級數位相機的話,建議用戶最好選擇以CCD為影像傳感器的產品
4.2、圖像採集數據的模式有兩種
Color Filter Array---CFA圖像傳感器都採用一定的模式來採集圖像數據,常用的有 BGR 模式和 CFA 模式。
BGR 模式:BGR 模式是一種可直接進行顯示和壓縮等處理的圖像數據模式,它由 R( 紅)、G( 綠) 、B( 藍) 三原色值來共同確定 1 個像素點,例如富士數位相機採用的 SUPER CCD 圖像傳感器就採用這種模式,其優點是圖像傳感器產生的圖像數據無需插值就可直接進行顯示等後續處理,圖像效果最好,但是成本高,常用於專業相機中。
CFA 模式:為了減少成本,縮小體積,市場上的數位相機大多採用 CFA 模式,即在像素陣列的表面覆蓋一層彩色濾波陣列(Color Filter Array,CFA),彩色濾波陣列有多種,現在應用最廣泛的是 Bayer 格式濾波陣列,滿足 GRBG 規律,綠色像素數是紅色或藍色像素數的兩倍,這是因為人眼對可見光光譜敏感度的峰值位於中波段,這正好對應著綠色光譜成分。在該模式下圖像數據只用R, G, B三個值中的一個值來表示一個像素點,而缺失另外兩個顏色值,這時得到的是一副馬賽克圖片,為了得到全彩色的圖像,需要使用其周圍像素點的色彩信息來估計缺失的另外兩種顏色,這種處理叫做色彩插值。
小結這是camera硬體工作原理的介紹,那麼在後面的文章中,我們將會逐步結合代碼去分析,怎樣驅動camera工作起來。