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