ARM7加速度數(shù)據(jù)采集系統(tǒng)設計
引言
加速度傳感器一直是加速度測試中的重要元件。隨著微加速度計的應用越來越廣泛,對于微加速度計的數(shù)據(jù)信號采集和存儲變得極為重要。傳統(tǒng)的數(shù)據(jù)采集方法多數(shù)是采用單片機完成的,編程簡單、控制靈活,但控制周期長、速度慢,特別是對高速轉換的數(shù)據(jù)來說,單片機的速度極大地限制了數(shù)據(jù)傳輸速度。
目前,嵌入式系統(tǒng)的應用已經進入到一個高低并行發(fā)展的階段。ARM處理器憑借體積小、功耗低、集成度高、硬件調試方便和操作系統(tǒng)可移植等優(yōu)點,獲得廣泛的應用。本文采用基于ARM7TDMI-S核的32位微處理器AT91SAM7X256為控制核心,利用其內部自帶的A/D轉換器對采集到的加速度值進行轉換。
本文應用Model 1221單軸MEMS加速度計,輸出信號經簡單處理后直接外接到ARM7處理器上,只需對處理器的相應軟件進行設置,省去了A/D轉換電路,大大簡化了電路復雜程度,并提高了數(shù)據(jù)處理的速度和精度。該加速度數(shù)據(jù)采集系統(tǒng)特別適用于對加速度和傾斜角的測量。它既可以測量動態(tài)加速度(如典型振動和沖擊),又可以測量靜態(tài)加速度(如重力加速度和慣性);既可以測量正加速度,又可以測量負加速度,因而可以作為斜率傳感器使用。
1 總體設計方案
加速度數(shù)據(jù)采集系統(tǒng)的總體結構如圖1所示。系統(tǒng)主要由單軸加速度計、運放電路、ARM處理器(AT91SAM7X256)三部分組成。單軸加速度計經過電路配置被施加一定加速度后,輸出相應大小的電壓模擬信號,經運算放大電路處理后,直接送至ARM處理器的A/D處理端口。在處理器接收數(shù)據(jù)之前,首先要通過軟件方式對處理器的A/D功能進行合理設置;處理后的數(shù)據(jù)經ARM處理器的存儲寄存器緩存后,由ARM處理器采取中斷的方式接收采集,并對采集到的數(shù)據(jù)作進一步處理;利用軟件分析數(shù)據(jù)的大小,并將其轉換成相應的信號,通過串口通信輸出到PC機上實時顯示。電源裝置采用開關電源為傳感器、ARM處理器以及其他外圍電路提供所需的各種工作電壓。
2 Model 1221單軸MEMS加速度計簡介
2.1 主要特點
Model 1221單軸MEMS(Micro Electro MechanicalSysteros)加速度計就是使用MEMS技術制造的加速度計。由于采用了微機電系統(tǒng)技術,使得其尺寸大大縮小,一個MEMS加速度計只有指甲蓋的幾分之一大小。MEMS加速度計具有體積小、重量輕、功耗低等優(yōu)點。它可以測量振動類型的動態(tài)加速度和重力類型的靜態(tài)加速度,測量范圍是±2g;采用5 V單電源供電,集成在單片集成電路上,具有分辨率高、捕獲時間短、帶寬寬等特點;工作溫度范圍為-55~85℃,適合工作在惡劣環(huán)境下。
2.2 工作原理
技術成熟的MEMS加速度計分為3種:
①壓電式MEMS加速度計。運用的是壓電效應,在其內部有一個剛體支撐的質量塊,有運動的情況下質量塊會產生壓力,剛體產生應變,把加速度轉變成電信號輸出。
②容感式MEMS加速度計。內部也存在一個質量塊,從單個單元來看,它是標準的平板電容器。加速度的變化帶動活動質量塊的移動,從而改變平板電容兩極的間距和正對面積,通過測量電容變化量來計算加速度。
③熱感式MEMS加速度計。內部沒有任何質量塊,它的中央有一個加熱體,周邊是溫度傳感器,里面是密閉的氣腔。工作時在加熱體的作用下,氣體在內部形成一個熱氣團,熱氣團的比重和周圍的冷氣是有差異的,通過慣性熱氣團的移動形成的熱場變化讓感應器感應到加速度值。
由于壓電式MEMS加速度計內部有剛體支撐的存在,通常情況下,壓電式MEMS加速度計只能感應到“動態(tài)”加速度,而不能感應到“靜態(tài)”加速度,也就是我們所說的重力加速度。而容感式和熱感式既能感應“動態(tài)”加速度,又能感應“靜態(tài)”加速度。
Model 1221單軸MEMS加速度計內部包含了微機械電容傳感單元、溫度傳感器、傳感運放電路和差分輸出電路,所有部件密封在一個迷你包裝中。它是容感式MEMS加速度計,即測量電容值的改變來計算加速度。
2.3 應用電路
加速度數(shù)據(jù)采集電路如圖2所示。其中,VDD設置為5 V。17引腳為2.5 V電壓參考引腳,可以單獨外接2.5 V電壓,也可以選擇分壓的方式。本文采用分壓的方式,通過設置R1=R2=5 kΩ。將VDD分壓為2.5 V,并連接一個O.01μF的旁路電容C1。
圖2 加速度數(shù)據(jù)采集電路
AON和AOP引腳的電壓輸出值成比例對應于加速度值,如圖3所示。在加速度為0的情況下,AON和AOP輸出值都是2.5 V。為了取得噪音較低、效果較好的信號輸出,本文采用差動方式將AON和AOP接到運放電路的輸入端,適當設置電阻電容值,得出符合要求的輸出信號。 AON與AOP求差后,范圍在0~4 V之間??紤]到輸出值應與ARM7處理器的A/D端口輸入范圍匹配,因此設置R4/R3=R6/R5=3/4,從而得到一個0~3 V的輸出值范圍。
圖3 AON和AOP引腳的加速度和電壓輸出值
3 ARM7模數(shù)轉換器ADC的應用
AT91SAM7X256自帶的ADC是基于逐次逼近寄存器(SAR)的10位模數(shù)轉換器(ADC)。它集成了一個8到1的模擬多路復用器,可實現(xiàn) 8路模擬信號的模數(shù)轉換;轉換范圍為0 V~ADVREF;支持8位或10位分辨率模式,轉換結果進入一個所有通道可用的通用寄存器中,即通道專用寄存器。
通過設置ARM7并行控制器PIO控制器,將ADO~AD7的某一個端口設置為A/D轉換模擬輸入端口。ADVREF為參考電壓,即ADO~AD7 端口輸入電壓值的范圍為0 V~ADVREF;ADVREF最小值為2.6 V,最大值為VDDIN(一般設為典型值3.3 V)。ARM7處理器的A/D轉換共有3種中斷方式,即軟件觸發(fā)、外部觸發(fā)(包括ADTRG引腳上升沿觸發(fā))和內部觸發(fā)定時計數(shù)器輸出。本文采用內部觸發(fā)定時計數(shù)器輸出觸發(fā)方式,即達到一定的間隔時間后引起中斷,然后對當前的A/D模擬數(shù)據(jù)進行采集和分析。完成上述中斷處理后,再等待下一次中斷到來。使用 ADC中斷請求前須先對AIC(高級中斷控制器)編程。[!--empirenews.page--]
ADC還與PDC(外設數(shù)據(jù)控制器)通道連接。在轉換完成后,數(shù)字結果將會保存到當前通道數(shù)據(jù)寄存器里。當數(shù)據(jù)寄存器保存當前數(shù)據(jù)后,狀態(tài)寄存器相應位置位;當取走數(shù)據(jù)寄存器中的數(shù)據(jù)后,狀態(tài)寄存器相應位清零。
ADC支持8位或10位的分辨率。通過設置ADC模式寄存器(ADC_MR)LOWRES位執(zhí)行對8位的選擇。默認情況下,復位后分辨率最高,且數(shù)據(jù)寄存器中的DATA域完全使用。通過設置LOWRES位,ADC切換到最低分辨率,且轉換結果可從數(shù)據(jù)寄存器的低8位中讀出。對應于ADC_CDR寄存器的DATA域,最高兩位及ADC_LCDR寄存器的LDATA位為0。在數(shù)據(jù)處理之前,通過設置相應寄存器對轉換分辨率、休眠方式、ADC時間等進行初始化。為防止ADVREF端口電壓過高,通常外加穩(wěn)壓二極管作保護。
4 系統(tǒng)軟件設計
軟件設計是整個檢測系統(tǒng)的重要組成部分。依據(jù)硬件設計的相關特點和要求,軟件設計的主要任務是完成系統(tǒng)的初始化,對加速度信號進行提取和分析,加速度過大或者超出設定值時予以警告提示,并完成與其他外設之間的數(shù)據(jù)通信。系統(tǒng)軟件流程如圖4所示。
本檢測裝置工作在惡劣環(huán)境下,易受到各種干擾源的干擾。另外,檢測裝置本身也會產生電磁噪音,將嚴重影響信號的分析和讀取。可以采用電源去耦、低通濾波等硬件方式來濾除干擾,但不容易達到理想效果,因此必須依靠軟件抗干擾技術。軟件抗干擾技術不僅設計靈活,而且節(jié)約硬件資源。常用的軟件抗干擾技術有軟件陷阱技術、軟件濾波技術等。在程序的具體編寫過程中,可以利用這些技術達到抗干擾的目的。
由ARM系統(tǒng)采集到的數(shù)據(jù)可通過串口線發(fā)送到上位機進行實時顯示,也可以通過模擬IDE通信協(xié)議存儲到IDE硬盤中。AT91SAM7X256通過串口與上位機進行通信,主要是應用AT91SAM7X256中的通用異步接收/發(fā)送裝置UART0;而使用AT91SAM7X256的通用可編程I/O 口,可以模擬產生IDE硬盤的讀寫時序,完成對存儲設備的讀寫操作,從而實現(xiàn)加速度數(shù)據(jù)的顯示和存儲。上位機實時顯示加速度的檢測數(shù)值,如圖5所示。
結語
本文介紹一種MEMS加速度計的設計與應用,結合當前應用廣泛的ARM7處理器芯片,設計出一套方面靈活、應用性強的數(shù)據(jù)采集方案。實驗證明,該系統(tǒng)可準確地采集Model 1221單軸MEMS加速度計的加速度信號,可以對采集到的信號進行靈活的處理,既可以在上位機實時顯示,又可以存儲在IDE接口硬盤中,達到了數(shù)據(jù)顯示和存儲的目的。