《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的小型化實(shí)時(shí)CMOS成像處理系統(tǒng)
基于FPGA的小型化實(shí)時(shí)CMOS成像處理系統(tǒng)
2017年電子技術(shù)應(yīng)用第5期
張龍祥,王向軍,曹 雨
天津大學(xué) 微光機(jī)電教育部重點(diǎn)實(shí)驗(yàn)室,天津300072
摘要: 針對(duì)成像處理系統(tǒng)的實(shí)時(shí)性和小型化的問(wèn)題,設(shè)計(jì)了一種基于Cyclone IV系列FPGA的CMOS數(shù)據(jù)采集處理系統(tǒng),實(shí)現(xiàn)了圖像的實(shí)時(shí)采集、處理和雙通道輸出;通過(guò)體系結(jié)構(gòu)上的優(yōu)化實(shí)現(xiàn)了系統(tǒng)的小型化設(shè)計(jì)。介紹了系統(tǒng)總體框架、硬件體系結(jié)構(gòu)、FPGA功能模塊以及圖像預(yù)處理算法等。最后對(duì)系統(tǒng)進(jìn)行了功能性實(shí)驗(yàn),在滿(mǎn)足雙通道實(shí)時(shí)顯示的情況下,可以實(shí)現(xiàn)圖像增強(qiáng)等實(shí)時(shí)處理,表明該系統(tǒng)具有一定的實(shí)用價(jià)值。
中圖分類(lèi)號(hào): TN919.3;TP274
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2017.05.019
中文引用格式: 張龍祥,王向軍,曹雨. 基于FPGA的小型化實(shí)時(shí)CMOS成像處理系統(tǒng)[J].電子技術(shù)應(yīng)用,2017,43(5):78-81,85.
英文引用格式: Zhang Longxiang,Wang Xiangjun,Cao Yu. Design of miniaturized real-time CMOS image processing system based on FPGA[J].Application of Electronic Technique,2017,43(5):78-81,85.
Design of miniaturized real-time CMOS image processing system based on FPGA
Zhang Longxiang,Wang Xiangjun,Cao Yu
MOEMS Education Ministry Key Lab.,Tianjin University,Tianjin 300072,China
Abstract: Aiming at the problem of real-time and miniaturization of image processing system, a CMOS data acquisition and processing system are designed by Cyclone IV series FPGAs, which realizes image real-time acquisition, process and dual channel output. The miniature design of the system is achieved by structure optimization. The overall framework of the system, the structure of hardware, FPGA internal functions and the algorithm of image preprocessing are introduced. Finally, the functional experiment of the system is carried out, which can realize real-time image processing and enhance image in the case of dual channel real-time display. The result shows that this designed system is reasonable and feasible in applications.
Key words : image processing system;CMOS;FPGA;real-time;miniaturization

0 引言

    隨著電子技術(shù)的進(jìn)步,圖像處理系統(tǒng)得到了飛速的發(fā)展。當(dāng)今的主流圖像處理平臺(tái)大多基于FPGA+DSP[1],雖然滿(mǎn)足系統(tǒng)實(shí)時(shí)性及處理性能要求,但系統(tǒng)結(jié)構(gòu)復(fù)雜,設(shè)計(jì)難度較高,資源浪費(fèi)嚴(yán)重,不利于小型化設(shè)計(jì)。針對(duì)這一問(wèn)題,本文設(shè)計(jì)了一種基于FPGA和CMOS成像處理系統(tǒng),CMOS傳感器采集圖像信息經(jīng)由FPGA實(shí)現(xiàn)基本的圖像處理算法后,同時(shí)輸出兩路不同數(shù)據(jù)格式的圖像信號(hào)供后續(xù)處理控制系統(tǒng)使用或者直接顯示,如Cameralink、DSP、VGA等。本系統(tǒng)將CMOS和FPGA合成為一個(gè)小型化的完整成像系統(tǒng),成本低廉,適用范圍廣,可直接裝載常用的圖像處理算法并實(shí)時(shí)顯示輸出[2];在面對(duì)復(fù)雜的算法或測(cè)控應(yīng)用時(shí),也可靈活地外接DSP或其他測(cè)控平臺(tái),相較傳統(tǒng)圖像處理系統(tǒng)更靈活、更節(jié)省資源、更具有應(yīng)用優(yōu)勢(shì)。

1 系統(tǒng)硬件體系結(jié)構(gòu)

    本系統(tǒng)采用如圖1所示的雙層PCB堆疊設(shè)計(jì),上層為CMOS板,通過(guò)微型接口與下層FPGA板通信傳輸圖像數(shù)據(jù)。在保證系統(tǒng)功能完整的前提下,將整體功能分配到多層PCB體系中,可以有效降低單層PCB容量和布局布線(xiàn)難度,減小單層PCB板面積,從而最大限度地優(yōu)化系統(tǒng)體積尺寸。

ck1-t1.gif

    基于FPGA和CMOS的成像系統(tǒng)的硬件結(jié)構(gòu)如圖2所示。CMOS芯片上電復(fù)位后,經(jīng)過(guò)硬件配置電路設(shè)置基本工作方式,再使用SCCB總線(xiàn)設(shè)置各顯示參數(shù),才能進(jìn)入正常工作模式并經(jīng)由緩沖電路將圖像信息(包括像素時(shí)鐘、行場(chǎng)同步以及12 bit灰度數(shù)據(jù))[3]輸出到FPGA。FPGA芯片上電復(fù)位后,由EPCS16進(jìn)行初始化配置。首先延遲200 ms,等待CMOS芯片硬件復(fù)位以及硬件配置完成;然后啟動(dòng)CMOS配置模塊,傳輸初始化配置信息;之后接收?qǐng)D像信息做處理后,分兩路同時(shí)輸出,一路Cameralink數(shù)字信號(hào)經(jīng)專(zhuān)用轉(zhuǎn)換芯片轉(zhuǎn)換為差分Cameralink信號(hào)[4]后輸出,一路DSP數(shù)字信號(hào)直接傳輸。

ck1-t2.gif

    CMOS芯片標(biāo)準(zhǔn)IO口參考電壓為2.8 V,F(xiàn)PGA接口參考電壓3.3 V,所以系統(tǒng)中設(shè)置了緩沖電路來(lái)將2.8 V電壓轉(zhuǎn)換為3.3 V,加大信號(hào)擺幅,使FPGA芯片能準(zhǔn)確讀取數(shù)據(jù);且緩沖電路經(jīng)設(shè)計(jì)嚴(yán)格滿(mǎn)足阻抗匹配,避免了信號(hào)過(guò)沖等失調(diào)問(wèn)題[5]。

    系統(tǒng)中沒(méi)有搭載DDR2外部存儲(chǔ)器,一方面是考慮到系統(tǒng)的小型化設(shè)計(jì)和成本控制,DDR2芯片自身及其復(fù)雜的布局布線(xiàn)都會(huì)使系統(tǒng)體積大幅度增加;另一方面根據(jù)系統(tǒng)需求,F(xiàn)PGA平臺(tái)的圖像預(yù)處理功能并不需要保存整幀圖像,只需要緩存部分待處理數(shù)據(jù)即可。

2 FPGA模塊設(shè)計(jì)

    本系統(tǒng)設(shè)計(jì)目的主要是實(shí)時(shí)采集、處理并顯示CMOS圖像數(shù)據(jù)。功能模塊主要?jiǎng)澐譃槿鐖D3所示的CMOS配置及數(shù)據(jù)采集模塊、圖像處理算法模塊和多通道輸出顯示模塊。

ck1-t3.gif

    系統(tǒng)采集并處理過(guò)的圖像經(jīng)過(guò)一個(gè)可配置的FIFO緩存,在輸出模塊中轉(zhuǎn)換成不同數(shù)據(jù)格式并實(shí)時(shí)輸出。該模塊以CMOS傳感器的行場(chǎng)同步信號(hào)為基礎(chǔ),實(shí)現(xiàn)了不同時(shí)鐘域之間數(shù)據(jù)格式的轉(zhuǎn)換,并且可以同時(shí)輸出多路圖像,在一定程度上增強(qiáng)了系統(tǒng)的靈活性以及功能性。由于基于內(nèi)部FIFO設(shè)計(jì),保證圖像實(shí)時(shí)顯示的同時(shí),去掉了外部RAM存儲(chǔ)器,大大減小了系統(tǒng)體積和復(fù)雜度,實(shí)現(xiàn)了系統(tǒng)的小型化[6]。

2.1 CMOS配置及數(shù)據(jù)采集模塊

    CMOS經(jīng)過(guò)上電復(fù)位和硬件初始化配置后,可通過(guò)SCCB總線(xiàn)進(jìn)行顯示參數(shù)的配置,包括分辨率、掃描方式、開(kāi)窗、白平衡、黑場(chǎng)、曝光時(shí)間等[7]。

    配置CMOS輸出分辨率為1 024×768、幀率為60 Hz的視頻圖像,其像素時(shí)鐘、行場(chǎng)同步信號(hào)和有效數(shù)據(jù)之間的關(guān)系如圖4所示。在場(chǎng)同步信號(hào)有效的前提下,圖像采集模塊以行同步信號(hào)上升沿為采集起點(diǎn),高電平有效期間為采集狀態(tài)。

ck1-t4.gif

    由于后續(xù)的圖像預(yù)處理模塊需要圖像幀的灰度特征值,包括最大值、最小值以及灰度均值,所以在CMOS數(shù)據(jù)采集模塊中添加了灰度均值計(jì)算模塊。該模塊不會(huì)對(duì)圖像的行場(chǎng)同步信號(hào)以及圖像灰度值造成時(shí)間延遲,只是統(tǒng)計(jì)有效圖像數(shù)據(jù)(即行場(chǎng)同步信號(hào)同時(shí)為高電平)中心區(qū)域512×1 024 個(gè)像素的灰度值之和,并右移19 位計(jì)算均值,同時(shí)記錄下灰度最大值、最小值。這樣既不影響均值精度,又避免了除法操作及不必要的時(shí)鐘延遲,節(jié)省了系統(tǒng)資源,有效提高了系統(tǒng)實(shí)時(shí)性。

2.2 圖像數(shù)據(jù)處理算法模塊

    本系統(tǒng)采用的圖像處理算法是分段線(xiàn)性映射法,主要作用是增強(qiáng)圖像細(xì)節(jié)效果、提高對(duì)比度。算法計(jì)算時(shí)需要取得一幀圖像的有效像素灰度的最大值、最小值及均值,在最小值到灰度均值和灰度均值到最大值兩段分別作線(xiàn)性映射,使有效像素的灰度值拉伸到整個(gè)0~255灰度空間,從而增強(qiáng)對(duì)比度。映射關(guān)系如圖5所示,計(jì)算時(shí)需要統(tǒng)計(jì)一幀圖像的灰度最大值、最小值和均值。

ck1-t5.gif

     ck1-gs1-2.gif

    ck1-gs3-4.gif

    在實(shí)際視頻處理成像中,相鄰兩幀圖像之間像素變化不明顯,灰度均值變化范圍一般在±1個(gè)灰度級(jí)內(nèi)。所以當(dāng)幀圖像可以采用上一幀圖像統(tǒng)計(jì)的灰度值映射參數(shù)(最大值、最小值及均值)進(jìn)行分段線(xiàn)性映射處理,避免了整幀圖像的緩存及外部存儲(chǔ)。

    每幀圖像場(chǎng)消隱期間,利用當(dāng)幀統(tǒng)計(jì)的圖像灰度值映射參數(shù),根據(jù)式(1)~式(4)所示灰度映射公式進(jìn)行全灰度級(jí)的映射計(jì)算。表1所示為對(duì)一幀圖像統(tǒng)計(jì)的最大值、最小值及均值。為了剔除噪點(diǎn)及壞點(diǎn)的影響,本系統(tǒng)記錄圖像的多級(jí)最大值(即最大值和多個(gè)次大值)以及其相對(duì)應(yīng)的像素?cái)?shù),采用像素?cái)?shù)大于10 個(gè)像素的灰度最大值作為當(dāng)幀圖像的真實(shí)最大值;表2列出了部分灰度值的映射結(jié)果。

ck1-b1.gif

ck1-b2.gif

    將計(jì)算結(jié)果以原始灰度值為地址存入基于IP核構(gòu)建的雙口RAM中,如圖6所示,下一幀圖像有效數(shù)據(jù)期間,以實(shí)時(shí)灰度值為地址從RAM中取出其對(duì)應(yīng)的映射值輸出即可。由于算法處理部分在幀間消隱期間完成,相對(duì)于輸入圖像數(shù)據(jù)流,經(jīng)過(guò)分段線(xiàn)性映射處理的圖像僅延遲2個(gè)時(shí)鐘周期的RAM讀取時(shí)間,靈活利用了幀間消隱時(shí)間,提高了系統(tǒng)圖像輸出的實(shí)時(shí)性。

ck1-t6.gif

2.3 多通道輸出顯示模塊

    由于CMOS輸出圖像格式不是標(biāo)準(zhǔn)的圖像數(shù)據(jù)顯示格式,需要進(jìn)行圖像數(shù)據(jù)格式的轉(zhuǎn)換。目前主流的圖像數(shù)據(jù)格式轉(zhuǎn)換方法是通過(guò)外部SDRAM或DDR存儲(chǔ)器緩存一幀圖像后再讀出數(shù)據(jù),結(jié)合已確定的行場(chǎng)同步信號(hào)輸出圖像[8]。這種方法不僅需要延遲將近一幀圖像的時(shí)間,而且由于經(jīng)濟(jì)實(shí)用的外部存儲(chǔ)器多是單端的,即讀寫(xiě)不能同時(shí)進(jìn)行,所以需要編寫(xiě)復(fù)雜的時(shí)序邏輯控制外部存儲(chǔ)器與讀寫(xiě)模塊之間的信息交互關(guān)系,才能保證在寫(xiě)入數(shù)據(jù)不丟失的情況下滿(mǎn)足輸出數(shù)據(jù)格式時(shí)序。

    本系統(tǒng)采用內(nèi)部IP核例化的FIFO存儲(chǔ)器來(lái)緩存一小部分不能實(shí)時(shí)輸出的圖像信息,省去了外部存儲(chǔ)器以及復(fù)雜的控制邏輯。其兩端采用異步時(shí)鐘的設(shè)計(jì)方法,實(shí)現(xiàn)了2個(gè)時(shí)鐘域之間的數(shù)據(jù)傳輸,輸入端為CMOS輸出信號(hào),輸出端為圖像顯示信號(hào),只需保證FIFO容量滿(mǎn)足寫(xiě)入和讀出圖像有效數(shù)據(jù)的滯留量,就能在不丟失圖像數(shù)據(jù)的基礎(chǔ)上,實(shí)現(xiàn)圖像格式轉(zhuǎn)換并實(shí)時(shí)輸出。

    圖7為雙通道Cameralink和DSP數(shù)據(jù)格式轉(zhuǎn)換前后時(shí)序?qū)Ρ葓D,兩通道實(shí)時(shí)并行輸出,以Cameralink顯示為例,轉(zhuǎn)換前后數(shù)據(jù)格式如表3所示。

ck1-t7.gif

ck1-b3.gif

    由于輸入輸出幀率同為60 Hz,每幀圖像所需時(shí)間一致,所以只需要計(jì)算一幀圖像的滯留量,即可得到FIFO大小。輸入一行數(shù)據(jù)的時(shí)間:2.09×10-5((1 024+370)/66.58×106) s,該時(shí)間內(nèi)輸出數(shù)據(jù)為1 205(57.56×106×2.09×10-5)個(gè)像素,即在輸入一行數(shù)據(jù)的時(shí)間內(nèi),輸入、輸出數(shù)據(jù)差值為25 個(gè)像素。考慮到計(jì)算中將行消隱數(shù)據(jù)(即無(wú)效數(shù)據(jù))也包含在內(nèi),根據(jù)輸出有效數(shù)據(jù)占空比85%(1 024/(1 024+206)),可得到每一行的實(shí)際速率差為21個(gè)像素。所以768行有效數(shù)據(jù),共需要16 K個(gè)像素存儲(chǔ)空間即可滿(mǎn)足緩存需要。

    由SCCB總線(xiàn)配置模塊輸入時(shí)鐘高于輸出時(shí)鐘,同時(shí)通過(guò)調(diào)整行場(chǎng)消隱寬度等配置使輸入有效數(shù)據(jù)盡量類(lèi)似于輸出數(shù)據(jù)格式,即可充分利用FPGA內(nèi)部存儲(chǔ)資源,再匹配行場(chǎng)同步信號(hào)與數(shù)據(jù)的關(guān)系就能實(shí)現(xiàn)各種不同數(shù)據(jù)格式的實(shí)時(shí)輸出。對(duì)于行場(chǎng)同步信號(hào)低電平有效的視頻數(shù)據(jù)格式,如VGA等[9],本系統(tǒng)數(shù)據(jù)緩沖方式也完全適用,只需要根據(jù)輸出行場(chǎng)同步信號(hào)及前后肩標(biāo)準(zhǔn)制式編寫(xiě)簡(jiǎn)單的計(jì)數(shù)控制時(shí)序即可。

3 實(shí)驗(yàn)結(jié)果分析

3.1 CameraLink、DSP-VPSS雙通道輸出

    為測(cè)試系統(tǒng)輸出功能,采用1 024×768分辨率、60 Hz幀率的12 bit灰度級(jí)圖像雙通道實(shí)時(shí)輸出。一路CameraLink信號(hào)連接采集卡可由PC采集顯示,行場(chǎng)同步及數(shù)據(jù)滿(mǎn)足協(xié)議要求,仿真時(shí)序圖如圖8所示,圖像清晰且沒(méi)有丟幀現(xiàn)象,采集圖像如圖10(c)所示;另一路DSP信號(hào)使用Signal Tap在FPGA中嵌入監(jiān)測(cè)模塊并觀(guān)察發(fā)送數(shù)據(jù),如圖9所示。

ck1-t8.gifck1-t9.gifck1-t10.gif

3.2 輸出圖像效果

    為驗(yàn)證分段線(xiàn)性映射算法的圖像增強(qiáng)效果,對(duì)不同場(chǎng)景、不同光照的圖像取原始圖和映射結(jié)果圖。選取如圖10所示一處場(chǎng)景進(jìn)行對(duì)比發(fā)現(xiàn),在較強(qiáng)光照下,由于圖像對(duì)比度較高,視覺(jué)效果較好,分段線(xiàn)性映射算法有一定效果,但不明顯,如圖10(c)、圖10(d);但是在較弱光照下,原圖對(duì)比度很低,經(jīng)過(guò)分段線(xiàn)性映射后的圖像的對(duì)比度顯著提升,原本無(wú)法辨別的細(xì)節(jié)信息明顯改善,圖像灰度均值也有所提升,如圖10(a)、圖10(b),證明分段線(xiàn)性映射算法模塊對(duì)圖像有明顯的增強(qiáng)效果。

4 結(jié)論

    本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)完整的、可搭載大多數(shù)常用圖像處理算法的、雙通道實(shí)時(shí)同步輸出的小型化CMOS成像系統(tǒng)。既可當(dāng)做傳統(tǒng)CMOS相機(jī)單獨(dú)成像顯示,也可外接其他圖像處理或測(cè)控平臺(tái)來(lái)實(shí)現(xiàn)復(fù)雜圖像處理算法和測(cè)控應(yīng)用。同時(shí)小型化的設(shè)計(jì)思想降低了系統(tǒng)成本,提高了系統(tǒng)效率、靈活性和實(shí)用價(jià)值。

參考文獻(xiàn)

[1] YAN L,ZHANG T,ZHONG S.A DSP/FPGA-based parallel architecture for real-time image processing[J].World Congress on Intelligent Control & Automation,2006,2:10022-10025.

[2] 劉國(guó)賀,李玉惠,李勃,等.數(shù)字圖像水印實(shí)時(shí)嵌入系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2010,29(3):27-30.

[3] 陳必威,梁志毅,王延新,等.基于FPGA的高幀速CMOS成像系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2012,20(5):1397-1400.

[4] 王鵬,程蕓,董書(shū)莉.基于FPGA的多格式數(shù)據(jù)傳輸設(shè)計(jì)[J].電子測(cè)量技術(shù),2014,37(1):70-75.

[5] 曾晶,唐湘成,王德勝.基于FPGA的差分信號(hào)阻抗匹配研究[J].電子設(shè)計(jì)工程,2010,18(3):121-123.

[6] 侯宏錄,王蓉,杜鵑.基于FPGA的CMOS傳感器高速視頻采集系統(tǒng)[J].光電技術(shù)應(yīng)用,2010,25(5):24-28.

[7] 褚紅娟,隋國(guó)榮.基于SCCB通信的FPGA視頻采集模塊[J].自動(dòng)化儀表,2010,31(11):68-74.

[8] 朱奕丹,方怡冰.基于FPGA的圖像采集與VGA顯示系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2011,31(5):1258-1264.

[9] 丁昊杰,劉敬彪,盛慶華.基于CMOS圖像傳感器的視頻采集系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(14):178-188.



作者信息:

張龍祥,王向軍,曹  雨

(天津大學(xué) 微光機(jī)電教育部重點(diǎn)實(shí)驗(yàn)室,天津300072)

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