【Camera專題】你應該瞭解的Camera HW-硬體知識

c楓_擼碼的日子發表於2019-01-10

一.吐槽

作為一個雞凍工程師,呸,打錯了,是驅動工程師,最基本的硬體基礎知識你必須得懂吧。

舉個栗子【敲黑板,重點來了啊】

1.你要點亮Camera,你得知道你用的是什麼介面的,是MIPI的還是Parallel的?

2.資料傳輸有哪些方式?

3.Camera 的成像原理是什麼?

等等

說點題外話

1.作為一個小白,我為啥要寫一個專題嗎?

我想,

一來是記錄自己的成長過程吧,記錄看過的資料,做了什麼思考。

二來是激勵自己不斷前行吧。Just keep moving!

如果有天我不幸真的成為了Camera【磚家】,那麼這些就是我自學的成長曆程,也許對後人有一定的幫助;

如果我還一直是個鹹魚,那麼這個專題就是我努力而不得的見證。

我很喜歡的一句話: If you can’t fly, then run; if you can’t run, then walk; if you can’t walk, then crawl, but whatever you do, you have to keep moving forward.

我不知道30歲之後,我是否能立業,是否依舊迷茫!

總之,無論如何,我們每天都要向前走,即使這個步子很小,但至少我勇往直前了!

廢話少說,本篇文章知識點

二.知識點

1.Camera的成像原理

景物通過鏡頭(LENS)生成的光學影象投射到影象感測器(Sensor)表面上,然後轉為模擬的電訊號,經過 A/D(模數轉換)轉換後變為數字影象訊號,再送到數字訊號處理晶片(DSP)中加工處理,再通過 IO 介面傳輸到 CPU 中處理,通過 LCD 就可以看到影象了

圖1
這個成像原理還是很重要的,對未來我們分析問題會有很大的幫助。

影象感測器(SENSOR)是一種半導體晶片,其表面包含有幾十萬到幾百萬的光電二極體。光電二極體受到光照射時,就會產生電荷。

目前的 SENSOR 型別有兩種:

1.CCD(Charge Couple Device),電荷耦合器件,它是目前高畫素類 sensor 中比較成熟的成像器件,是以一行為單位的電流訊號。

2.CMOS(Complementary Metal Oxide Semiconductor),互補金氧半導體。CMOS的訊號是以點為單位的電荷訊號,更為敏感,速度也更快,更為省電

ISP 的效能是決定影像流暢的關鍵,JPEG  encoder 的效能也是關鍵指標之一。而 JPEG encoder 又分為硬體 JPEG 壓縮方式,和軟體 RGB 壓縮方式。

DSP 控制晶片的作用是:將感光晶片獲取的資料及時快速地傳到 baseband 中並重新整理感光晶片,因此控制晶片的好壞,直接決定畫面品質(比如色彩飽和度、清晰度)與流暢度。

2.Image Sensor型別(Camera的資料格式)

a) YUV Sensor(低端貨)

YUV Sensor輸出的Data格式為YUV,影象的效果處理使用Sensor內部的ISP,BB端接收YUV格式的data後只進行格式的轉換,效果方面不進行處理,由於Sensor內部的ISP處理能力有限,且YUV Sensor的資料量比較大(YUV422的格式1個pixel2個byte),一般Size都比較小,常見的YUV sensor都是5M以下

b) Raw Sensor(稍微好一點的貨,優勢明顯)

Raw Sensor輸出的Data格式為Raw,影象的效果處理使用BB端的ISP,BB端接收Raw data後進行一系列的影象處理(OB,Shading,AWB,Gamma,EE,ANR等),效果方面由BB端控制,需要針對不同的模組進行效果除錯,Raw sensor是目前的主流,資料量比YUV Sensor小(RAW10 格式的sensor 1個pixel 10個bit)使用平臺ISP處理,能支援較大的size

3.硬體介面

簡單說來,Camera的介面分為並行和序列兩種方式,而目前MTK平臺主要支援的序列方式為mipi介面,

Parallel介面mipi介面的介紹可以參考下圖

圖2
圖3

雖然硬體介面有Parallel介面mipi介面,實際上MIPI是主流,基本已經看不到Parallel的身影了! 後面我們會詳細講解MIPI介面的硬體原理圖!

4.常見基本概念

我們這的BB端-原本是是baseband基帶的意思,這裡理解成CPU即可

a) 三路電壓

camera包含的三路電壓為模擬電壓(VCAMA),數字電壓(VCAMD),IO口電壓(VCAMIO)

b) I2C訊號

BB與Sensor端通過I2C來通訊(讀寫暫存器),包括SCL(I2C Clock) SDA(I2C Data)訊號

c) mipi幾條lane

mipi data是成對的差分訊號,MIPI_RDN和MIPI_RDP,有幾對這樣的pin腳,則說明是幾條lane,同一顆sensor由於register setting不同,輸出的訊號有可能是2 lane或者4lane等

d) parallel高低八位

Parallel介面一般Data有10根pin,分別叫做Data0~Data9,Parallel sensor輸出的data訊號是8根pin時,這八根pin接到的是Data0~Data7還是Data2~Data9,需要配置正確,叫做接到高八位或者低八位,接錯了可能產生如下現象

【Camera專題】你應該瞭解的Camera HW-硬體知識
e) Data Format Sensor輸出的資料格式,對於YUV Sensor來說,Data Fomat一般有YUYV,YVYU,UYVY等,配置不對可能會導致顏色和亮度錯掉,例如下圖
【Camera專題】你應該瞭解的Camera HW-硬體知識
對於Raw Sensor來說,Data Format就是First Pixel的顏色,分為R,Gr,Gb,B,配置不對會導致顏色錯誤

f) MCLK

BB提供給Sensor的外部clock

g) PCLK

Parallel介面的Sensor輸出的clock,該clock變化一次,data更新一次

h) mipi 訊號

mipi訊號包括mipi clock和mipi data,該訊號是高速訊號,用來傳輸mipi資料包

5.硬體電路原理圖

(以最近做的TIMOVI_S9016為例子)

TIMOVI硬體原理圖
我第一次接觸原理圖的時候,也是一臉懵逼,心裡就在想,這他媽什麼鬼,密密麻麻那麼多線,後來看多了,也就得心應手了。

原理圖分析(引腳作用)

1.供電部分

camera包含的三路電壓為模擬電壓(VCAMA),數字電壓(VCAMD),IO口電壓(VCAMIO)

a) VCAMD 就是 DVDD 數字供電,主要給 ISP 供電

b) VCAM_IO 就是 VDDIO 數字 IO 電源主要給 I2C 部分供電;

c) VCAMA 就是 AVDD 模擬供電,主要給感光區和 ADC 部分供電;

d) VCAM_AF 是對 Camera 自動對焦馬達的供電

2.Sensor Input部分

a) Rest腳:用於復位和初始化

b) PDN腳:Camera工作狀態控制:1.normol work(工作) 2.standby(待機)

c)Mlck腳: 即MasterClock腳,由BB提供給Sensor的外部clock

3.I2C部分

BB與Sensor端通過I2C來通訊(讀寫暫存器),包括SCL(I2C Clock) SDA(I2C Data)訊號

4.MIPI部分

mipi訊號包括mipi clock和mipi data,該訊號是高速訊號,用來傳輸mipi資料包。

mipi data是成對的差分訊號,MIPI_RDN和MIPI_RDP,有幾對這樣的pin腳,則說明是幾條lane,同一顆sensor由於register setting不同,輸出的訊號有可能是2 lane或者4lane等。

1.MIPI_RDN0和MIPI_RDP0:用於資料傳輸

2.MIPI_RDN1和MIPI_RDP1:用於資料傳輸

因此是2lane的

另外

MIPI_RCN和MIPI_RCP:時鐘訊號

圖中漏標

圖中漏標了一個VIO18_PMU:用於拉高。

路漫漫其修遠兮,吾將上下而求索。

以上是我看資料過程中,覺得應該掌握的Camera硬體基礎知識!

參考文件

1.MTK 資料

2.MTK平臺camera(攝像頭)除錯教程要點

相關文章