基于FPGA的高速多路視頻數據采集系統
摘要:針對同時處理高速多路視頻數據的需求,以NiosIl軟核CPU為核心,通過在FPGA上構建可編程片上系統(System On Programmable Chip,SOPC),利用SOPC系統自定義外設接口,配合DMA技術,完成對A/D轉換后的多路視頻數據的同時解碼采集。視頻解碼模塊采用滑動窗法快速檢測定時基準信號。FPGA可重構的特性可以使系統根據實際應用需要在原方案基礎上擴展、裁減功能模塊,并根據資源情況重構系統,達到資源與效率的最優匹配。
關鍵詞:FPGA;Nios;IP核;多路數據采集;視頻解碼
引言
數字圖像處理技術廣泛地應用在信息處理領域,如何高效、靈活地將現實世界圖像數字化是信息處理的關鍵技術之一。本文基于FPGA技術設計了一個高速多路視頻數據采集系統。基于Altera Cyclone II芯片,構建一個集成NiosII軟核處理器、存儲器、I/O接口、自定義外設的可編程片上系統系統(System On Programmable Chip,SOPC)。利用FPGA高速并行處理能力,可同時對多路視頻數據進行視頻解碼,大大提高系統數據采集前端的處理能力。
SOPC系統是可編程片上系統,由單個芯片完成整個系統的主要邏輯功能,同時具有靈活的可重構特性??筛鶕嶋H應用中的不同需求裁剪、擴充、升級系統,并且軟硬件系統均可編程。NiosII軟核CPU的外設可由設計者自由配置,具有靈活且運行速度快的特點。
1 系統功能及特點
1.1 功能描述
本文所提出的系統以Altera公司CycloneII系列的EP2C70為核心,通過外接擴展板接入視頻信號,可同時采集處理2~6路視頻數據,將視頻數據解碼后提取出圖像區域的RAW DATA。SOPC系統通過自定義FIFO接口緩存數據,利用DMA技術將視頻數據搬移至存儲區域,供后續程序調用。
1.2 系統特點
本系統主要具有以下特點:
①采用硬件描述語言編寫的視頻解碼模塊可以高效地完成視頻編解碼工作,如果接入的視頻信號編碼格式不同,可以靈活重構每路視頻的解碼模塊,而不需要修改硬件設計。
②NiosII軟核CPU可以靈活地進行任務調度,配合Nios IDE軟件編程環境,可以方便的對視頻A/D采集芯片進行I2C總線配置。
③自定義FIFO接口緩存視頻數據,保證數據連貫性和準確性,FIFO的緩沖區的長度和數據寬度均可以定制,針對每一路視頻數據格式配置不同的FIFO緩沖區。
④采用DMA技術完成采集數據從SOPC外設到內存的搬移,減輕CPU的負擔。
2 實現原理及系統結構
2.1 系統總體框架
整個系統主要分為SOPC系統、多路視頻解碼模塊、視頻A/D芯片絹、SDRAM存儲器幾大模塊。SOPC系統和多路視頻解碼模塊均由FPGA可編程邏輯資源實現。SOPC系統通過自定義FIFO(Custom FIFO)緩沖來自多路視頻解碼模塊(Multi-channel Video Decoder Module)的數據,DMA完成數據從Custom FIFO到SDRAM的搬移工作,NiosII CPU通過Avalon總線對視頻A/D采集芯片、自定義FIFO接口模塊以及DMA控制器進行配置。系統總體結構如圖1所示。
評論