熊俊俏,周建軍,熊詩琪
(1.武漢工程大學(xué)電氣信息學(xué)院,湖北 武漢 430205;2.武漢工程大學(xué)計算機(jī)科學(xué)與工程學(xué)院,湖北 武漢 430205)
隨著集成電路技術(shù)的發(fā)展,集成圖像傳感器已進(jìn)入數(shù)字式時代[1],輸出數(shù)據(jù)為一定格式的數(shù)據(jù)流,不受外部控制.因此,由于處理器的運(yùn)行速率有限,直接應(yīng)用數(shù)據(jù)總線采集數(shù)據(jù)已不可能,因此大多采用先進(jìn)先出存儲器先緩存處理[1-2],如文獻(xiàn)[2]在設(shè)計中通過現(xiàn)場可編程門陣列實現(xiàn)雙時鐘先進(jìn)先出存儲器模塊,仍需要通過內(nèi)部總線進(jìn)行數(shù)據(jù)存儲,采集速率將受到內(nèi)部總線的限制;文獻(xiàn)[3]采用現(xiàn)場可編程門陣列器件設(shè)計的控制器亦需要通過內(nèi)部總線存儲采集的數(shù)據(jù),并利用靜態(tài)隨機(jī)存儲器緩沖, 因此,數(shù)據(jù)速率也受到內(nèi)部總線速率的限制.如果傳感器數(shù)據(jù)速率增大,數(shù)據(jù)流將要求大容量的先進(jìn)先出存儲器,使得成本上升.本文提出采用現(xiàn)場可編程門陣列器件設(shè)計專用數(shù)據(jù)采集控制器,在采集數(shù)據(jù)時直接接管靜態(tài)隨機(jī)存儲器的數(shù)據(jù)總線,數(shù)據(jù)采集速率將與內(nèi)部總線無關(guān),僅與傳感器和靜態(tài)隨機(jī)存儲器的工作速率有關(guān),采集完數(shù)據(jù)后利用軟核處理和顯示采集的圖像,非常適合視頻圖像的實時采集.
根據(jù)實際需要,系統(tǒng)由專用數(shù)字?jǐn)z像頭、控制器和顯示器組成,數(shù)字?jǐn)z像頭選用OV6620數(shù)字圖像傳感器[3],液晶顯示器,控制器為DE2系統(tǒng),內(nèi)有3.5萬邏輯單元的可編程邏輯器件Altera Cyclone II 2C35、512 kbyte 靜態(tài)隨機(jī)存儲器和1Mbyte FLASH存儲器,VGA(Video Graphics Array)顯示接口等,其中,Cyclone II支持NIOSII軟核微處理器,內(nèi)置32位Avalon總線.
考慮NIOSII處理速率的限制,圖像采集控制器由現(xiàn)場可編程門陣列模塊構(gòu)成,接收傳感器數(shù)據(jù),并根據(jù)地址發(fā)生器的地址寫入至靜態(tài)隨機(jī)存儲器,控制器模塊只由處理器給定地址發(fā)生器的起始地址,已經(jīng)啟動/終止采集命令,當(dāng)處理器處理數(shù)據(jù)時,通過Avalon總線讀取數(shù)據(jù)處理,系統(tǒng)的結(jié)構(gòu)如圖1所示.
OV6620為專用數(shù)字圖像傳感器[3],內(nèi)含總像素為101 376,以及雙8位模/數(shù)轉(zhuǎn)換器,兩種工作模式為16bit/YUV和8bit/YUV,對應(yīng)的攝像頭分辨率分別為QCIF(176×144 像素)和CIF(352×288像素).OV6620采用模塊化,與外圍接口只有場同步信號VSYN、行同步信號HREF、像素同步信號PCLK(像素同步信號)和數(shù)據(jù)總線DATA,逐行數(shù)據(jù)讀出,數(shù)據(jù)格式為YCrCb4∶2∶2、GRB4∶2∶2或RGB原始數(shù)據(jù),通過串行控制總線可編程,可實現(xiàn)圖像增強(qiáng)處理,如色彩飽和度、亮度、對比度、白平衡、曝光時間、增益控制等,常用于視頻會議、視頻電話、視頻監(jiān)控和多媒體等場所.OV6620的工作時序如圖2所示,圖2中VSYN為場同步信號,HREF為行同步信號,像素同步信號PCLK為讀取有效像素值提供同步信號,高電平時輸出有效圖像數(shù)據(jù).
圖1 圖像數(shù)據(jù)采集與顯示結(jié)構(gòu)框圖Fig.1 Image data acquisition and display block diagram
圖2 OV6620工作時序Fig.2 Timing of OV6620
在CIF狀態(tài)下,OV6620的工作時序如圖2所示,VYNSC為幀信號,周期是20 ms, 其中高電平持續(xù)時間很短;HREF是為行脈沖信號,周期為63 μs左右,其中高電平持續(xù)時間為40 μs,低電平持續(xù)時間 23 μs,對照時序圖可以計算OV6620的分辨率為:20 ms/63 μs=317,但實際并沒有這么多,除去消隱和無效信號后只有292行;每一行的像素為40 μs/110 ns=363個, 去掉消隱和無效信號后為356個,因此,OV6620的分辨率為356×292.通過實際測量,PCLK的周期只有150 ns,因此,不能直接采用處理器的中斷或查詢采集圖像數(shù)據(jù).
根據(jù)OV6620的工作時序,幀信號決定了數(shù)據(jù)流的起始點,行脈沖決定了每一行數(shù)據(jù)的起始位置和長度,像素同步信號提供了數(shù)據(jù)讀時鐘,但需要考慮的是:數(shù)據(jù)讀時鐘持續(xù)有效,而實際有效數(shù)據(jù)個數(shù)由幀脈沖和行脈沖決定.因此,數(shù)據(jù)采集控制器的寫信號為PCLK,地址發(fā)生器實際為地址累加器,初始地址通過NIOSII預(yù)置,PCLK為地址發(fā)生器的時鐘.具體的程序流程和內(nèi)部結(jié)構(gòu)如圖3所示.
考慮到錯誤冗余,在每一行的數(shù)據(jù)存儲地址空間為360,比實際的352大,每一幀的空間為360×295,因此,每一幀的首地址由處理器預(yù)置,每一個像素的存儲地址為
A=Q0+Q1·360+Q2
式中,Q0為每一幀的起始地址,由處理器預(yù)置,Q1為行脈沖計數(shù)器值,Q2為地址累加器的值,每個PCLK時鐘自動加一.
該控制器模塊采用Verilog描述,經(jīng)過編譯下載執(zhí)行,可獲得穩(wěn)定的采樣數(shù)據(jù).這里需要注意的是,由于數(shù)據(jù)采集開始的指令與幀脈沖信號不一致,因此每幀數(shù)據(jù)的采集時間應(yīng)超過2幀的時間,才能保證完整的一幀數(shù)據(jù)存儲在指定的空間,這是由于只有第一幀的振脈沖下降沿才能確定存儲起始地址的緣故,本系統(tǒng)取40 ms完成一幀數(shù)據(jù)采集.
系統(tǒng)軟件主要完成控制器的初始地址預(yù)置、圖像數(shù)據(jù)處理與顯示.由于采集的數(shù)據(jù)為YUV格式,需要轉(zhuǎn)化為RGB格式才能由VGA顯示.
圖3 控制器時序與內(nèi)部結(jié)構(gòu)Fig.3 Controller processes and internal structure
YUV與RGB的轉(zhuǎn)換關(guān)系為
Y= 0.59G+ 0.31R+ 0.11B
U=R-Y
V=B-Y
首先系統(tǒng)初始化,設(shè)置數(shù)據(jù)存儲空間首地址,為開始圖像采集作準(zhǔn)備,進(jìn)入主循環(huán),啟動采集控制器工作.根據(jù)需要完成采集圖像幀數(shù)目,開始進(jìn)行圖像處理和顯示[4].程序流程如圖4所示.
圖4 系統(tǒng)軟件流程Fig.4 System software program flow
顯示模塊是將采集的圖片對比,VGA顯示為640×480,將采集的圖片裁剪置入640×480矩陣中,改變圖片在矩陣中的坐標(biāo)存放,并一起在VGA屏上顯示.
根據(jù)實際需要,對圖像傳感器采集的彩色圖像做灰度處理,并采用閾值分割法,對目標(biāo)和背景占據(jù)不同灰度級范圍的圖像,壓縮數(shù)據(jù)量,并設(shè)定閥值將采集的圖像作二值化處理,獲得邊界輪廓.
將設(shè)計的控制器與內(nèi)核NIOSII一并編譯下載,并裝配程序執(zhí)行.根據(jù)需要,系統(tǒng)連續(xù)采集多幀圖像,并顯示在VGA顯示屏上,如圖5所示.
利用現(xiàn)場可編程門陣列芯片的高速特性實現(xiàn)高速數(shù)據(jù)采集與存儲,并采用片上系統(tǒng)NIOSII進(jìn)行數(shù)據(jù)處理和顯示,全部設(shè)計在一片Altera Cyclone II 2C35上完成,節(jié)省了硬件開銷,提高了數(shù)據(jù)采集的速度,不占用處理器的資源,其在線可編程功能提高設(shè)計應(yīng)用的靈活性.所設(shè)計的采集控制器為硬件模塊,也適用于其它高速數(shù)據(jù)采集場合.高速圖像采集與顯示的實現(xiàn),為下一步圖像識別和控制提供了基礎(chǔ),在此特別感謝Altera公司提供的DE2平臺和技術(shù)指導(dǎo).
圖5 實物與采集的圖片顯示Fig.5 The Actual Object and its Display
參考文獻(xiàn):
[1] 許崢,李明,李成金,等. 基于SOPC 的實時圖像處理系統(tǒng)設(shè)計[J].光電技術(shù)應(yīng)用, 2011,26(4):4-7.
[2] 尚媛園,楊新華,徐達(dá)維.基于SOPC技術(shù)的高速圖像采集控制系統(tǒng)的設(shè)計與研究[J].傳感技術(shù)學(xué)報,2011,24(6):864-869.
[3] OV6620 SINGLE-CHIP CMOS CIF COLOR DIGITAL CAMERA[EB/OL].http//www.cs.cmu.edu /~cmucam/Downloads/ov6620DSLF.PDF.2000-03-13/2011-07-10.
[4] 廖永清,丁旭昌,付建國.基于FPGA的VGA圖像動態(tài)顯示控制器的設(shè)計與實現(xiàn)[J].電視技術(shù),2011,35(17):52-54.