基于PCI總線多通道數(shù)據(jù)采集系統(tǒng)的設計
在數(shù)字信號處理領域,很多情況下,模擬輸入數(shù)字化后需要進行實時處理,同時需要計算機的參與(參數(shù)控制、數(shù)據(jù)傳輸?shù)?。這就需要實時性很強的DSP參與處理,這里選用TMS320C5416作為DSP處理芯片,他具有一般DSP的特點,這里不在贅述。?至于DSP與PCI9054間的接口,考慮到充分發(fā)揮他們的高速優(yōu)勢,采用FIFO緩沖器在二者之間交換數(shù)據(jù),而控制邏輯由CPLD完成,如圖4所示。?
2.5 CPLD邏輯控制?
系統(tǒng)采用ALTERA公司MAX7000A系列的EPM7256A芯片,他的配置程序固化在芯片內的?E?2PROM?中,所以該器件不需要專用的配置存儲器,所有MAX7000A系列產品都由ALTERA公司提供的編程硬件和軟件進行編程。
利用EPM7256A內部邏輯單元設計實現(xiàn)局部總線控制器,用于實現(xiàn)局部總線的狀態(tài)控制,同時利用其內部邏輯編程形成存儲陣列構成SRAM,存放發(fā)往各端口的操作指令。?
2.5.1 狀態(tài)機設計?
在PCI目標和DMA傳輸模式下,PCI9054是局部總線的主設備,通過設置PCI9054內部配置寄存器可以使能或禁止外部等待輸入控制信號READY#,以使PCI9054工作于內部等待或外部等待狀態(tài)。若READY#信號被禁止,則在每次傳輸?shù)牡刂泛蛿?shù)據(jù)間插入等待狀態(tài),其數(shù)目由內部等待狀態(tài)計數(shù)器決定。若READY#信號使能,則READY#信號的持續(xù)時鐘周期數(shù)目決定了PCI9054所附加的等待狀態(tài)。系統(tǒng)采用外部READY#信號,以決定等待狀態(tài)。圖5為局部總線狀態(tài)機轉換圖。?
從狀態(tài)圖可以看出,該狀態(tài)機有3種傳輸狀態(tài),空閑狀態(tài)、等待狀態(tài)和傳輸狀態(tài)。狀態(tài)機能成功與PCI9054配合完成數(shù)據(jù)傳輸,傳輸性能穩(wěn)定,效果較好,是現(xiàn)在PCI9054局部總線狀態(tài)機設計的一般方法。通過實際測試,在用戶模式下,查詢方式DMA傳輸速度可以穩(wěn)定達到68 MB/s。?
2.5.2 改進的狀態(tài)機設計?
PCI總線峰值速率為132 MB/s,在上述狀態(tài)機和傳輸狀態(tài)下,DMA速率只有68 MB/s,說明其中存在漏洞。
評論