一種Windows2000下連續輸出數據的PCI卡
北京中國科學(xué)院聲學(xué)研究所數字系統部(100080) 李向陽(yáng)
湖南科技大學(xué)機電工程學(xué)院(411201) 李 耀
摘 要:介紹PCF1536的設計原理和硬件結構;詳細討論了大容量FIFO的結構及用CPLD實(shí)現FIFO控制器;計算PCF1536工作于Windows2000操作系統下允許的最大中斷延遲;最后將PCF1536應用于多路D/A轉換器,指出Windows2000的中斷延遲遠遠小于41.2毫秒。
關(guān)鍵詞:PCF1536 連續數據流 FIFO控制器 中斷延遲
在視頻輸出、聲吶仿真等實(shí)際應用中,經(jīng)常要求計算機能根據要求穩定輸出連續數據流。然而,當計算機工作于Windows2000操作系統下時(shí),由于該操作系統是一個(gè)多任務(wù)的非實(shí)時(shí)操作系統,當它收到外部設備發(fā)來(lái)的中斷時(shí),需要延遲一定時(shí)間間隔后,才開(kāi)始執行中斷服務(wù)程序。這樣,從計算機I/O口直接輸出的數據流只能是間歇的數據流,無(wú)法提供連續數據流,不能滿(mǎn)足實(shí)際應用的需要。
幸運的是,許多實(shí)際應用只需要低速的連續數據流??梢岳肞CI總線(xiàn)的高速數據傳輸特性,在PCI接口后加入一個(gè)大容量FIFO存儲器,高速的PCI數據流從FIFO存儲器的輸入端輸入,在FIFO的輸出端就能獲得低速的連續數據流。這樣屏蔽了Windows2000的非實(shí)時(shí)性,成功滿(mǎn)足實(shí)際應用的需要。在圖1所示的具體應用中,計算機與PCI卡之間通過(guò)PCI總線(xiàn)形成峰值速率達132MB/s的間歇數據流;PCI卡通過(guò)局部總線(xiàn)與大容量存儲器之間同樣是峰值速率達132MB/s的間歇數據流;最后通過(guò)多路D/A轉換電路獲得了速率為16MB/s的連續數據流。為了便于應用,將PCI接口模塊與大容量存儲器結合,設計了一塊能在Windows2000下以16MB/s的速率連續輸出數據的PCI卡PCF1536。
1 PCF1536的工作原理
PCI卡PCF1536是一個(gè)帶有1536KB FIFO的通用PCI卡;在Windows2000操作系統下,它能以16MB/s的速度連續輸出數據。圖2是PCF1536的結構框圖,整個(gè)PCF1536包括PCI接口、大容量FIFO存儲器和驅動(dòng)器三個(gè)模塊。
1.1 PCI接口模塊
PCI接口模塊由PCI9052和配置EEPROM 93LC46組成。PCI9052是PLX技術(shù)公司的產(chǎn)品,兼容于PCI協(xié)議(2.1版);它可作為PCI總線(xiàn)的從設備,支持32位數據突發(fā)傳輸。圖3是PCI9052與PCI金手指和存儲器模塊的連接示意圖。
PCI9052與存儲器有三種連接方式:數據地址復用、數據地址非復用和ISA方式[1]。在PCF1536中,PCI9052采用數據地址非復用方式連接FIFO存儲器。其時(shí)序參見(jiàn)文獻[1]。PCI9052與FIFO的連接信號中,ADS表示一次突發(fā)傳輸的開(kāi)始,BLAST表示一次突發(fā)傳輸的結束,LAD[0:31] 為32位數據,LBE[0:3]為字節有效信號。緩存后的時(shí)鐘輸出信號BCLKO經(jīng)74LS00送回PCI9052,同時(shí)也送到FIFO。FIFO半滿(mǎn)時(shí)發(fā)出的中斷信號通過(guò)LINTI1進(jìn)入PCI9052,再通過(guò)INTA發(fā)送給CPU。由于FIFO的寫(xiě)入不需要地址,因此PCI9052與FIFO之間沒(méi)有地址連接。
1.2 存儲器模塊
1.2.1 存儲器組織
存儲器模塊由CPLD器件EPM7128SQC100和四片FIFO器件AL422B組成。AL422B是AVERLOGIC公司的產(chǎn)品,每片AL422B包含384K
評論