摘要:文章介紹了一種基于PCI總線的高速噪聲檢測(cè)系統(tǒng),介紹了采用PCI 9052作為PCI總線接口芯片的數(shù)據(jù)采集部分的設(shè)計(jì)原理,并說明了數(shù)據(jù)采集卡的高速采樣和速率可變的實(shí)現(xiàn)原理,給出了底層硬件同上層軟件的連接實(shí)現(xiàn)。 關(guān)鍵字:噪聲檢測(cè);PCI總線;PCI 9052;WDM |
| |
前言 噪聲檢測(cè)系統(tǒng)用于對(duì)環(huán)境噪聲進(jìn)行樣本采集和頻譜分析,確定噪聲中的頻率分量是否對(duì)人體造成傷害。該系統(tǒng)分為高速數(shù)據(jù)采集卡和頻譜分析兩部分。數(shù)據(jù)采集卡將采樣采集到的數(shù)據(jù)送入計(jì)算機(jī)內(nèi),由應(yīng)用程序完成快速頻譜分析功能。由于環(huán)境噪聲是實(shí)時(shí)變化的,因此需要采集電路的高速采樣和數(shù)據(jù)的高速傳輸。鑒于傳統(tǒng)總線無法滿足高速傳輸?shù)囊螅捎昧薖CI總線作為噪聲檢測(cè)系統(tǒng)的底層平臺(tái)。 PCI總線是Intel公司推出的一種微機(jī)擴(kuò)展槽接口標(biāo)準(zhǔn),時(shí)鐘頻率為0~33MHz,其數(shù)據(jù)傳輸速率為132~264Mbps,有效克服了傳統(tǒng)總線進(jìn)行高速數(shù)據(jù)傳輸時(shí)的瓶頸現(xiàn)象,使數(shù)據(jù)的實(shí)時(shí)高速采集和傳輸成為可能。 數(shù)據(jù)采集卡結(jié)構(gòu)說明 數(shù)據(jù)采集卡具有高速和速率可調(diào)節(jié)的特點(diǎn)。其前端采用聲波傳感器采集模擬噪聲信號(hào),采集到的模擬信號(hào)經(jīng)過A/D變換器轉(zhuǎn)換為數(shù)字信號(hào),數(shù)字信號(hào)再經(jīng)PCI總線傳輸?shù)接?jì)算機(jī)內(nèi)。該數(shù)據(jù)采集卡主要包括數(shù)據(jù)采集電路、PCI接口電路和邏輯控制電路三部分,采集卡結(jié)構(gòu)如所示。下面分別介紹各個(gè)部分的功能。 1. 數(shù)據(jù)采集電路 數(shù)據(jù)采集電路是由聲波傳感器和A/D變換器組成的,傳感器將采集到的噪聲信號(hào)送入A/D變換器,轉(zhuǎn)換成數(shù)字信號(hào)輸出。A/D變換器采用的是MAXIM公司的MAX 1446。MAX 1446有一路模擬信號(hào)輸入,10位數(shù)字信號(hào)輸出,工作頻率可達(dá)60MHz。實(shí)際的數(shù)據(jù)轉(zhuǎn)換時(shí)間為:轉(zhuǎn)換時(shí)間+各種延遲=5+0.5=5.5個(gè)時(shí)鐘周期,由此可知MAX 1446的轉(zhuǎn)換時(shí)間可達(dá)0.1μs,即采樣速率可達(dá)到100Mbps,為高速數(shù)據(jù)采集提供了基本的硬件條件。 2. PCI接口電路 考慮到PCI總線規(guī)范的復(fù)雜性,本設(shè)計(jì)采用了PLX公司的PCI 9052作為PCI總線接口芯片,以簡(jiǎn)化硬件設(shè)計(jì)。PCI 9052是作為PCI總線和局部總線一端的設(shè)備的橋梁,保證了局部總線一端的設(shè)備在符合PCI總線的規(guī)范后連接到PCI總線上。PCI 9052提供了多個(gè)內(nèi)部寄存器,以盡量提高總線接口設(shè)計(jì)的靈活性和傳輸速率。所有的寄存器可分為PCI總線配置寄存器和局部總線配置寄存器兩類。PCI總線配置寄存器是為符合PCI規(guī)范所設(shè)置的,局部總線配置寄存器用于設(shè)定局部總線的工作方式。 對(duì)于PCI 9052,需要一個(gè)EEPROM存儲(chǔ)配置信息,當(dāng)主機(jī)啟動(dòng)時(shí),EEPROM完成對(duì)PCI 9052內(nèi)部的PCI總線配置寄存器和局部總線配置寄存器的初始化。在設(shè)計(jì)中采用Microchip公司93LC46作為EEPROM存儲(chǔ)配置信息。 3. 邏輯控制電路 邏輯控制電路的作用是用于產(chǎn)生目標(biāo)設(shè)備準(zhǔn)備好信號(hào)LRDYi#。在MAX 1446完成一個(gè)A/D轉(zhuǎn)換后,使目標(biāo)設(shè)備準(zhǔn)備好信號(hào)LRDYi#有效,表明數(shù)據(jù)已經(jīng)在數(shù)據(jù)線上,通知主設(shè)備可以從數(shù)據(jù)線上讀取數(shù)據(jù)了。 由于MAX 1446的數(shù)據(jù)轉(zhuǎn)換時(shí)間需要5.5個(gè)時(shí)鐘周期,因此采用一個(gè)模6計(jì)數(shù)器作為控制電路,以保證在數(shù)據(jù)轉(zhuǎn)換完成后,才產(chǎn)生LRDYi#。
數(shù)據(jù)采集卡原理圖 數(shù)據(jù)采集卡原理圖如所示。 對(duì)原理圖有以下幾點(diǎn)說明。 (1)設(shè)計(jì)中采用9052的非復(fù)用模式,因此將MODE接地,所以9052的LAD[31..0]上只有數(shù)據(jù)信息,而其地址信息在LA[27..0]上,又由于MAX1446的轉(zhuǎn)換位數(shù)為10bit,因此將該10位輸出數(shù)據(jù)D[9..0]連接到PCI 9052的LAD[9..0],而LAD[31..10]接地。 (2)A/D變換器MAX 1446的時(shí)鐘頻率可高達(dá)60MHz。在設(shè)計(jì)中將PCI總線時(shí)鐘(33MHz)作為A/D的時(shí)鐘信號(hào),從而簡(jiǎn)化了A/D的時(shí)鐘電路。為了保證LRDYi#信號(hào)的產(chǎn)生同MAX 1446的轉(zhuǎn)換同步,模6計(jì)數(shù)器的時(shí)鐘信號(hào)也采用PCI總線的時(shí)鐘信號(hào)。 (3)數(shù)據(jù)采集的速率的控制是通過上層的軟件完成的。在設(shè)計(jì)中,將PCI 9052的局部總線端的輸出信號(hào)CS0#作為A/D的使能信號(hào),驅(qū)動(dòng)A/D的轉(zhuǎn)換功能。CS0#是PCI 9052局部總線端的一個(gè)通用片選信號(hào),它是在配置寄存器編程指定的。通過上層軟件對(duì)CS0#低電平產(chǎn)生的時(shí)間間隔的控制,即可實(shí)現(xiàn)實(shí)現(xiàn)對(duì)A/D采樣速率的控制。由于A/D轉(zhuǎn)換需要5.5個(gè)時(shí)鐘周期,在A/D轉(zhuǎn)換期間,使能信號(hào)OE#應(yīng)當(dāng)始終保持有效,但是CS0#的低電平信號(hào)保持時(shí)間小于A/D轉(zhuǎn)換時(shí)間,因此,使CS0#經(jīng)過一脈沖展寬電路后再連接到OE#端,以保證A/D的有效轉(zhuǎn)換。 (4)系統(tǒng)采用的時(shí)鐘頻率為33MHz,由于LRDYi#信號(hào)的產(chǎn)生是6個(gè)時(shí)鐘周期,所以數(shù)據(jù)采集速率可高達(dá)55Mbps,可實(shí)現(xiàn)對(duì)噪聲信號(hào)的高速實(shí)時(shí)采樣。
結(jié)束語 以上僅針對(duì)硬件電路的設(shè)計(jì)思路和原理作了詳細(xì)的說明。在Win2000、Win NT操作系統(tǒng)下,應(yīng)用程序不能對(duì)I/O端口直接進(jìn)行操作,因此將A/D轉(zhuǎn)換的數(shù)據(jù)讀進(jìn)內(nèi)存中就要由驅(qū)動(dòng)程序來完成。驅(qū)動(dòng)程序作為下層硬件和上層應(yīng)用程序的紐帶,實(shí)現(xiàn)應(yīng)用程序?qū)Φ讓佑布脑L問。在Windows平臺(tái)上,WDM將代替VxD成為主流的驅(qū)動(dòng)模式,因此選擇DriverWorks作為驅(qū)動(dòng)程序的開發(fā)工具,開發(fā)WDM。 數(shù)據(jù)采集卡、驅(qū)動(dòng)程序和頻譜分析程序三部分的數(shù)據(jù)流程如所示。
|
[1]. PCI datasheet http://www.hbjingang.com/datasheet/PCI_1201469.html.
[2]. MAXIM datasheet http://www.hbjingang.com/datasheet/MAXIM_1062568.html.
[3]. Microchip datasheet http://www.hbjingang.com/datasheet/Microchip_1097736.html.
[4]. 93LC46 datasheet http://www.hbjingang.com/datasheet/93LC46_108868.html.
[5]. MAX1446 datasheet http://www.hbjingang.com/datasheet/MAX1446_719415.html.
[6].劉暉譯,PCI系統(tǒng)結(jié)構(gòu)(第四版),電子工業(yè)出版社,2000.
[7].PLX PCI9052 Data Book,2000.
[8].Chris Cant著,孫義等譯,Windows WDM設(shè)備驅(qū)動(dòng)程序開發(fā)指南,機(jī)械工業(yè)出版社,2000
關(guān)鍵詞:基于PCI總線的高速噪聲檢測(cè)系統(tǒng)(圖)93LC46PCI9052MAXIMMAX1446