Design of digital north finder based on ARM9 and MMC212xMG

Publisher:大头玩家Latest update time:2010-04-10 Source: 单片机与嵌入式系统应用 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

Introduction

The geomagnetic field is the basic physical field of the earth system. People have used geomagnetic information for navigation since ancient times. The geomagnetic field provides a natural reference system for aviation, aerospace, and navigation, and can be used for the positioning, orientation, and attitude control of spacecraft or ships. The magnetic navigation technology that uses the spatial distribution of the earth's magnetic field is simple, efficient, reliable, and has strong anti-interference capabilities. It has always been an indispensable basic positioning method for developed countries in the world.

MMC212xMC is a 2-axis MEMS geomagnetic sensor with integrated signal processing module and I2C bus launched by MEMSIC. This paper designs a digital north finder based on embedded system ARM9 and geomagnetic sensor MMC212xMG.

1 System Solution

In order to ensure the superior performance of the north-seeker, its control and processing module adopts an embedded system. Embedded systems are generally used in the design of handheld instruments and portable systems. They are convenient and flexible, powerful, and highly embedded. They can realize functions such as calculation, processing, storage, and control. Embedded systems include hardware and software, namely embedded microprocessors and embedded operating systems. The north-seeker designed in this paper adopts S3C2440A microprocessors and WinCE 4.2 operating systems.

1.1 MMC212xMG geomagnetic sensor

MMC212xMG is a 2-axis MEMS (Microelectromechanical System) geomagnetic sensor based on AMR (Anisotropic MagnetoResistive) design, integrated with signal processing module and I2C bus (400 kHz fast mode), which can easily communicate with other controllers without A/D conversion and timer. The sensor can measure the magnetic induction intensity range of -2 to +2 Gs (1 Gs = "10-4T"), and its sensitivity is 512 counts/Gs at 3.0 V operating voltage and 25°C room temperature.

1.2 S3C2440A microprocessor

Samsung's S3C2440A is a 32-bit RISC embedded microprocessor based on the ARM920T core. Its main frequency is 400MHz, it adopts a 5-stage pipeline structure, and has a high-speed cache and memory management unit; it provides rich external resources, including 130 general I/O interfaces and 24 external interrupt sources, NAND Flash interface, SDRAM interface, SD card interface, 100M Ethernet interface, USB interface, touch screen interface, CMOS image sensor interface, SPI interface, I2C interface, I2S interface, PWM function, embedded LCD controller, 8-channel 10-bit ADC, power management, etc.

1.3 WinCE 4.2 operating system

WinCE is an embedded real-time multitasking operating system launched by Microsoft. It extends the external features of the desktop Windows operating system, uses the technology of embedded real-time operating system to implement a subset of Win32 API internally, takes concise and efficient fully preemptive multitasking as the core, supports powerful communication and graphic display functions; and its platform customization tool PlatformBuilder and application software development tool Embedded Visual C++ are both very powerful and practical development tools, providing a standard platform for software development of embedded portable instruments.

1.4 Solution Design

The system block diagram of the north finder is shown in Figure 1. The S3C2440A is used as the control core, and communicates with the geomagnetic sensor MMC212xMG through the I2C bus. In the WinCE 4.2 embedded operating system environment, the data analysis, processing and display program is developed.

System block diagram of the north finder

2 Hardware Design

The operating power supply range of MMC212xMG is relatively wide, with the analog circuit operating power supply VDA ranging from 2.7 to 5.25 V and the digital circuit operating power supply VDD ranging from 1.62 to 5.25 V. The operating power supply of S3C2440A is 3.3 V. In order to ensure reliable communication of the I2C bus, the system is uniformly powered by +3.3 V; at the same time, +3.3 V is divided into analog power supply and digital power supply to improve the system's anti-interference ability.

The pin functions of MMC212xMG are listed in Table 1. Pins 1 and 8 are factory test pins and can be left unconnected when in use. Pin 2 is connected to a 10μF capacitor, and a 1μF capacitor is connected between pins 4 and 5 to implement the chip's set/reset function. Pins 3 and 7 are the analog power supply and digital power supply of the chip, respectively. Pin 6 is the ground pin of the chip. Pins 9 and 10 are the clock pin and data pin for I2C communication, which are pulled up to the digital power supply.

Pin Functions of MMC212xMG

The working circuit of MMC212xMG is shown in Figure 2. I2C bus pins 9 and 10 are connected to S3C2440A. During I2C communication, S3C2440A is the master device and MMC212xMG is the slave device. The master device communicates with a specific slave device through the slave device address to perform read and write operations.

Working circuit of MMC212xMG

3 Software Design

In the embedded operating system WinCE 4.2 environment, EVC is used to develop geomagnetic measurement information acquisition, processing and display programs, mainly including measurement data reading based on I2C bus, data processing of geomagnetic measurement signals and virtual instrument interface design.

3.1 Reading measurement data based on I2C bus

In order to facilitate the connection of multiple geomagnetic sensors in I2C bus communication, MMC212xMG has 4 different device addresses (factory defined), namely 60H, 64H, 68H and 6CH. The device address used in this system is 60H. The internal register of MMC212xMG has 5 bytes. The first byte is the device control command register, which can be set with a command value to start the corresponding action. The definition of each command control word is listed in Table 2.

Definition of each command control word

The 2nd and 3rd bytes of the internal register are the X-axis magnetic field measurement values, and the 4th and 5th bytes are the Y-axis magnetic field measurement values. The command flow for starting the MMC212xMG for measurement is shown in Figure 3.

process

After the start measurement command is completed, a delay of 10 ms is performed to read the measurement data. The process is shown in Figure 4.

Command Flow

3.2 Data processing of geomagnetic measurement signals

In order to eliminate the jitter on the display, mean filtering can be used, that is, collecting geomagnetic measurement signals 5 times, calculating the azimuth, and taking the average value for display.

In order to improve the pointing accuracy, nonlinear calibration technology can be used. At intervals of 45°, let the geomagnetic sensor module point to eight directions: due north, northeast, due east, southeast, due south, southwest, due west and northwest. After measuring the geomagnetic azimuths of these eight directions multiple times and taking the average value, the azimuth is stored as a calibration table. In the actual measurement process, after obtaining the measurement data, the calibration value is used to perform linear interpolation on it to obtain the azimuth.

3.3 Virtual instrument interface design

The display interface of the North Finder is designed to simulate a mechanical compass to achieve an intuitive display effect. EVC provides a rich interface drawing API function, which can easily realize the design of the virtual instrument interface. During the operation of the software platform, multi-threading technology is used to read the measurement information of the geomagnetic sensor in real time, and after data processing, it is sent to the virtual instrument interface for display.

4 System Demonstration

The actual picture of the north finder is shown in Figure 5. The system consists of two parts: an embedded system module composed of S3C2440A and a geomagnetic sensor module composed of MMC212xMG. Figure 5(a) shows the effect of the geomagnetic sensor module pointing to the north, and Figure 5(b) shows the effect of pointing to any direction.

North-seeking instrument actual picture

In actual use, the embedded system module and the geomagnetic sensor module can be installed as a whole to form a portable north finder; or they can be installed separately, and the embedded system module can simultaneously obtain information from other sensors (such as acceleration sensors, GPS sensors, etc.) to form a combined navigation system.

Conclusion

This paper designs a digital north finder using the embedded microprocessor S3C2440A and the MEMS geomagnetic sensor MMC212xMG. Compared with the mechanical compass, the system has the advantages of user-friendly human-machine interface, no inertia influence, and data storage. After long-term operation test, the north finder works stably and can meet the requirements of high-precision north finding.

Reference address:Design of digital north finder based on ARM9 and MMC212xMG

Previous article:Programming Technology of ARM7 9-bit Serial Port Multi-computer Communication
Next article:Design of LED display screen control system based on LPC2210

Recommended ReadingLatest update time:2024-11-16 20:42

Design of intelligent vehicle-mounted system based on ARM9
Introduction With the development of social economy, cars have become an indispensable means of transportation for people's work and life. In the current automobile industry, various electronic control systems have been developed due to the requirements of safety, comfort, convenience, low pollution and low cost. Thi
[Microcontroller]
Design of intelligent vehicle-mounted system based on ARM9
Related functions of sources\sources.cmn\Makefile.def under wince
1: First the Makefile.def: ———————————————————————————————————————— In all driver makefiles there is !INCLUDE $(_MAKEENVROOT)makefile.def Find (_MAKEENVROOT) makefile.def where C:WINCE500PUBLICCOMMONOAKMISC (this path is really where a lot of wince's essence is, and the batch file of the sysgen menu i
[Microcontroller]
The relationship between ARM7, ARM9, ARM11 and ARM-Cortex
1. The relationship between ARM7, ARM9, ARM11 and ARM-Cortex     ARM7: ARMv4 architecture, ARM9: ARMv5 architecture, ARM11: ARMv6 architecture, ARM-Cortex  series: ARMv7 architecture  ARM7 has no MMU (memory management unit), and can only be called MCU (microcontroller). It cannot run modern multi-user multi-process o
[Microcontroller]
A Quick Start Solution for Windows CE System Based on S3C2440A
0 Introduction Microsoft's Windows CE system is one of the most widely used embedded systems. In product research and development, some embedded operating systems take a long time to start up, and Wind-ows CE is no exception. Due to various factors, in some cases, the startup time even exceeds 1 minute. In a
[Microcontroller]
A Quick Start Solution for Windows CE System Based on S3C2440A
Linux 2.6.32 ported to arm9 (s3c2440) platform - Title should be long (2)
(1) The code of nand flash part of s3c2440 platform, "Before you figure out why every step of porting the code is necessary, don't do the so-called porting. It's meaningless." *****/arch/arm/plat-s3c24xx/common-smdk.c***** static struct mt
[Microcontroller]
Algorithm optimization of ARM9 high-speed real-time multi-task data acquisition system
introduction With the rapid development of IT technology, electronic technology, communication technology, and automatic control technology, high-speed real-time collection of industrial field data has become an inevitable part of the development of electronic products and industrial control technology. Th
[Microcontroller]
Algorithm optimization of ARM9 high-speed real-time multi-task data acquisition system
Digital multi-channel voice recorder based on ARM9 processor S3C2410
1. Introduction Digital multi-channel voice recorders have many applications in security and monitoring. Some traditional design solutions are based on industrial computers, using data acquisition cards to achieve voice A/D conversion and software to achieve voice encoding and decoding. This solution is cos
[Microcontroller]
Digital multi-channel voice recorder based on ARM9 processor S3C2410
Comparing stm32 and arm9 research direction
During the winter break of my sophomore year, I was invited by my teacher to go to Dongguan for an internship for 10 days. Although it was not my first time, the experience this time was very different from the last time. I wanted to write this article after returning from Dongguan, but I have been putting it off unti
[Microcontroller]
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号