成人三级视频观看网站,欧美精品久久久久的网址,国产精品无遮挡,午夜性刺激在线视频免费

網(wǎng)站首頁

HOME

關(guān)于我們

ABOUT US

產(chǎn)品展示

PRODUCT

新聞中心

NEWS

成功案例

CASE

下載中心

DOWNLOAD

人才招聘

RECRUIT

在線留言

MESSAGE

聯(lián)系我們

CONTACT US

    技術(shù)文章
    聯(lián)系我們
    西安航普電子有限責(zé)任公司
    電話:029-81870107
    郵箱:hangpudianzi@163.com
    網(wǎng)址:www.xuejisu.com
    公司地址:西安市電子四路西京三號2號樓17層
     
     
    技術(shù)文章
    利用FPGA和USB總線的視頻圖像的采集與處理系統(tǒng)設(shè)計
    更新時間:2017-09-07 12:53:00    點擊:1001次



    摘要 構(gòu)建了以FPGA為核心芯片的高速圖像采集與處理系統(tǒng),圖形采集頻率可達(dá)13.5 MHz在該系統(tǒng)中,采用了視頻A/D芯片SAA7111A將電視信號轉(zhuǎn)換成數(shù)字信號,并由FPGA作為控制器將數(shù)字信號存入SRAM中,以便進(jìn)行處理,提取有用數(shù)據(jù);系統(tǒng)還采用了EZUSB2131Q芯片來進(jìn)行處理后的數(shù)據(jù)與PC機(jī)的傳輸.
    關(guān)鍵詞 視頻圖像;信號處理;FPGA;VHDL;EZUSB;視頻A/D


        傳統(tǒng)的基于ISA,PCI等總線的圖像采集卡已經(jīng)應(yīng)用非常廣泛,但速度慢、處理功能簡單,對于特殊要求往往需要后續(xù)處理部分 因此,本文構(gòu)建了一種高速圖像采集系統(tǒng)它主要由FPGA(field programmable gate array)、視頻A/D芯片SAA7111A以及USB總線構(gòu)成.該系統(tǒng)可以根據(jù)需要進(jìn)行現(xiàn)場可編程,具有通用性好、成本低等優(yōu)點.在FPGA中利用硬件描述語言VHDL編程實現(xiàn)FPGA可以在數(shù)據(jù)采集系統(tǒng)中取代單片機(jī)和DSP對數(shù)據(jù)采集過程進(jìn)行控制.
        PHILIP公司的視頻A/D芯片SAA7111A具有四路視頻輸入,抗混濾波、梳狀濾波都被集成到芯片內(nèi)部,帶來了極大的方便,但系統(tǒng)內(nèi)部鎖相環(huán)技術(shù)的集成使得可靠性和設(shè)計復(fù)雜度都有極大的降低.
        CYPRESS的EZUSB2131QC芯片是針對USB 1.1協(xié)議開發(fā)的,兼容全速和低速傳輸,功能高度集成化.該芯片集成了一個增強(qiáng)型8051處理器、一個“智能型”串行接口引擎(SIE)、一個USB收發(fā)器、集成I2C總線控制器、片上RAM和FIFO.


    1 圖像采集與處理系統(tǒng)設(shè)計
        
    系統(tǒng)由視頻A/D芯片、FPGA控制模塊、數(shù)據(jù)存儲模塊SRAM、EZUSB接口模塊和PC機(jī)應(yīng)用程序組成.FPGA程序用VHDL語言編寫.整體框圖如圖1所示.


    2 視頻信號的A/D轉(zhuǎn)換
        SAA7111A提供了 4個模擬輸入通道,可以編程選擇使用其中的一個或多個通道視頻信號輸入芯片后,一路經(jīng)過緩沖器從AOUT引腳輸出,這個信號作為視頻監(jiān)控信號,以檢測是否有視頻信號輸入;另外一路信號經(jīng)過模/數(shù)轉(zhuǎn)換后產(chǎn)生數(shù)字色度信號和亮度信號,分別進(jìn)行亮度信號處理和色度信號處理.亮度信號處理的結(jié)果,一路送到色度信號處理器,以進(jìn)行綜合處理,產(chǎn)生灰度信號Y和UV信號,格式化后從數(shù)據(jù)線VPO[15:00]輸出,其中高8位為Y、低8位為UV;另一路進(jìn)入同步分離器,經(jīng)過PLL產(chǎn)生相應(yīng)的行同步信號HS和場同步信號VS,同時數(shù)字PLL驅(qū)動時鐘發(fā)生器模塊,從而產(chǎn)生視頻信號上作頻率為27MHz的LLC和13.5MHz的LLC2時鐘信號.
        SAA7111A正常工作需要對內(nèi)部32個寄存器正確配置,通過I2C總線由EZUSB AN2131Q寫入SAA7lllA的內(nèi)部寄存器.


    3 FPGA控制模塊
        
    經(jīng)過對系統(tǒng)功能的分析和劃分,可以將設(shè)計劃分為若干個子模塊.每個子模塊通過內(nèi)部握手信號相互關(guān)聯(lián)并完成相對獨立的功能.最后將子模塊組合起來就能得到系統(tǒng)級的功能芯片.將FPGA劃分為以下幾個功能子模塊:輸入信號緩沖模塊、消除抖動模塊、SAA7111A接口模塊、SRAM接口模塊、實時插入結(jié)束標(biāo)識模塊、緩沖模塊FIF0、多路選擇器DATA-MUX、數(shù)據(jù)處理模塊DATA_Proc等幾個部分,如圖2所示模塊之間通過中間信號進(jìn)行通訊,從而實現(xiàn)數(shù)據(jù)的傳輸和控制.

    3.1 SAA-INTERFACE模塊
        SAA_INTERFACE模塊的主要功能是接收來自SAA7111A的數(shù)據(jù)信號和狀態(tài)信號,實現(xiàn)FPGA與視頻A/D芯片SAA7111A的接口,并根據(jù)這些信號產(chǎn)生相應(yīng)像素灰度信息的存儲地址,在時鐘信號LLC2的控制下,完成數(shù)據(jù)在SRAM中的存儲寫入地址和讀出地址及對兩片SRAM進(jìn)行乒乓操作的指示信號的生成.
        分析SAA7111A輸出的狀態(tài)信號的時序圖,可以分析得到以下結(jié)論:
        (1)每行圖像共有864個像素,其中0~719為有效像素、720~863為水平消隱階段,在消隱期間的像素為無效像素.
        (2)每行圖像起始條件是:場參考信號VREF為邏輯‘1’時,HREF產(chǎn)生一個上升沿.每行圖像結(jié)束條件是:HREF信號的出現(xiàn)下降沿當(dāng)VREF為邏輯‘0’狀態(tài)時,處于場消隱階段,此時為無效圖像.
        (3)每幀圖像起始的條件是:RTS0為邏輯‘l’期間,VREF產(chǎn)生一個上升沿.而每幀圖像結(jié)束的條件是:RTS0為邏輯‘O’期間,VREF產(chǎn)生一個下降沿.
        由于復(fù)合視頻信號CVBS是由隔行掃描的方式得到的,而計算機(jī)顯示器是逐行掃描來顯示圖像的,所以寫入SRAM的數(shù)據(jù)必須隔行寫入,而讀山SRAM的數(shù)據(jù)必須逐行讀出.讀取SRAM時,由于奇偶場已經(jīng)“隔行”寫入SRAM中,所以只需要逐行順序讀取即可.
    3.2 SRAM_INTERFACE模塊

        接口模塊SRAM_INTERFACE的主要功能是完成與SRAM存儲器的接口工作.由于采用了兩片SRAM,所以FPGA中的SRAM接口模塊也應(yīng)該有兩個,該模塊根據(jù)當(dāng)前狀態(tài)做出判斷,從而對SRAM發(fā)出相應(yīng)的控制信號和地址信號,完成數(shù)據(jù)的寫入和讀出工作.
    3.3 INSERT_FLAGS模塊
        
    為了在上位機(jī)顯示所采集到的圖像,除了需要相應(yīng)的像素信息外,還必須提供行同步信號和、場同步信號本系統(tǒng)沒有另外提供專門的行同步信號、幀同步信號,而是通過在恰當(dāng)?shù)臅r刻插入標(biāo)識數(shù)據(jù)的方法來代替視頻流的行同步信號和幀同步信號.
        INSERT_FLAGS模塊將在行結(jié)束時,將自定義的行結(jié)束標(biāo)識插入到數(shù)據(jù)流中;在幀結(jié)束時,將幀結(jié)束標(biāo)識插入到視頻流中,從而為上位機(jī)實現(xiàn)對圖像信息的再現(xiàn)和處理創(chuàng)造了方便條件.
    3.4 DATA_MUX模塊
        DATA_M(jìn)UX模塊實現(xiàn)了對數(shù)據(jù)的流向的控制和數(shù)據(jù)處理工作.它接收來自SAA71llA的原始數(shù)據(jù)VPO和實時插入的行、幀結(jié)束標(biāo)識信號VP()_FLAGS,并產(chǎn)生最終的連續(xù)的含有場、幀結(jié)束標(biāo)識的數(shù)據(jù)流VPO_ALL,并控制VPO_ALL的流向.當(dāng)WRlRD2為邏輯‘1’時,VPO_ALL寫入SRAMl,同時將已經(jīng)存儲到SRAM2的數(shù)據(jù)讀出到DATA_Proc模塊中;當(dāng)WRlRD2為邏輯‘0’時,VPO_ALL的數(shù)據(jù)寫入SRAM2中,同時將SRAM1的數(shù)據(jù)讀出到DATA_Proc模塊中.
    3.5 DATA_Proc數(shù)據(jù)處理模塊
        DATA_Proc模塊用于對采集的數(shù)據(jù)進(jìn)行處理,根據(jù)項目要求,其上作主要是對信號進(jìn)行濾波和邊緣提取,從而提取有效數(shù)據(jù),減少數(shù)據(jù)的傳輸量.為了減少工作量,采用了Xilinx公司的SystemGenerator軟件來設(shè)計這部分模塊.
        System(Ceneratcor是Xilinx公司和Mathworks合作開發(fā)的FPGA輔助設(shè)計工具,只需在simulink中完成模型的搭建,啟動SystemGenerator,就能自動生成VHDL源程序及其他一些工程文件,并將系統(tǒng)模型映射到目標(biāo)器件FPGA上進(jìn)行硬件實現(xiàn).
    3.6 FIFO模塊
        
    視頻信號進(jìn)入FPGA的時鐘為13.5 MHz,而USB接口芯片的時鐘為12MHz,兩者時鐘速率不匹配.這就出現(xiàn)了異步時序設(shè)計問題.由于需要進(jìn)行跨時鐘領(lǐng)域的數(shù)據(jù)傳輸,必須在FPGA和EZ_USB之間加入緩沖數(shù)據(jù)單元.這個緩沖器一般由異步First-In-First-Out(FIFO)實現(xiàn).異步FIFO在每個寫時鐘時寫入數(shù)據(jù),而用每一個讀時鐘時讀出數(shù)據(jù),這兩個時鐘是異步的.
        FIFO的工作原理是:在寫時鐘的上升沿,當(dāng)寫允許有效時,將寫數(shù)據(jù)總線上的數(shù)據(jù)寫入雙口RAM中寫地址對應(yīng)的存儲單元中;而始終將讀地址對應(yīng)的雙口RAM中的數(shù)據(jù)輸出到讀數(shù)據(jù)總線上,在讀允許有效時,輸出數(shù)據(jù).


    4 EZUSB模塊
        
    在系統(tǒng)中,EZUSB2131主要完成兩方面的工作:完成對SAA7111A的配置和基于快速同步傳輸方式的數(shù)據(jù)傳輸.
        為了使視頻解碼芯片SAA7111A正常工作,必須通過I2C總線對其內(nèi)部的寄存器進(jìn)行正確的配置,當(dāng)通過I2C配置SAA7111A時,寫入數(shù)據(jù)格式為:首先為起始信號,然后是7位的從機(jī)地址和方向位(‘0’表示寫入SAA7111A寄存器,‘l’表示讀出相應(yīng)寄存器)共8位數(shù)據(jù),此時從機(jī)應(yīng)該向主機(jī)發(fā)送一位響應(yīng)信號.然后是從機(jī)中被寫入的寄存器的地址和從機(jī)的響應(yīng)信號,然后才是要寫入子地址寄存器的的數(shù)據(jù),最后是結(jié)束信號.
        USB總線支持4種數(shù)據(jù)傳輸方式:控制傳輸、中斷傳輸、等時傳輸和塊傳輸.EZUSB系列的2131Q支持快速等時傳輸方式,為了提高數(shù)據(jù)傳輸?shù)乃俣龋瑧?yīng)用這種方式進(jìn)行數(shù)據(jù)傳輸,能夠使FPGA內(nèi)部的FIFO模塊直接與EZUSB內(nèi)部的數(shù)據(jù)總線通訊.
        為了使用快速同步方式傳輸數(shù)據(jù),需對2131進(jìn)行如下設(shè)置:
        (1)能使SOF中斷,使51內(nèi)核能接受SOF中斷,從而保證1 ms傳輸一楨數(shù)據(jù).
        (2)本系統(tǒng)使用了等時傳輸IN8端點,所以須設(shè)置INISOVAL為“00000001”.
        (3)設(shè)置IN8端點將使用的等時FIFO的大小為了加快數(shù)據(jù)傳輸?shù)乃俣?,這里設(shè)置該FIFO的大小為1024.
        (4)設(shè)置寄存器PORTACFG,設(shè)置PA口第4位和第5位復(fù)用功能.其復(fù)用功能是快速等時傳輸?shù)腇RD和FWR信號.
        (5)設(shè)置寄存器FASTXFR,使能快速等時傳輸方式,設(shè)置nFRD低電平有效,并且設(shè)置了nFRD的寬度和相位.
        為了響應(yīng)SOF中斷,需要在中斷響應(yīng)函數(shù)ISR_Sof()中編寫數(shù)據(jù)處理程序,將數(shù)據(jù)傳送到內(nèi)部寄存器IN8DATA,另一方面清SOF中斷請求和USB中斷請求,以便程序能對下一個SOF做出正確的響應(yīng).


    5  PC機(jī)應(yīng)用程序
        EZUSB通用驅(qū)動程序GPD(general purposedriver)用來和EZUSB外設(shè)接口的通用設(shè)備驅(qū)動程序,為應(yīng)用程序訪問EZUSB硬件提供了途徑.EZUSB開發(fā)包提供了默認(rèn)的驅(qū)動程序文件:EZUSB.SYS.
        對于應(yīng)用程序而言,調(diào)用CreateFile()來打開設(shè)備并取得訪問設(shè)備驅(qū)動程序的句柄.用戶程序使用函數(shù)DeviceIoControl()來提交控制碼,并為CreateFile()函數(shù)返回的設(shè)備句柄設(shè)置I/O緩沖區(qū).
        連接到主機(jī)的EZUSB設(shè)備,GPD為其創(chuàng)建一個鏈接符.一個鏈接符.調(diào)用函數(shù)CreateFile(),實質(zhì)上就是獲取驅(qū)動程序產(chǎn)生的目標(biāo)設(shè)備句柄.EZIU3SHW 開發(fā)包中提供了 I/O控制碼,使用這些I/O控制碼能非常方便地實USB通訊當(dāng)使用快速傳輸方式時,需要將IOCTL_EZUSB_START_ISO_STREAM,IOCTL_EZUSB_READ_ISO_BUFFER,IOCTL_EZUSB_STOP_ISO_STREAM等控制碼提供給函數(shù)DcviceIoControl(),從而實現(xiàn)開啟等時傳輸、讀取等時傳輸數(shù)據(jù)、停止等時傳輸?shù)裙δ埽?


    6 結(jié)論
        
    系統(tǒng)采用FPGA作為采集處理部分,可以提高系統(tǒng)處理的速度,大大增強(qiáng)系統(tǒng)的靈活性和適應(yīng)性,具體表現(xiàn)為:
        (1)系統(tǒng)性能得到大大提高.由于采用雙SRAM作為數(shù)據(jù)交換區(qū),F(xiàn)PGA采用乒乓技術(shù)傳輸數(shù)據(jù),提高了傳輸?shù)乃俣龋?br />     (2)系統(tǒng)的適應(yīng)性與靈活性強(qiáng)由于采用FPGA可編程邏輯器件采集與處理數(shù)據(jù),對于不同的視頻圖像信號,只要對FPGA邏輯稍作修改,便可實現(xiàn)信號采集.
        (3)設(shè)計結(jié)構(gòu)簡單,調(diào)試方便.FPGA的外圍硬件電路簡單,在硬件設(shè)計中,可以大大地減小硬件設(shè)計的復(fù)雜程度.
        FPGA技術(shù)和USB的組合,數(shù)據(jù)處理能力得到了極大的提高,且有利于系統(tǒng)升級.本設(shè)計用于傳輸當(dāng)前處理后的數(shù)據(jù)量已經(jīng)足夠,采用EZUSB2131芯片已經(jīng)可以完成.如果需要傳輸更大數(shù)據(jù)量,可以采用CPYRESS公司USB2.0芯片cy7c68013代替.該實例還可應(yīng)用于實時數(shù)據(jù)采集、音頻及壓縮視頻數(shù)據(jù)傳輸?shù)阮I(lǐng)域.

    上一篇: 射頻電路PCB設(shè)計
    下一篇: 嵌入式系統(tǒng)調(diào)試中偶發(fā)性問題解決技巧
    ?
    版權(quán)所有 ? 西安航普電子有限責(zé)任公司 未經(jīng)許可

    嚴(yán)禁復(fù)制 陜ICP備08100257號 建站/推廣/維護(hù)/安全:西安利友科技

    杂多县| 龙里县| 凌云县| 海南省| 磴口县| 湄潭县| 自贡市| 龙海市| 河曲县| 大宁县| 开封市| 芦山县| 阿瓦提县| 报价| 亳州市| 许昌县| 新泰市| 富民县| 阿瓦提县| 城固县| 镇雄县| 云和县| 从化市| 三河市| 蒙阴县| 广西| 西乌| 洛南县| 郓城县| 泸西县| 阳信县| 乌鲁木齐市| 哈巴河县| 新泰市| 苍溪县| 奎屯市| 扎兰屯市| 陆河县| 塔城市| 航空| 资溪县|