CMOS Sensor的調試經(jīng)驗
目前,包括移動(dòng)設備在內的很多多媒體設備上都使用了攝像頭,而且還在以很快的速度更新?lián)Q代。目前使用的攝像頭分為兩種:CCD(Charge Couple Device電荷偶合器件)和 CMOS(Complementary Metal Oxide Semiconductor互補金屬氧化物半導體)。這兩種各有優(yōu)劣:目前CCD主要使用高質(zhì)量的DC、DV和高檔手機上,其圖像質(zhì)量較好,但是整個(gè)驅動(dòng)模組相對比較復雜,而且目前只有曰本一些企業(yè)掌握其生產(chǎn)技術(shù),對于選用的廠(chǎng)商來(lái)說(shuō)成本會(huì )比較高昂,而且一些設備對與圖像質(zhì)量沒(méi)有很苛刻的要求,對體積要求會(huì )高一些;而CMOS正好滿(mǎn)足這樣的要求,CMOS模組則比較簡(jiǎn)單,目前很多廠(chǎng)商已經(jīng)把驅動(dòng)和信號處理的ISP(Image Signal Processor)集成在模組內部,這樣體積就更小,而且其生產(chǎn)技術(shù)要求相對簡(jiǎn)單、工藝比較成熟、成本較低、外圍電路簡(jiǎn)單、圖像質(zhì)量也可以滿(mǎn)足一般的要求,所以在嵌入式市場(chǎng)中占有很大份額,目前一些高端的CMOS Sensor的質(zhì)量已經(jīng)可以和CCD 的質(zhì)量相媲美。
本文引用地址:http://dyxdggzs.com/article/194871.htm我這里要介紹的就是CMOS攝像頭的一些調試經(jīng)驗。
首先,要認識CMOS攝像頭的結構。我們通常拿到的是集成封裝好的模組,一般由三個(gè)部分組成:鏡頭、感應器和圖像信號處理器構成。一般情況下,集成好的模組我們只看到外面的鏡頭、接口和封裝殼,這種一般是固定焦距的。有些廠(chǎng)商只提供芯片,需要自己安裝鏡頭,鏡頭要選擇合適大小的鏡頭,如果沒(méi)有夜視要求的話(huà),最好選擇帶有紅外濾光的鏡頭,因為一般的sensor都能感應到紅外光線(xiàn),如果不濾掉,會(huì )對圖像色彩產(chǎn)生影響,另外要注意在PCB設計時(shí)要保證鏡頭的聚焦中心點(diǎn)要設計在sensor的感光矩陣中心上。除了這點(diǎn) CMOS Sensor硬件上就和普通的IC差不多了,注意不要弄臟或者磨花表面的玻璃。
其次,CMOS模組輸出信號可以是模擬信號輸出和數字信號輸出。模擬信號一般是電視信號輸出,PAL和NTSC都有,直接連到電視看的;數字輸出一般會(huì )有并行和串行兩種形式,由于圖像尺寸大小不同,所要傳輸的數據不同,數據的頻率差異也很大,但是串行接口的pixel clock頻率都要比并行方式高(同樣的數據量下這不難理解),較高的頻率對外圍電路也有較高的要求;并行方式的頻率就會(huì )相對低很多,但是它需要更多引腳連線(xiàn);所以這應該是各有裨益。(筆者測試使用的系統是8bit并行接口)另外輸出信號的格式有很多種,視頻輸出的主要格式有:RGB、YUV、BAYER PATTERN等。一般CMOS Sensor模組會(huì )集成ISP在模組內部,其輸出格式可以選擇,這樣可以根據自己使用的芯片的接口做出較適合自己系統的選擇。其中,部分sensor為了降低成本或者技術(shù)問(wèn)題,sensor部分不帶ISP或者功能很簡(jiǎn)單,輸出的是BAYER PATTERN,這種格式是sensor的原始圖像,因此需要后期做處理,這需要有專(zhuān)門(mén)的圖像處理器或者連接的通用處理器有較強的運算能力(需要運行圖像處理算法)。不管sensor模組使用何種數據格式,一般都有三個(gè)同步信號輸出:幀同步/場(chǎng)同步(Frame synchronizing)、行同步(Horizontal synchronizing)和像素時(shí)鐘(pixel clock)。要保證信號的有效狀態(tài)與自己系統一致,如都是場(chǎng)同步上升(下降)沿觸發(fā)、行同步高(低)電平有效等。
通過(guò)以上介紹,我們就可以根據自己的使用的系統選擇適合的sensor模組。要選擇接口對應(如果并行接口,sensor模組輸出數據bit位多于接受端,可以用丟棄低位的數據的方法連接)、數據格式可以接受或處理、pixel clock沒(méi)有超過(guò)可接受的最高頻率(有的是可調的,但幀率會(huì )受影響)、場(chǎng)同步和行同步可以調節到一致的sensor模組,這樣才可以保證可以使用。保證這些條件的正確性下,還要符合它的硬件電路要求,首要的是確定它的電源、時(shí)鐘、RESET等信號是否符合芯片要求,其次要看所有的引腳是否連接正確,這樣保證外圍的電路沒(méi)有錯誤情況下才可能正確顯示圖像。各個(gè)廠(chǎng)商生產(chǎn)的產(chǎn)品各不相同,一些廠(chǎng)商的sensor模組在默認狀態(tài)下就可以輸出圖像,而有些廠(chǎng)商的sensor模組必須要設置一些寄存器以后才可以得到圖像。區別是否可以直接輸出圖像,可以通過(guò)檢測sensor 的輸出腳,如果三個(gè)同步信號都有,數據線(xiàn)上也有數據,那一般就會(huì )有默認圖像輸出,另外也可以跟廠(chǎng)商聯(lián)系獲得有關(guān)信息。如果沒(méi)有默認輸出就需要設置寄存器了,一般都是通過(guò)兩線(xiàn)串行方式(IIC總線(xiàn)使用頻率很高)設置寄存器。寄存器設置是整個(gè)調試過(guò)程中最復雜的過(guò)程,當然要設置寄存器要先保證主芯片跟 sensor模組之間通信是正確無(wú)誤的,然后才是具體設置值的問(wèn)題。保證通信無(wú)誤,簡(jiǎn)單的方法就是讀寫(xiě)一致(排除部分動(dòng)態(tài)變化的寄存器),就是說(shuō)保證能夠每次寫(xiě)進(jìn)去的數據都能正確讀出來(lái)。寄存器設置方面,一般都會(huì )有很多寄存器,其中一些是關(guān)鍵的:例如軟件RESET、工作狀態(tài)、輸出大小、輸出格式、輸出信號有效性、像素頻率等,另外一些對細調圖像質(zhì)量很有用處的寄存器暫時(shí)可以不管,還有部分寄存器比如自動(dòng)暴光、自動(dòng)白平衡這些建議都選擇auto,這些功能對圖像質(zhì)量影響很大,一般模組集成了ISP的都會(huì )有這個(gè)功能。當然不管是默認圖像還是設置以后輸出的,都需要細調,這時(shí)如果有可能,可以聯(lián)系sensor 模組廠(chǎng)商,請他們給出推薦配置或者做一些技術(shù)支持,因為一般sensor內部都有一些寄存器是不對外公布的,只有廠(chǎng)商的FAE才這些寄存器的定義;自己調節圖像時(shí),可以從對比度、亮度、飽和度、銳化程度、Gamma校正、消除flicker等方面進(jìn)行調節。如果sensor沒(méi)有集成ISP的話(huà),如前面提到的它的輸出是BAYER PATTERN,這種格式就是直接將感應到的數據傳輸過(guò)來(lái),需要處理器端進(jìn)行數據轉換,同時(shí)還需要做白平衡、暴光控制,另外還要進(jìn)行上面提到的對比度、亮度、飽和度等等的改進(jìn),這些改進(jìn)要想得到比較好的圖像質(zhì)量,算法會(huì )比較復雜,不僅需要處理器有較強的處理能力,也對調試者有一定的要求,但是這樣的sensor一般會(huì )比較便宜,所以根據自己的情況做選擇比較好;不過(guò)目前有廠(chǎng)商設計做圖像處理的芯片,其實(shí)這就是將ISP拿出來(lái)單獨作為一顆芯片了,它的調試就跟sensor模組差不多了,只是大一些而已。
調試過(guò)程中,我們還要注意一些問(wèn)題,例如YUV格式輸出時(shí)中YUV的順序、BAYER PATTERN中第一行數據的格式、sensor模組輸出圖像的大小、顯示圖像的大小等。一般YUV順序不對圖像是可以看到的,只是色彩和亮度轉換了;BAYER PATTERN第一行數據格式錯了,也就是RGB三種顏色亂了,都是可以看到圖像的;圖像輸出大小則比較重要,因為如果設置輸入的圖像大小大于實(shí)際輸出的大小,處理器可能會(huì )因為數據不夠一場(chǎng)而無(wú)法顯示,如果小于實(shí)際大小則只能輸出圖像的一部分,但是還是可以顯示的,當然這也可以在顯示面積不夠時(shí)做成局部放大的效果。
圖像出來(lái)以后,就需要檢驗一些模組的質(zhì)量,個(gè)人覺(jué)得可以從下面幾個(gè)方面觀(guān)察:幀率、有無(wú)壞點(diǎn)、噪聲、暗光下的圖像、白平衡、色彩還原能力、暴光、邊緣等?,F在一般的sensor廠(chǎng)商的30萬(wàn)像素的產(chǎn)品都可以VGA(640*480)30幀,2M像素做到 SVGA(800*600)30幀的幀率,一般應用已經(jīng)足夠,拖影現象也控制得比較好;壞點(diǎn)是比較嚴重的問(wèn)題,一般是sensor硬件上有問(wèn)題,而且它自身的修復算法沒(méi)有能夠修復的,這樣對圖像會(huì )有很大的影響,一般打開(kāi)sensor工作5分鐘就還沒(méi)有的話(huà),基本上就可以放心了,要指出的是有的時(shí)候在一些物體的邊緣會(huì )出現“壞點(diǎn)”這是sensor算法的問(wèn)題,一般移動(dòng)一下物體或者模組就沒(méi)有了;噪聲問(wèn)題是CMOS Sensor無(wú)法躲避的問(wèn)題,由于感光部分結構跟CCD的差異,注定了同樣大小的感光面積下CMOS Sensor圖像噪聲要比CCD嚴重,但是各個(gè)廠(chǎng)商技術(shù)的差異還是會(huì )噪聲控制上也會(huì )有所不同,這時(shí)只要給個(gè)深色的背景就會(huì )看到了,同樣CMOS Sensor在低光條件下噪聲問(wèn)題也比較突出,當然可以使用一些技術(shù)加以改進(jìn);白平衡是最基礎的問(wèn)題,但是白平衡算法好壞也會(huì )影響sensor的表現,一些sensor遇到大片某個(gè)單色的畫(huà)面時(shí)可以明顯看到背景圖像顏色改變,這就是算法不好的原因;色彩還原可以照在標準色板上,看與原來(lái)的區別就可以看出sensor色彩還原能力了,也有一些sensor會(huì )某些顏色過(guò)了;若沒(méi)有色板也可以用色彩明亮豐富的紙來(lái)測試,關(guān)鍵是看sensor能否真實(shí)表現這些色彩;暴光控制現在一般都的模組都集成了,對著(zhù)暗處和強光看它是否能夠調節到比較理想的狀態(tài),一般不會(huì )有問(wèn)題,但是也有例外,筆者曾經(jīng)碰到一顆sensor在強光照射下啟動(dòng)時(shí)沒(méi)有辦法正確暴光,畫(huà)面很暗;邊緣好壞是一個(gè)sensor細節表現能力證明,一些 sensor在邊緣部分會(huì )有鋸齒或者就是很模糊不清,這都是細節表現的問(wèn)題;如果整個(gè)畫(huà)面比較灰,那就是sensor對比度出了問(wèn)題。
調試 sensor是一件非常有趣的事情,很多時(shí)候它跟一般的IC沒(méi)有太大區別,其實(shí)上我們也是把它當成一般IC來(lái)調試的,但是收獲卻很多。當然,調試的時(shí)候可能會(huì )遇到很多問(wèn)題,有些可能會(huì )比較棘手,問(wèn)題的解決也需要很多的經(jīng)驗,但是辦法總比問(wèn)題多,問(wèn)題的解決就是經(jīng)驗累積的過(guò)程、成長(cháng)的過(guò)程。
評論