<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通過采用FPGA XC3S200芯片實現視頻采集系統的應用方案

電子設計 ? 來源:維庫電子網 ? 作者:維庫電子網 ? 2021-03-17 09:07 ? 次閱讀

視頻采集的主流實現方案有兩種:一是基于ASIC,該方案一般采用意法、AMD公司的專用視頻處理芯片;二是基于DSP,主要采用TI、ADI等公司的DSP信號處理器。它們作為輔處理器,可在主CPU控制下進行視頻信號的采集壓縮。隨著FPGA的發展,通過SOPC技術實現視頻采集已成為一種易于開發、設計靈活的方案。而這主要得益于IP復用技術的發展。在FPGA上構建復雜嵌入式系統可利用既有的功能模塊及其驅動程序。該方案具有更大的集成度和靈活性,因而必將成為電子設計發展的一大趨勢。

本文介紹了采用Xilinx公司的Spartan-3 FPGA實現通用視頻采集系統的設計方案。該系統外接模擬PAL/NTAL制式的攝像頭,就能實時采集視頻信號并進行MPEG-4格式壓縮編碼,碼流可通過USB接口傳給PC機,或通過以太網接口進行網絡傳輸。本系統選用的是Spartan-3 FPGA系列的XC3S200芯片,該芯片有4320個邏輯單元(LC)、216Kbit BlockRAM、4個數字延遲鎖相環(DDL)、173個用戶I/O,而且邏輯密度高、I/O多、成本低。本設計主要涉及電路板級硬件設計、FPGA片級硬件系統設計和系統軟件設計。

1 板級硬件設計

FPGA在電源和配置電路的支持下,即可構成嵌入式系統的最小化系統,并能實現片內的所有功能。在此最小化系統上,就可以根據本設計的應用需求,來擴展外部存儲模塊、視頻采集模塊、USB接口模塊、以太網接口模塊等功能模塊電路,從而形成電路板級硬件平臺。該板級硬件平臺的結構組成如圖1所示。

通過采用FPGA XC3S200芯片實現視頻采集系統的應用方案

1.1 最小化系統

該FPGA是基于SRAM存儲結構的器件。每次上電時可將配置數據從外部配置存儲器加載到內部SRAM中,以使其構建邏輯結構從而實現邏輯功能。配置調試模塊主要包括配置存儲器、配置模式跳線開關和JTAG調試端口,其中JTAG調試端口是系統開發階段PC機與FPGA的通信接口,可用于從PC機下載FPGA配置數據,并在程序調試階段作為聯機接口。本設計采用Xilinx公司Platform. Flash系列配置存儲器XCF02S,并采用14針JTAG接口。模式跳線開關可決定FPGA是由JTAG還是由配置存儲器來進行配置。系統時鐘模塊可對XC3S200提供50 MHz高頻時鐘信號,它采用高穩定性的石英晶體振蕩器分立元件。電源管理模塊采用DC/DC變換器來為系統各元件提供需要的各種電壓電流。以上部分與FPGA芯片相連即可構成嵌入式系統工作的最小化系統。

1.2 外部存儲擴展

由于XC3S200的片內存儲容量有限且掉電即失,因此必須配置大容量的外部儲存器。本設計擴展了4MByte的flash和32MByte的SDRAM (包括一片AMD公司的AM29LV320DT90EC型Flash和兩片HYNIX公司的HY57V281620HCT-PI型SDRAM)。其中Flash在系統中用于存放程序代碼、常量表以及一些在系統掉電后需要保存的用戶數據。而SDRAM掉電數據即失,但其存取速度大大高于Flash且可讀可寫,因而在系統中用作程序的運行空間、臨時數據及堆棧區等。

1.3 視頻采集模塊

TVP5150是TI公司推出的一款超低功耗的高性能混合信號視頻解碼芯片,可自動識別NTSC/PAL/SECAM制式的模擬信號,并將其按照YCbCr4:2:2的格式轉化成數字信號,然后以8位內嵌同步信號的ITU-RBT.656格式輸出。TVP5150具有價格低、體積小、操作簡便等特點。FPGA對TVP5150芯片的操作是通過I2C總線實現的,數據傳輸連接方式采用最簡單的ITU-RBT.656方式。

1.4 USB接口模塊

USB接口模塊選用PHILIPS公司的高性能USB接口芯片PDIUSBD12。該芯片完全符合USB1.1規范,可支持DMA傳輸,并可通過高速8位并行接口和FPGA進行通信,其最高并行接口速率可達到2 MB/s。

1.5 以太網接口模塊

該模塊采用Realtek公司生產的高度集成的以太網控制器RTL8019AS。RTL8019AS支持IEEE802.3標準和8位或16位數據總線。其內置16KB的SRAM可用于收發緩沖。在全雙工模式時,其收發可同時達到10Mbps。RTL8019AS可支持10Base5、10Base2、10BaseT,并能自動檢測所連接的介質。本設計采用RTL8019AS跳線接口模式,并通過16位數據總線連接FPGA。

2 片級硬件系統設計

在Spartan-3上構建嵌入式系統的基礎是MicroBlaze IP核。這是一種用硬件描述語言在FPGA內部實現的32位微處理器,采用RISC指令集和Ha rvard體系結構??筛鶕煌耐庠O和存儲器配置進行定制,并可以針對應用來調整處理器系統架構。在Spartan-3系列芯片上進行該配置大約占用500 Slices。該IP核具有32個32位通用寄存器和2個專用寄存器。其32位寬的指令系統能支持3個操作數和兩種尋址方式,而其獨立的32位指令和數據總線則可與IBM的OPB總線完全兼容。通過模塊中的LMB總線,其32位指令和數據可直接與片內的塊存儲器相連。此外,該IP核還具有高速的指令和數據緩存(Cache)、三級流水線結構、32位地址總線、硬件調試邏輯、8個輸入和8個輸出的快速鏈路(FSL)接口等。MicroBlaze軟處理器的內部功能結構如圖2所示。

在FPGA上設計嵌入式系統時,可在最低層硬件資源上開發片內外設IP核,或利用已開發的IP核搭建嵌入式系統的硬件部分,然后開發IP核的設備驅動、應用接口(API)和應用層(算法)。通過標準總線接口將局部存儲器總線(LMB)和片內外設總線(OPB)連接到片內外設IP核,MicroBlaze處理器就可以和各種外設IP核及片內BlockRAM相連。該開發工具提供的IP核均有相應的設備驅動和應用接口,使用者只需利用相應的函數庫來編寫自己的應用軟件和算法程序即可。對于用戶自己開發的IP核,則需要自己編寫相應的驅動和接口函數。利用MicroBlaze處理器構建的基本嵌入式系統如圖3所示。

在FPGA上實現嵌入式系統,主要是構建片內MicroBlaze處理器,并為處理器添加片內外設以實現硬件模塊功能,同時應添加片內外設與芯片外部引腳的連接。在開發片內外設的同時,應開發外設功能的底層驅動程序,然后在MicroBlaze處理器上實現系統應用程序。這是個軟件與硬件協同開發的過程。以MicroBlaze處理器為核心的系統開發可使用Xilinx公司提供的EDK(Embedded Development Kit)。該EDK提供有一個集成開發環境XPS(Xilinx Platform. Studio),它同時集成了硬件平臺產生器、軟件平臺產生器、仿真模型生成器、軟件編譯器和軟件調試器等工具。在此環境下調用各種工具即可完成軟硬件協同開發的整個流程。EDK提供有多種與MicroBlaze處理器相關的功能IP核,其中包括OPB 10/100M以太網控制器、PLB/OPB SDRAM控制器、UART中斷控制器、定時器及其它外圍設備接口等資源。使用EDK中的系統硬件平臺設計向導(Base System Builder Wizard)可進行MicroBlaze處理器的配置,而使用添加外圍設備向導(ImportPeripheral Wizard)則可調用既有IP核以生成片內設備,并與處理器總線相連。

本系統的片內主要功能模塊包括視頻接口模塊、環形緩沖區、碼流兩級FIFO緩沖區、MPEG-4編碼器、Flash控制器、SDRAM控制器、10/100M以太網控制模塊、USB控制模塊等。其中視頻接口模塊是MicroBlaze處理器與TVP5150的接口。MicroBlaze處理器對TVP5150的控制驅動程序可從TVP5150驅動程序模板移植而來,可用于實現TVP5150采集方式的配置,并將采集的視頻信號以4:2:0YUV格式存儲到環形緩沖區里。環形緩沖區是片內與MicroBlaze處理器總線相連的SRAM存儲空間的一部分,其中數據隊列的首尾指針是由MicroBlaze處理器程序維護的。采用開發工具提供的FIFO模板可對其深度、位寬、讀寫時鐘、滿標志等參數進行設定,并將兩個FIFO相連以構成兩級FIFO,然后將其入口與MPEG-4編碼器的輸出相連。FIFO的先一級與MicroBlaze處理器總線相連可支持DMA讀取。MPEG-4編碼器是Xilinx公司授權的MPEG-4 Simple Profile編碼器IP核,它接受環形緩沖區里未壓縮的4:2:0YUV格式視頻信號并可將其生成MPEG-4Simple Profile格式壓縮碼流。MPEG-4編碼器與MicroBlaze處理器總線和兩級FIFO輸入相連,可為EDK提供其驅動程序。Flash控制器、SDRAM控制器、10/100M以太網控制器的實現軟件在EDK中已提供,其與處理器總線的連接也在向導工具中自動設定,其驅動程序就包含在其中。由于片外采用了高度集成的USB控制器,而片內的USB控制模塊只是MicroBlaze處理器總線與引腳的直接相連,故其驅動程序只是參考PDIUSBD12的一般驅動程序在EDK軟件平臺上的移植。

本系統的片內外設與MircoBlaze處理器的連接如圖4所示,其中箭頭表示視頻數據的流向。

3 系統軟件設計

系統中的MicroBlaze處理器對TVP515 0和PDIUSBD12的控制驅動程序可根據其通用驅動程序在EDK軟件平臺上移植生成。利用Xilinx公司提供的IP核可以搭建FPGA片內硬件平臺,同時可獲得底層硬件驅動程序的支持,然后在此基礎上進行系統應用程序的開發。

外部模擬視頻信號經TVP5150轉換為數字視頻信號后,即可進入FPGA并通過視頻接口模塊直接排列到內部環形緩沖區數據隊列的隊尾。

當MircoBlaze處理器接收到MPEG-4編碼器可用中斷時,系統將檢測環形緩沖區是否為空。非空時,可將數據隊列的頭部數據取出送給MPEG-4編碼器,同時啟動編碼器編碼。

視頻信號經過編碼器編成視頻原碼流后,即可進入FPGA內部二級FIFO緩存。當FIFO先一級滿時向MircoBlaze處理器發出數據輸出中斷請求。

MircoBlaze處理器響應來自FIFO的中斷后,可將FIFO先一級數據取出并以USB或以太網接口輸出,然后清空FIFO先一級。

依據上面的工作過程,MircoBlaze處理器的應用程序包括以下幾部分:

(1)系統復位初始化

即禁止外部中斷,初始化各驅動程序,清空環形緩沖區和兩級FIFO,檢測USB接口、以太網接口連接以決定用何種方式輸出,然后啟動對TVP5150的控制并進行數據采集,最后啟用外部中斷。

(2)編碼器可用中斷服務

編碼器完成一幀數據編碼即可向MircoBlaze處理器發出中斷,然后由MircoBlaze處理器控制編碼器向環形緩沖區提取數據,并在環形緩沖區耗盡時等待一定時間;

(3)碼流可輸出中斷服務

當兩級FIFO先一級所準備輸出的碼流滿時,可向MircoBlaze處理器發出中斷,然后在MircoBlaze處理器控制下,將該碼流交付給USB或以太網輸出接口API并由底層驅動輸出,最后再清空FIFO先一級。

圖5所示是其應用程序流程圖。

4 結束語

本設計介紹了基于Spartan-3 FPGA實現通用視頻采集系統的實現方案。本系統的設計依賴于專用的設計軟件和IP模塊。由于采用了SOPC技術,該系統可裁減、可擴充、可升級,而多層次IP模塊的高度復用又使得本系統具有設計周期短,風險投資小和設計成本低等優勢。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • dsp
    dsp
    +關注

    關注

    545

    文章

    7664

    瀏覽量

    344702
  • FPGA
    +關注

    關注

    1604

    文章

    21340

    瀏覽量

    594035
  • 芯片
    +關注

    關注

    447

    文章

    48015

    瀏覽量

    410393
收藏 人收藏

    評論

    相關推薦

    基于FPGA視頻解碼芯片的實時圖像采集系統設計

    基于FPGA視頻解碼芯片的實時圖像采集系統設計,介紹了CCD圖像傳感器和ADV7181B解碼芯片
    發表于 11-17 13:59

    怎么在Xilinx Spartan-3 XC3S200 FPGA中使用鼠標

    說的是一個Xilinx Spartan-3 XC3S200 FPGA,如上所述)標題)?;旧?,我想要一個實際工作的源代碼,或者一個網站,任何有用的東西,所以我可以繼續這樣做。您需要知道的任何問題
    發表于 01-28 09:37

    采用FPGA實現數字視頻轉換接口設計

    引言   本文從實際應用的角度出發,采用FPGA作為主控芯片,設計了一款數字視頻接口轉換設備。 該設備針對于MT9M111這款數字圖像傳感器產生的ITU-R BT.656格式數據進行
    發表于 05-05 09:29

    如何使XC3S200 FPGA以理想的占空比輸出時鐘?

    親愛的,我的朋友, 我發現XC3S200 FPGA會降低時鐘占空比。當我將占空比為50.3%的時鐘輸入FPGA時,如果我進行如下連接,則占空比變為約53%:時鐘輸入引腳 - > BUFG-
    發表于 05-09 12:44

    XC3S200配置出現問題

    嗨,我用基于ARM的微控制器和XC3S200創建了一塊電路板。 FPGA在Slave Parallel模式下編程,配置過程(使用.bit文件)似乎沒問題:在INIT_B上沒有發出錯誤信號,DONE在
    發表于 05-20 09:56

    基于FPGA與DSP的視頻處理系統設計

      本系統采用基于FPGA與DSP協同工作進行視頻處理的方案,實現
    發表于 06-19 06:12

    請問s3不支持AXI怎么辦?

    嗨!我想在EDK 13.2下用xc3s200 fpga創建一個微型光澤系統在EDK中,似乎AXI取代了舊的PLB和OPB總線。但是s3不支持AXI。那么,我該怎么辦?我必須下載一些舊版
    發表于 06-24 06:08

    采用FPGA實現多普勒測振計信號采集系統設計

    針對遙感系統的工作環境特點、待處理信號的頻譜特征以及系統信噪比等要求,綜合比較多種信號采集系統方案的優缺點,本文提出了一種基于
    發表于 06-24 07:16

    如何采用Spartan-3 FPGA實現通用視頻采集系統的設計?

    本文介紹了采用Xilinx公司的Spartan-3 FPGA實現通用視頻采集
    發表于 06-08 06:34

    基于FPGA和TOE架構實現多路采集與切換系統方案

    的高精度模數轉換芯片AD7609BSTZ,它是一款18位、8通道、真差分、同步采樣模數數據采集系統(DAS),最高吞吐率達200kS/s。該
    發表于 07-12 08:30

    一種基于DSP與FPGA實現場發射平板顯示器視頻信號處理系統方案

    摘要:數字視頻信號處理涉及對高速實時視頻信號的傳輸和處理,要求相關電路系統具有強大的數據處理能力。介紹一種以DSP和FPGA器件為核心構建的場發射平板顯示器
    發表于 02-25 16:39 ?53次下載

    基于XC3S200的通用視頻采集系統的設計

    本設計介紹了基于Spartan-3FPGA實現通用視頻采集系統實現
    發表于 11-23 15:33 ?3416次閱讀

    基于FPGA和SAA7113芯片視頻采集監控方案

    提出了基于 FPGA視頻監控系統整體實現方案。首先介紹了在FPGA中設計I2C總線配置模塊對
    發表于 11-24 15:39 ?2649次閱讀
    基于<b class='flag-5'>FPGA</b>和SAA7113<b class='flag-5'>芯片</b>的<b class='flag-5'>視頻</b><b class='flag-5'>采集</b>監控<b class='flag-5'>方案</b>

    如何使用FPGA和ARM設計和實現多路視頻采集系統

    提出了一種基于FPGA+ARM的多路視頻采集系統的設計與實現方法。該視頻
    發表于 11-19 15:51 ?21次下載
    如何使用<b class='flag-5'>FPGA</b>和ARM設計和<b class='flag-5'>實現</b>多路<b class='flag-5'>視頻</b><b class='flag-5'>采集</b><b class='flag-5'>系統</b>

    如何使用FPGA實現超長CIS圖像采集系統的設計

    介紹一種用于印制電路板孔徑孔數檢測機的新的基于FPGA 的超長CIS 圖像采集系統,該系統由三個CIS(接觸式圖像傳感),兩個A/D(數/模)轉換
    發表于 01-26 15:57 ?10次下載
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>實現</b>超長CIS圖像<b class='flag-5'>采集</b><b class='flag-5'>系統</b>的設計
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>