一種嵌入式的實(shí)時(shí)視頻采集系統設計
1 引言
本文引用地址:http://dyxdggzs.com/article/149558.htm隨著(zhù)中國機器人產(chǎn)業(yè)的迅猛發(fā)展,據預測到2010年,市場(chǎng)容量將超過(guò)93.1億人民幣。智能移動(dòng)機器人是在室外環(huán)境中,將視頻圖像采集回來(lái)之后,按照預先給定的目標任務(wù),結合已知的地理信息做出路徑規劃,在行駛的過(guò)程中能夠不斷感知和判斷周?chē)沫h(huán)境信息,自主地做出各種決策,隨時(shí)調整自身的行駛狀態(tài)并執行相應的動(dòng)作和操作[1]。在這個(gè)過(guò)程中,視頻采集質(zhì)量的好壞將直接影響整個(gè)系統的運行,是進(jìn)行后續數字圖像處理的前提條件。因此,必須有高性能的硬件設備和高質(zhì)量的算法作為基礎,實(shí)時(shí)視頻采集才成為可能。本文設計并實(shí)現了基于FPGA的嵌入式實(shí)時(shí)視頻采集系統。該系統體積小,功耗低,速度快,適應性好,能夠滿(mǎn)足智能移動(dòng)機器人視頻信號處理系統的需求。
2 系統基本原理
圖1為系統工作原理框圖,整個(gè)系統所需各種芯片的電路連接如下圖所示,由CCD攝像頭輸出模擬視頻信號,經(jīng)過(guò)視頻解碼芯片SAA7111A進(jìn)行視頻預處理(鉗位、放大、A/D轉換、同步分離等)后輸出圖像數字信號IPD、行同步信號HREF、場(chǎng)同步信號VREF、奇偶場(chǎng)標志信號RST0和13.5MH像素時(shí)鐘信號LLC2去驅動(dòng)FPGA,從而產(chǎn)生正確的圖像采集時(shí)序和存儲地址,并將采集的圖像存儲到雙口RAM中。整個(gè)系統由視頻采集控制和幀存讀寫(xiě)控制兩個(gè)核心模塊組成,它們的功能都由FPGA來(lái)實(shí)現。雙口RAM分為幀存A和幀存B兩個(gè)存儲區域,實(shí)現乒乓式的讀寫(xiě)操作,能夠完成圖像的實(shí)時(shí)采集。SAA7111A的配置程序和FPGA采集控制程序存儲在FLASH中,系統上電工作時(shí)加載。
圖1 系統工作原理框圖
3 圖像采集系統的構成
3.1視頻信號
視頻信號中除了包含圖像信號之外,還包括了行同步信號、行消隱信號、場(chǎng)同步信號(幀同步信號)、場(chǎng)消隱信號以及槽脈沖信號、前均衡脈沖、后均衡脈沖等。因而,對視頻信號進(jìn)行A/D轉換的電路也非常復雜。Philips公司將這些非常復雜的視頻A/D轉換電路集成到了一塊芯片內。從而生產(chǎn)出功能強大的視頻輸入處理芯片SAA7111A,為視頻信號的數字化應用提供了極大的方便。
3.2 SAA7111A 性能及工作協(xié)議
SAA7111A是PHILIPS公司的一種增強型視頻輸入處理器芯片,它集A/D與解碼功能于一身,片內還附有鎖相、自動(dòng)鉗位控制、時(shí)鐘自動(dòng)增益產(chǎn)生、多制式解碼等電路,另外還可對亮度、對比度和飽和度進(jìn)行控制[2]。既支持PAL電視制式,又支持NTSC電視制式。SAA7111A內部含有I2C接口,可簡(jiǎn)潔的通過(guò)I2C總線(xiàn)對SAA7111A的工作方式進(jìn)行設定。SAA7111A的場(chǎng)同步信號VREF、行同步信號HREF、奇偶場(chǎng)信號RST0、像素時(shí)鐘信號LLC2都由引腳直接引出,從而省去了以往時(shí)鐘同步電路的設計,其可靠性和方便性有了很大的提高。
圖2所示為SAA7111A的功能方框圖。從SAA7111A的四個(gè)模擬輸入端AI11,AI12, AI21, AI22輸入的視頻圖像信號,經(jīng)模擬處理后,一路經(jīng)A/D轉換器后產(chǎn)生數字色度信號和亮度信號,分別進(jìn)行亮度信號處理和色度信號處理。亮度信號處理的結果一路送到色度信號處理器,進(jìn)行綜合處理,產(chǎn)生Y和UV信號,經(jīng)格式化后從VPO(16位)輸出;另一路進(jìn)入同步分離器,經(jīng)數字PLL產(chǎn)生相應的行和場(chǎng)同步信號HS和VS,同時(shí)PLL驅動(dòng)時(shí)鐘發(fā)生器,產(chǎn)生與HS鎖定的時(shí)鐘信號LLC和像素時(shí)鐘信號LLC2。所有這些功能均是在I2C總線(xiàn)控制下完成的,其中SCL為串行時(shí)鐘信號,SDA為串行數據信號。
基金項目:中國博士后科學(xué)基金資助項目(2005038095);山西省自然科學(xué)基金資助項目(20051043);中北大學(xué)科學(xué)基金資助項目。
圖2 SAA7111A功能方框圖
SAA7111A的主要特點(diǎn):
可編程選擇四路視頻輸入的一路或兩路,組成不同的工作模式,在其內部有兩路模擬視頻信號處理通道,可進(jìn)行靜態(tài)增益控制或自動(dòng)增益控制,還有兩路模數轉換器;
可對芯片編程進(jìn)行自電平控制、抗混疊濾波、梳狀濾波;
場(chǎng)頻50Hz或60Hz自動(dòng)檢測,并在PAL和NTSC制之間自動(dòng)切換;
能對不同輸入制式的亮度信號和色度信號進(jìn)行處理,并實(shí)現亮度、色度和飽和度的片內控制;
提供兩種數據方式供選擇,這兩種數據方式分別是RGB和YUV,可靈活輸出不同的數字圖像數據格式,主要有:4:1:1的YUV格式(12bit ), 4:2:2的YUV格式(16bit), 4:2:2的YUV格式[CCIR-656](8bit), 5:6:5的RGB格式(16bit)和8:8:8的RGB格式(24bit);
SAA7111A的工作模式由其內部的控制寄存器決定,需根據不同的視頻標準來(lái)配置相應的內部寄存器,即初始化。用戶(hù)根據I2C 總線(xiàn)協(xié)議,將需要的控制字寫(xiě)入控制地址即可對SAA7111A進(jìn)行相應的控制。這些控制包括:圖像數據輸出格式、色彩、明暗、飽和度及各種參考信號的輸出。I2C總線(xiàn)傳送數據的基本時(shí)序如圖3所示。
圖3 I2C總線(xiàn)的基本時(shí)序
總線(xiàn)上的數據傳輸可以是讀或寫(xiě)兩種方式,其寫(xiě)格式為:
其中:S為總線(xiàn)起始信號;Slave Address W為被控器SAA7111的尋址字節;A為被控器應答信號;SubAddres為SAA7111控制寄存器的地址;Data(NB)即控制寄存器的配置參數;P為總線(xiàn)終止信號[3]。
3.3 FPGA的采集控制原理
SAA7111A的輸出時(shí)鐘信號包括LLC(27MHz)和LLC2(13.5MHz),其中LLC2為像素時(shí)鐘頻率,每一時(shí)鐘對應一個(gè)16位像素輸出。行參考同步信號HREF,高電平表示一行的有效像素,為720個(gè)LLC2周期。場(chǎng)參考同步信號VREF高電平時(shí)表示輸出是有效行圖像,單場(chǎng)是286行;低電平期間為場(chǎng)消隱信號,是26個(gè)行周期。RTSO=1時(shí)表示輸出為奇數場(chǎng),RTSO=0時(shí)為偶數場(chǎng)[4]。輸入信號FEI為輸出使能信號,為0時(shí)允許數據輸出,為1時(shí)數據輸出處于高阻狀態(tài)。圖4,5分別為采集一行和奇數場(chǎng)圖像的信號時(shí)序圖。
圖4 SAA7111A采集一行圖像的時(shí)序圖
啟動(dòng)采集前必須對SAA7111A內部的32個(gè)寄存器寫(xiě)入相應的值。在采集的過(guò)程中,僅采集奇場(chǎng)圖像信號而不采集偶場(chǎng)圖像信號。因為只采集奇場(chǎng)信號也能得到穩定的圖像,而可以利用偶場(chǎng)圖像時(shí)間等待處理圖像。對有效像素、無(wú)效像素、有效行和無(wú)效行進(jìn)行計數,產(chǎn)生RAM的地址、讀寫(xiě)、選通等控制信號,均由FPGA完成。由于只采奇場(chǎng)圖像,行數也減少為原來(lái)的一半,為286行,前后各去掉23行,取中間240行。當RTSO為高電平且VREF上升沿到來(lái)時(shí),標志奇數場(chǎng)開(kāi)始,啟動(dòng)無(wú)效行計數器對HREF信號進(jìn)行計數,計滿(mǎn)前23行后,啟動(dòng)有效行計數器,置COUT信號為高電平,且在水平同步信號VREF=1、垂直同步信號HREF=1、
圖5 SAA7111A奇數場(chǎng)采集的時(shí)序圖
奇偶場(chǎng)信號RTSO=1時(shí),啟動(dòng)無(wú)效像素計數器,對LLC2二分頻后的像素時(shí)鐘信號進(jìn)行計數。LLC2二分頻后頻率降為6.75MHz,每行像素點(diǎn)由原來(lái)的720點(diǎn),減少為360點(diǎn),將其截頭去尾,前后各去掉20個(gè)像素,取一行中間的320個(gè)像素點(diǎn),即得到分辨率為320 X 240的一幀圖像[5]。當無(wú)效像素計數器計滿(mǎn)前20后,啟動(dòng)有效像素計數器開(kāi)始計數,并將數據緩沖器打開(kāi),每計一次數,地址發(fā)生器加1,產(chǎn)生地址信號,讀寫(xiě)信號WR,選通信號RAM_SEL,當一幀圖像寫(xiě)完后,置FLAG信號為低,觸發(fā)中斷信號,以便處理器處理圖像。值得注意的是,利用FPGA可以很靈活地控制存入RAM存儲器中的圖像數據量。這里將圖像分辨率設計為320 X 240,實(shí)際應用中,可以根據需要靈活設置。
4 結束語(yǔ)
本文作者創(chuàng )新點(diǎn):該系統能夠完成對視頻信號的采集,適應性極強的FPGA主要用于控制圖像信號的采集,FPGA除了完成對SAA7111A配置以外,還完成圖像提取處理、圖像存儲地址產(chǎn)生器等功能。由于FPGA的在線(xiàn)可編程特性使該系統變得更加靈活。此外,成熟的編譯環(huán)境和FPGA與SAA7111A簡(jiǎn)單的外圍電路大大縮短了開(kāi)發(fā)和調試的周期。在未來(lái)的FPGA中還可以加入圖像預處理流程,縮短后續處理時(shí)間,因此具有較高的推廣價(jià)值。實(shí)驗表明,系統速度快、可靠性高、實(shí)時(shí)性好,在視頻采集和圖像處理方面有著(zhù)很好的應用前景。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論