日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的嵌入式圖像采集系統(tǒng)設(shè)計(jì)

          基于FPGA的嵌入式圖像采集系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2017-06-05 來源:網(wǎng)絡(luò) 收藏

          系統(tǒng)中,首先對攝像頭采集的視頻信號進(jìn)行A/D轉(zhuǎn)換,將模擬圖像信號轉(zhuǎn)化為數(shù)字信號,提供給后端的處理系統(tǒng)進(jìn)行。而視頻圖像采集系統(tǒng)是多媒體信息處理、視頻監(jiān)控等系統(tǒng)的前端子系統(tǒng),是視頻處理系統(tǒng)中不可缺少的部分。傳統(tǒng)視頻采集系統(tǒng)一般電路復(fù)雜、成本高,而且較難滿足實(shí)時(shí)性的要求,而采用視頻攝像頭+視頻解碼器+的模式,可簡化電路的復(fù)雜性,其中視頻解碼器對攝像頭采集的信號進(jìn)行AD轉(zhuǎn)換,對信號的采樣進(jìn)行控制。的時(shí)鐘頻率高、時(shí)間延遲小,可以滿足實(shí)時(shí)性的要求?;谝陨系膬?yōu)點(diǎn)文中采用些結(jié)構(gòu)來實(shí)現(xiàn)視頻圖像的采集。

          本文引用地址:http://yuyingmama.com.cn/article/201706/348906.htm

          1 視頻解碼器SAA7113H

          SAA7113H是Philips公司的一種增強(qiáng)型視頻輸入處理器,內(nèi)部有一系列寄存器,寄存器的讀、寫通過完成。包括一個(gè)雙通道的模擬預(yù)處理電路、可編程靜態(tài)增益和自動(dòng)增益控制電路、時(shí)鐘生成電路、數(shù)字多標(biāo)準(zhǔn)解碼電路、亮度、對比度、飽和度控制電路和控制電路。SAA7113H需外接24.576 MHz晶體,內(nèi)部鎖相環(huán)PLL可輸出27 MHz的時(shí)鐘。自動(dòng)檢測50 Hz和60 Hz的場頻,可在PAL、NTSC兩種制式之間自動(dòng)轉(zhuǎn)換。具有4路模擬視頻信號輸入,通過內(nèi)部寄存器的不同配置可以實(shí)現(xiàn)4路信號的轉(zhuǎn)換;輸入可以是4路CVBS或2路Y/C信號或1路Y/C信號2路CVBS,輸出為標(biāo)準(zhǔn)ITU656 YUV4:2:2格式的VPO數(shù)據(jù)總線(8-bit)。SAA7113H模擬部分和數(shù)字部分采用+3.3V,數(shù)字I/O接口兼容+5V。

          2 系統(tǒng)總體方案及工作原理

          系統(tǒng)選用Altera公司的CycloneⅡ系列中的EP2C20Q240C8為系統(tǒng)的硬件平臺(tái),該芯片內(nèi)部有18752個(gè)LE,26個(gè)乘法器和4個(gè)鎖相環(huán)等。視頻解碼芯片采用Philips的SAA7113H。系統(tǒng)主要由SAA7113H圖像采集接口模塊、配置模塊、控制模塊、像素存儲(chǔ)模塊、格式轉(zhuǎn)換模塊和顯示接口模塊組成。設(shè)計(jì)中利用VHDL語言在QuartusⅡ下進(jìn)行編程和調(diào)試。系統(tǒng)基本結(jié)構(gòu)如圖1所示。


          3 主要模塊功能介紹


          3.1 SAA7113H圖像采集接口模塊

          該模塊負(fù)責(zé)視頻圖像的采集并將模擬視頻信號轉(zhuǎn)換為數(shù)字視頻信號,為后面的視頻處理做準(zhǔn)備。該模塊與SAA7113H的VPO數(shù)據(jù)總線、RTS0、RTS1、及LLC相連,RTS0和RTS1分別配置為行同步和場同步信號,只有在這兩個(gè)信號同時(shí)有效時(shí),輸出數(shù)據(jù)是有效圖像數(shù)據(jù),否則是消隱信號。有效的視頻信號分為奇數(shù)場和偶數(shù)場,共576行有效數(shù)據(jù),其中奇數(shù)場有效數(shù)據(jù)為23~310行,偶數(shù)場有效數(shù)據(jù)為336~623行,其余
          為垂直控制信號。

          SAA7113H的VP0總線輸出數(shù)據(jù)的頻率是27 MHz,在每個(gè)LLC的上升沿輸出1 Byte有效數(shù)據(jù)。標(biāo)準(zhǔn)ITU YUV 4:2:2格式視頻信號的每個(gè)像素都有各自的亮度分量Y,每兩個(gè)相鄰的像素公用一對的色差數(shù)據(jù)Cb和Cr。在存儲(chǔ)像素?cái)?shù)據(jù)時(shí),可認(rèn)為每兩個(gè)連續(xù)字節(jié)表示一個(gè)像素,當(dāng)需要格式轉(zhuǎn)換或進(jìn)行其他的處理時(shí),要一次提取兩個(gè)相鄰的像素的數(shù)據(jù),進(jìn)行相應(yīng)處理。其中,每行有數(shù)據(jù)864個(gè)采樣點(diǎn)中有效數(shù)據(jù)720個(gè),消隱期間數(shù)據(jù)144個(gè)。在完整的一幀圖像數(shù)據(jù)中第一場的消隱EAV為FF 00 00 BX,第一場消隱SAV為FF 00 00 AX;第一場有效數(shù)據(jù)SAV為FF 00 00 8X,有效數(shù)據(jù)EAV為FF 00 00 9X,其他場類推。奇數(shù)場有效數(shù)據(jù)階段的SAV為“FF 00 00 80”,偶數(shù)場有效數(shù)據(jù)階段的SAV為“FF 00 00 C7”。在每個(gè)時(shí)鐘的上升沿讀取8位數(shù)據(jù),當(dāng)檢測到一行數(shù)據(jù)的開始標(biāo)志FF 00 00 XY時(shí),檢測到SAV或EAV信號,提取H、F、V信號。然后開始對圖像數(shù)據(jù)進(jìn)行解碼,根據(jù)8位數(shù)據(jù)自帶的信息,判斷該數(shù)據(jù)是Y、Cb還是Cr,從而得到Y(jié)、Cb、Cr各分量。

          3.2 I2C總線配置模塊

          該模塊通過I2C總線協(xié)議對SAA7113H進(jìn)行配置,時(shí)鐘頻率為20 kHz。通過該模塊完成SAA7113H配置。配置模塊如圖2所示。

          其中,inicio_conf信號表示啟動(dòng)對SAA7113H進(jìn)行配置,高電平有效。clk為時(shí)鐘信號。reset為外部復(fù)位信號高電平有效。SCL和SDA為SAA7113H配置信號。CONFIGURACION_OK表示解碼芯片配置好以后輸出一個(gè)控制信號給控制模塊,以啟動(dòng)數(shù)據(jù)采集。

          SAA7113H的寄存器地址從00H開始,只有01H~05H前端輸入配置部分,06H~13H、15H~17H解碼部分,40H~60H常規(guī)分離數(shù)據(jù)部分,這些可讀寫,其余為保留地址或只讀寄存器,將需要配置的寄存器數(shù)據(jù)存在查找表con_data中,并用count表示當(dāng)前對哪個(gè)寄存器配置,配置時(shí)逐個(gè)寫入寄存器。

          根據(jù)I2C總線數(shù)據(jù)傳輸?shù)臅r(shí)序,總線控制器的狀態(tài)機(jī)分為空閑狀態(tài)、啟動(dòng)狀態(tài)、數(shù)據(jù)傳輸狀態(tài)、應(yīng)答狀態(tài)和停止?fàn)顟B(tài)。Idle狀態(tài)表示總線空閑狀態(tài),SCL和SDA都為高電平,若clk=1則進(jìn)入Start狀態(tài)。Start狀態(tài)表示總線啟動(dòng),此時(shí)保持SCL為高電平,將SDA由高電平變?yōu)榈碗娖?,從而啟?dòng)數(shù)據(jù)傳輸。Data_trans狀態(tài)中一次傳1 Byte數(shù)據(jù)。在本狀態(tài)中,1 Byte數(shù)據(jù)的傳輸過程為將時(shí)鐘線變?yōu)榈碗娖?,然后將?shù)據(jù)放在數(shù)據(jù)線SDA上。再將時(shí)鐘線變?yōu)楦唠娖?,讓接收方進(jìn)行數(shù)據(jù)接收。傳輸完1 Byte后進(jìn)入Hold。Hold狀態(tài)用來表示應(yīng)答階段,主要是產(chǎn)生一個(gè)時(shí)鐘脈沖,讓接收方對1 Byte的數(shù)據(jù)產(chǎn)生應(yīng)答信號。在此狀態(tài)中進(jìn)行對本次數(shù)據(jù)連續(xù)傳送是否完畢進(jìn)行判斷。如未傳輸完則繼續(xù)到Start狀態(tài)進(jìn)行下一次數(shù)據(jù)的傳輸,并將count-1。Stop狀態(tài)表示數(shù)據(jù)傳輸結(jié)束。在SCL高電平期間將SDA由低轉(zhuǎn)為高。然后輸出一個(gè)配置完成的信號。寄存器配置狀態(tài)機(jī)如圖3所示。


          3.3 控制模塊

          控制模塊由control_enable模塊和control_interface模塊組成主要負(fù)責(zé)圖像采集模塊和顯示接口模塊的同步和使能。當(dāng)解碼芯片配置完成后,從CONFIGURACION_OK輸入使能信號,啟動(dòng)該模塊,同時(shí)通過href和odd信號啟動(dòng)圖像采集模塊和顯示接口模塊,href=1表示SAA7113H通過VPO傳輸像素?cái)?shù)據(jù);odd=1表示奇數(shù)場,odd=0表示偶數(shù)場。

          3.4 像素存儲(chǔ)模塊

          圖像的一幀為720×625提取其中的有效像素640×576存入SDRAM中,再讀出480行數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換和顯示。

          由于SDRAM每個(gè)單元為16位,所以將一個(gè)Y和一個(gè)Cb或Cr合存在一個(gè)地址空間中,即兩個(gè)時(shí)鐘周期產(chǎn)生一個(gè)地址。SDRAM有4端口模式,2個(gè)用于將FIFO中的數(shù)據(jù)寫SDRAM,2個(gè)用于將數(shù)據(jù)讀到FIFO中,讀寫采用的時(shí)鐘不同,寫時(shí)鐘采用解碼芯片的27MHz,而瀆時(shí)鐘采用VGA的25MHz,由于SDRAM的讀寫速度為50 MHz,時(shí)鐘頻率不同,不能直接寫入,因此需要一個(gè)FIFO將數(shù)據(jù)暫時(shí)儲(chǔ)存,再將其寫到SDRAM中。

          此處關(guān)鍵問題是隔行掃描到逐行掃描的轉(zhuǎn)換。SAA7113H是先奇數(shù)場后偶數(shù)場的順序輸出,即隔行輸出,而VGA顯示是逐行顯示的,因此要進(jìn)行去隔行操作。利用對SDRAM的讀寫地址的控制能夠有效解決隔行到逐行的轉(zhuǎn)換問題,數(shù)據(jù)寫入SDRAM是將隔行數(shù)據(jù)寫入到SDRAM的0-640× 576的地址空間中,其中640×23-640×310為1、3、5、…奇數(shù)場的有效數(shù)據(jù),640×336-640×623為2、4、6、…偶數(shù)場的有效數(shù)據(jù)。兩場數(shù)據(jù)分別通過不同的FIFO讀出,格式轉(zhuǎn)換時(shí)交叉讀取兩個(gè)FIFO中的數(shù)據(jù),這樣讀出的數(shù)據(jù)即1、2、3、4、…逐行數(shù)據(jù)。

          3.5 格式轉(zhuǎn)換模塊

          要將攝像頭采集的圖像顯示在顯示器上,需進(jìn)行數(shù)據(jù)的格式轉(zhuǎn)換,將YUV格式的數(shù)據(jù)轉(zhuǎn)換成RGB格式的數(shù)據(jù)。YUV 4:2:2格式的數(shù)據(jù)兩個(gè)相鄰的像素共用一對Cb和Cr分量,所以在進(jìn)行格式轉(zhuǎn)換時(shí)要先解交織,即一次從FIFO中提取相鄰的兩個(gè)像素?cái)?shù)據(jù),將Cb和Cr各復(fù)用一次,使得YUV變成4:4:4格式,然后進(jìn)行格式的轉(zhuǎn)換。將轉(zhuǎn)換好的數(shù)據(jù)存放在reg_RGB中,VGA顯示的時(shí)候交叉讀取這兩個(gè)寄存器中的數(shù)據(jù)。轉(zhuǎn)換公式如下所示

          由于在FPGA中進(jìn)行浮點(diǎn)運(yùn)算較困難,因此可將式(1)中的各系數(shù)轉(zhuǎn)化為整數(shù)在進(jìn)行運(yùn)算,采用將各系數(shù)放大1 024倍的方法,得到r、g、b后再除以1 024,放大后的公式為

          根據(jù)上述公式得到r、g、b。然后將結(jié)果均右移10位完成除法運(yùn)算,得到RGB值。由于r、g、b均為8位,取值范圍為0~255,而運(yùn)算過程較易生成負(fù)數(shù)和超過255的正數(shù),因此運(yùn)算結(jié)果需將負(fù)數(shù)取0,超過255的正數(shù)取為255。此方法雖然會(huì)引入誤差,但對最終圖像的顯示效果不會(huì)有較大影響。

          3.6 顯示接口模塊

          由interface_vga負(fù)責(zé)圖像的顯示,從reg_RGB寄存器中讀取轉(zhuǎn)換好的數(shù)據(jù),對這兩個(gè)像素的讀取由一個(gè)轉(zhuǎn)換電路負(fù)責(zé)在兩個(gè)寄存器之間切換。顯示接口模塊將r、g、b以及hsync、vsync一起發(fā)送給編碼芯片THS8134,通過VGA顯示出來,hsync和vsyne分別是行和場同步信號。在仿真中,選用CycloneⅡEP2C20Q240C8芯片,用QuartusⅡ8.0進(jìn)行綜合與仿真。圖4是對顯示接口模塊的仿真。由仿真結(jié)果可以看出,行同步和場同步符合時(shí)序要求。


          4 結(jié)束語


          實(shí)現(xiàn)了一種基于CycloneII系列FPGA與視頻信號處理芯片SAA7113H的嵌入式圖像采集系統(tǒng)。系統(tǒng)結(jié)構(gòu)簡單系、統(tǒng)穩(wěn)定、功耗低、成本低、速度快以及接口方便,可以滿足視頻監(jiān)控系統(tǒng)等的需要。圖像采集系統(tǒng)中采用FPGA作為采集控制部分,可以提高系統(tǒng)處理的速度及系統(tǒng)的靈活性和適應(yīng)性,對于不同的視頻圖像信號,只要在FPGA內(nèi)對控制邏輯稍作修改,便可實(shí)現(xiàn)信號采集。



          關(guān)鍵詞: I2C總線 圖像處理 FPGA

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉