【導(dǎo)讀】本文提出了一種基于DSP和CMOS圖像傳感器,同時(shí)由復(fù)雜可編程邏輯控制芯片CPLD控制的實(shí)時(shí)圖像采集系統(tǒng)的實(shí)現(xiàn)方案,不僅在噪聲上得到了有效改善,而且分辨率也得到了明顯提高。
硬件設(shè)計(jì)
圖1所示是該圖像采集系統(tǒng)的電路結(jié)構(gòu)框圖。由圖1可見(jiàn),該圖像采集系統(tǒng)主要由OV6630圖像傳感芯片、CPLD控制模塊、SRAM數(shù)據(jù)存儲(chǔ)器、FLASH程序存儲(chǔ)器、DSP信號(hào)處理器等幾部分組成。其圖像采集芯片用美國(guó)Omni Vision公司開(kāi)發(fā)的彩色CMOS圖像傳感器OV6630,該芯片與傳統(tǒng)的CCD傳感器相比,其最明顯的優(yōu)勢(shì)是集成度高,功耗小,生產(chǎn)成本低,容易與其它芯片整合。該芯片將CMOS光感應(yīng)核與外圍支持電路集成在一起。由于其運(yùn)用了專有的傳感器技術(shù),因而能夠消除普通的光電干擾。該芯片的像素陣列為352×288,即101376像素,還有4行、4列可供選擇。圖像數(shù)據(jù)的輸出有多種格式(YCrCb4:2:2,GRB4:2:2和RGB原始數(shù)據(jù)輸出格式),本系統(tǒng)選用8通道Y輸出RGB原始數(shù)據(jù)輸出格式,以及逐行掃描的工作方式。其輸出格式為:
奇數(shù)掃描行BGBG……
偶數(shù)掃描行GRGR……
圖1:圖像采集系統(tǒng)結(jié)構(gòu)框圖
根據(jù)人眼對(duì)彩色響應(yīng)帶寬不高的大面積著色特點(diǎn),每個(gè)象素沒(méi)有必要同時(shí)輸出3種顏色。因此,數(shù)據(jù)采樣時(shí),奇數(shù)掃描行的第1,2,3,4,…象素分別采樣和輸出B,G,B,G,…數(shù)據(jù);偶數(shù)掃描行的第1,2,3,4,…象素分別采樣和輸出G,R,G,R,…數(shù)據(jù)。在實(shí)際處理時(shí),每個(gè)象素的R,G,B信號(hào)由象素本身輸出的某一種顏色信號(hào)和相鄰象素輸出的其他顏色信號(hào)構(gòu)成。這種采樣方式在基本不降低圖像質(zhì)量的同時(shí),可以將采樣頻率降低60%以上。
系統(tǒng)中的核心處理芯片選用TI公司的加強(qiáng)型定點(diǎn)DSP芯片TMS320VC5410A,該DSP的工作頻率可達(dá)160 MHz,內(nèi)部有64KBRAM空間可以靈活的映射為數(shù)據(jù)或程序存儲(chǔ)空間。由于DSP的內(nèi)部存儲(chǔ)空間有限,所以,本設(shè)計(jì)在外部擴(kuò)展了一大小為1 MB的SRAM數(shù)據(jù)存儲(chǔ)器CY7C1021和256 K的FLASH程序存儲(chǔ)器SST39VF400A??刂菩酒珻PLD選用Altera公司的MAX7000系列芯片EPM7128SLC84-15。該芯片包含84個(gè)I/O管腳、128個(gè)宏單元,每16個(gè)宏單元可組成一個(gè)邏輯陣列塊,工作電壓為5.0 V。該芯片在系統(tǒng)中處于總體時(shí)序控制地位,既用于給圖像傳感器芯片提供控制信號(hào)。也用于SRAM和FLASH的片選和讀寫(xiě)控制,同時(shí)還負(fù)責(zé)LCD的顯示控制。
軟件設(shè)計(jì)
當(dāng)系統(tǒng)配置完畢以后,便可以進(jìn)行圖像數(shù)據(jù)的采集與處理。在采集圖像的過(guò)程中,最主要的工作是判別一幀圖像數(shù)據(jù)的開(kāi)始和結(jié)束的時(shí)刻。在仔細(xì)研究了OV6630輸出的同步信號(hào)(VSYNC是垂直同步信號(hào)、HREF是水平同步信號(hào)、PCLK是輸出數(shù)據(jù)同步信號(hào))的基礎(chǔ)上。筆者用VHDL語(yǔ)言實(shí)現(xiàn)了采集過(guò)程起始點(diǎn)的精確控制。圖2所示為圖像采集期間三個(gè)同步信號(hào)與數(shù)據(jù)信號(hào)的時(shí)序關(guān)系圖。
圖2中,每一個(gè)幀同步信號(hào)VSYNC周期包含288個(gè)水平同步信號(hào)HREF脈沖,而每一個(gè)HREF周期包含352個(gè)PCLK時(shí)鐘脈沖,每一個(gè)PCLK時(shí)鐘可輸出一個(gè)RGB像素的視頻數(shù)據(jù)。
圖2:圖像采集時(shí)序圖
通過(guò)監(jiān)測(cè)系統(tǒng)中的垂直同步信號(hào)VSYNC的變化,即可得知新的一幀圖像是否開(kāi)始,一幀圖像開(kāi)始后,僅當(dāng)HREF為高且PCLK輸出下降沿時(shí),才能輸出一個(gè)有效的像素值。VSYNC的上升沿表示一幀新的圖像的到來(lái),下降沿則表示一幀圖像數(shù)據(jù)采集開(kāi)始(CMOS圖像傳感器是按列采集圖像的)。HREF是水平同步信號(hào),其上升沿表示一列圖像數(shù)據(jù)的開(kāi)始。PCLK是輸出數(shù)據(jù)同步信號(hào)。只有當(dāng)HREF為高電平時(shí),才能開(kāi)始有效的采集數(shù)據(jù),PCLK下降沿的到來(lái)表明數(shù)據(jù)的產(chǎn)生,PCLK每出現(xiàn)一個(gè)下降沿可傳輸一位數(shù)據(jù)。HREF為高電平期間,共可傳輸352位數(shù)據(jù)。在一幀圖像中,即VSYNC為低電平期間,HREF將出現(xiàn)288次高電平。而當(dāng)下一個(gè)VSYNC信號(hào)的上升沿到來(lái)時(shí),即表明分辨率為352×288的圖像采集過(guò)程的結(jié)束。
CPLD控制的實(shí)現(xiàn)過(guò)程首先是按順序檢測(cè)VSYNC和CHSYNC信號(hào)是否有效,要注意防止毛刺信號(hào)的干擾。毛刺信號(hào)時(shí)間很短,設(shè)計(jì)時(shí)可采用設(shè)標(biāo)志位的方法,即當(dāng)檢測(cè)到信號(hào)的有效沿后(對(duì)于VSYNC是上升沿,而對(duì)于CHSYNC是下降沿),可在等待一定時(shí)間后再次檢測(cè)信號(hào),看其是否仍然有效,如果有效,則說(shuō)明信號(hào)是正確的。
系統(tǒng)中的像素?cái)?shù)據(jù)是按PCLK時(shí)鐘輸出的,所以,可用來(lái)存儲(chǔ)圖像的SRAM使能信號(hào)CE。另外,其讀寫(xiě)信號(hào)也是由CPLD產(chǎn)生的。讀信號(hào)RE只要在CPLD寫(xiě)操作中置“1”即可。由于在數(shù)據(jù)輸出時(shí),PCLK的上升沿信號(hào)比較穩(wěn)定,而RAM可在WR上升沿將數(shù)據(jù)寫(xiě)入,因此,可以在HREF有效后(HREF=1)采用PCLK作為寫(xiě)信號(hào)RW。
由于圖像像素點(diǎn)的個(gè)數(shù)已知,即數(shù)據(jù)個(gè)數(shù)已知,故在計(jì)數(shù)完畢后,CPLD將發(fā)出計(jì)數(shù)完畢信號(hào)。而DSP在接收到中止信號(hào)后,即可開(kāi)始讀取RAM中的數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行壓縮和相應(yīng)的處理,然后把數(shù)據(jù)放到LCD液晶屏的數(shù)據(jù)總線,最后將采集到的圖像在液晶屏上顯示出來(lái)。圖3為圖像采集系統(tǒng)的軟件流程圖。
圖3:圖像采集系統(tǒng)軟件流程圖
結(jié)束語(yǔ)
本系統(tǒng)采用DSP和CPLD的綜合方案來(lái)將圖像的采集和數(shù)據(jù)的處理分而治之。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)圖像清晰,且能滿足實(shí)時(shí)顯示的要求,可廣泛應(yīng)用在網(wǎng)絡(luò)視頻和工業(yè)自動(dòng)監(jiān)測(cè)等方面。