摘 要:基于常用的MEMS慣性器件微型加速度計,介紹一種采用ARM和FPGA架構來采集加速度數值的設計方案,微加速度計的模擬輸出信號經A/D芯片轉換后由FPGA進行處理和緩存,然后ARM接收FPGA的輸出數據并對數據進行顯示和存儲,對如何用FPGA實現該數據采集系統的傳輸控制和數據緩存,以及FPGA與A/D轉換芯片和ARM的接口設計給出了說明,實現了加速度數值的采集、傳輸、顯示和存儲,該方法配置靈活、通用性強,可以較好地移植到相關器件的數據采集系統中。
關鍵詞:數據采集;微加速度計;FPGA;ARM;TLC0820
中圖分類號:TP274.2文獻標識碼:B
文章編號:1004-373X(2010)02-025-03
Design of Data Acquisition System for Micro_accelerometer Based on ARM and FPGA
QIN Kui1,2,ZHANG Weiping1,2,CHEN Wenyuan1,2
(1.National Key Laboratory of Nano/Micro Fabrication Technology,Institute of Micro and Nano Science and Technology,
Shanghai Jiaotong University,Shanghai,200240,China;2.Key Laboratory for Thin Film and Microfabrication of Ministry of Education,
Institute of Micro and Nano Science and Technology,Shanghai Jiaotong University,Shanghai,200240,China)
Abstract:Based on micro_accelerometer,the commonly used MEMS inertial device,a design of data acquisition system with ARM and FPGA is introduced.The analog output signal of the micro_accelerometer converted by A/D chip is processed and cached by FPGA.Then ARM receives FPGA′s output data,also displays and storages them.How to realize the transmission control and data buffer of the data acquisition system with FPGA,as well as the interface design of A/D conversion chip and ARM with FPGA are given in detail.The collection,transmission,display and storage of the acceleration data are realized.The method can be configured flexibly and used versatility,so it can be easily transplanted to relevant device′s data acquisition system.
Keywords:data acquisition;micro_accelerometer;FPGA;ARM;TLC0820
0 引 言
加速度計是一種應用十分廣泛的慣性傳感器,它可以用來測量運動系統的加速度。目前的加速度計大多采用微機電技術(MEMS)進行設計和制造的微型加速度計,由于采用了微機電技術,其設計尺寸大大縮小,一個MEMS加速度計只有指甲蓋的一小部分,MEMS加速度計具有體積小、重量輕、能耗低等優點。
隨著微加速度計的應用越來越廣泛,對于微加速度計的數據信號采集[1,2]和存儲變得極為重要。傳統的數據采集方法多數是用單片機完成的,其編程簡單、控制靈活,但缺點是控制周期長、速度慢,特別是對高速轉換的數據來說,單片機的慢速度極大地限制了數據傳輸速度。而FPGA(現場可編程門陣列)具有單片機無法比擬的優勢。FPGA時鐘頻率高,內部延時小,全部控制邏輯由硬件完成,速度快、效率高,適于大數據量的高速傳輸控制。在高速數據采集方面,FPGA有單片機無法比擬的優勢,然而單片機的接口豐富,數據處理能力強,便于完成數據的顯示和存儲等操作。
綜合單片機與FPGA的優點,這里介紹一種基于ARM和FPGA的微加速度計數據采集存儲系統,結合MXR6150G/M加速度計傳感器和TLC0820A/D轉換芯片,提供了一種配置靈活、通用性強的數據采集方案。
1 系統整體設計方案
圖1是數據采集系統的總體結構框圖,該系統主要由雙軸加速度計、A/D轉換器、FPGA和ARM處理器四大部分組成。雙軸加速度計輸出兩路模擬信號,分別代表x軸與y軸的加速度值,通過A/D轉換芯片把輸入的兩路模擬信號轉換為8位的數字信號,FPGA接收來自A/D轉換芯片的數字信號,并對數字信號進行處理,處理后的數據經過FPGA中的FIFO存儲器緩存[3]后由ARM處理器采取中斷方式接收采集,采集到的數據可以通過串口通信在PC機上實時顯示,也可以通過IDE接口存儲到大容量硬盤[4,5]。
圖1 系統總體結構框圖
2 系統硬件設計與實現
2.1 MXR6150G/M加速度計傳感器
MXR6150G/M是無錫美新半導體公司生產的雙軸加速度計傳感器,它采用標準的亞微米CMOS工藝制造,可以測量從-5g~+5g(g為重力加速度)范圍內的加速度信號,該加速度計是利用兩路模擬電壓反映加速度值的大小,當加速度計靜止,加速度值為0時輸出電壓為1.50 V,電壓輸出靈敏度為150 mV/g。圖2為此加速度計的外觀頂視圖,表1為加速度計的引腳描述,其中引腳7和引腳6分別輸出x軸和y軸的加速度分量。實際加速度的值需要將x軸與y軸加速度的值進行合成得到,這可利用FPGA的并行計算處理來完成。
圖2 加速度計頂視圖
表1 加速度計的引腳描述
PinNameDescriptionI/O
1PDPower Down ControlI
2TPConnect to groundI
3COMCommonI
4NCDo Not ConnectNC
5NCDo Not ConnectNC
6YoutY Channel OputputO
7XoutX Channel OutputO
9VDD2.7~3.6 VI
2.2 8位A/D轉換芯片TLC0820
TLC0820是德州儀器公司(TI)推出的,采用先進LinCMOS工藝制造的A/D轉換器,它由兩個4位的閃速(FLASH)轉換器,一個4位的數/模轉換器,一個計算誤差放大器,控制邏輯電路和結果鎖存電路組成。它采用8位并行輸出,并且不需要外部時鐘和振蕩元件,廣泛應用于高速數據采集系統、工業控制和工廠自動化系統,其封裝引腳如圖3所示。引腳功能描述如下:ANLG IN為模擬輸入;CS為片選,低有效;D0~D3,D4~D7為三態數據輸出;INT為中斷輸出端,表示轉換結束;MODE為方式選擇輸入;OFLW為溢出標志;RD為讀輸人端;REF-為參考電壓下限值;REF+為參考電壓上限值;VCC為電源電壓;WR/RDY為寫輸入/讀狀態輸出。
圖3 TLC0820封裝引腳示意圖
2.3 Altera_FPGA與ARM處理器
該系統的FPGA采用Altera FPGA公司的CycloneⅡ系列的EP2C35實現,EP2C35提供多達33 216個邏輯單元(LE),35個18×18位乘法器,483 840 b的內部RAM塊,專用外部存儲器接口電路,4個鎖相環(PLL)和高速差分I/O等功能[6]。
該系統中采用的ARM處理器是Philips公司的LPC2210,是基于一個支持實時仿真和嵌入式跟蹤的l6/32位 ARM7TDMI_S CPU的微控制器。LPC2210的144腳封裝、極低的功耗、兩個32位定時器、八路10位ADC,PWM輸出以及多達九個外部中斷使其特別適用于工業控制、醫療系統、訪問控制和電子收款機等。通過配置,LPC2210最多可提供76個GPIO。由于內置了寬范圍的串行通信接口,其也非常適合于通信網關、協議轉換器以及其他各種類型的應用[7]。
3 采集系統整體實施方案
3.1 FPGA控制A/D芯片進行加速度計數據采集
該加速度計是利用兩路模擬電壓輸出來反映加速度值的大小,當加速度值為0時輸出電壓為1.50 V,電壓輸出靈敏度為150 mV/g,A/D轉換器模擬輸入電壓范圍為VCC±0.1 V,低于VREF- +(1/2)LSB或高于VREF+ -(1/2)LSB的模擬輸入電壓分別轉換為00000000或1111111,系統中所加電壓分別為VCC=VREF+=5 V,VREF-=GND=0 V。TLC0820可通過MODE的設置工作在只讀和讀寫兩種方式。當MODE為低時,轉換器為只讀方式。在這種方式中,WR/RDY作為輸出,且作為準備輸出端;同時,當CS為低時,WR/RDY亦為低,表明器件忙,轉換器在RD的下降沿開始轉換,經過不到2.5 μs轉換完成,此時INT下降,WR/RDY為高阻,數據輸出也由高阻變為有效的數據端,當數據讀出后,RD變高,INT返回高,數據輸出端返回到高阻態。當MODE為高時,轉換器為讀/寫方式,WR/RDY作為寫輸出端。當CS和WR/RDY為低時,轉換器開始測量輸入信號,大約600 ns后WR/RDY返回高,轉換器完成轉換,在讀寫方式中,WR/RDY在上升沿開始轉換。該實驗采用讀寫方式來控制A/D芯片來讀取加速度計的值,所需的控制信號由FPGA輸出,相關的邏輯控制采用Verilog硬件描述語言[8]進行編寫,圖4為Quartus Ⅱ中FPGA連接A/D芯片與ARM系統的頂層模塊圖。
圖4 Quartus Ⅱ中FPGA連接A/D芯片與ARM系統的頂層模塊圖
由A/D轉換輸出轉換后的8位數字信號,可以從Quartus Ⅱ內置的邏輯分析儀中讀取,圖5為通過Quartus Ⅱ軟件內置邏輯分析儀查看讀取數據值的截圖。從圖5中可以看出在讀寫方式中,在WR/RDY的上升沿開始啟動轉換,到INT的下降沿轉換完成,轉換時間可通過時間標尺計算出來,為24×40=960 ns,之后就可以通過RD的上升沿開始讀取轉換后的數據到數據總線中,如圖5中的XDD以及YDD。因為單片機的處理速度一般都低于A/D轉換芯片的速度,故將XDD與YDD的數據存儲到FPGA中的FIFO中,FIFO便起到數據緩沖的作用[3], 以備接下來單片機對數據進行讀取。
3.2 ARM系統接收FPGA數據
圖6為FPGA與ARM相連接部分的傳輸接口框圖。ARM系統主要控制數據采集的啟動和采集結束后對數據的顯示和存儲,在數據采集的過程中,ARM處理器系統讀取FPGA中的數據,實際上是讀取FIFO中的數據。FIFO的容量可以通過軟件進行設置,它有兩個狀態顯示信號,分別為ALFUL和EMPTY,ALFUL是指FIFO接近滿,當ALFUL從低電平變為高電平后,ARM單片機系統就可以發送RDFIFO信號來讀取FIFO中的數據輸出端口的數據,當FIFO中的EMPTY信號從低電平變為高電平,表明FIFO中已無數據可讀,ARM單片機就開始等待ALFUL的跳變進行下一次的讀取[7,9]。
圖5 通過Quartus Ⅱ軟件內置邏輯分析儀查看讀取的數據
3.3 加速度數據顯示和存儲[9]
由ARM系統采集到的數據可通過
串口線發送到上位機進行實時顯示,也可以通過模擬IDE通信協議儲存到IDE硬盤中。 LPC2210通過串口線與上位機進行通信主要是應用ARM芯片LPC2210中的通用異步接收/發送裝置UART0,而使用LPC2210的通用可編程I/O口,可以模擬產生IDE硬盤的讀寫時序[10],實現對存儲設備的讀寫操作。這樣可以實現加速度數據的顯示和存儲。
圖6 FPGA與ARM數據傳輸接口框圖
4 結 語
這里介紹一種MEMS器件微加速度計的數據采集設計方案,結合當前應用廣泛的處理芯片ARM和FPGA,給出了一種配置靈活、通用性強的數據采集方案。實驗中可準確采集美新加速度計MXR6150G/M的加速度信號,采集到的信號既可以在上位機實時顯示,又可以存儲在IDE接口硬盤中,達到了數據顯示和存儲的目的。
參考文獻
[1]苑廣欣,郝永平,張啟東.用于微慣性測量單元的FPGA數據采集系統[J].國外電子測量技術,2008,27(9):4_7.
[2]李緒友,梁輝,鄒繼斌.捷聯式慣導系統中加速度計的數據采集[J].傳感器技術,2005,24(6):20_22.
[3]景艷,黃士坦,張遂南.一種基于FPGA實現的高速緩存設計[J].微機發展,2005,15(9):141_144.
[4]廖義奎.ARM與FPGA綜合設計及應用[M].北京:中國電力出版社,2008.
[5]石偉鋒,韓兵.基于MCU+FPGA架構的智能數據采集系統[J].計算機仿真,2005,22(8):246_249.
[6]褚振勇,翁木云.FPGA設計及應用[M].西安:西安電子科技大學出版社,2002.
[7]周立功.ARM嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2005.
[8]夏宇聞.Verilog數字系統設計教程[M].北京:北京航空航天大學出版社,2003.
[9]周立功.ARM嵌入式系統實驗教程(一)[M].北京:北京航空航天大學出版社,2004.
[10]潘建國,闕沛文,雷華明.基于FPGA的高速大容量數據采集系統設計[J].電子測量技術,2008,27(9):166_169.
作者簡介 秦 奎 男,1985年出生,山東泰安人,碩士研究生。研究方向為FPGA數字系統設計。
張衛平 男,1971年出生,副教授。研究方向為微機電系統及集成技術。
陳文元 男,1944年出生,教授,博士生導師。研究方向為微機電系統。
嵌 入 式 技 術孫 鵬等:基于嵌入式系統便攜式掃頻儀的設計