SOPC實現的PCI總線高速數據傳輸系統
本文提出一種采用可編程片上系統(SySTem-On-Programmable-Chip,SOPC)實現偵察接收機PCI總線高速數據傳輸系統的設計方案,并采用直接存儲器訪問(DIRect Memory Access,DMA)傳輸方式來提高數據傳輸速率。
1 PCI總線接口方案設計
在PCI總線接口標準中,根據數據傳輸的發起者所在位置,PCI接口有從模式和主模式兩種工作模式。根據工作方式的不同,DMA傳輸方式可分為連續式DMA (Continuous DMA)和集散式DMA(Scatter-Gather DMA)兩種。
1.1 PCI模式的選擇
PCI總線標準中,由PC發起數據傳輸、讀/寫PCI接口卡的模式稱為從模式。這種模式只要求PCI接口設備具備PCI從設備的功能,接口邏輯相對較簡單;主模式是由PCI接口卡主動讀寫PC內存,PCI接口的邏輯相對復雜。頻繁地要求PC發起數據傳輸會占用PC的資源,為了減少PC的負擔,使其有更多的資源用于后續的數字信號處理,在偵察接收系統中,PCI接口卡的傳輸模式選擇主傳輸模式。
1.2 DMA傳輸方式的選擇
DMA是提高數據傳輸速率和微處理器使用效率的一種數據傳輸機制。連續式DMA用于實現連續數據塊的傳輸,即在一次DMA傳輸中設備端讀/寫物理地址連續變化(讀存儲器空間)或不變化(讀IO口),PC端的物理存儲地址連續變化。集散式DMA用于實現不連續數據塊的傳輸,各傳輸數據塊的起始讀/寫地址和長度都可以不同,它采用一個寄存器鏈表存儲每個數據塊的讀/寫起始地址和長度,DMA傳輸過程中自動從該鏈表加載地址和長度信息。集散模式DMA應用靈活,其缺點是在傳輸完一個數據塊之后要重新配置DMA控制寄存器的值,速度比連續模式稍慢。在偵察接收系統中,DMA傳輸模式選擇連續式傳輸模式。
1.3 PCI總線DMA傳輸方案設計
PCI接口總體結構框圖如圖1所示。數據輸入到乒乓RAM緩沖區,乒乓切換信號通知CPU數據準備好,CPU通過PCI橋的控制狀態寄存器判斷PC端是否備妥,如PC備妥則配置并啟動DMA控制器,DMA控制器讀口從乒乓RAM中讀數據,寫口將數據寫至PCI總線訪問端,PCI總線接口單元申請并獲得PCI總線訪問權,將數據送上PCI總線。
2 PCI總線接口的SOPC實現
2.1 系統實現
PCI總線接口的SOPC內部結構如圖2所示。實現PCI總線DMA傳輸系統使用到4類功能模塊,分別是實現PCI橋邏輯的pci_comiler組件(pci_c ompiler)、負責數據傳輸的DMA控制器(dma)、控制整個SOPC的NiosII處理器(cpu)及其數據程序存儲器(onchip_mem),以及SOPC和外部用戶邏輯通信的接口模塊(BA1、DMARD和datardy),上述組件通過avalon總線連接在一起組成SOPC。
評論