基于SOPC的視頻采集系統(tǒng)設(shè)計(jì)
0 引言
本文引用地址:http://m.butianyuan.cn/article/85844.htm視頻采集的主流實(shí)現(xiàn)方案有兩種:一是基于ASIC,該方案一般采用意法、AMD等公司的專用視頻處理芯片;二是基于DSP,主要采用TI、ADI等公司的DSP信號處理器。它們作為輔處理器,可在主CPU控制下進(jìn)行視頻信號的采集壓縮。隨著FPGA的發(fā)展,通過SOPC技術(shù)實(shí)現(xiàn)視頻采集已成為一種易于開發(fā)、設(shè)計(jì)靈活的方案。而這主要得益于IP復(fù)用技術(shù)的發(fā)展。在FPGA上構(gòu)建復(fù)雜嵌入式系統(tǒng)可利用既有的功能模塊及其驅(qū)動程序。該方案具有更大的集成度和靈活性,因而必將成為電子設(shè)計(jì)發(fā)展的一大趨勢。
本文介紹了采用Xilinx公司的Spartan-3 FPGA實(shí)現(xiàn)通用視頻采集系統(tǒng)的設(shè)計(jì)方案。該系統(tǒng)外接模擬PAL/NTAL制式的攝像頭,就能實(shí)時采集視頻信號并進(jìn)行MPEG-4格式壓縮編碼,碼流可通過USB接口傳給PC機(jī),或通過以太網(wǎng)接口進(jìn)行網(wǎng)絡(luò)傳輸。本系統(tǒng)選用的是Spartan-3 FPGA系列的XC3S200芯片,該芯片有4320個邏輯單元(LC)、216Kbit BlockRAM、4個數(shù)字延遲鎖相環(huán)(DDL)、173個用戶I/O,而且邏輯密度高、I/O多、成本低。本設(shè)計(jì)主要涉及電路板級硬件設(shè)計(jì)、FPGA片級硬件系統(tǒng)設(shè)計(jì)和系統(tǒng)軟件設(shè)計(jì)。
1 板級硬件設(shè)計(jì)
FPGA在電源和配置電路的支持下,即可構(gòu)成嵌入式系統(tǒng)的最小化系統(tǒng),并能實(shí)現(xiàn)片內(nèi)的所有功能。在此最小化系統(tǒng)上,就可以根據(jù)本設(shè)計(jì)的應(yīng)用需求,來擴(kuò)展外部存儲模塊、視頻采集模塊、USB接口模塊、以太網(wǎng)接口模塊等功能模塊電路,從而形成電路板級硬件平臺。該板級硬件平臺的結(jié)構(gòu)組成如圖1所示。
1.1 最小化系統(tǒng)
該FPGA是基于SRAM存儲結(jié)構(gòu)的器件。每次上電時可將配置數(shù)據(jù)從外部配置存儲器加載到內(nèi)部SRAM中,以使其構(gòu)建邏輯結(jié)構(gòu)從而實(shí)現(xiàn)邏輯功能。配置調(diào)試模塊主要包括配置存儲器、配置模式跳線開關(guān)和JTAG調(diào)試端口,其中JTAG調(diào)試端口是系統(tǒng)開發(fā)階段PC機(jī)與FPGA的通信接口,可用于從PC機(jī)下載FPGA配置數(shù)據(jù),并在程序調(diào)試階段作為聯(lián)機(jī)接口。本設(shè)計(jì)采用Xilinx公司Platform Flash系列配置存儲器XCF02S,并采用14針JTAG接口。模式跳線開關(guān)可決定FPGA是由JTAG還是由配置存儲器來進(jìn)行配置。系統(tǒng)時鐘模塊可對XC3S200提供50 MHz高頻時鐘信號,它采用高穩(wěn)定性的石英晶體振蕩器分立元件。電源管理模塊采用DC/DC變換器來為系統(tǒng)各元件提供需要的各種電壓電流。以上部分與FPGA芯片相連即可構(gòu)成嵌入式系統(tǒng)工作的最小化系統(tǒng)。
1.2 外部存儲擴(kuò)展
由于XC3S200的片內(nèi)存儲容量有限且掉電即失,因此必須配置大容量的外部儲存器。本設(shè)計(jì)擴(kuò)展了4MByte的flash和32MByte的SDRAM (包括一片AMD公司的AM29LV320DT90EC型Flash和兩片HYNIX公司的HY57V281620HCT-PI型SDRAM)。其中Flash在系統(tǒng)中用于存放程序代碼、常量表以及一些在系統(tǒng)掉電后需要保存的用戶數(shù)據(jù)。而SDRAM掉電數(shù)據(jù)即失,但其存取速度大大高于Flash且可讀可寫,因而在系統(tǒng)中用作程序的運(yùn)行空間、臨時數(shù)據(jù)及堆棧區(qū)等。
1.3 視頻采集模塊
TVP5150是TI公司推出的一款超低功耗的高性能混合信號視頻解碼芯片,可自動識別NTSC/PAL/SECAM制式的模擬信號,并將其按照YCbCr4:2:2的格式轉(zhuǎn)化成數(shù)字信號,然后以8位內(nèi)嵌同步信號的ITU-RBT.656格式輸出。TVP5150具有價格低、體積小、操作簡便等特點(diǎn)。FPGA對TVP5150芯片的操作是通過I2C總線實(shí)現(xiàn)的,數(shù)據(jù)傳輸連接方式采用最簡單的ITU-RBT.656方式。
1.4 USB接口模塊
USB接口模塊選用PHILIPS公司的高性能USB接口芯片PDIUSBD12。該芯片完全符合USB1.1規(guī)范,可支持DMA傳輸,并可通過高速8位并行接口和FPGA進(jìn)行通信,其最高并行接口速率可達(dá)到2 MB/s。
1.5 以太網(wǎng)接口模塊
該模塊采用Realtek公司生產(chǎn)的高度集成的以太網(wǎng)控制器RTL8019AS。RTL8019AS支持IEEE802.3標(biāo)準(zhǔn)和8位或16位數(shù)據(jù)總線。其內(nèi)置16KB的SRAM可用于收發(fā)緩沖。在全雙工模式時,其收發(fā)可同時達(dá)到10Mbps。RTL8019AS可支持10Base5、10Base2、10BaseT,并能自動檢測所連接的介質(zhì)。本設(shè)計(jì)采用RTL8019AS跳線接口模式,并通過16位數(shù)據(jù)總線連接FPGA。
2 片級硬件系統(tǒng)設(shè)計(jì)
在Spartan-3上構(gòu)建嵌入式系統(tǒng)的基礎(chǔ)是MicroBlaze IP核。這是一種用硬件描述語言在FPGA內(nèi)部實(shí)現(xiàn)的32位微處理器,采用RISC指令集和Harvard體系結(jié)構(gòu)。可根據(jù)不同的外設(shè)和存儲器配置進(jìn)行定制,并可以針對應(yīng)用來調(diào)整處理器系統(tǒng)架構(gòu)。在Spartan-3系列芯片上進(jìn)行該配置大約占用500 Slices。該IP核具有32個32位通用寄存器和2個專用寄存器。其32位寬的指令系統(tǒng)能支持3個操作數(shù)和兩種尋址方式,而其獨(dú)立的32位指令和數(shù)據(jù)總線則可與IBM的OPB總線完全兼容。通過模塊中的LMB總線,其32位指令和數(shù)據(jù)可直接與片內(nèi)的塊存儲器相連。此外,該IP核還具有高速的指令和數(shù)據(jù)緩存(Cache)、三級流水線結(jié)構(gòu)、32位地址總線、硬件調(diào)試邏輯、8個輸入和8個輸出的快速鏈路(FSL)接口等。MicroBlaze軟處理器的內(nèi)部功能結(jié)構(gòu)如圖2所示。
在FPGA上設(shè)計(jì)嵌入式系統(tǒng)時,可在最低層硬件資源上開發(fā)片內(nèi)外設(shè)IP核,或利用已開發(fā)的IP核搭建嵌入式系統(tǒng)的硬件部分,然后開發(fā)IP核的設(shè)備驅(qū)動、應(yīng)用接口(API)和應(yīng)用層(算法)。通過標(biāo)準(zhǔn)總線接口將局部存儲器總線(LMB)和片內(nèi)外設(shè)總線(OPB)連接到片內(nèi)外設(shè)IP核,MicroBlaze處理器就可以和各種外設(shè)IP核及片內(nèi)BlockRAM相連。該開發(fā)工具提供的IP核均有相應(yīng)的設(shè)備驅(qū)動和應(yīng)用接口,使用者只需利用相應(yīng)的函數(shù)庫來編寫自己的應(yīng)用軟件和算法程序即可。對于用戶自己開發(fā)的IP核,則需要自己編寫相應(yīng)的驅(qū)動和接口函數(shù)。利用MicroBlaze處理器構(gòu)建的基本嵌入式系統(tǒng)如圖3所示。
評論