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