基于PCI總線的高速噪聲檢測系統(圖)
關鍵字:噪聲檢測;pci總線;pci 9052;wdm
前言
噪聲檢測系統用于對環(huán)境噪聲進行樣本采集和頻譜分析,確定噪聲中的頻率分量是否對人體造成傷害。該系統分為高速數據采集卡和頻譜分析兩部分。數據采集卡將采樣采集到的數據送入計算機內,由應用程序完成快速頻譜分析功能。由于環(huán)境噪聲是實時變化的,因此需要采集電路的高速采樣和數據的高速傳輸。鑒于傳統總線無法滿足高速傳輸的要求,采用了pci總線作為噪聲檢測系統的底層平臺。
pci總線是intel公司推出的一種微機擴展槽接口標準,時鐘頻率為0~33mhz,其最大數據傳輸速率為132~264mbps,有效克服了傳統總線進行高速數據傳輸時的瓶頸現象,使數據的實時高速采集和傳輸成為可能。
數據采集卡結構說明
數據采集卡具有高速和速率可調節(jié)的特點。其前端采用聲波傳感器采集模擬噪聲信號,采集到的模擬信號經過a/d變換器轉換為數字信號,數字信號再經pci總線傳輸到計算機內。該數據采集卡主要包括數據采集電路、pci接口電路和邏輯控制電路三部分,采集卡結構如圖1所示。下面分別介紹各個部分的功能。
1. 數據采集電路
數據采集電路是由聲波傳感器和a/d變換器組成的,傳感器將采集到的噪聲信號送入a/d變換器,轉換成數字信號輸出。a/d變換器采用的是maxim公司的max 1446。max 1446有一路模擬信號輸入,10位數字信號輸出,工作頻率可達60mhz。實際的數據轉換時間為:轉換時間+各種延遲=5+0.5=5.5個時鐘周期,由此可知max 1446的轉換時間最低可達0.1μs,即采樣速率可達到100mbps,為高速數據采集提供了最基本的硬件條件。
2. pci接口電路
考慮到pci總線規(guī)范的復雜性,本設計采用了plx公司的pci 9052作為pci總線接口芯片,以簡化硬件設計。pci 9052是作為pci總線和局部總線一端的設備的橋梁,保證了局部總線一端的設備在符合pci總線的規(guī)范后連接到pci總線上。pci 9052提供了多個內部寄存器,以盡量提高總線接口設計的靈活性和傳輸速率。所有的寄存器可分為pci總線配置寄存器和局部總線配置寄存器兩類。pci總線配置寄存器是為符合pci規(guī)范所設置的,局部總線配置寄存器用于設定局部總線的工作方式。
對于pci 9052,需要一個eeprom存儲配置信息,當主機啟動時,eeprom完成對pci 9052內部的pci總線配置寄存器和局部總線配置寄存器的初始化。在設計中采用microchip公司93lc46作為eeprom存儲配置信息。
3. 邏輯控制電路
邏輯控制電路的作用是用于產生目標設備準備好信號lrdyi#。在max 1446完成一個a/d轉換后,使目標設備準備好信號lrdyi#有效,表明數據已經在數據線上,通知主設備可以從數據線上讀取數據了。
由于max 1446的數據轉換時間需要5.5個時鐘周期,因此采用一個模6計數器作為控制電路,以保證在數據轉換完成后,才產生lrdyi#。
數據采集卡原理圖
數據采集卡原理圖如圖2所示。
對原理圖有以下幾點說明。
(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的時鐘頻率可高達60mhz。在設計中將pci總線時鐘(33mhz)作為a/d的時鐘信號,從而簡化了a/d的時鐘電路。為了保證lrdyi#信號的產生同max 1446的轉換同步,模6計數器的時鐘信號也采用pci總線的時鐘信號。
(3)數據采集的速率的控制是通過上層的軟件完成的。在設計中,將pci 9052的局部總線端的輸出信號cs0#作為a/d的使能信號,驅動a/d的轉換功能。cs0#是pci 9052局部總線端的一個通用片選信號,它是在配置寄存器編程指定的。通過上層軟件對cs0#低電平產生的時間間隔的控制,即可實現實現對a/d采樣速率的控制。由于a/d轉換需要5.5個時鐘周期,在a/d轉換期間,使能信號oe#應當始終保持有效,但是cs0#的低電平信號保持時間小于a/d轉換時間,因此,使cs0#經過一脈沖展寬電路后再連接到oe#端,以保證a/d的有效轉換。
(4)系統采用的時鐘頻率為33mhz,由于lrdyi#信號的產生是6個時鐘周期,所以數據采集速率可高達55mbps,可實現對噪聲信號的高速實時采樣。
結束語
以上僅針對硬件電路的設計思路和原理作了詳細的說明。在win2000、win nt操作系統下,應用程序不能對i/o端口直接進行操作,因此將a/d轉換的數據讀進內存中就要由驅動程序來完成。驅動程序作為下層硬件和上層應用程序的紐帶,實現應用程序對底層硬件的訪問。在windows平臺上,wdm將代替vxd成為主流的驅動模式,因此選擇driverworks作為驅動程序的開發(fā)工具,開發(fā)wdm。
數據采集卡、驅動程序和頻譜分析程序三部分的數據流程如圖3所示。
1.劉暉譯,pci系統結構(第四版),電子工業(yè)出版社,2000.
2.plx pci9052 data book,2000.
3.chris cant著,孫義等譯,windows wdm設備驅動程序開發(fā)指南,
機械工業(yè)出版社,2000.
評論