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