<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

基于Spartan-3 FPGA的視頻采集系統設計

作者: 時(shí)間:2012-08-29 來(lái)源:網(wǎng)絡(luò ) 收藏

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

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

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

3 系統軟件設計

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

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

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

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

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



關(guān)鍵詞: Spartan FPGA 視頻采集 系統設計

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>