Wednesday, May 19, 2010

GPS receiver design

GNSS (Global Navigation Satellite System) is a common name for all of the satellite based positioning systems, which are GPS (Global Positioning System) from US, Galileo from EU, GLONASS from Russia, and CNSS (Compass Navigation Satellite System) from China. GPS is the first and most popular one among these systems.

In US, FCC ordered all the network operators to follow E911 act(Enhanced 911) to offer the physical address of calling party who is calling 911 emergency call. More and more cellular phones have armed with GPS feature. In the same time, the navigation devices are popular due to fast growing of private cars and mobile phones in the emerging countries. Thanks to Google, more and more consumers can easily connect their GPS devices to the Google web services for navigation, virtual sight viewing or satisfying their curiosity. All of these services are available free of charge.

Google's Inspiration

Google MapGoogle is a great web innovator. Everybody knows about Google Map and Google Earth. And its competitors like Microsoft and Yahoo have to catch up. However Google is not the inventor of the web GIS. Actually web GIS has been available for a long time. Never the less, Google promotes the web GIS with its great influence in the Internet, and furthermore deliveries the free services in a quick and elegant way (AJAX). More and more companies and developers have identified the business opportunities by integrating the existing navigation technologies and web GIS. The new successful stories spread the world and gain the attentions of the venture capitals. As a result, the GPS ecosystem becomes highly competitive and exciting.

Competitive Market

A successful GPS application is made up of GPS terminals, map data services and service centers. That means the GPS applications are blending businesses involve Internet, mobile terminal, mobile network, automotives, and consumer electronics. More and more industries are looking for the new business opportunities in the navigation and location aware services via merging and acquisitions. It is a clear trend that the map data and services are the key factors of a business success. As usual, the silicon suppliers and device manufacturers have to fight for the market share and making devices cheaper. The startup companies must release products with unique features. Some suppliers offer dual mode or tri-mode satellite positioning chipsets for GPS, Galileo and CNSS. Some independent RFIC vendors team up with the software suppliers to promote the software GPS solutions in reduced BOM cost. Some other vendors are promoting the one chip RFIC for all RF features including Bluetooth, FM radio and GPS.

GPS Receiver Architecture

GPS works by making one way range measurements from the receiver to the satellites. In order to arrive at a position fix we must know precisely where the satellites are and how far we are from them. These data are available to the receiver by reading the data message from each satellite which provides a precise description of the satellite orbit and timing information which is used to determine when the signal was transmitted by the satellite. Each satellite transmits on 2 frequencies in the L band (L1=1575.42 MHz and L2=1227.6 MHz). Each satellite transmits a unique CDMA (Code Division Multiple Access) code on these frequencies. On top of this the signal is modulated with a 50 Hz data message which provides precise timing information and orbital parameters. Since the receiver knows which sequence is assigned to each satellite it knows what satellite the data is coming from. The receiver creates a copy of the sequence and correlates or integrates the received signal multiplied by this copy over a period of time (in our case 1 ms). The particular sequence transmitted by each satellite has been chosen to reduce the chance that a receiver will track a satellite transmitting a different PRN sequence. For more detail on correlators see the Zarlink chipset documentation or some of the other references.

GPS functional blockThe attached figure is a traditional GPS receiver architect (from Zarlink). It is made up of antenna, RF/IF section and a base band processing unit, which usually has correlators and an embedded processor. The host processor talks to the embedded processor in an industrial standard protocol called NMEA (National Marine Electronics Association) or optional proprietary protocols. The physical links between the processors might be a standard UART, USB or Bluetooth. The communication over USB and Bluetooth has to simulate a virtual serial port to talk with high level application software. The default baud rate of NMEA is 4800bps, the higher rate doesn't make sense.

Antenna

Sarantel GPS Helix AntennaBecause of miniaturization and multi-functional requirements, the designer faces to more and more challenges in antenna design. These factors include human interference, noises from embedded processors and external interferences. It is better to copy the reference design from the application notes for an inexperienced engineer. Never the less, GPS antenna design is still easier than the mobile phone antenna design. We know, the latest mobile phone has to work on 800MHz, 900MHz and 1800MHz with PA and faces to the big noises inside.

The most commonly used antennas in GPS are the Helix and the patch antenna. Patch antenna has strong direction selectivity, which is used in most of the external GPS mice. The Helix antenna is much suitable for handheld GPS, which offers broader antenna angle, and it works better than patch antenna when it is close to human.

There are some off-the-shelf antennas available in the market. Most of them are external antennas, which offer better performance.

Sarantel offers GPS antenna in full Balun design, which offers 360 degree antenna reception and highly frequency selectivity, and most of the noises can be eliminated. This company also offers the bulk ceramic antenna as the smallest antenna in the world.

Mr. Mark Kesauer offers an inexpensive external GPS antenna design on Circuit Cellar. The PDF document is available on here. This design uses commonly available components and materials.

RFIC

The RF parts of a GPS from different suppliers are slightly different but most of these ICs are sharing same concept. The RF section includes LNA, filter, PLL and BPSK demodulator. Maxim’s MAX2769 demonstrates the general RF IC for GPS receiver.

The RF front-end of a GPS receiver first amplifies the weak incoming signal with a low-noise amplifier (LNA), and then downconverts the signal to a low intermediate frequency (IF) of approximately 4MHz. This downconversion is accomplished by mixing the input RF signal with the local oscillator signal using one or two mixers. The resulting analog IF signal is converted to a digital IF signal by the analog-to-digital converter (ADC).

The MAX2769 integrates all these functions (LNA, mixer, and ADC), thus significantly reducing the development time for applications. The device offers a choice of two LNAs: one LNA features a very-low, 0.9dB noise figure, 19dB of gain, and -1dBm IP3, for use with passive antennas; the other LNA has a 1.5dB noise figure with slightly lower gain and power consumption, and a slightly higher IP3, for use with an active antenna.

There is a provision for external filtering at RF after the amplifier. The signal is then downconverted directly using the integrated 20-bit, sigma-delta, fractional-N frequency synthesizer together with a 15-bit integer divider to achieve virtually any desired IF between zero and 12MHz. A wide selection of possible IF filtering choices accommodates different schemes, such as those of Galileo.

The overall gain from RF input to IF output can be tuned or automatically controlled over a 60dB to 115dB range. The output can be chosen as analog, CMOS, or limited differential. The internal ADC has a selectable output of one to three bits. The integrated reference oscillator enables operation with either a crystal or a temperature-compensated crystal oscillator (TCXO), and any input reference frequency from 8MHz to 44MHz can be used.

Correlators

The correlators of GPS are the essential parts of the whole system of bit synchronization and decoding. The correlators will feed the raw digit output to the embedded processor to acquire, confirm, pull-in, track the satellites, and translate into NMEA protocol, which the host controller can understand.

The correlators can be implemented in hardware and software. Recently, the number of correlators increases dramatically. The early product from Zarlink has 12 channel correlators. The newer SiRF-II has 1920 correlators inside, and the latest SiRF-III has over equivalent 200K correlators to reduce the TTFF. MediaTek (MTK) Taiwan also released a low cost GPS chip, which has 32 channel correlators inside. I use a MTK based GPS for my own testing purpose. It works fine, although I still expect more accuracy from the device. However, its performance is good enough as a consumer class GPS receiver.

Some open source projects released the FPGA based correlators. On the other hand, the correlators can be implemented in a FFT based software algorithm, which is referred as software GPS and cited in an application note from Maxim.

Embedded Processor

The silicon suppliers are trying to promote their own platforms in GPS. The task for the embedded processor is calculation and tracking the different satellites and interfacing with host processor in NMEA. If you check the attached NMEA document, you will realize that the embedded processor has to deal with so many parameters in detail. The requirements for the embedded processors are big enough memory address space and sufficient processing power for intensive calculation. The ARM7TDMI is a 32bit core, which offers sufficient memory space and processing power. The peripherals included UART, USB and Bluetooth have been available for ARM for a long time. As a result, the latest GPS chips from different suppliers have the identical trend to select ARM7TDMI as the embedded processor.

There are some key KPIs for the GPS, which might be related to the correlators and software in the embedded processor.

  1. Cold Start: A cold start results when there is no valid Almanac or Ephemeris information available for the satellite constellation in SRAM, or when the time and/or position information is NOT known (i.e. starts at 0 in both cases). Also a cold start will be initiated if an Almanac is valid, but a fix cannot be achieved within 10 minutes of power-up. This could occur if the receiver position has moved significantly since it was last powered-up, but the position change and time are NOT initialized by the user
  2. Warm Start: A warm start results when there is a valid Almanac, and the initial time and position are known in SRAM, but the ephemeris is NOT valid (i.e. more than 4 - 6 hours old).
  3. Hot Start: A hot start results when there is a valid Almanac, valid ephemeris (i.e. less than 4 - 6 hours old), and when accurate time and position information are also known in SRAM (position error less than 100km, time error less than 5 minutes).


Software GPS

If the hardware can be implemented in software, the total cost of a GPS can be reduced. Different suppliers have different approaches. One solution is merging the embedded processor to the host processor, so the job is done in the host. In this solution, the basic hardware blocks such as correlators are still kept. Some companies call this approach as accelerated software GPS. The other solution is taking the digitalized signal from IF, and implements the correlators and decoders in software. We can call it as full software GPS. The software GPS is only available in commercial licenses on specific chip in linkable library. Sometime the software GPS license might be more expensive than a low cost IC.

SiRF has acquired the Centrality Atlas, who offers SoC for GPS. Its Atlas is a software GPS product, running on a 300MHz ARM microprocessor and 200MHz DSP. This chip is the best seller in automotive navigator. It offers the comparable performance with SiRF-III, with lower price and media player features.

NXP software also offers Spot GPS software for the host application processors. The Spot GPS Software is a commercial software package in the form of ANSI C. It is easy to be deployed since most of the latest smart phones have a 200MHz, even 500MHz processor inside.

There is also an open source GPS project called GPS world, which uses ATMEGA32 for back-end processing. But this project is not a complete software GPS solution, because it was built upon a hardware correlators IC from Zarlink. However if you are developing the firmware of a GPS receiver, it could be the base for your development. In the reference of open source projects, you can find other software GPS designs.

Modules or DIY

GPS moduleBecause GPS is quite sensitive to the environment, inexperienced designs will ruin the whole project. According to the field report, the GPS module has quite high failure rate in production site. Some mobile phone manufacturers tried to design the GPS by themselves, finally they found their GPS phone design is totally a fiasco.

The module includes everything and assembly in a can module. The size is as small as a coin. There are many professional GPS module suppliers. LeadTek, Holux and other suppliers are offering SiRF and MTK based solution worldwide.

Application Software

From the point of system software development, the software engineer can consider GPS unit as a standard serial port. No matter which OS is selected, the serial port is always available, either in a real RS232 or simulated serial port on USB and Bluetooth. Any person who has experience of developing UART can develop the GPS application software in NMEA protocol as well.

Finally, the high level application software will combine the map data and coordinates from GPS and present to the users.

OpenmokoThere is an open source project called Openmoko, which is sponsored by FIC Taiwan. This project is basically an ARM920T (S3C2440) microprocessor based mobile phone. The GSM/GPRS module and GPS module are connected to the serial ports for ARM920. The phone is working like a desktop PC with GPRS modem and GPS receiver. Anyway, it is a good project which you can start up your own GPS terminals.
The connected GPS project Dash Express is a derivated project from Openmoko.

There are also many open source projects available. You always can find the projects in your favorite languages, Java, Python, C++, .NET and even in web programming languages

No comments:

Post a Comment