牛文舉, 黃榮玉, 韓建強
(中國計量大學 機電工程學院,浙江 杭州 310018)
微型傳感器作為新一代傳感器[1],具有體積小、重量輕、成本低、功耗低和可靠性高等優點,廣泛應用于汽車電子、醫療設備、無線通信、環境監測以及消費電子產品中[2]。
為了提高采集微傳感器輸出信號的精度和實時性,需要采集系統具有高精度和高采樣率的模/數(analog-to-digital,A/D)轉換器以及實時顯示和處理等功能[3],因此研究提高采集精度和采集實時性的方法具有十分重要的意義。目前數據采集系統的核心控制器主要采用單片機和數字信號處理器(digital signal processor,DSP)[4]。單片機因指令周期的影響以及在采集中需要頻繁中斷系統的運行,減弱了系統的運算能力從而限制數據采集的速度和實時性。DSP雖然能夠實現高速數據采集,但卻大大增加了采集系統的成本[5]。現場可編程門陣列(field programmable gate array,FPGA)擁有高集成度、時序精準和極強并行處理能力等優勢[6]。
本文提出一種基于FPGA的數據采集和實時顯示系統,將 FPGA 作為系統的核心控制器,利用24位高精度模/數轉換芯片ADS1256和RS—232串行接口總線,完成了對微傳感器輸出的模擬電壓信號進行采集,提高了采集系統的精度和速度。采集系統通過A/D轉換芯片對模擬信號進行高精度采集,FPGA將采集的數據通過RS—232串行總線傳輸到上位機(upper PC),再經過濾波后實時地顯示出采集的模擬信號。該系統具有采集精度高、速度快、受環境影響小、工作穩定和實時性高等優點。
系統主要由ADS1256模數轉換模塊、FPGA控制模塊和上位機組成,如圖1所示。

圖1 采集系統框圖示意
利用FPGA通過模擬SPI總線協議對ADS1256芯片進行讀寫控制以及數據緩存,FPGA將緩存的數據進行處理后再經RS—232串行通信接口送入上位機。為了直觀地顯示采集電壓信號的變化情況,采用Visual C++開發平臺對操作界面軟件進行編寫,實現了采集數據的圖形化顯示,完成了操作界面的設計。



圖2 ADS1256讀寫操作流程
ADS1256芯片轉換的24 bit電壓數據以二進制的補碼格式輸出。輸出數據的正值的最小值為2VREF/(PGA(223-1)),即采集系統的分辨率。其中,PGA為輸出數據的增益值,VREF為ADS1256的基準電壓。
為了測量小信號(微弱電壓)時能得到較高的分辨率,可以對ADS1256芯片的增益放大器PGA值進行編程設置。PGA值共有7種選擇,分別為1,2,4,8,16,32和64。具體選擇時取決于待測電壓的幅值。通常將2VREF/PGA設置為略大于且接近待測電壓的幅值。如當基準電壓VREF為2.5 V且待測電壓的幅值不超過且很接近±500 mV時,則PGA的值應選為8,此時ADS1256芯片最大量程為±625 mV,便可獲得最高的測量分辨率。
電壓采集系統的FPGA控制模塊采用的是黑金開發板平臺,型號為:AX301。通過對FPGA編程,建立不同的程序模塊對ADS1256進行控制以及與上位機的通信。包括FPGA控制ADS1256芯片的主要程序模塊,和FPGA與上位機通信的主要程序模塊。
本文采集系統的FPGA控制模塊輸入輸出接口如圖3所示,FPGA通過I/O口讀取ADS1256輸出的模擬轉換數據。FPGA通過與RS—232接口相連,將從ADS1256讀取的24bit電壓數據傳輸到上位機,并實時顯示出采集的電壓數據波形。

圖3 FPGA輸入輸出接口
采用Microsoft公司的Visual C++對電壓采集系統的上位機進行開發。該采集系統上位機串行通信默認設置為:波特率256 kbps,無校驗、8位數據位、1位停止位。系統采用自定義通信協議,FPGA向PC發送的數據格式如下:

幀頭數據1數據2數據3幀尾D1&0xF0+D2&0x0FD1D2D3D2&0xF0+D3&0x0F
其中,數據1、數據2、數據3是ADS1256采集的24 bit電壓數據。為了上位機能夠準確、快速地從接收到的數據中提取出電壓數據,在電壓數據前后分別加入了數據幀頭和數據幀尾。數據幀頭是由數據1的高4位和數據2的低 4位求和得出。數據幀尾是由數據2的高4位和數據3的低 4位求和得出。這樣不僅可以簡單地校驗接收數據的準確性,又可以方便地提取出采集的電壓數據進行處理和顯示。電壓采集系統顯示界面如圖4所示,界面簡潔、操作簡單。

圖4 采集系統的顯示界面
該軟件不僅能直觀地實時顯示電壓波形變化,也能將當前顯示的電壓波形曲線截圖保存,還能將顯示的電壓值進行緩存以便瀏覽或保存為.TXT文檔進行后期查看等操作。通過將程序進行打包,便可以在Windows XP/7/10中文操作系統下安裝、運行操作。
為了檢驗采集系統的可靠性和采集的精度,以MATRIX MPS—300L—3電壓源作為直流電壓信號源。用Agilent 34401A六位半數字萬用表和上述采集系統同時對0~5 V之間的電壓進行測量,采集系統采樣的絕對誤差和相對誤差如表1所示。

表1 萬用表測量值與采集系統采樣平均值比較
從表1中可知:采集系統采集的絕對誤差小于70 μV,系統采集的相對誤差小于0.03 %。
為了測試采集系統對直流電壓信號的采集速度,通過采集不同頻率的標準正弦波信號進行測試。以Agilent 33521A函數發生器作為信號源。信號發生器模擬輸出正弦波的幅值設置為4 V、偏置為2 V,然后逐漸增大輸出頻率。經測試,最終得出采集系統最大采樣速率為1 500 Hz。上位機測量到的信號發生器輸出的300 Hz正弦波波形曲線如圖5所示。

圖5 正弦波采集
由圖5中可看出:采集系統能夠準確、穩定地顯示出采集的正弦波信號,達到了采集系統的實時性和同步性的采樣要求。
根據以上的兩步測試結果分析表明:采集系統在采樣精度和速度上達到了設計要求,因此,可以對傳感器的輸出信號進行測試。將實驗室設計制作的硅微壓阻式加速度計安裝在標準振動平臺上,使標準振動臺以10gn加速度、20 Hz頻率振動。惠斯通電橋的橋壓設置為5V,電橋的輸出經低噪聲差分放大器(10倍放大)放大后接入本采集系統的輸入端。采集的壓阻式加速度計輸出電壓的波形如圖6所示。根據采集的數據分析可知加速度計的輸出電壓在31.2~34.8 mV之間變化,計算得加速度計的靈敏度約3.6 μV(gnV)-1。

圖6 采集系統采集的壓阻式加速度計輸出電壓的變化
本文設計的采集系統充分利用了FPGA和ADS1256的特點,簡化了對電壓采集的硬件設計。通過自定義與上位機的通信協議,FPGA將采集的數據發送到上位機中并實時顯示采集數據變化。采集系統通過對直流電壓信號和信號發生器產生的正弦波進行采集和比較,表明該系統能夠滿足使用需要,且完成了實驗室研制的壓阻式加速度計的性能測試。本系統不僅應用于微傳感器數據采集,還可以應用在相關領域的數據采集之中,具有一定的應用價值。