郝 雯,沈金鑫,梅 成
(1.南京理工大學 機械工程學院,江蘇 南京 210094;2.哈爾濱工程大學 水聲工程學院,黑龍江 哈爾濱 150000)
現階段,數據采集的方案主要有引線式和存儲式兩種。引線式主要采用微型計算機、高速數據采集卡和數據采集軟件來實現[1],利用微型計算機主頻高、內存大、硬盤容量大的特點,通過數據采集卡將模擬信號轉換為數字信號,PC機上的數據采集軟件直接對數字信號進行相應的處理,可以實現高速率、高分辨率、大容量的數據采集[2-3]。
存儲式主要采用高速A/D轉換器、數據存儲器和單片機或FPGA、DSP等實現,使用單片機或FPGA、DSP作為主控制器,通過A/D轉換器將模擬信號轉化為數字信號,并將采集的數據保存至數據存儲器中,可以實現采集存儲裝置的微小型化。
引線式方案主要使用NI(美國國家儀器)的LabVIEW軟件配套其高速數據采集卡,能勝任一般性的高速數據采集任務,但是其數據采集卡價格昂貴,而且一般的數據采集均為中低速。引線式由于體積較大,不便于攜帶,不能用于對運動物體的數據采集[4]。存儲式方案主要針對運動的物體,實現高速、短時間、中小容量的數據采集,例如飛行器在飛行過程中的各種參數的采集,具有便攜性、微小型等特點,廣泛用于各種試驗參數的數據采集。
存儲式數據采集系統是基于STM32微控制器和數據存儲器的弱電信號采集系統,可應用于各種弱電信號的采集與存儲。整個系統由信號調理模塊、STM32主控制器、數據存儲器、RS-485通訊接口和電源模塊組成。傳感器信號經過信號處理部分對信號進行放大、濾波,利用STM32單片機的片內ADC模塊實現A/D轉換,對數據進行遞推中位值平均濾波之后,將數據首先保存至STM32片內存儲器中,當數據達到一定量之后,將轉換數據轉移至大容量的外存儲器中。數據采集系統總體框圖如圖1所示。

圖1 系統總體框圖Fig.1 Overall system block diagram
系統硬件部分由信號調理電路、主控制器、數據存儲器、RS-485通訊接口和電源電路組成。信號調理對輸入信號進行放大,使信號在A/D轉換能夠轉換的電壓范圍內,以滿足采樣的要求;主控制器完成模擬信號的A/D轉換、濾波和存儲;RS-485通訊接口將存儲數據上傳給計算機;電源模塊為整個采集系統的各個模塊提供工作電壓。數據采集系統硬件功能模塊構成如圖1所示。
AD623是一個集成單電源儀表放大器,它能在單電源(+3V到+12V)下提供滿電源幅度的輸出[5]。它允許使用單個增益設置電阻進行增益編程,以得到更好的靈活性。在無外接電阻條件下,AD623被設置為單增益(G=1)。在外接電阻后,AD623可編程設置增益,增益最高可達1 000倍。
信號調理電路采用儀表放大器AD623來實現,信號調理電路如圖2所示。

圖2 信號調理電路Fig.2 Signal conditioning circuit
STM32F103是STM32系列的增強型芯片,工作頻率為72 MHz,工作性能為1.25 DMIPS/MHz。片上集成了Flash最多可達512 kB,SRAM最多可達64 kB的高速存儲器和通過APB總線連接的豐富和增強的外設以及多達80個的I/O接口,并且擁有2個I2C接口,3個SPI接口和5個USART接口[6];片上還帶有2個12位ADC、1個12位的雙通道DAC、11個16位計時器,支持CAN接口、USB2.0接口和SDIO接口。STM32F103嵌入了一個嵌套矢量中斷控制器,可以處理43個可屏蔽中斷通道,提供16個中斷優先級。
主控制器選用STM32F103T4,擁有16 kB的程序空間,6 kB的RAM,2個12位的ADC,2個USART,1個SPI接口等片上資源。主控制器模塊電路如圖3所示。

圖3 主控制器模塊電路Fig.3 Main controller module circuit
AT25DF021是ATMEL公司的帶有SPI接口的FLASH型數據存儲器,容量為2MB,最大操作頻率為66MHz,適用于數據存儲。與傳統的Flash存儲器需要多個地址線和一個并行接口相比,AT25DF021使用串行接口按順序訪問其內部的數據。這種簡單的串行接口,可以簡化硬件布局,從而提高系統的可靠性,最大限度地減少開關噪聲,并減小封裝尺寸和引腳數目。主要用于高密度、低針數、低電壓、低功耗的工業應用。
數據存儲模塊采用數據存儲芯片AT25DF021來實現,數據存儲模塊電路如圖4所示。

圖4 數據存儲模塊Fig.4 Data storage module
RS-485接口是采用平衡驅動器和差分接收器的傳輸方式,抗共模干擾能力強,抗噪聲干擾性好。本數據采集系統的通訊接口采用RS-485接口,通訊接口電路負責將數據采集系統中的數據上傳至上位機進行進一步的數據分析與處理。通訊接口模塊電路如圖5所示。

圖5 通訊接口模塊Fig.5 Communication interface module
電源電路給采集系統的各個模塊的所有元件提供工作電壓。因為數據采集系統采用可充電鋰電池供電,為了降低整個數據采集系統的功耗,實現低功耗設計,系統所選用的均為低工作電壓的芯片,整個系統只需要+3.3V的電壓即可。電源芯片采用SPX1117-3.3,電源電路如圖6所示。

圖6 電源電路Fig.6 Power circuit
本系統設計中,采用ARM公司推出的集成開發環境Keil 4為開發平臺,并使用ST官方的集成開發庫。應用程序包括主程序、數據采集及處理程序、數據存儲程序、串行通信程序等主要部分。整個系統的流程圖如圖7所示。主程序主要負責對于系統時鐘、GPIO、嵌套中斷的配置以及定時器、ADC和串行通訊模塊的初始化。
數據采集及處理程序中,由定時器T1每隔一個采樣周期觸發一次ADC轉換,轉換結束則會進入中斷服務程序,然后讀取轉換結果并對數據進行遞推中位值平均濾波,以保證數據的可靠性,并將濾波之后的數據保存至STM32片內存儲器。
當A/D轉換的數據的數量達到256 B的時候,進行一次數據存儲,將數據通SPI接口存入DATA FLASH中,以實現存儲式數據采集。當數據采集完成之后,通過RS-485通訊接口將存儲的數據發送到上外機。整個系統的流程圖如圖7所示。

圖7 系統流程圖Fig.7 System flow chart
需要說明的是,數據采集系統的采樣速率、采樣時間、數據存儲的起始地址均需要利過專用的上位機軟件通過RS-485通訊接口進行設定和擦除,數據采集的觸發方式采用硬件觸發。
該存儲式數據采集系統設計,經過調試,其采樣性能和數據傳輸都已經達到設計要求。系統中選用單電源低功耗芯片,并采用STM32片內ADC實現A/D轉換,降低了整個系統的功耗,而且減少了芯片的數量,使得電路板小巧、輕便,從而將存儲式數據采集系統應用于很多體積小的場合。經樣機試驗測試,該存儲式數據采集系統可以滿足一般性的數據采集需要。
[1]王鐵流,李宗方,陳東升.基于STM32的USB數據采集模塊的設計與實現[J].測控技術,2009,28(8):37-40.WANG Tie-liu,LI Zong-fang,CHEN Dong-sheng.Based the STM32 USB data acquisition module design and Implementation[J].Measurement and Control Technology,2009,28(8):37-40.
[2]吳家平,沈建華.基于STM32微控制器的過采樣技術研究與實現[J].計算機技術與發展,2010(2):209-212.WU Jia-ping,SHEN Jian-hua. Oversampling STM32 microcontroller-based Research and Implementation[J].Computer Technology and Development,2010(2):209-212.
[3]張旭,亓學廣,李世光,等.基于STM32電力數據采集系統的設計[J].電子測量技術,2010,33(11):90-93.ZHANG Xu,QI Xue-guang,LI Shi-guang,et al.Based STM32 electricity data acquisition system design[J].Electronic Measurement Technology,2010,33(11):90-93.
[4]吳懷超,周勇.基于虛擬儀器和MSP430單片機的數據采集系統的開發[J].化工自動化及儀表,2011,38(1):52-55.WU Huai-chao,ZHOU Yong.Development of data acquisition system based on virtual instrument and MSP430 MCU[J].Based the STM32 and CAN bus intelligent data acquisition node design,2011,38(1):52-55.
[5]王建新,任勇峰,焦新泉.儀表放大器AD623在數采系統中的應用[J].計算機信息,2007(23):169-170.WANG Jian-xin,REN Yong-feng,JIAO Xin-quan.Instrumentation amplifier AD623 data acquisition system[J].Computer Information,2007(23):169-170.
[6]張河新,王曉輝,黃曉東.基于STM32和CAN總線的智能數據采集節點設計[J].化工自動化及儀表,2008,39(1):78-80.ZHANG He-xin,WANG Xiao-hui,HUANG Xiao-dong.Based the STM32 and CAN bus intelligent data acquisition node design[J].Based the STM32 and CAN bus intelligent data Acquisition Node Design,2008,39(1):78-80.