基于ARM9和MMC212xMG的數(shù)字尋北儀設計
摘要:利用地磁進行尋北是一項重要的導航技術。本文設計了一種基于美新公司MEMS地磁傳感器MMC212xMG的數(shù)字尋北儀,采用S3C2440A微處理器實時讀取傳感器的地磁測量信息,并對其進行數(shù)據(jù)處理和校準后送虛擬儀表界面顯示。實驗結果表明,該系統(tǒng)性能優(yōu)越,并具有較高的尋北精度。
關鍵詞:地磁;數(shù)字尋北;ARM9;MMC212xMG;WinCE;S3C2440A
引言
地磁場是地球系統(tǒng)的基本物理場,人們從古代就開始利用地磁信息進行導航。地磁場為航空、航天、航海提供了天然的參考系,可應用于航天器或艦船的定位、定向以及姿態(tài)控制。利用地球磁場空間分布的磁導航技術簡便高效、性能可靠、抗干擾能力強,一直是世界發(fā)達國家不可缺少的基本定位手段。
MMC212xMG是美新公司推出的一款集成信號處理模塊和I2C總線的2軸MEMS地磁傳感器。本文設計一種基于嵌入式系統(tǒng)ARM9和地磁傳感器MMC212xMG的數(shù)字尋北儀。
1 系統(tǒng)方案
為了保證尋北儀的優(yōu)越性能,其控制處理模塊采用嵌入式系統(tǒng)。嵌入式系統(tǒng)一般應用在掌上儀器、便攜式系統(tǒng)等設計中,具有便利靈活、功能強大、嵌入性強等特點,可以實現(xiàn)運算、處理、存儲和控制等功能。嵌入式系統(tǒng)包括硬件和軟件兩部分,即嵌入式微處理器和嵌入式操作系統(tǒng)。本文設計的尋北儀采用S3C2440A微處理器和WinCE 4.2操作系統(tǒng)。
1.1 MMC212xMG地磁傳感器
MMC212xMG是基于AMR(Anisotropic MagnetoResistive,各向異性磁阻)設計的2軸MEMS(Microelec-tromechanical System,微機電系統(tǒng))地磁傳感器,集成信號處理模塊和I2C總線(400 kHz快速模式),可以方便地與其他控制器通信,而不需要A/D轉換和定時器。該傳感器可以測量的磁感應強度的范圍為-2~+2 Gs(1 Gs=10-4T),在3.0 V工作電壓和25℃的室溫條件下,其靈敏度為512計數(shù)/Gs。
1.2 S3C2440A微處理器
Samsung公司的S3C2440A是一款基于ARM920T內核的32位RISC嵌入式微處理器。其主頻為400MHz,采用5級流水線結構,具有高速緩存和內存管理單元;提供豐富的外圍資源,包括130個通用I/0接口和24路外部中斷源、NAND Flash接口、SDRAM接口、SD卡接口、100M以太網接口、USB接口、觸摸屏接口、CMOS圖像傳感器接口、SPI接口、I2C接口、I2S接口、PWM功能、內嵌的LCD控制器、8通道的10位ADC、電源管理等。
1.3 WinCE 4.2操作系統(tǒng)
WinCE是微軟推出的嵌入式實時多任務操作系統(tǒng)。它延伸了臺式機Windows操作系統(tǒng)的外部特征,在內部用嵌入式實時操作系統(tǒng)的技術來實現(xiàn)Win32 API的子集,以簡潔、高效的完全搶占式多任務為核心,支持強大的通信和圖形顯示功能;而且它的平臺定制工具latformBuitder和應用軟件開發(fā)工具Embedded Visual C++都是非常強大實用的開發(fā)工具,為嵌入式便攜式儀表的軟件開發(fā)提供了一個標準的平臺。
1.4 方案設計
尋北儀的系統(tǒng)框圖如圖1所示。以S3C2440A為控制核心,通過I2C總線和地磁傳感器MMC212xMG通信。在WinCE 4.2嵌入式操作系統(tǒng)環(huán)境下,開發(fā)數(shù)據(jù)分析處理和顯示程序。
[!--empirenews.page--]
2 硬件設計
MMC212xMG的工作電源范圍較寬,其中模擬電路工作電源VDA的范圍為2.7~5.25 V,數(shù)字電路工作電源VDD的范圍為1.62~5.25 V。S3C2440A的工作電源為3.3 V,為了保證I2C總線的可靠通信,系統(tǒng)統(tǒng)一采用+3.3 V供電;同時,將+3.3 V分為模擬電源和數(shù)字電源,以提高系統(tǒng)的抗干擾能力。
MMC212xMG的引腳功能如表1所列。引腳1和8為工廠測試引腳,使用時可以不連接。引腳2連接lOμF電容,引腳4和5之間連接1μF電容,實現(xiàn)芯片的設置/復位功能。引腳3和7分別為芯片的模擬電源和數(shù)字電源。引腳6為芯片的地線引腳。引腳9和10為I2C通信的時鐘引腳和數(shù)據(jù)引腳,上拉到數(shù)字電源。
MMC212xMG的工作電路如圖2所示,I2C總線引腳9和10連接至S3C2440A。在I2C通信過程中,S3C2440A為主器件,MMC212xMG為從器件,主器件通過從器件地址尋址和特定的從器件通信,進行讀寫操作。
3 軟件設計
在嵌入式操作系統(tǒng)WinCE 4.2環(huán)境下,采用EVC開發(fā)地磁測量信息采集、處理和顯示程序,主要包括基于I2C總線的測量數(shù)據(jù)讀取、地磁測量信號的數(shù)據(jù)處理和虛擬儀表界面設計。
3.1 基于I2C總線的測量數(shù)據(jù)讀取
為了便于在I2C總線通信中連接多個地磁傳感器,MMC212xMG有4種不同的器件地址(工廠定義),分別為60H、64H、68H和6CH。本系統(tǒng)中所用到的器件地址為60H。MMC212xMG的內部寄存器有5個字節(jié),第1個字節(jié)為器件控制命令寄存器,可以對其設定命令值來啟動相應的動作。各命令控制字定義如表2所列。
[!--empirenews.page--]
內部寄存器的第2和3個字節(jié)為X軸磁場測量值,第4和5個字節(jié)為Y軸磁場測量值。啟動MMc212xMG進行測量的命令流程如圖3所示。
在啟動測量命令完成后,延時10 mS,讀取測量數(shù)據(jù)。其流程如圖4所示。
[!--empirenews.page--]
3.2 地磁測量信號的數(shù)據(jù)處理
為了消除顯示上的抖動,可以采用均值濾波,即采集5次地磁測量信號,求出方位角后,取平均值送顯示。
為了提高指向的精度,可采取非線性校準技術。以圖4從MMC212xMG讀取測量數(shù)據(jù)流程45。為間隔,讓地磁傳感器模塊分別指向正北、東北、正東、東南、正南、西南、正兩和西北8個方向,對這8個方向的地磁方位角測量多次取平均值后,存儲作為校準表。在實際測量過程中,獲得測量數(shù)據(jù)后,利用校準值對其進行線性插值,求取方位角。
3.3 虛擬儀表界面設計
尋北儀的顯示界面模擬機械式指南針進行設計,以達到顯示直觀的效果。EVC提供了豐富的界面繪圖API函數(shù),可以輕易實現(xiàn)虛擬儀表界面的設計。軟件平臺在運行過程中,采用多線程技術實時讀取地磁傳感器的測量信息,經過數(shù)據(jù)處理后送虛擬儀表界面顯示。
4 系統(tǒng)演示
尋北儀實物圖如圖5所示。系統(tǒng)由兩部分組成:由S3C2440A構成的嵌入式系統(tǒng)模塊和由MMC212xMG構成的地磁傳感器模塊。圖5(a)為地磁傳感器模塊指向北的效果圖,圖5(b)為指向任意方位的效果圖。
在實際使用過程中,可以將嵌入式系統(tǒng)模塊和地磁傳感器模塊安裝成為一個整體,構成便攜式尋北儀;也可以分開安裝,嵌入式系統(tǒng)模塊同時獲取其他傳感器(如加速度傳感器、GPS傳感器等)的信息,構成組合導航系統(tǒng)。
結語
本文采用嵌入式微處理器S3C2440A和MEMS地磁傳感器MMC212xMG設計了一款數(shù)字尋北儀。該系統(tǒng)與機械式指南針相比,具有人機界面友好、不受慣性影響、數(shù)據(jù)可存儲等優(yōu)點。經過長時間運行測試,尋北儀工作穩(wěn)定,可以滿足高精度尋北要求。