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

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

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

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

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