Applications using Global Navigation Satellite System (GNSS) for tracking are now able to use several global positioning satellite constellations such as the U.S.’s GPS, Russia’s GLONASS, Europe’s Galileo, or China’s BeiDou. The use of multiple systems ensures better coverage, faster acquisition and improved positional accuracy, but it adds to device cost and increases development time.
With the growth in GPS applications such as asset tracking, chip vendors worked to address these cost and development time issues, leading to the development of low-cost modular GNSS solutions. These first generation modules made adding GPS more cost-effective and straightforward for designers with limited experience to get started. However, some compromises in functionality were inevitable. They remained overly complex to implement, and evaluation kits were rare.
A new generation of GNSS modules has now emerged that addresses the weaknesses of earlier modules with minimal cost penalty. These devices have improved acquisition speed and precision, and have higher levels of integration to reduce design complexity and reduce solution size. They also come with evaluation platforms that make it much easier for the developer to build, test, and configure a prototype.
This article describes the key enhancements of this second generation of devices and shows how to use a modern GNSS module evaluation board to prototype a design.
The evolution of GNSS modules
Designing a GNSS system from scratch is a complex business. Such difficulties have encouraged the emergence of inexpensive modular solutions costing under $50 per unit with reasonable performance, compact dimensions, and low power consumption.
However, in an effort to keep prices low and accelerate commercialization there were some downsides with the first generation of modular GNSS solutions, including:
- Low radio sensitivity: Poor sensitivity extends the time it takes for the receiver to pick up the (minimum of) three satellites required to fix its position. Early modules’ low radio sensitivity resulted in time-to-first-fix (TTFF) of at least a minute and often much longer. Even warm starts, whereby the receiver had not been moved since it was last used and still had previous positional information in the onboard memory, could take more than 30 seconds.
- Restricted memory allocation: Low memory capacity limited the storage of ephemeris data (information about the satellite constellation’s current and future orbital position). If the GNSS module lost the satellite signal for an extended period, the stored ephemeris information became outdated, and re-acquisition could take several minutes.
- Lack of location accuracy: Positional accuracy is determined primarily by the time synchronization with the satellite clocks. An error in synchronization of 1 nanosecond causes a positional error of 30 centimeters. Timing inaccuracies in early modules limited precision to ±15 meters.
- Lack of assisted and augmented GNSS: Early GNSS modules were unable to take advantage of systems that aid location accuracy by referencing the GNSS signal to signals from base stations of known location.
- Minimal integration: Critical components such as flash memory, crystals, and power management were not included in first generation modules, complicating the design and increasing solution size.
- Lack of evaluation kits: Engineers were forced to build their own hardware prototypes before being able to test out proposed designs.
- Firmware: Early modules were supplied with little or no provision for firmware reconfiguration or upgrade leading to rapid software obsolescence for units in the field.
A new generation of GNSS modules addressing these drawbacks is now entering the market. Engineers can select from several high-performance, integrated modules and try out concepts using the manufacturers’ associated evaluation kits before committing to a particular component.
For example, Maxim Integrated’s MAX2771ETI+ GNSS receiver offers a high degree of integration in a package measuring 5 x 5 millimeters (mm). Specifically, the device integrates a complete receiver chain including a dual input, low-noise amplifier (LNA), mixer, filter, programmable gain amplifier (PGA), multi-bit analog-to-digital converter (ADC), fractional-N frequency synthesizer, and a crystal oscillator.
Notably, the device eliminates external intermediate frequency (IF) filters by implementing on-chip monolithic devices. The result is a module that requires just a few external components to form a complete, low-cost GNSS RF receiver solution (Figure 1).
Figure 1: Maxim’s MAX2771ETI+ integrates the key elements of a complete, low-cost GNSS RF receiver, limiting the number of external components required. (Image source: Maxim Integrated)
Assisted GNSS and augmented positional precision
This second generation of GNSS modules also offers faster satellite acquisition and improved positional accuracy. Part of the improvement in acquiring the satellite position is due to increased memory to store more ephemeris information to more quickly reacquire a satellite after a long loss-of-signal period. However, even with a large flash memory, accurate ephemeris data is valid for only four hours for GPS and 30 minutes for GLONASS.
Further improvement has come from the use of “assisted GNSS”, a technique whereby the module obtains ephemeris information from external sources over another wired or wireless connection, rather than directly from the satellites.
Module supplier u-blox, for example, offers a service whereby ephemeris data can be accessed via an Internet-connected host microprocessor and fed to the module at start-up. An offline version of the service is also available whereby up to 35 days of orbit data is downloaded and stored in the host processor and/or GNSS module flash memory. Further, u-blox offers its “AssistNow” technology which uses historical data to predict the orbital position of satellites up to six days ahead.
Techniques such as assisted GNSS improve cold start TTFF from around 60 s for first generation GNSS modules to 27 s (for GPS and GLONASS constellations) in the case of newer modules such as u-blox’s EVA-M8M-0 GNSS module. The solution offers a cold start sensitivity of -148 dBm which helps speed up TTFF in the absence of assisted GNSS.
Satellite-based augmentation systems (SBASs) are also used to notably improve the positional accuracy of cost-effective GNSS modules. These systems supplement GNSS data with additional regional or wide area GNSS augmentation data from technologies such as wide area differential GPS (WADGPS). WADGPS uses information from fixed base stations of known location or geostationary satellites that remain in a fixed position relative to the Earth’s surface. Such information allows the GNSS module to correct for timing and positional errors to improve location accuracy. The EVA-M8M-0 GNSS module, for example, can use SBAS to offer a location accuracy of ±2.5 m (Figure 2).
Figure 2: Second generation GNSS modules employ SBAS techniques to improve location accuracy. SBAS uses geostationary satellites and fixed base stations to compensate for GNSS timing errors caused by solar activity and ionosphere influences. (Image source: u-blox)
The EVA-M8M-0 is a highly integrated design, requiring just the addition of an external GNSS antenna for most applications. Notably, the module includes an internal microprocessor. The module also includes internal RAM and ROM, in addition to a serial quad interface (SQI) to connect to external flash memory for additional data storage if required. There is also provision to connect an external crystal to further improve timing accuracy.
Communication with the GNSS module for configuration is either via the long established National Marine Electronics Association (NMEA) protocol, or u-blox’s proprietary UBX protocol. The configuration can be changed during normal operation by sending any “UBX-CFG-XXX” message to the receiver over an I/O port. The configuration can be made permanent by sending a “UBX-CFG-CFG” message with an appropriate “saveMask” (“UBX-CFG-CFG/save”).
Designing with second gen GNSS modules
Designing with GNSS modules requires adherence to established RF design guidelines. Antenna choice, pc board layout, crystal selection, and tuning circuit design will have a significant effect on radio sensitivity and performance factors such as TTFF and positional accuracy.
Also, while some GNSS modules do feature an embedded microprocessor, a separate external controller is often needed for configuration and application control. Most GNSS modules communicate with an external microprocessor via a serial GPIO, I2C port or UART. (See Digi-Key article, “Design Location Tracking Systems Quickly Using GNSS Modules.”)
Because the hardware requirements for any RF application are finicky, it is useful to test out a shortlisted module’s performance without having to construct a hardware prototype. Second generation modules are now accompanied by evaluation kits that allow the designer to do just that.
STMicroelectronics, for example, offers its Teseo-LIV3F GNSS module evaluation board. The board is a standalone evaluation platform for the Teseo-LIV3F GNSS module. The module is a fully integrated device which includes a GNSS core based on an embedded ARM® microprocessor, crystal and real-time clock (RTC), power management, UART and I2C connectivity, and 16 megabits (Mbits) of flash memory. This is all integrated into a package measuring 9.7 by 10.1 mm (Figure 3.) The on-board flash memory allows for up to seven days of assisted GNSS, firmware reconfiguration, and firmware upgrades.
Figure 3: STMicroelectronics’ Teseo-LIV3F GNSS module is highly integrated. Notably, the module incorporates an Arm microprocessor and 16 Mbits of flash memory. (Image source: STMicroelectronics)
The Teseo-LIV3F GNSS module offers 32 second cold start TTFN, -147 dBm cold start sensitivity, and SBAS to increase location precision to within ±1.5 m.
Configuring the Teseo-LIV3F GNSS module eval board is accomplished by connecting to the board’s “UART” input. This is actually a USB-style connector to allow for easy connection to a PC, but the evaluation board includes an internal USB to UART bridge from FTDI to allow the PC to communicate directly with the module. The GNSS module’s UART then appears on the PC's application software as a standard COM port, though the actual data transfer between the PC and GNSS module is achieved via the USB interface (Figure 4).
Figure 4: For configuration, the STMicroelectronics evaluation board is connected to a PC running application software via a USB connector. The USB signal is converted to the UART signal used by the GNSS module via a bridge from FTDI. (Image source: STMicroelectronics)
The configuration microprocessor typically uses the NMEA protocol to communicate with the GNSS module. The protocol defines three types of inputs/outputs: commands, write messages, and read messages. The module outputs a response for each input/output. Commands are used to change the operating state of the module, write messages change the module’s configuration, and read messages provide the current configuration.
Inputs are sent from the host microprocessor to the GNSS receiver on the UART or I2C RX line, and outputs are sent from the receiver on the TX line. By default, output messages are sent at the rate of one per second. The protocol allows for both standard and proprietary inputs/outputs (Figure 5).
Figure 5: Communication between the GNSS receiver and the host microprocessor is via UART or I2C channels and uses the NMEA protocol. (Image source: STMicroelectronics)
The message structure of the NEMA protocol is straightforward, for example:
“command-ID,[parameter1,parameter2,...,parameterN]<cr><lf>” for commands;
“message-ID,<data1,data2,...,dataN>*<checksum><cr><lf>” for messages.
Many module makers opt for proprietary schemes for commands and messages. For example, NMEA commands from STMicroelectronics take the form of “$PSTM…” to indicate the instructions are in the company’s proprietary (“P”) format.
To configure the Teseo-LIV3F GNSS module evaluation board, install STMicroelectronics’ Teseo Suite Light, a PC-based application program. Following the program’s intuitive interface, it is straightforward to add the device to the configuration list and activate port connections.
For example, once the UART port is active, the device will begin to operate and it’s possible to observe the NMEA view panel to check the messages and commands being sent from/to the GNSS module.
Once a command is executed, the GNSS module replies with a predefined message and the command is sent back to the host as a final confirmation of execution. For example, to test the effect of STMicroelectronics’ ST-AGNSS technology, control the receiver using the NMEA commands shown in Table 1.
Table 1: STMicroelectronics proprietary commands to control assisted GNSS technology on the Teseo-LIV3F GNSS module. (Table source: STMicroelectronics)
ST-AGNSS is an assisted GNSS which provides ephemeris data to the GNSS receiver in much less time than it takes to obtain actual data from satellites on TTFF.
Modular GNSS technology has extended location tracking technology to a much wider range of applications. Now, improvements in integration, hardware, firmware, assisted GNSS, and augmented positioning see second generation devices extended to applications where fast fix times and enhanced positional accuracy are critical. The new modules inherit the size, cost, and power consumption benefits of their predecessors, but are supported by evaluation boards and PC-based application software to greatly simplify the design process.