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