基于SOPC的PCI總線高速數(shù)據(jù)傳輸系統(tǒng)設(shè)計
2.1 系統(tǒng)實現(xiàn)
PCI總線接口的SOPC內(nèi)部結(jié)構(gòu)如圖2所示。實現(xiàn)PCI總線DMA傳輸系統(tǒng)使用到4類功能模塊,分別是實現(xiàn)PCI橋邏輯的pci_comiler組件(pci_c ompiler)、負(fù)責(zé)數(shù)據(jù)傳輸?shù)腄MA控制器(dma)、控制整個SOPC的NiosII處理器(cpu)及其數(shù)據(jù)程序存儲器(onchip_mem),以及SOPC和外部用戶邏輯通信的接口模塊(BA1、DMARD和datardy),上述組件通過avalon總線連接在一起組成SOPC。本文引用地址:http://m.butianyuan.cn/article/190791.htm
PCI總線DMA傳輸系統(tǒng)功能模塊之間的交互過程如圖3所示,過程描述如下:
(1)CPU等待PC使能DMA傳輸,PC使能DMA后,執(zhí)行(2);
(2)PC等待乒乓RAM的數(shù)據(jù)準(zhǔn)備好信號,數(shù)據(jù)準(zhǔn)備好后,執(zhí)行(3);
(3) CPU將DMA的讀/寫地址和傳輸長度參數(shù)寫入DMA控制器中,使能DMA控制器,DMA控制器開始數(shù)據(jù)傳輸,即讀口通過DMARD接口從RAM中讀數(shù),寫口將數(shù)據(jù)寫到PCI橋,PCI橋?qū)?shù)據(jù)送至PCI總線;
(4)當(dāng)傳輸結(jié)束后,DMA控制器產(chǎn)生一個中斷(IRQ1)送CPU;
(5)CPU判斷傳輸是否完成,傳輸完成則通過PCI橋向PC發(fā)送中斷,并執(zhí)行(1),開始下一次DMA傳輸;
(6)PCI總線發(fā)生異常時,PCI橋邏輯中斷CPU,CPU查詢異常狀態(tài),并自動從異常中恢復(fù)。
評論