基于PCI總線和DSP技術(shù)的虛擬儀器系統(tǒng)設(shè)計(jì)
傳統(tǒng)的虛擬儀器由一塊基于PCI總線的直接利用A/D和D/A芯片構(gòu)成的數(shù)據(jù)采集板卡和相應(yīng)的軟件組成,但隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,越來越多的數(shù)據(jù)需要由計(jì)算機(jī)處理、存儲(chǔ)和傳輸,由于通用計(jì)算機(jī)本身的特點(diǎn),它們通常不適于進(jìn)行實(shí)時(shí)性要求很高的數(shù)字信號(hào)處理,因此這種虛擬儀器不能滿足現(xiàn)實(shí)應(yīng)用對(duì)數(shù)據(jù)實(shí)時(shí)處理能力、數(shù)據(jù)傳輸能力以及數(shù)據(jù)管理能力所提出的越來越高的要求。
與此同時(shí),隨著數(shù)字信號(hào)處理器(DSP)性價(jià)比的不斷提高,其應(yīng)用領(lǐng)域飛速擴(kuò)展,從而使基于PCI總線和DSP技術(shù)的新型虛擬儀器應(yīng)運(yùn)而生。
系統(tǒng)的基本框架
筆者設(shè)計(jì)的基于PCI總線和DSP技術(shù)的虛擬儀器的基本框架如圖1所示。
整個(gè)系統(tǒng)是基于模塊化的設(shè)計(jì)理念來實(shí)現(xiàn)的,該系統(tǒng)的開發(fā)主要有以下幾步:1)設(shè)計(jì)一塊基于PCI總線的母板,該板上有自己定義的總線接插件,以及整個(gè)系統(tǒng)的邏輯控制單元和數(shù)據(jù)緩沖存儲(chǔ)芯片;2)設(shè)計(jì)數(shù)據(jù)采集模塊和數(shù)據(jù)輸出模塊;3)開發(fā)PCI母板的Windows驅(qū)動(dòng)程序,使PC能正常識(shí)別該板卡并分配所需系統(tǒng)資源;4)開發(fā)系統(tǒng)下位機(jī)DSP數(shù)據(jù)采集模塊的程序,實(shí)現(xiàn)對(duì)模擬信號(hào)的采集以及數(shù)據(jù)的FFT算法處理;5)開發(fā)系統(tǒng)上位機(jī)PC的控制軟件,實(shí)現(xiàn)數(shù)據(jù)波形顯示、端口配置、內(nèi)存讀寫以及對(duì)儀器的控制功能。
圖1 虛擬儀器系統(tǒng)的基本框架
系統(tǒng)的硬件設(shè)計(jì)
由圖1可見,本虛擬儀器系統(tǒng)首先要有一塊基于PCI總線的母板,該板上有自定義的總線接插件,可以插接其他基于該總線的數(shù)據(jù)采集DSP子板,此外,該板上還有整個(gè)系統(tǒng)的邏輯控制單元以及數(shù)據(jù)緩沖存儲(chǔ)芯片;其他各個(gè)功能模塊都基于該擴(kuò)展板來實(shí)現(xiàn);各個(gè)模塊之間數(shù)據(jù)的存儲(chǔ)和傳輸可以通過雙端口RAM來實(shí)現(xiàn),我們選用Cypress公司8K×16b高速雙口RAM芯片CY7C025V,因?yàn)樗臅r(shí)序與DSP時(shí)序相配,特別適用于DSP與PC之間大量數(shù)據(jù)的高速雙向傳送。
1 PCI接口的實(shí)現(xiàn)
在PCI總線適配卡的設(shè)計(jì)中,采用專用的PCI接口芯片來實(shí)現(xiàn)PCI接口,設(shè)計(jì)者不需要將精力投入到復(fù)雜的PCI接口功能設(shè)計(jì)和驗(yàn)證測(cè)試上。專用的接口芯片可以實(shí)現(xiàn)完整的PCI主控模塊和目標(biāo)接口功能,將復(fù)雜的PCI接口轉(zhuǎn)換為簡(jiǎn)單的接口。在本設(shè)計(jì)中選用PLX公司通用接口芯片PCI9052,它包含讀和寫FIFO,以便將32bit、33MHz的PCI總線與總線寬度有可能比它窄或總線速度有可能比它慢的局部總線進(jìn)行匹配。PCI9052有最大5個(gè)局部地址空間和4個(gè)片選支持,圖2為PCI9052的信號(hào)接口模塊圖。
圖2 PCI9052信號(hào)接口
PCI分配資源的數(shù)據(jù)來源是通過外擴(kuò)的EEPROM來實(shí)現(xiàn)的,根據(jù)PCI9052接口芯片的要求,選用Microchip公司支持三線串行接口的EEPROM。在電源上電期間,PCI的RST#信號(hào)復(fù)位PCI9052內(nèi)部寄存器。而PCI9052也輸出局部復(fù)位信號(hào)(LRESET#)并檢查是否存在外部EEPROM,如果存在并且第一個(gè)16位字不是FFFFH,則PCI9052加載EEPROM中的數(shù)據(jù)到PCI9052的內(nèi)部寄存器中;否則默認(rèn)值被使用。PCI9052配置寄存器僅能由EEPROM或PCI主機(jī)處理器寫。在EEPROM初始化期間,PCI9052用RETRY信號(hào)來響應(yīng)PCI目標(biāo)訪問。圖3給出了本設(shè)計(jì)中EEPROM(93CS46)和PCI9052的連接電路圖。
圖3 EEPROM和PCI9052的連接電路圖
EEPROM中配置的主要信息包括:設(shè)備識(shí)別號(hào)、供應(yīng)商代號(hào)、四個(gè)局部總線空間的大小以及空間的基地址等??梢允孪韧ㄟ^編程器將配置信息寫入配置EEPROM中,也可在系統(tǒng)啟動(dòng)后用PLXMon對(duì)EEPROM進(jìn)行操作。
評(píng)論