《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > CMOS Sensor的調(diào)試經(jīng)驗(yàn)
CMOS Sensor的調(diào)試經(jīng)驗(yàn)
摘要: 目前,包括移動(dòng)設(shè)備在內(nèi)的很多多媒體設(shè)備上都使用了攝像頭,而且還在以很快的速度更新?lián)Q代,。目前使用的攝像頭分為兩種:CCD(Charge Couple Device電荷偶合器件)和 CMOS(Complementary Metal Oxide Semiconductor互補(bǔ)金屬氧化物半導(dǎo)體),。
Abstract:
Key words :

    目前,包括移動(dòng)設(shè)備在內(nèi)的很多多媒體設(shè)備上都使用了攝像頭,,而且還在以很快的速度更新?lián)Q代。目前使用的攝像頭分為兩種:CCD(Charge Couple Device電荷偶合器件)和 CMOS(Complementary Metal Oxide Semiconductor互補(bǔ)金屬氧化物半導(dǎo)體)。這兩種各有優(yōu)劣:目前CCD主要使用高質(zhì)量的DC,、DV和高檔手機(jī)上,其圖像質(zhì)量較好,,但是整個(gè)驅(qū)動(dòng)模組相對(duì)比較復(fù)雜,,而且目前只有曰本一些企業(yè)掌握其生產(chǎn)技術(shù),對(duì)于選用的廠商來說成本會(huì)比較高昂,,而且一些設(shè)備對(duì)與圖像質(zhì)量沒有很苛刻的要求,,對(duì)體積要求會(huì)高一些;而CMOS正好滿足這樣的要求,CMOS模組則比較簡單,,目前很多廠商已經(jīng)把驅(qū)動(dòng)和信號(hào)處理的ISP(Image Signal Processor)集成在模組內(nèi)部,,這樣體積就更小,而且其生產(chǎn)技術(shù)要求相對(duì)簡單,、工藝比較成熟,、成本較低、外圍電路簡單,、圖像質(zhì)量也可以滿足一般的要求,,所以在嵌入式市場中占有很大份額,目前一些高端的CMOS Sensor的質(zhì)量已經(jīng)可以和CCD 的質(zhì)量相媲美,。

  我這里要介紹的就是CMOS攝像頭的一些調(diào)試經(jīng)驗(yàn),。

  首先,要認(rèn)識(shí)CMOS攝像頭的結(jié)構(gòu),。我們通常拿到的是集成封裝好的模組,,一般由三個(gè)部分組成:鏡頭、感應(yīng)器和圖像信號(hào)處理器構(gòu)成,。一般情況下,,集成好的模組我們只看到外面的鏡頭、接口和封裝殼,這種一般是固定焦距的,。有些廠商只提供芯片,,需要自己安裝鏡頭,鏡頭要選擇合適大小的鏡頭,如果沒有夜視要求的話,,最好選擇帶有紅外濾光的鏡頭,,因?yàn)橐话愕膕ensor都能感應(yīng)到紅外光線,如果不濾掉,,會(huì)對(duì)圖像色彩產(chǎn)生影響,,另外要注意在PCB設(shè)計(jì)時(shí)要保證鏡頭的聚焦中心點(diǎn)要設(shè)計(jì)在sensor的感光矩陣中心上。除了這點(diǎn) CMOS Sensor硬件上就和普通的IC差不多了,,注意不要弄臟或者磨花表面的玻璃,。

  其次,CMOS模組輸出信號(hào)可以是模擬信號(hào)輸出和數(shù)字信號(hào)輸出,。模擬信號(hào)一般是電視信號(hào)輸出,,PAL和NTSC都有,直接連到電視看的;數(shù)字輸出一般會(huì)有并行和串行兩種形式,,由于圖像尺寸大小不同,,所要傳輸?shù)臄?shù)據(jù)不同,數(shù)據(jù)的頻率差異也很大,,但是串行接口的pixel clock頻率都要比并行方式高(同樣的數(shù)據(jù)量下這不難理解),,較高的頻率對(duì)外圍電路也有較高的要求;并行方式的頻率就會(huì)相對(duì)低很多,但是它需要更多引腳連線;所以這應(yīng)該是各有裨益,。(筆者測試使用的系統(tǒng)是8bit并行接口)另外輸出信號(hào)的格式有很多種,,視頻輸出的主要格式有:RGB、YUV,、BAYER PATTERN等,。一般CMOS Sensor模組會(huì)集成ISP在模組內(nèi)部,其輸出格式可以選擇,,這樣可以根據(jù)自己使用的芯片的接口做出較適合自己系統(tǒng)的選擇,。其中,部分sensor為了降低成本或者技術(shù)問題,,sensor部分不帶ISP或者功能很簡單,,輸出的是BAYER PATTERN,這種格式是sensor的原始圖像,,因此需要后期做處理,,這需要有專門的圖像處理器或者連接的通用處理器有較強(qiáng)的運(yùn)算能力(需要運(yùn)行圖像處理算法)。不管sensor模組使用何種數(shù)據(jù)格式,,一般都有三個(gè)同步信號(hào)輸出:幀同步/場同步(Frame synchronizing),、行同步(Horizontal synchronizing)和像素時(shí)鐘(pixel clock)。要保證信號(hào)的有效狀態(tài)與自己系統(tǒng)一致,,如都是場同步上升(下降)沿觸發(fā),、行同步高(低)電平有效等,。

  通過以上介紹,我們就可以根據(jù)自己的使用的系統(tǒng)選擇適合的sensor模組,。要選擇接口對(duì)應(yīng)(如果并行接口,sensor模組輸出數(shù)據(jù)bit位多于接受端,,可以用丟棄低位的數(shù)據(jù)的方法連接),、數(shù)據(jù)格式可以接受或處理、pixel clock沒有超過可接受的最高頻率(有的是可調(diào)的,,但幀率會(huì)受影響),、場同步和行同步可以調(diào)節(jié)到一致的sensor模組,這樣才可以保證可以使用,。保證這些條件的正確性下,,還要符合它的硬件電路要求,首要的是確定它的電源,、時(shí)鐘,、RESET等信號(hào)是否符合芯片要求,其次要看所有的引腳是否連接正確,,這樣保證外圍的電路沒有錯(cuò)誤情況下才可能正確顯示圖像,。各個(gè)廠商生產(chǎn)的產(chǎn)品各不相同,一些廠商的sensor模組在默認(rèn)狀態(tài)下就可以輸出圖像,,而有些廠商的sensor模組必須要設(shè)置一些寄存器以后才可以得到圖像,。區(qū)別是否可以直接輸出圖像,可以通過檢測sensor 的輸出腳,,如果三個(gè)同步信號(hào)都有,,數(shù)據(jù)線上也有數(shù)據(jù),那一般就會(huì)有默認(rèn)圖像輸出,,另外也可以跟廠商聯(lián)系獲得有關(guān)信息,。如果沒有默認(rèn)輸出就需要設(shè)置寄存器了,一般都是通過兩線串行方式(IIC總線使用頻率很高)設(shè)置寄存器,。寄存器設(shè)置是整個(gè)調(diào)試過程中最復(fù)雜的過程,,當(dāng)然要設(shè)置寄存器要先保證主芯片跟 sensor模組之間通信是正確無誤的,然后才是具體設(shè)置值的問題,。保證通信無誤,,簡單的方法就是讀寫一致(排除部分動(dòng)態(tài)變化的寄存器),就是說保證能夠每次寫進(jìn)去的數(shù)據(jù)都能正確讀出來,。寄存器設(shè)置方面,,一般都會(huì)有很多寄存器,其中一些是關(guān)鍵的:例如軟件RESET,、工作狀態(tài),、輸出大小,、輸出格式、輸出信號(hào)有效性,、像素頻率等,,另外一些對(duì)細(xì)調(diào)圖像質(zhì)量很有用處的寄存器暫時(shí)可以不管,還有部分寄存器比如自動(dòng)暴光,、自動(dòng)白平衡這些建議都選擇auto,,這些功能對(duì)圖像質(zhì)量影響很大,一般模組集成了ISP的都會(huì)有這個(gè)功能,。當(dāng)然不管是默認(rèn)圖像還是設(shè)置以后輸出的,,都需要細(xì)調(diào),這時(shí)如果有可能,,可以聯(lián)系sensor 模組廠商,,請(qǐng)他們給出推薦配置或者做一些技術(shù)支持,因?yàn)橐话鉺ensor內(nèi)部都有一些寄存器是不對(duì)外公布的,,只有廠商的FAE才這些寄存器的定義;自己調(diào)節(jié)圖像時(shí),,可以從對(duì)比度、亮度,、飽和度,、銳化程度、Gamma校正,、消除flicker等方面進(jìn)行調(diào)節(jié),。如果sensor沒有集成ISP的話,如前面提到的它的輸出是BAYER PATTERN,,這種格式就是直接將感應(yīng)到的數(shù)據(jù)傳輸過來,,需要處理器端進(jìn)行數(shù)據(jù)轉(zhuǎn)換,同時(shí)還需要做白平衡,、暴光控制,,另外還要進(jìn)行上面提到的對(duì)比度、亮度,、飽和度等等的改進(jìn),,這些改進(jìn)要想得到比較好的圖像質(zhì)量,算法會(huì)比較復(fù)雜,,不僅需要處理器有較強(qiáng)的處理能力,,也對(duì)調(diào)試者有一定的要求,但是這樣的sensor一般會(huì)比較便宜,,所以根據(jù)自己的情況做選擇比較好;不過目前有廠商設(shè)計(jì)做圖像處理的芯片,,其實(shí)這就是將ISP拿出來單獨(dú)作為一顆芯片了,它的調(diào)試就跟sensor模組差不多了,,只是大一些而已,。

  調(diào)試過程中,,我們還要注意一些問題,例如YUV格式輸出時(shí)中YUV的順序,、BAYER PATTERN中第一行數(shù)據(jù)的格式,、sensor模組輸出圖像的大小、顯示圖像的大小等,。一般YUV順序不對(duì)圖像是可以看到的,,只是色彩和亮度轉(zhuǎn)換了;BAYER PATTERN第一行數(shù)據(jù)格式錯(cuò)了,也就是RGB三種顏色亂了,,都是可以看到圖像的;圖像輸出大小則比較重要,,因?yàn)槿绻O(shè)置輸入的圖像大小大于實(shí)際輸出的大小,,處理器可能會(huì)因?yàn)閿?shù)據(jù)不夠一場而無法顯示,,如果小于實(shí)際大小則只能輸出圖像的一部分,但是還是可以顯示的,,當(dāng)然這也可以在顯示面積不夠時(shí)做成局部放大的效果,。

  圖像出來以后,就需要檢驗(yàn)一些模組的質(zhì)量,,個(gè)人覺得可以從下面幾個(gè)方面觀察:幀率,、有無壞點(diǎn)、噪聲,、暗光下的圖像,、白平衡、色彩還原能力,、暴光,、邊緣等。現(xiàn)在一般的sensor廠商的30萬像素的產(chǎn)品都可以VGA(640*480)30幀,,2M像素做到 SVGA(800*600)30幀的幀率,,一般應(yīng)用已經(jīng)足夠,拖影現(xiàn)象也控制得比較好;壞點(diǎn)是比較嚴(yán)重的問題,,一般是sensor硬件上有問題,,而且它自身的修復(fù)算法沒有能夠修復(fù)的,這樣對(duì)圖像會(huì)有很大的影響,,一般打開sensor工作5分鐘就還沒有的話,,基本上就可以放心了,要指出的是有的時(shí)候在一些物體的邊緣會(huì)出現(xiàn)“壞點(diǎn)”這是sensor算法的問題,,一般移動(dòng)一下物體或者模組就沒有了;噪聲問題是CMOS Sensor無法躲避的問題,,由于感光部分結(jié)構(gòu)跟CCD的差異,注定了同樣大小的感光面積下CMOS Sensor圖像噪聲要比CCD嚴(yán)重,,但是各個(gè)廠商技術(shù)的差異還是會(huì)噪聲控制上也會(huì)有所不同,,這時(shí)只要給個(gè)深色的背景就會(huì)看到了,,同樣CMOS Sensor在低光條件下噪聲問題也比較突出,當(dāng)然可以使用一些技術(shù)加以改進(jìn);白平衡是最基礎(chǔ)的問題,,但是白平衡算法好壞也會(huì)影響sensor的表現(xiàn),,一些sensor遇到大片某個(gè)單色的畫面時(shí)可以明顯看到背景圖像顏色改變,這就是算法不好的原因;色彩還原可以照在標(biāo)準(zhǔn)色板上,,看與原來的區(qū)別就可以看出sensor色彩還原能力了,,也有一些sensor會(huì)某些顏色過了;若沒有色板也可以用色彩明亮豐富的紙來測試,關(guān)鍵是看sensor能否真實(shí)表現(xiàn)這些色彩;暴光控制現(xiàn)在一般都的模組都集成了,,對(duì)著暗處和強(qiáng)光看它是否能夠調(diào)節(jié)到比較理想的狀態(tài),,一般不會(huì)有問題,但是也有例外,,筆者曾經(jīng)碰到一顆sensor在強(qiáng)光照射下啟動(dòng)時(shí)沒有辦法正確暴光,,畫面很暗;邊緣好壞是一個(gè)sensor細(xì)節(jié)表現(xiàn)能力證明,一些 sensor在邊緣部分會(huì)有鋸齒或者就是很模糊不清,,這都是細(xì)節(jié)表現(xiàn)的問題;如果整個(gè)畫面比較灰,,那就是sensor對(duì)比度出了問題。

  調(diào)試 sensor是一件非常有趣的事情,,很多時(shí)候它跟一般的IC沒有太大區(qū)別,,其實(shí)上我們也是把它當(dāng)成一般IC來調(diào)試的,但是收獲卻很多,。當(dāng)然,,調(diào)試的時(shí)候可能會(huì)遇到很多問題,有些可能會(huì)比較棘手,,問題的解決也需要很多的經(jīng)驗(yàn),,但是辦法總比問題多,問題的解決就是經(jīng)驗(yàn)累積的過程,、成長的過程,。

 
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。