Paper Menu >>
Journal Menu >>
Journal of Global Positioning Systems (2004) Vol. 3, No. 1-2: 63-69 An Open GNSS Receiver Platform Architecture Frank Engel†, Peter Mumford‡, Kevin Parkinson‡, Chris Rizos‡, Gernot Heiser† † Embedded Real-Time and Operating Systems Program (ERTOS), National ICT Australia (NICTA) e-mail: {frank.engel, gernot.heiser}@nicta.com.au Tel: + 61 2 9358 7339; Fax: +61 2 9385 7942 ‡ Satellite Navigation and Positioning Group (SNAP), The University of New South Wales (UNSW) e-mail: {p.mumford, c.rizos}@unsw.edu.au, kevin@dynamics.co.nz Tel: + 61 2 9358 4182; Fax: +61 2 9313 7493 Received: 15 Nov 2004 / Accepted: 3 Feb 2005 Abstract. In this article we present the concept of a FPGA-based GPS receiver architecture with the aim of providing a framework for investigating new receiver architectures for current and upcoming GNSS standards. This development system facilitates researchers to prove new receiver concepts using real signals, which nowa- days can only be simulated using tools such as Matlab. One will be able to work with the satellites as soon as they are operational, rather than having to wait for the availability of commercial products. The system allows individual development of signal processing solutions for base-band processing. A soft-core processor implements higher layer services that provide data to the user. Key words: GPS Receiver, GNSS, FPGA, Soft-Core Processor 1 Introduction The Global Positioning System (GPS) is a satellite-based, all-weather, round-the-clock navigation system developed by the U.S. Department of Defence. Since the early 1980s GPS has been available to the civilian community and is the most effective navigation and positioning system ever developed. Once a tool for experts and an exotic gadget for nerds, it is rapidly becoming a commodity. Location- aware devices are an essential part of many ubiquitous computing scenarios, and the recent mandate by the US FCC (FCC, 2004) that all emergency calls from mobile phones must be locatable has increased the pressure on improving the technology. Satellite-navigation receivers will in the future be embedded in a large number of de- vices of widely different uses. 1.1 Background Although GPS is the only fully operational 'first genera- tion' Global Navigation Satellite System (GNSS), since the mid-1980s signals from the Russian Federation's Glonass system have also been available (Glonass, 2004). However, since 1995 Glonass has been starved of funding and the constellation has progressively degraded. Russia's President has announced that the full Glonass system will again be operational by 2008. In January 2004 India signed a Memorandum of Understanding with Russia to collaborate on the Glonass refurbishment. Europe is currently developing its own 'second genera- tion' GNSS, known as Galileo (Galileo, 2004), for de- ployment between 2006 and 2008. In 2003 China signed onto the Galileo program. There are a number of additional satellite systems in op- eration today, or to be soon available that complement GPS, Glonass and Galileo. These systems are generically referred to as Space Based Augmentation Systems (SBAS) (SBAS, 2004) because they transmit extra signals that certain receivers can decode and use (together with the global GNSS signals) to achieve improved positioning performance. To augment GPS for aviation users, the U.S. and Europe have deployed the Wide Area Augmen- tation System (WAAS) and the European Geostationary Navigation Overlay System (EGNOS) respectively (WAAS/EGNOS, 2004). Japan, India and China have indicated that they too will develop regional SBAS by the end of this decade. The most advanced plans are Japan's Quasi-Zenith Satellite System (QZSS) (Petrovski, 2003), a constellation of 3 to 7 satellites that will broadcast GPS (and ultimately Galileo) signals from orbits optimised for East Asian. In the near to medium-term future the market for satellite navigation technology is expected to continue to experi- ence major growth (Canalys, 2004). The greater availabil- 64 Journal of Global Positioning Systems ity of signals from these upcoming systems and the re- duction in costs of GNSS receivers will support new ap- plication fields like indoor positioning for consumer de- vices. Besides the positioning data, these systems will support extra, low data rate channels. These channels can be used to receive personalised information similar to a pager system, which prepares the ground for new services offering this information. 1.2 Project Objectives The aim of this project is to develop a platform for inves- tigating new algorithms and systems based on current and upcoming GNSS receiver standards. This platform could serve as a generic base for GNSS research that supports research into signal processing issues, protocols and early implementation of emerging standards: • A reference and testbed environment to investi- gate interoperability and standard compliance. • An IP block readily accessible to industry part- ners for development of GNSS and GNSS-enhanced devices. • Considering the wide range of next generation GNSS signals a solution is required that support flexible hardware and software design. As an exam- ple, a system that can incorporate extra processing power or tracking channels, as the need arises. The article is structured as follows. Section 2 introduces the requirements of such a platform concept. Section 3 explains project stages in more detail. Section 4 discusses future investigations into improved GNSS receivers and applications/products. Intermediate project results and a conclusion finalises this article. 2 Platform Reqirements 2.1 Components In general a GNSS receiver consists of three major com- ponents: • RF front-end to receive GNSS signals and con- verting into baseband: Since satellite signals are very weak, the development of front-end components still requires custom circuit design. • Baseband processing to generate raw / pre- processed data from received signals: It comprises strong digital signal processing either executed by custom hardware or a digital signal processor (DSP). • Control processing to manage receiver activity and post-process data: Besides converting raw data into e.g. position velocity and time, tasks like main- taining receiver status (e.g. tracking satellites) is usu- ally executed by a micro controller (µC) running special firmware. According to this structure, a generic receiver platform should support interfaces to various RF front-ends, signal processing hardware, and (µC supported) software layers for control processing and applications. 2.2 Configurability State of the art field programmable gate array devices (FPGAs) such as Altera’s Stratix series provide high computational capacities of up several million logic ele- ment equivalents (Stratix, 2004). Besides pure configur- able logic they also provide on-chip memory and DSP capabilities. Thus they are very well suited for complete system-on-chip solutions (SoC) without the need of sili- con fabrication. Furthermore, FPGA vendors offer CPU cores integrated into the FPGA either as hard-core or soft-core. While hard-core processors are optimally inte- grated into the FPGA fabric, soft-core processors allow a fine grain tailoring towards the design requirements by introducing caches and specialised instructions etc. Following this strategy, baseband processing could be implemented by FPGA logic, supported by hardware macros, while control processing could be implemented by a soft-core processor such as Altera's NiosII. Thus an FPGA device serves as the central processing element on this reconfigurable platform. It connects to RF front-ends as well as different communications interfaces (e.g. TCP/IP, RS232, USB). 3 Approach The general approach is to break the development process into three stages. These stages relate to the migration of the hardware platform from a Mitel Superstar receiver towards the FPGA solution on a custom designed circuit board. The stages are identified as: • Stage 1: SuperStar-NiosII; • Stage 2: GP2021_Emulator-NiosII and; • Stage 3: Custom GNSS Platform. The Mitel GPS Architect (sometimes referred to as Orion) has become some sort of standard GPS software suite for the Zarlink chipsets. It was available as a devel- opment kit with a licence allowing royalty free distribu- tion of compiled binaries (GPSArch, 1997). The SNAP Group purchased a kit in 1999. The GPS Architect has been selected for testing purposes for the reasons men- tioned above. Altera's products 'Quartus' and the 'NiosII IDE' are the primary tools used for programming the FPGA and code generation (Altera, 2004). Engel et al.: An Open GNSS Receiver Platform Architecture 65 3.1 Mitel GPS Architect The original Mitel GPS Architect software was designed to run on an ARM60 processor, with a Mitel (now Zar- link) GP2021 (GP2021, 2001) baseband processor and GP2010 or GP2015 RF front end (GP2015, 2002). Ver- sion 6.17 of the GPS Architect code was ported to the Sigtec MG5001 GPS receiver in 2003. This receiver has a Zarlink GP4020 chip with an ARM7 core and GP2015 RF front end (GP4020, 2002). The GP4020 has the same correlator design as the GP2021. This version of the GPS Architect software was selected for porting to the NiosII embedded processor. There are significant differences between the NiosII and ARM7 architectures and instruction sets, as well as dif- ferences in the development tools and embedded librar- ies. Addressing these differences, getting familiar with the new tools and creating interfaces to hardware such as the baseband signal processing (or correlator) block, con- stitutes the bulk of the porting effort. Although, only a few changes to the application software are required, sys- tem initialisation, the Real Time Operating System (RTOS), chipset interfacing and serial port communica- tion require significant changes to the code base since those parts are highly architecture related. 3.2 Altera Tools Altera provides Quartus, a tool for the generation of FPGA designs and the NiosII IDE for the generation of code to run on the NiosII soft-core processor. Quartus contains the 'SOPC Builder' used for generating NiosII core FPGA design files (Altera, 2004). The NiosII devel- opment tools provide the Hardware Abstraction Layer (HAL) Application Programming Interface (API) that incorporates the Newlib ANSI C embedded library. In addition, the HAL provides some UNIX-style functions. This provides a higher level of abstraction than the ARM tools, facilitating the removal of the GPS Architect's booting, initialization and interrupt assembler code, as well as most of the serial port communication code. Al- tera also provide a development board with a Stratix FPGA device and associated memory and I/O facilities called the 'NiosII Development Board - Stratix Edition' (EvalBoard, 2004). This is a very convenient platform to get projects up and running quickly. It is used for Stage 1, and Stage 2. 3.3 Stage 1: SuperStar-NiosII The first stage involves porting the GPS Architect soft- ware to a NiosII processor connected to an existing GP2021/GP2015 hardware platform. To do this, a "hack" is performed into a Superstar receiver to effectively re- place the ARM60 with a NiosII processor. This is achieved by removing the ARM60 and memory chips and connecting the GP2021 address, data and some control lines to a header on the NiosII Development Board. RT-Exec Code The GPS Architect software has a minimal RTOS closely integrated with the rest of the code. The task-switching core of this RTOS is coded in assembler, and this is com- pletely rewritten for the NiosII processor. SuperStar-Interface An interface to read and write to the GP2021 baseband signal processor and other registers is required, as these are not memory-mapped registers as in the GP4020 case. This 'glue logic' is realised in the FPGA as a small VHDL module connected between dedicated parallel I/O ports on the NiosII and the data, address and control lines of the GP2021. Read and write functions provided by the HAL API are used to send and receive serial data via the NiosII UART's. 3.4 Stage 2: GP2021_Emulator-NiosII The second stage is to replace the external GP2021 base- band signal processor by an FPGA baseband processor in the Stratix device. The FPGA baseband processor is de- signed as a GP2021 emulator such that the code devel- oped in Stage 1 can be reused with changes required to the SuperStar-Interface only. For this stage, only the RF front-end chip GP2015 of the SuperStar receiver is used. The sampled signals (sign and magnitude) from the GP2015 are connected to FPGA pins and these signals are routed internally to the FPGA baseband processor. GP2021 Emulator In order to emulate the GP2021 silicon inside the FPGA, a separate baseband processor is being developed to pro- vide all of the functions as expected by the ported soft- ware. This block will replace the GP2021 baseband proc- essing functions using internal FPGA connections to the NiosII core via an on-chip Avalon Bus. These functions, 66 Journal of Global Positioning Systems Fig. 1 Block Diagram of the Platform such as the multi-phase clock generator, time base gen- erator, numerically controlled oscillators, correlator mod- ules etc. are developed in HDL to initially have identical functionality to the GP2021. The system clock and RF signal connections from the GP2015 GPS RF front-end chip to the baseband processor are still required from the SuperStar receiver board. Obviously not all of the GP2021 functions need to be emulated, given that the chip was originally designed as a multi-purpose chip to support other microprocessor inter- face schemes, and also Glonass signals. Improvements in the core baseband processing functions of the GP2021 will come later as the design diverges from the ported software in Stage 3 of the development. While Glonass signal processing capability is possible within the FPGA, support for this may be considered in the future because at the moment the different RF front-end structure is not easily accessible. 3.5 Stage 3: Custom GNSS Platform In Stage 3, SuperStar receiver and NiosII Development Board are replaced with a custom designed board shown in Figure 1. This board has all the regular features such as I/O, memory, status LED’s and switches, an Altera Stratix device, headers for expansion and multiple RF front-ends. In fact it has many similarities to the NiosII Development Board. This will help facilitate the move from Stage 2. The board has two RS232 serial ports along with Ethernet 10/100 and a USB port. The UART components for the serial ports are instantiated into the FPGA as peripherals connected to the on-chip Avalon Bus, while both the Ethernet and USB functions are provided by external chips connected to the FPGA to become peripherals ac- cessible in the NiosII address space. Switches, LEDs, etc. RS232 Interface RS232 Interface USB Interface Ethernet Interface Power Supply Serial Flash External Interface GP I/O External Clock Oscillator Altera Stratix FPGA RF RF JTAG GP2015 Front End GP2015 Front End ROM RAM Engel et al.: An Open GNSS Receiver Platform Architecture 67 Fig. 2 Signal Path Options Providing flexibility in RF front-end choice facilitates access to the new signals as well as new designs as they emerge. The custom board incorporates two GP2015 RF front-ends, and a special header to accommodate an ex- ternal RF front-end or any other extension board. This arrangement potentially allows simultaneous reception of multiple signals at different frequencies. Figure 2 illus- trates some possible signal paths. The clock signals for the on-board and external RF front- end chips are driven from either a common temperature compensated oscillator or an external signal source via a small coaxial connector. This allows the use of an op- tional extra stable frequency source where required. In both cases the clock signal is also connected to the FPGA phase locked loop circuitry to allow multi-phase clock generation within the device. 4 Further Development This project has the fundamental objectives of proving the concept and developing a platform for future investi- gations. Due to the configurable nature of FPGAs, there are many possibilities for investigation including: • Baseband signal processing block design: This design is not restricted to a GP2021 emulator, as many design enhancements are possible. Ideas in- clude; improved tracking in weak signal and multi- path environments. • DSP search engine: The Stratix FPGA device has DSP blocks, which could be used to create a search engine for signal acquisition and tracking, particularly for weak signals. (a) L1 only FPGA GP2015 Front End (c) Other Signals External Front End Interface FPGA External RF Front End (b) L1 and L2 GP2015 Front End GP2015 Front End FPGA 68 Journal of Global Positioning Systems • Develop the GPS Architect software for better performance or specific functionality: The SNAP Group has developed improvements and additions such as better tracking algorithms, which could be implemented into the standard GPS Architect soft- ware (Lee, 2003 and Mumford, 2003 and Satirapod, 2003). A licence is required to develop applications using the GPS Architect software suite. However, binaries developed by a licensed user can be distrib- uted without royalties. There may be a way of dis- tributing core functionality as a binary API, allowing the development of particular critical sections such as the tracking loops. • Replace the GPS Architect with another soft- ware suite: for control, tracking and navigation solu- tion functions on the NiosII processor. The OpenGPS project (OpenGPS, 2004) is a possible candidate here. • Raw data collection and packaging for PC based soft receiver processing: The sign and magni- tude data from the RF front-end can be collected and packed up for transmission via Ethernet to a host PC or stored onto USB media. • Signal interference detection: The custom board is ideal for developing signal interference and jam- ming detectors. 5 Intermediate Results Stage 1 of this project is almost finished. All architecture dependant software parts (See Sec.3.3) are ported. Tests show the system is capable of tracking of at least 9 satel- lites and able to run more than 16 hours without failing. This means a reference design is available which will be used to evaluate accuracy of the baseband processor emu- lation, the main task of Stage 2. As for Stage 2, the development and testing of the initial designs for the baseband signal processor to emulate the functionality of the GP2021 have begun. So far a single channel correlator is under development. First simulation results and size estimates show that the design will fit into a Stratix device and meet timing requirements. The DSP blocks available within the Stratix device could be optionally used and investigations are under way to evaluate how their use may contribute to improve per- formance. The custom GNSS platform board is in the early stages of development. 6 Conclusion In this paper an approach of designing an FPGA based GNSS receiver platform is described. The project has been broken down into three stages so that particular problems can be isolated and addressed at each stage. In Stage 1 the focus is on porting the GPS Architect soft- ware to the NiosII processor architecture. Once the GPS Architect is running smoothly on the NiosII Development Board with a GP2021 baseband processor and a GP2015 RF front-end attached, Stage 2 can be tackled. This stage involves replacing the GP2021 with an FPGA baseband signal processor emulating the main features of the GP2021. Finally, the developed design can be ported to the platform, a FPGA based prototyping board. The outcome of this project will be a development plat- form for investigations into GNSS receiver designs for current and future signals. It is the intention of this pro- ject to foster research into improvements of existing GPS receiver solutions, new GNSS signals and to help realis- ing product ideas by providing a sophisticated hard- ware/software infrastructure. References Altera (2004): Altera Inc. – Homepage. Altera Inc. http://www.altera.com . Canalys (2004): EMEA mobile GPS navigation market races ahead. GPS market analysis, http://www.canalys.com/pr/ 2004/r2004093.htm . EGNOS (2004): European Geostationary Navigation Overlay System (EGNOS). European Space Agency (ESA), http:// esamultimedia.esa.int/docs/egnos/estb/egnos_pro.htm . EvalBoard (2004): NiosII Development Kit - Stratix Edition. Altera Inc., http://www.altera.com/products/devkits/altera/ kit-nios_1S10.html . FCC (2004): Wireless Enhanced 911 Rules (E911). US Federal Communications Commission (FCC), http:// www.fcc.gov/ 911/enhanced/ . Galileo (2004): Galileo. European Space Agency (ESA), http://www.esa.int/esaNA/galileo.html . Glonass (2004): GLONASS Satellite Navigation System. Rus- sian Federation Ministry of Defence, http://www.glonass- center.ru . GP2021 (2001): GP2021 GPS 12-Channel Correlator. Zarlink Semiconductor Inc., Data Sheet (DS4077, Issue 3.2), April 2001. GP2015 (2002): GP2015 Miniature GPS Receiver RF Front End. Zarlink Semiconductor Inc., Data Sheet (DS4374, Is- sue 3.1), Feb. 2002. GP4020 (2002): GP4020 GPS Receiver Baseband Processor. Zarlink Semiconductor Inc., Data Sheet (DS5134, Issue 4.4), May 2002. Engel et al.: An Open GNSS Receiver Platform Architecture 69 GPSArch (1997): GPS Architect - 12 Channel GPS Develop- ment System. Zarlink Semiconductor Inc., Data Sheet (DS4605, Issue 2.5), March 1997. Lee H.K.; Rizos C.; Jee, I.G. (2003): Design and analysis of DGPS filters with consistent error covariance informa- tion. In Proceedings of 6th Intl. Symposium. on Satellite Navigation Technology Including Mobile Positioning and Location Services, Melbourne, Australia, 22-25 July 2003, paper 47. Mumford P. (2003) Timing characteristics of the 1PPS output pulse of three GPS receivers. In Proceedings of 6th Intl. Symposium. on Satellite Navigation Technology Including Mobile Positioning and Location Services, Melbourne, Australia, 22-25 July 2003, paper 45. OpenGPS (2004): OpenGPS, http://www.gfz-potsdam.de/pb1/ staff/gbeyerle/opengps/ . Petrovski I. (2003): QZSS - Japan's New Integrated Commu- nication and Positioning Service for Mobile Users. GPSWorld, 14(6):24-29. SBAS (2004): Satellite Base Augmentation System (SBAS), Eurocontrol SBAS Project, http://www.eurocontrol.fr/ pro- jects/sbas/ . Satirapod C.; Khoonphool R.; Rizos C. (2003): Multipath mitigation of permanent GPS stations using wavelets. Proceedings of 2003 Intl. Symposium. on GPS/GNSS, To- kyo, Japan, 15-18 Nov. 2003, 133-139. WAAS (2004) Wide Area Augmentation System (WAAS), US Federal Aviation Administration (FAA), http://gps.faa.gov/ Programs/WAAS/waas.htm . |