摘要:基于ICX229AK CCD芯片組設(shè)計了具有VGA接口的一體化攝像機。采用DSP+FPGA+ASIC的構(gòu)架,完成了視頻信號的采集和多格式顯示。在FPGA中實現(xiàn)了自動聚 焦、自動光圈等功能,并擴展了鼠標驅(qū)動及劃線、OSD顯示等實用功能。通過PWl226濾波放大處理,完成了PAL制數(shù)字視頻信號到VGA格式的轉(zhuǎn)換,分 辨率可達到1 024x768。實現(xiàn)了復(fù)合視頻、S-VIDEO和VGA 3種視頻信號的同時輸出。該一體化攝像機可用于視頻展臺及實時監(jiān)控等方面,大大提高了輸出圖像質(zhì)量。
關(guān)鍵詞:PAL;VGA;FPGA;自動聚焦;圖像放大
一體化攝像機因其體積小巧、價格低廉,安裝簡便等特點廣泛應(yīng)用于監(jiān)控、教育、醫(yī)學等領(lǐng)域。一體化攝像機根據(jù)使用對象的情況和要求來進行設(shè)計?;贔PGA 器件的可并行處理能力及其可重復(fù)編程的靈活性,提出了一種以DSP+FPGA+ASIC為架構(gòu)的系統(tǒng)解決方案,改善了以往一體化攝像機功能擴展困難的問 題,提高了圖像的質(zhì)量,擴大了其應(yīng)用范圍。
1 系統(tǒng)硬件設(shè)計
系統(tǒng)硬件框圖如圖l所示。視頻采集模塊采用SONY公司攝像機套件,主要包括470 K像素PAL制CCDICX229AK,AFE(模擬前端)CXA2096N和專用DSPCXD4103。該模塊先將CCD采集到的圖像數(shù)據(jù)經(jīng)DSP處理 后,輸出分辨率為748x584的PAL制YUV(422)ITUREC656格式的數(shù)字視頻信號,同時輸出行、場參考信號和像素時鐘信號。這些信號先經(jīng) 過FPGA圖像處理模塊,實現(xiàn)自動聚焦、4幅圖像存儲、鼠標驅(qū)動及劃線功能、實時圖像與存儲圖像上下左右對比、OSD疊加、圖像凍結(jié)、負片顯示、鏡像、彩 色黑白選擇輸出等功能。處理后的信號最終送到視頻顯示模塊,經(jīng)過專用集成電路(PWl226)處理后產(chǎn)生RGB圖像信號及標準SVGA格式的行、場同步信 號,使圖像傳感器采集的圖像可在VGA顯示器上實時顯示。
1.1 視頻采集模塊
圖2為視頻采集模塊硬件框圖。系統(tǒng)上電后,DSP從EEPROM中讀取初始化信息。初始化完成后,DSP產(chǎn)生CCD行、場時序信號,同時 產(chǎn)生AFE(模擬前端)的采樣時序信號。CCD在行、場時序作用下,送出采集的原始圖像數(shù)據(jù),在AFE經(jīng)過CDS(相關(guān)雙采樣)、AGC(自動增益控制) 后,將量化后的信號送入DSP。DSP內(nèi)置10 bit的ADC將量化信號轉(zhuǎn)為數(shù)字信號,對其進行噪聲濾波、電平箝位、自動白平衡、邊緣增強等處理后,輸出PAL制YUV(4:2:2)格式的數(shù)字視頻信 號。同時DSP直接輸出復(fù)合視頻及S-VIDEO。
CCD周邊電路設(shè)計如圖3所示。ICX229AK為1/4英寸PAL補色圖像傳感器,其有效分辨率為PAL制752(H)x582(V),工作電壓為12 V,采用14引腳DIP封裝;采用超HAD技術(shù),具有很高的靈敏度并能獲得高飽和度的視頻信號;具有畫質(zhì)細膩、色彩鮮艷、信噪比高等優(yōu)點。
該CCD采用12 V和-5 V電源供電,DSP時序發(fā)生器同時發(fā)出行、場時序驅(qū)動信號,場驅(qū)動信號通過CXDl267進行放大整合后生成供給CCD的場時序驅(qū)動信號V1、V2、 V3、V4,與DSP發(fā)出的行信號H1和H2同時送到CCD,使其開始正常工作,采集到的電信號經(jīng)過場效應(yīng)管2SKl875放大,得到模擬輸出信號 CCDOUT,該信號送至采樣電路CXA2096。[!--empirenews.page--]
C27,R27,VD6,C23構(gòu)成自舉升壓電路,把CXDl267發(fā)出的VSUB信號轉(zhuǎn)換為CCD可接受的電壓幅值,即SUB信號,它是電子快門控制信 號,通過控制傳感器像素表面的電荷積累時間操縱快門。當電子快門關(guān)閉時,對于PAL攝像機,CCD電荷累積時間為1/50 s。電子快門則以311步的基本單位覆蓋,其范圍1/50~1/10 000 s。當電子快門速度增加時,在每個視頻場允許的時間內(nèi),聚焦在CCD上的光減少,結(jié)果將降低
攝像機的靈敏度。
AFE周邊電路設(shè)計如圖4所示。
CXA2096N采用3.3 V供電,其主要作用是對模擬電信號進行采樣、保持、放大,封裝是24引腳SSOP(Plastic)。CCD送出的模擬信號CCD-OUT,經(jīng)2SKl875放大后傳輸給 CXA2096N,經(jīng)CXA2096N采樣、保持、放大后得到DRVOUT信號傳輸給DSP。CXA2096N是信號進行模數(shù)轉(zhuǎn)換前的最后一 個環(huán)節(jié),其重要性不言而喻,同樣地,CXA2096N也是在DSP時鐘發(fā)生器的時序驅(qū)動信號下完成其一系列工作的。其中最重要的3個信號分別是CCDLEVEL、OFFSET和AGCCONT。
CCDLEVEL是CXA2096N的輸出信號,這個信號直接反映了CCD采集到信號的電平大小、變化程度和范圍。CCD正常情況下采集到的黑電平信號約2.7 V。
OFFSET是CXA2096N的輸出信號,變化范圍1.5~3 V,這個信號反映的是一個偏移量,DSP可以通過它改變CXA2096N的采樣偏置電壓,這一改變直接反應(yīng)在視頻顯示處理板中,體現(xiàn)到最終的圖像顯示效果 上。OFFSET越大,圖像整體向明亮的區(qū)域變化,反之,則往黑暗的區(qū)域變化。因為OFFSET信號使得圖像整體偏移變化,用一個形象的比喻,它是一個 “加”的關(guān)系,即圖像數(shù)據(jù)整體增加了一個偏置電平。AGCCONT也是CXA2096N的輸出信號,變化范圍1.5~3 V,這個信號反映的是一個增益量,所有一體化攝像機都有一個來自CCD的信號放大到可以使用水準的視頻放大器,其放大量即增益,等效于較高的靈敏度,可使 其在微光下靈敏,然而在亮光照的環(huán)境中放大器將過載,使視頻信號畸變。為此,需利用一體化攝像機的自動增益控制(AGC)電路去探測視頻信號的電平,適時 地開關(guān)AGC,從而使攝像機能夠在較大的光照范圍內(nèi)工作,即動態(tài)范圍,在低照度時自動增加攝像機的靈敏度,從而提高圖像信號的強度來獲得清晰的圖像。外部 單片機或DSP可以通過改變CXA2096N的放大增益系數(shù),直接反應(yīng)在視頻顯示處理板中,體現(xiàn)到最終的圖像顯示效果上。AGCCONT越大,圖像整體向 明亮的區(qū)域變化,反之,則往黑暗的區(qū)域變化。因為AGCCONT信號使得圖像整體偏移變化,即圖像數(shù)據(jù)整體“乘”增益系數(shù)。
CXA2096N的采樣需要一個基準電壓,否則采樣的數(shù)據(jù)會有偏差,這對將來的視頻數(shù)據(jù)處理影響非常大的。采樣校準電壓VRT和VRB一定要保證準確,VRT為2.35 V,是采樣上限:VRB為1.35 V,是采樣下限。同時VRT和VRB輸出給A/D轉(zhuǎn)換器,作為其量化的參考電平。
1.2 FPGA圖像處理模塊
該模塊的邏輯結(jié)構(gòu)如圖5所示。該模塊基于FPGA設(shè)計,實現(xiàn)自動聚焦、自動光圈控制、幀率提升、OSD以及SPI通信功能。FPGA采用XILI-NX公司的XC3S250E。內(nèi)部功能采用自頂向下的層次式設(shè)計方法,并用VHDL硬件描述語言實現(xiàn),最終由ISE 6.0綜合生成位流,固化在外部的存儲器中。
FPGA將接收的YUV(4:2:2)格式的信號進行格式識別和轉(zhuǎn)換,然后在SDRAM中把連續(xù)2場圖像緩沖為一幀圖像,下一幀圖像緩沖在另一片 SDRAM中,形成了連續(xù)切換視頻雙緩沖結(jié)構(gòu)。當其中一片SDRAM輸入圖像時,另一片在VGA顯示控制器的控制下通過輸出FIFO以SVGA@60Hz 的點速率輸出圖像,具體過程如下:
該模塊首先對輸入信號進行奇偶場識別,奇場掃描的第一行有374個像素,偶場掃描的第一行有748個像素,通過對一場的第一行數(shù)據(jù)計數(shù)判斷,可知當前場為 奇場或偶場,然后從下一個奇場開始接收數(shù)據(jù)。這樣確保了相鄰兩場為一幀完整的圖像。此模塊為深度748、寬度16 bit的異步FIFO(先進先出),寫地址計數(shù)器為0到748的循環(huán)計數(shù)器,當其計數(shù)到300或700時,給主控制器發(fā)送讀信號,主控制器隨后產(chǎn)生 FIFO的讀使能信號,使讀使能信號在連續(xù)的374個讀時鐘周期內(nèi)一直有效,即可連續(xù)讀出374個數(shù)據(jù)。本設(shè)計讀時鐘頻率大于寫時鐘頻率,不會產(chǎn)生數(shù)據(jù)寫 滿溢出的現(xiàn)象。
主控制器通過對輸入緩沖的讀請求信號和輸出緩沖的寫請求信號處理,實現(xiàn)對2個SDRAM的讀、寫操作切換。該模塊首先完成對SDRAM的初始 化,SDRAM被設(shè)置成連續(xù)的全頁進發(fā)模式。然后SDRAM進入正常工作狀態(tài),準備接收讀、寫命令。當SDRAM在空閑狀態(tài)下,為保持其數(shù)據(jù)不丟失,必須 對其定時刷新,一般要求64ms內(nèi)刷新4096次,但是當SDRAM在進行讀、寫進發(fā)時,自動刷新命令會打斷讀、寫,從而造成數(shù)據(jù)丟失。該設(shè)計在64 ms內(nèi)對SDRAM至少進行4 096次讀、寫操作,所以可以不必對其刷新。當SDRAM讀、寫到374時,發(fā)出預(yù)充命令來停止進發(fā),同時關(guān)閉當前行,為下一次讀、寫作好準備。 SDRAM被設(shè)置成進發(fā)模式,進發(fā)長度為374。
首先時序發(fā)生器利用40 MHz的主時鐘產(chǎn)生符合VESA標準的行、場同步信號,同時在行、場參考信號都有效,且39<行計數(shù)器<788、19<場計數(shù)器<604時產(chǎn)生輸出緩沖的讀使能信號。輸出模塊為深度748、寬度16 bit的異步FIFO。寫時鐘和讀時鐘同為40 MHz的主時鐘,當讀使能有效時,啟動讀計數(shù)器從O到799循環(huán)計數(shù)。該設(shè)計每隔10個數(shù)據(jù)將前一個數(shù)據(jù)重復(fù)讀出,直到輸出800個數(shù)據(jù)。當讀計數(shù)器計到100或500時,該模塊向主控制器模塊發(fā)寫請求命令。在行、場消隱期間,讀使能信號無效,所以不會產(chǎn)生讀空現(xiàn)象。
經(jīng)過PWl226視頻顯示模塊進一步濾波,消除行場間閃爍效應(yīng),提高畫質(zhì),并可平滑放大到l 024x768的分辨率,最終輸出SVGA或XGA的標準的VGA視頻接口信號。
同時FPGA還可以通過內(nèi)部的SPI模塊實現(xiàn)對DSP和CXD4103的寄存器設(shè)置,使其正常工作。
1.3 自動聚焦
首先,F(xiàn)PGA通過對圖像亮度信號Y的處理來實現(xiàn)自動聚焦功能。選擇常用的灰度差分法作為聚焦評價函數(shù),選取中心像素過去的4個像素(左側(cè)、左上側(cè)、右側(cè)、右上側(cè)4個像素)計算差分值。
由于聚焦評價函數(shù)需要用中心像素所在行及上一行臨近的4個像素,所以需要在FPGA內(nèi)部使用2個雙口RAM做相鄰兩行數(shù)據(jù)緩存區(qū),每個雙口RAM容量為 800x8 bit。讀寫選擇模塊將一幀圖像的第l行數(shù)據(jù)寫入RAMl,將第2行數(shù)據(jù)寫入RAM2。在寫入RAM2一個時鐘周期后,開始讀出RAMl和RAM2中的數(shù) 據(jù),送到聚焦評價函數(shù)算法實現(xiàn)模塊,以RAM2中的圖像像素為中心像素計算亮度差值絕對值和,當?shù)?行圖像數(shù)據(jù)到來時再次寫入RAMl,同樣在寫入 RAMl一個時鐘周期后,讀出RAMl和RAM2中的數(shù)據(jù)并送到聚焦評價函數(shù)算法實現(xiàn)模塊,同樣以RAMl中的像素為中心計算亮度差值絕對值和,如此循 環(huán),得到一場的亮度差值絕對值總和。[!--empirenews.page--]
圖6為聚焦評價函數(shù)實現(xiàn)模塊。圖中,聚焦評價函數(shù)實現(xiàn)模塊讀取的2行數(shù)據(jù),由寫入寄存器選擇模塊來選擇中心像素所在行,寫入第2列寄存器。在時鐘同步作用 下,每時鐘將像素右移進入下一個寄存器,同時寄存器regll,regl2,regl3,reg2l中的數(shù)據(jù)同reg22中的數(shù)據(jù)作減法,取得差值 suml、sum2、sum3、sum4,相加得到和sum。當一幀圖像結(jié)束,sum中的數(shù)據(jù)成為該幀的亮度差值和。當前幀計算的結(jié)果與前一幀的計算結(jié)果 相比較,若當前幀的函數(shù)值大于前一幀的函數(shù)值,說明當前圖像比前一幀圖像清楚,則輸出結(jié)果OUT為'1’,反之則輸出'0’。
采用爬山搜索算法確定光學聚焦位置。在自動聚焦使能信號有效后,驅(qū)動馬達從初始位置正轉(zhuǎn)8步,反轉(zhuǎn)8步,然后再反轉(zhuǎn)8步,正轉(zhuǎn)八步,回到初始位置。每轉(zhuǎn)1 步檢測聚焦評價函數(shù)模塊的輸出out值,將4個8步內(nèi)檢測到‘1’的個數(shù)分別保存為suml、sum2、sum3 sum4,接下來進行統(tǒng)計分析,如果suml≥16,則認為正轉(zhuǎn)方向為聚焦方向;若sum2≥6則認為反轉(zhuǎn)方向為聚焦方向;如果suml、sum2都未大 于等于6,則計算suml+sum4和sum2+sum3;如果suml+sum4≥sum2+sum3,則認為正轉(zhuǎn)方向為聚焦方向,否則認為反轉(zhuǎn)方向為 聚焦方向。確定出聚焦方向后驅(qū)動步進馬達帶動鏡頭向聚焦方向一步一步轉(zhuǎn)動,每轉(zhuǎn)一步檢測聚焦評價函數(shù)算法模塊的輸出OUT值,若連續(xù)轉(zhuǎn)的2步輸出out都 為‘0’,則認為超過最清晰位置,則驅(qū)動步進馬達倒退2步,鏡頭達到最佳聚焦位置。
步進馬達驅(qū)動包括變焦馬達驅(qū)動和聚焦馬達驅(qū)動,變焦馬達實現(xiàn)變倍,聚焦馬達用來聚焦。變焦馬達和聚焦馬達的勵磁方式不同,變焦馬達采用2相勵磁方式,見表 l。聚焦馬達采用的是1.2相勵磁方式,見表2。其中A+、A-分別代表A相繞組正端和負端功率橋控制信號,B+、B-分別代表B相繞組正端和負端功率橋 控制信號。按照表中所示的電平信號,外加在步進馬達的兩組線圈上,利用線圈間脈沖的相位差產(chǎn)生的扭矩來驅(qū)動馬達步進工作。按照表中所示的脈沖順序,從左向 右變化可實現(xiàn)步進馬達的反轉(zhuǎn);反之則實現(xiàn)正轉(zhuǎn)。以變焦馬達驅(qū)動為例,在FP-GA內(nèi)設(shè)計一個狀態(tài)機,實現(xiàn)4個狀態(tài)間的狀態(tài)轉(zhuǎn)移,每一次變倍使能有效時,根 據(jù)當前狀態(tài)轉(zhuǎn)移,變倍方向轉(zhuǎn)移到下一個相鄰狀態(tài),輸出該狀態(tài)時對應(yīng)的4個控制電平信號,驅(qū)動馬達轉(zhuǎn)動,實現(xiàn)變倍功能。需要注意的是,由于FPGA輸出脈沖 信號的驅(qū)動電平和電流與步進馬達的驅(qū)動要求不匹配,應(yīng)在FPGA輸出引腳外接驅(qū)動橋電路。
[!--empirenews.page--]
1.4 自動光圈控制
圖像的亮度與外界光照和光圈有關(guān)。自動光圈控制是在特定光照度下,通過計算圖像的亮度確定目標光圈孔徑,從而得到曝光合適的圖像。通過實驗,給出光照度 (對應(yīng)圖像亮度)與HALL電壓值(δ1~δ5)之間關(guān)系曲線,如圖7所示。改變光圈孔徑并計算相應(yīng)圖像亮度值,得到曲線上2點的坐標,便可確定對應(yīng)當前 光照度的曲線,曲線與基準光度值所對應(yīng)直線的交點即是目標HALL電壓值(目標光圈孔徑)。
由于曲線是非線性的,在FPGA中通過建立查找表存儲曲線。將橫軸分割為δ1~δ55個區(qū)域,每個區(qū)域內(nèi)可近似用直線表示,查找表中只要存儲直線的斜率和 起點坐標。光圈孔徑值(對應(yīng)電路HALL電壓值)和對應(yīng)光度值決定的2點即可確定當前的控制曲線。若光圈孔徑值處在的邊界點,光圈馬達應(yīng)向該區(qū)域的內(nèi)部運 動,以便2次取點都是在同一區(qū)域,保證2次取點落在一條直線上。
確定了光度值曲線,就可以沿著曲線調(diào)整光圈的開度?;鶞使舛人骄€與已確定的光度曲線交點必然對應(yīng)一個特定的光圈開度值(特定的HALL電壓值)。在具體操作中,只需驅(qū)動光圈馬達來改變光圈孔徑,直至CPU得到指定的HALL電壓值,即為最佳曝光狀態(tài)。
1.5 OSD(On Sereen Display)模塊
OSD設(shè)計最重要的是視頻鼠標,以SVGA格式下的鼠標顯示為例。該模塊首先利用40 MHz的主時鐘產(chǎn)生符合VESA(視頻電子標準化協(xié)會)標準的分辨率為800x600、幀頻為60Hz的標準SVGA格式的行、場同步信號,同時在行、場 參考信號都有效時,產(chǎn)生一個使能信號給輸出緩沖模塊,作為輸出緩沖的讀使能。當行場計數(shù)器等于鼠標在屏幕中的坐標時,則顯示鼠標,否則顯示插值后輸出的圖 像。
如將鼠標顯示成一個紅色的長方形,其長包含30個像素,寬包含10個像素,左上方為鼠標在水平和垂直方向的位移確定的坐標。該部分實現(xiàn)的VHDL描述為:
根據(jù)實際需要,還可將鼠標顯示成其他顏色和形狀,同時適合XGA等顯示格式。
2 結(jié)論
基于FPGA設(shè)計了具有多輸出接口的一體化攝像機,采用FPGA實現(xiàn)了高分辨率圖像的實時顯示,增加了自動聚焦、自動光圈控制、圖像凍 結(jié)、負片顯示、圖形文本選擇、彩色黑白選擇、OSD顯示等功能。并且FPGA還留有許多端口進行功能擴展。該系統(tǒng)設(shè)計把多種圖像處理算法以及系統(tǒng)控制功能 集成到單片F(xiàn)PGA中,使得視頻輸出同時具有3種輸出接口形式,擴大了一體機的應(yīng)用范圍。該系統(tǒng)在硬件結(jié)構(gòu)和FPGA內(nèi)部邏輯功能實現(xiàn)方面都具有良好的可 升級特性。在PCB設(shè)計過程中,應(yīng)注意高速數(shù)字信號的完整性問題以及模數(shù)混合設(shè)計的噪聲干擾問題,避免產(chǎn)生硬件設(shè)計帶來的不良影響。
在進一步研究中,還可實現(xiàn)圖像翻轉(zhuǎn)等功能,并可以通過改進圖像放大算法,以期得到更好的圖像質(zhì)量。該設(shè)計可應(yīng)用到實時監(jiān)控、數(shù)字視頻展臺等方向,具有實時性高、圖像質(zhì)量較好、功能可擴展等優(yōu)點。