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