視頻采集中DMA控制的流橫式接口設(shè)計
2 SoPC系統(tǒng)結(jié)構(gòu)
如圖3所示,SoPC系統(tǒng)以32位Nios II處理器為核心,將所有的接口模塊集成到一塊FPGA內(nèi)。其中,多口SDRAM控制器作為一個自定制外設(shè)與其他通用外設(shè)(DMA控制器、SRAM控制器、Flash接口等)一同掛在Avalon總線上,并與圖像采集模塊、VGA顯示控制模塊以及12C通信模塊等一起構(gòu)成SoPC視頻采集系統(tǒng)。本設(shè)計中,片外SDRAM容量較大,作為視頻數(shù)據(jù)源緩沖區(qū)以及顯示緩沖區(qū);片外SRAM速度快但資源有限,可用于視頻處理緩沖區(qū)。從SDRAM(數(shù)據(jù)源)到SRAM(處理緩沖區(qū))以及從SRAM(處理緩沖區(qū))到SDRAM(顯示緩沖區(qū))的傳輸,則由DMAC采用流模式的方法來實現(xiàn)數(shù)據(jù)的搬運。
3 流模式接口的設(shè)計
(1)四口SDRAM控制器
本系統(tǒng)采用片外SDRAM作為幀緩沖區(qū),而對SDRAM使用的關(guān)鍵在于其控制接口的設(shè)計。在SoPCBuilder集成開發(fā)軟件中,可直接使用系統(tǒng)元件庫提供的單口SDRAM控制器,但是該控制器IP核無法滿足采集、傳輸和顯示同時進行的要求。因此,自定制了一個四口SDRAM控制器。如圖4所示,該四口SDRAM控制器中的2個端口用于流模式的讀和寫,另外2個端口一個作為圖像數(shù)據(jù)源輸入,還有一個作為VGA顯示輸出。
由于數(shù)據(jù)采集、VGA監(jiān)控、流模式傳輸數(shù)據(jù)流速度與SDRAM控制器存取不匹配,因此,對于這四口中的任何一個口,都用FIFO來對數(shù)據(jù)進行緩沖,以協(xié)調(diào)數(shù)據(jù)的同步而不至于錯位。而每個FIFO都有個水位檢測器,當(dāng)水位到半滿時根據(jù)仲裁電路判斷的優(yōu)先級啟用SDRAM讀寫命令,以100 MHz(系統(tǒng)時鐘頻率50 MHz)的頻率根據(jù)用戶給定的地址信號進行批量數(shù)據(jù)的存取,從而滿足了四口并用的要求。該SDRAM控制器的內(nèi)部結(jié)構(gòu)如圖5所示。
評論