張 嬌,呂英凱,羅青平,王煜亮
(1西安石油大學 光電油氣測井與檢測教育部重點實驗室 陜西 西安 710065)
(2國網西藏電力有限公司電力科學研究院 西藏 拉薩 850000)
信號采集是各種生產過程和設備狀態監測的基礎,目前信號采集主要是采用單點測量,導致信號精度偏低。為提高信號采集的精度和速率,設計了以高性能處理器STM32F407為主控制器的信號采集及處理系統。該系統采用多點采樣求均值,減少數據誤差,且可以通過上位機自
對于傳感器技術而言,在機械自動化生產過程中的實際應用,主要內容有以下幾個方面:第一方面是對機械工程進行具體制造,對傳感器技術進行應用,具有較高的現實意義和價值。技術人員將傳感器技術和自動化生產進行有機結合,從而提供更加有效的技術監測手段,對機械制造產品進度層面的技術進行科學有效的控制。例如對工件進行具體生產過程中,存在一些基點,在這些基點之間,還需對工件尺寸進行科學控制,這種情況下可以對接觸式傳感器進行進行使用,從而能夠在工件當中尋找細微的光點。主設置量程和采樣速率,實現了采樣系統量程的實時調整,可用于信號的高精度采集。
該采集系統總體設計主要包括中斷模塊、A/D信號采集模塊、DMA傳輸模塊、信號處理模塊、串口通訊模塊和上位機顯示模塊。采集系統的總體設計如圖1所示。

圖1 采集系統的總體設計
采集系統由STM32F407單片機控制,ADC對濾波后的信號進行采集。事件觸發ADC轉換開啟,采集到的數據將通過DMA傳到定義的寄存器,傳輸完成后進行處理,并將處理結果存放到定義的數組中[1],最后將數據轉換為十六進制通過串口輸出,實現信號的采集和處理。
STM32F407開發板上自帶12位的ADC,其最大的轉換速率為2.4Mhz,能滿足系統設計需要,不需要外接AD,這樣可以減少系統的復雜程度。為了確保采集信號的準確性,采用了事件觸發ADC進行轉換。觸發分為外部中斷和外部事件。因二者在接收到中斷信號后的處理路徑不同,選擇了不需要經過CPU運行的外部事件作為觸發ADC轉換的“按鈕”[2]。
計算機和信號采集系統的通信部分是由CH340將串口信號轉換為USB信號與計算機進行通信的。標準串口的波特率上限為115200Ups,而USB轉的串口波特率最高可達2MUps。RXD和TXD口分別是串行數據輸入端口和輸出端口,D-和D+分別連接USB總線的D-數據線和D+數據線,為增強抗干擾能力及保護USB通信口,通信腳分別并入22pf的電容及100的震蕩保護電路[3]。
信號采集流程圖中,前端信號處理完成后,會發送觸發信號觸發ADC進行轉換。當數據采集完成且DMA傳輸完成時,關斷ADC和DMA,等待下次開啟,如圖2所示。

圖2 信號采集流程圖
由于前端模塊無法有效地過濾脈沖干擾信號,需在ADC轉換結束后進行信號處理,對采集的數據進行多值求平均。此系統采用事件觸發AD轉換,因不經過CPU的處理,因此當遇到觸發信號的時候,便立即觸發AD進行采樣且沒有延時,故而在信號處理的時候不需要進行數據剔除,可直接進行處理。系統的信號處理流程如圖3所示。

圖3 信號處理流程圖
本設計選擇ADC1的通道5,每個通道的采樣時間有8種可供選擇,分別為3,15,28,56,84,112,144,480個周期,ADC的轉換時間可以由以下公式計算:
Tcovn=采樣時間+12個周期
其中:Tcovn為總轉換時間[4-5]。
本次實驗的方波信號采用二進制表示,信號為11000110,串口輸出的信號用十六進制表示,如圖4所示。

圖4 串口輸出信號
除了上述實驗外,對兩幀信號的間隔進行了改變。當信號間隔10us時,信號的精確度突減,原因是程序在處理數據和重新開啟的時間和大于10us,所以導致系統在觸發信號到來時不能完全開啟,造成錯誤。
本系統僅利用STM32F407的內部資源設計的信號采集和處理系統,不僅高速率、高精度有效減少了誤差和時間,而且數據以十六進制輸出,快捷方便的得到傳輸信號的信息,為信號采集提供了很好的模型。