基于PCI總線(xiàn)的高速噪聲檢測系統(圖)
關(guān)鍵字:噪聲檢測;pci總線(xiàn);pci 9052;wdm
前言
噪聲檢測系統用于對環(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/d轉換需要5.5個(gè)時(shí)鐘周期,在a/d轉換期間,使能信號oe#應當始終保持有效,但是cs0#的低電平信號保持時(shí)間小于a/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所示。
1.劉暉譯,pci系統結構(第四版),電子工業(yè)出版社,2000.
2.plx pci9052 data book,2000.
3.chris cant著(zhù),孫義等譯,windows wdm設備驅動(dòng)程序開(kāi)發(fā)指南,
機械工業(yè)出版社,2000.
評論