新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 基于Spartan-3 FPGA的視頻采集系統(tǒng)設計

基于Spartan-3 FPGA的視頻采集系統(tǒng)設計

作者: 時間:2012-08-29 來源:網(wǎng)絡 收藏

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

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

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

3 系統(tǒng)軟件設計

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

外部模擬視頻信號經(jīng)TVP5150轉換為數(shù)字視頻信號后,即可進入并通過視頻接口模塊直接排列到內部環(huán)形緩沖區(qū)數(shù)據(jù)隊列的隊尾。

當MircoBlaze處理器接收到MPEG-4編碼器可用中斷時,系統(tǒng)將檢測環(huán)形緩沖區(qū)是否為空。非空時,可將數(shù)據(jù)隊列的頭部數(shù)據(jù)取出送給MPEG-4編碼器,同時啟動編碼器編碼。

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

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



評論


相關推薦

技術專區(qū)

關閉