基于PCIE總線的多DSP系統(tǒng)接口設計和驅動開發(fā)
為提高主機和板卡之間的數(shù)據(jù)傳輸速率,并保證數(shù)據(jù)的不丟失,采用DMA傳輸?shù)姆绞?。DMA方式的工作原理圖5所示。
板卡的FPGA芯片中有DMA控制器。它提供了2個獨立的DMA通道用于從主機到設備和從設備到主機的數(shù)據(jù)傳輸。
DMA寫操作,即設備將數(shù)據(jù)向上傳輸?shù)街鳈C中,當數(shù)據(jù)到來的時候,它將FIFO中的數(shù)據(jù)直接寫到服務器的內存空間,并產生一個DMA中斷通知驅動程序,驅動程序收到中斷后調用中斷響應函數(shù)來處理內存空間的數(shù)據(jù)。
DMA讀操作,即主機將數(shù)據(jù)向下傳輸?shù)皆O備中,傳輸卡直接從服務器的內存空間將數(shù)據(jù)讀取到FIFO中。服務器中用于DMA讀寫的內存空間由驅動程序初始化DMA操作時分配,PCI Express驅動程序利用這段內存空間直接與傳輸卡進行DMA通信。
4 結束語
開發(fā)的多DSP雷達信號處理板卡傳輸效率高、擴展靈活。用DriverStudio所開發(fā)的DMA模式PCIE驅動程序通用性好,并且驅動運行穩(wěn)定,保證了主機應用程序與硬件板卡上各DSP數(shù)據(jù)的快速存取。
評論