PCI總線(xiàn)接口技術(shù)及其在高速數據采集系統中的應用
*從模式操作
從模式就是允許PCI總線(xiàn)上的主控設備訪(fǎng)問(wèn)局部總線(xiàn)上的PCI 9054的配置寄存器或內存,支持突發(fā)和單周期動(dòng)模式傳輸。PCI 9054通過(guò)16字長(cháng)的PCI從設備讀FIFO和32字長(cháng)的PCI從設備寫(xiě)FIFO來(lái)支持從PCI總線(xiàn)到局部總線(xiàn)上的突發(fā)或單周期的存儲器映射訪(fǎng)問(wèn)和I/O映射訪(fǎng)問(wèn)。PCI基址寄存器用來(lái)設定PCI存儲器和I/O空間的地址。從模式操作包括延時(shí)讀操作、提前讀操作等。
*DMA操作
PCI 9054有一個(gè)強大的雙通道分散/收集DMA控制器,支持PCI主機和適配器內存的高鏟公安廳發(fā)傳輸。兩個(gè)獨立的DMA通道能從局部總線(xiàn)到PCI總線(xiàn)和從PCI總線(xiàn)到局部總線(xiàn)傳輸數據。每個(gè)通道包括一個(gè)DMA控制器和一個(gè)專(zhuān)用雙向FIFO。兩個(gè)通道都支持塊傳輸、分散/收集傳輸、應用或者不用EOT傳輸等。模式選擇必須在PCI 9054成為一個(gè)PCI總線(xiàn)主設備之間主設備使能位(PCICR[2])使能。另外,兩個(gè)DMA通道都能編程實(shí)現8、16或32bit局部總線(xiàn)帶寬;使能/使無(wú)效內部等待周期;使能/使無(wú)效局部總線(xiàn)突發(fā)傳輸;執行PCI存儲器寫(xiě)并無(wú)效操作;設置PCI中斷(INTA)或者是本地中斷(LINT)等。圖3和圖4分別描述了從PCI到局部總一和從局總總線(xiàn)到PCI總線(xiàn)的DMA數據傳輸操作邏輯。
4 采樣控制和驅動(dòng)程序設計
基于開(kāi)發(fā)周期和成本考慮,本設計采用DMA傳輸模式。啟動(dòng)采樣后,采和1KB×8的雙口SRAM IDT7130作為數據采集前端與PCI總線(xiàn)的數據緩沖,PCI 9054作為主控設備,利用其DMA通道進(jìn)行數據傳輸。當雙口SRAM采滿(mǎn)1KB數據之后,通過(guò)EPLD(EPM7128)產(chǎn)生局部總線(xiàn)中斷,PCI9054獲得局部總線(xiàn)的控制權后,根據DMA的起始位將1KB的數據讀到DMA傳輸的專(zhuān)用FIFO中,PCI 9054申請占用PCI總線(xiàn),獲得PCI總線(xiàn)的控制權后,將數據寫(xiě)入PCI總線(xiàn)存儲空間,從而實(shí)現一次采樣和傳輸。
可編程邏輯器件(EPLD)用以實(shí)現PCI 9054與雙口SRAM的I/O邏輯、傳輸控制邏輯、中斷邏輯以及主機對數據采集通道的前端控制。
PCI數據采集卡另一關(guān)鍵問(wèn)題是驅動(dòng)程序的開(kāi)發(fā)。設備驅動(dòng)程序提供鏈接到PCI板卡的軟件接口,文件擴展名為.SYS的動(dòng)態(tài)鏈接庫。在Windows98和Windows2000中,設備驅動(dòng)程序必須根據Windows驅動(dòng)程序模型(WDM)設計。設備驅動(dòng)程序的關(guān)鍵是如何完成硬件操作,基本功能是完成設備的初始化、對端口的讀寫(xiě)操作、中斷的設備和響應及中斷的調用,以及對內存的直接讀寫(xiě)。本設計應用KRF-Tech公司的Windriver來(lái)編寫(xiě)設備驅動(dòng)程序,Windriver針對PLX和AMCC的專(zhuān)用接口芯片編寫(xiě)了API函數包,降低了開(kāi)發(fā)難度。
PCI 9054以其強大的功能和簡(jiǎn)單的用戶(hù)接口,為PCI總線(xiàn)接口的開(kāi)發(fā)提供了一種簡(jiǎn)法的方法。設計者只需設計局部總線(xiàn)接口控制電路,即可實(shí)現與PCI總線(xiàn)的高速數據傳。在高速數據采集系統中,利用PCI總線(xiàn)的高速特性實(shí)時(shí)傳輸和存儲采集數據,有效地解決了數據傳輸和處理的實(shí)時(shí)性。隨著(zhù)PCI總線(xiàn)的普及應用,基于PCI總線(xiàn)的采集系統設計有十分廣闊的前景。
評論