引言
加速度計(jì)是一種應(yīng)用十分廣泛的慣性傳感器,它可以用來(lái)測(cè)量運(yùn)動(dòng)系統(tǒng)的加速度。目前的加速度計(jì)大多采用微機(jī)電技術(shù)(MEMS)進(jìn)行設(shè)計(jì)和制造的微型加速度計(jì),由于采用了微機(jī)電技術(shù),其設(shè)計(jì)尺寸大大縮小,一個(gè)MEMS加速度計(jì)只有指甲蓋的一小部分,MEMS加速度計(jì)具有體積小、重量輕、能耗低等優(yōu)點(diǎn)。
隨著微加速度計(jì)的應(yīng)用越來(lái)越廣泛,對(duì)于微加速度計(jì)的數(shù)據(jù)信號(hào)采集和存儲(chǔ)變得極為重要。傳統(tǒng)的數(shù)據(jù)采集方法多數(shù)是用單片機(jī)完成的,其編程簡(jiǎn)單、控制靈活,但缺點(diǎn)是控制周期長(zhǎng)、速度慢,特別是對(duì)高速轉(zhuǎn)換的數(shù)據(jù)來(lái)說(shuō),單片機(jī)的慢速度極大地限制了數(shù)據(jù)傳輸速度。而FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)具有單片機(jī)無(wú)法比擬的優(yōu)勢(shì)。FPGA時(shí)鐘頻率高,內(nèi)部延時(shí)小,全部控制邏輯由硬件完成,速度快、效率高,適于大數(shù)據(jù)量的高速傳輸控制。在高速數(shù)據(jù)采集方面,F(xiàn)PGA有單片機(jī)無(wú)法比擬的優(yōu)勢(shì),然而單片機(jī)的接口豐富,數(shù)據(jù)處理能力強(qiáng),便于完成數(shù)據(jù)的顯示和存儲(chǔ)等操作。
綜合單片機(jī)與FPGA的優(yōu)點(diǎn),這里介紹一種基于ARM和FPGA的微加速度計(jì)數(shù)據(jù)采集存儲(chǔ)系統(tǒng),結(jié)合MXR6150G/M加速度計(jì)傳感器和TLC0820-A/D轉(zhuǎn)換芯片,提供了一種配置靈活、通用性強(qiáng)的數(shù)據(jù)采集方案。
1、系統(tǒng)整體設(shè)計(jì)方案
圖1是數(shù)據(jù)采集系統(tǒng)的總體結(jié)構(gòu)框圖,該系統(tǒng)主要由雙軸加速度計(jì)、A/D轉(zhuǎn)換器、FPGA和ARM處理器四大部分組成。雙軸加速度計(jì)輸出兩路模擬信號(hào),分別代表z軸與y軸的加速度值,通過(guò)A/D轉(zhuǎn)換芯片把輸入的兩路模擬信號(hào)轉(zhuǎn)換為8位的數(shù)字信號(hào),F(xiàn)PGA接收來(lái)自A/D轉(zhuǎn)換芯片的數(shù)字信號(hào),并對(duì)數(shù)字信號(hào)進(jìn)行處理,處理后的數(shù)據(jù)經(jīng)過(guò)FPGA中的FIFO存儲(chǔ)器緩存后由ARM處理器采取中斷方式接收采集,采集到的數(shù)據(jù)可以通過(guò)串口通信在PC機(jī)上實(shí)時(shí)顯示,也可以通過(guò)IDE接口存儲(chǔ)到大容量硬盤(pán)。
2、系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)
2.1 MXR6150G/M加速度計(jì)傳感器
MXR6150G/M是無(wú)錫美新半導(dǎo)體公司生產(chǎn)的雙軸加速度計(jì)傳感器,它采用標(biāo)準(zhǔn)的亞微米CMOS工藝制造,可以測(cè)量從-5g~+5g(g為重力加速度)范圍內(nèi)的加速度信號(hào),該加速度計(jì)是利用兩路模擬電壓反映加速度值的大小,當(dāng)加速度計(jì)靜止,加速度值為0時(shí)輸出電壓為1.50 V,電壓輸出靈敏度為150 mV/g。圖2為此加速度計(jì)的外觀頂視圖,表1為加速度計(jì)的引腳描述,其中引腳7和引腳6分別輸出x軸和y軸的加速度分量。實(shí)際加速度的值需要將x軸與y軸加速度的值進(jìn)行合成得到,這可利用FPGA的并行計(jì)算處理來(lái)完成。
2.2 8位A/D轉(zhuǎn)換芯片TLC0820
TLC0820是德州儀器公司(TI)推出的,采用先進(jìn)LinCMOS工藝制造的A/D轉(zhuǎn)換器,它由兩個(gè)4位的閃速(FLASH)轉(zhuǎn)換器,一個(gè)4位的數(shù)/模轉(zhuǎn)換器,一個(gè)計(jì)算誤差放大器,控制邏輯電路和結(jié)果鎖存電路組成。它采用8位并行輸出,并且不需要外部時(shí)鐘和振蕩元件,廣泛應(yīng)用于高速數(shù)據(jù)采集系統(tǒng)、工業(yè)控制和工廠自動(dòng)化系統(tǒng),其封裝引腳如圖3所示。引腳功能描述如下:ANLG IN為模擬輸入;為片選,低有效;DO~D3,D4~D7為三態(tài)數(shù)據(jù)輸出;為中斷輸出端,表示轉(zhuǎn)換結(jié)束;MODE為方式選擇輸入;為溢出標(biāo)志;為讀輸人端;REF-為參考電壓下限值;REF+為參考電壓上限值;VCC為電源電壓;為寫(xiě)輸入/讀狀態(tài)輸出。
2.3 Altera-FPGA與ARM處理器
該系統(tǒng)的FPGA采用Altera FPGA公司的CycloneⅡ系列的EP2C35實(shí)現(xiàn),EP2C35提供多達(dá)33 216個(gè)邏輯單元(LE),35個(gè)18×18位乘法器483 840 b的內(nèi)部RAM塊,專(zhuān)用外部存儲(chǔ)器接口電路,4個(gè)鎖相環(huán)(PLL)和高速差分I/O等功能。
該系統(tǒng)中采用的ARM處理器是Philips公司的LPC2210,是基于一個(gè)支持實(shí)時(shí)仿真和嵌入式跟蹤的16/32位ARM7TDMI-S CPU的微控制器。 LPC2210的144腳封裝、極低的功耗、兩個(gè)32位定時(shí)器、八路lO位ADC,PWM輸出以及多達(dá)九個(gè)外部中斷使其特別適用于工業(yè)控制、醫(yī)療系統(tǒng)、訪問(wèn)控制和電子收款機(jī)等。通過(guò)配置,LPC2210最多可提供76個(gè)GPIO。由于內(nèi)置了寬范圍的串行通信接口,其也非常適合于通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換器以及其他各種類(lèi)型的應(yīng)用。
3、 采集系統(tǒng)整體實(shí)施方案
3.1 FPGA控制A/D芯片進(jìn)行加速度計(jì)數(shù)據(jù)采集
該加速度計(jì)是利用兩路模擬電壓輸出來(lái)反映加速度值的大小,當(dāng)加速度值為O時(shí)輸出電壓為1.50 V,電壓輸出靈敏度為150 mV/g,A/D轉(zhuǎn)換器模擬輸入電壓范圍為VCC±0.1 V,低于VREF- +(1/2)LSB或高于VREF+ -(1/2)LSB的模擬輸入電壓分別轉(zhuǎn)換為00000000或1111111,系統(tǒng)中所加電壓分別為VCC=VREF+=5 V,VREF-=GND=O V。TLC0820可通過(guò)MODE的設(shè)置工作在只讀和讀寫(xiě)兩種方式。當(dāng)MODE為低時(shí),轉(zhuǎn)換器為只讀方式。在這種方式中,作為輸出,且作為準(zhǔn)備輸出端;同時(shí)。當(dāng)為低時(shí),亦為低,表明器件忙,轉(zhuǎn)換器在的下降沿開(kāi)始轉(zhuǎn)換,經(jīng)過(guò)不到2.5μs轉(zhuǎn)換完成,此時(shí)下降.為高阻,數(shù)據(jù)輸出也由高阻變?yōu)橛行У臄?shù)據(jù)端,當(dāng)數(shù)據(jù)讀出后,變高,返回高,數(shù)據(jù)輸出端返回到高阻態(tài)。當(dāng)MODE為高時(shí),轉(zhuǎn)換器為讀/寫(xiě)方式,作為寫(xiě)輸出端。當(dāng)和為低時(shí),轉(zhuǎn)換器開(kāi)始測(cè)量輸入信號(hào),大約600 ns后返回高,轉(zhuǎn)換器完成轉(zhuǎn)換,在讀寫(xiě)方式中,在上升沿開(kāi)始轉(zhuǎn)換。該實(shí)驗(yàn)采用讀寫(xiě)方式來(lái)控制A/D芯片來(lái)讀取加速度計(jì)的值,所需的控制信號(hào)由FPGA輸出,相關(guān)的邏輯控制采用Verilog硬件描述語(yǔ)言進(jìn)行編寫(xiě),圖4為QuartusⅡ中FPGA連接A/D芯片與ARM系統(tǒng)的頂層模塊圖。
由A/D轉(zhuǎn)換輸出轉(zhuǎn)換后的8位數(shù)字信號(hào),可以從QuartusⅡ內(nèi)置的邏輯分析儀中讀取,圖5為通過(guò)QuartusⅡ軟件內(nèi)置邏輯分析儀查看讀取數(shù)據(jù)值的截圖。從圖5中可以看出在讀寫(xiě)方式中,在WR/RDY的上升沿開(kāi)始啟動(dòng)轉(zhuǎn)換,到INT的下降沿轉(zhuǎn)換完成,轉(zhuǎn)換時(shí)間可通過(guò)時(shí)間標(biāo)尺計(jì)算出來(lái),為24×40=960 ns,之后就可以通過(guò)RD的上升沿開(kāi)始讀取轉(zhuǎn)換后的數(shù)據(jù)到數(shù)據(jù)總線中,如圖5中的XDD以及YDD。因?yàn)閱纹瑱C(jī)的處理速度一般都低于A/D轉(zhuǎn)換芯片的速度,故將XDD與YDD的數(shù)據(jù)存儲(chǔ)到FPGA中的FIFO中,F(xiàn)IFO便起到數(shù)據(jù)緩沖的作用,以備接下來(lái)單片機(jī)對(duì)數(shù)據(jù)進(jìn)行讀取。
3.2 ARM系統(tǒng)接收FPGA數(shù)據(jù)
圖6為FPGA與ARM相連接部分的傳輸接口框圖。ARM系統(tǒng)主要控制數(shù)據(jù)采集的啟動(dòng)和采集結(jié)束后對(duì)數(shù)據(jù)的顯示和存儲(chǔ),在數(shù)據(jù)采集的過(guò)程中,ARM處理器系統(tǒng)讀取FPGA中的數(shù)據(jù),實(shí)際上是讀取FIFO中的數(shù)據(jù)。FIFO的容量可以通過(guò)軟件進(jìn)行設(shè)置,它有兩個(gè)狀態(tài)顯示信號(hào),分別為ALFUL和EMPTY,ALFUL是指FIFO接近滿(mǎn),當(dāng)ALFUL從低電平變?yōu)楦唠娖胶?,ARM單片機(jī)系統(tǒng)就可以發(fā)送RDFIFO信號(hào)來(lái)讀取FIFO中的數(shù)據(jù)輸出端口的數(shù)據(jù),當(dāng)FIFO中的EMPTY信號(hào)從低電平變?yōu)楦唠娖?,表明FIFO中已無(wú)數(shù)據(jù)可讀,ARM單片機(jī)就開(kāi)始等待ALFUL的跳變進(jìn)行下一次的讀取。
3.3 加速度數(shù)據(jù)顯示和存儲(chǔ)
由ARM系統(tǒng)采集到的數(shù)據(jù)可通過(guò)串口線發(fā)送到上位機(jī)進(jìn)行實(shí)時(shí)顯示,也可以通過(guò)模擬IDE通信協(xié)議儲(chǔ)存到IDE硬盤(pán)中。LPC2210通過(guò)串口線與上位機(jī)進(jìn)行通信主要是應(yīng)用ARM芯片LPC2210中的通用異步接收/發(fā)送裝置UART0,而使用LPC2210的通用可編程I/O口,可以模擬產(chǎn)生IDE硬盤(pán)的讀寫(xiě)時(shí)序,實(shí)現(xiàn)對(duì)存儲(chǔ)設(shè)備的讀寫(xiě)操作。這樣可以實(shí)現(xiàn)加速度數(shù)據(jù)的顯示和存儲(chǔ)。
4、 結(jié)語(yǔ)
這里介紹一種MEMS器件微加速度計(jì)的數(shù)據(jù)采集設(shè)計(jì)方案,結(jié)合當(dāng)前應(yīng)用廣泛的處理芯片ARM和FPGA,給出了一種配置靈活、通用性強(qiáng)的數(shù)據(jù)采集方案。實(shí)驗(yàn)中可準(zhǔn)確采集美新加速度計(jì)MXR6150G/M的加速度信號(hào),采集到的信號(hào)既可以在上位機(jī)實(shí)時(shí)顯示,又可以存儲(chǔ)在IDE接口硬盤(pán)中,達(dá)到了數(shù)據(jù)顯示和存儲(chǔ)的目的。
責(zé)任編輯:gt
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
603044 -
單片機(jī)
+關(guān)注
關(guān)注
6035文章
44553瀏覽量
634735 -
測(cè)量系統(tǒng)
+關(guān)注
關(guān)注
2文章
538瀏覽量
41387
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論