Tri-M Systems FV-25 User Manual

Tri-M Systems, Inc. Unit 100, 1407 Kebet way Port Coquitlam, BC V3C 6L3 Canada
www.tri-m.com
FV – 25
USER’S GUIDE
This document features the specification of FV-25 and describes the details on using the evaluation kit to evaluate the performance of FV-25 and select the desired functions. It intends to help users to obtain the maximum performance from FV-25 in users’ integrating GPS systems.
Version: 1.0 Date: January 2005
1
Contents
Preface………………………………………………………… Chapter 1 Introduction………………………………………..
1.1 Supports………………………………………………………..
Chapter 2 Start………………………………………………..
2.1 Pin Definitions and Reference Layout………………………….
2.2 Sanav_Demo…………………………………………………….
2.2.1 Port Number & Baud Rate……………………………….
2.2.2 Comm Port Connection and Disconnection……………...
2.2.3 Constellation Map…………………………………………
2.2.4 Message View for NMEA Messages………………………
2.2.5 Available NMEA Messages………………………………..
2.2.6 GPS Satellite Information………………………………….
2.2.7 Receiver Information………………………………………
2.2.8 Tracking View……………………………………………..
2.2.9 User Setting………………………………………………..
2.2.9.1 Position……………………………………………..
2.2.9.2 Time and day………………………………………..
2.2.9.3 Local time zone……………………………………..
2.2.9.4 Restart……………………………………………….
2.2.9.5 DGPS………………………………………………..
2.2.9.6 Interval………………………………………………
2.2.9.7 Geodetic ID………………………………………….
Chapter 3 Alternative Start……………………………………
3.1 Connection Settings………………………………………………..
3.2 Saving the Data…………………………………………………….
3.3 Setting Configuration or Polling Information from Module……….
Chapter 4 Navigation…………………………………………..
4.1 Operating Modes…………………………………………………..
4.1.1 Continuous Tracking Mode (CTM)………………………...
4.1.2 FixNOWTM Mode (FXN)……………………………………...
4.2 Start-Up Modes…………………………………………………….
4.3 Aiding – AGPS……………………………………………………..
4.4 Sensitivity…………………………………………………………..
2
4.5 Navigation Data…………………………………………………….
4.5.1 Position Format………………………………………………
4.5.2 Datums……………………………………………………….
4.5.3 Update Rate…………………………………………………..
4.5.4 Kinematic Mode………………………………………………
4.6 Navigation for Less Than 4 Observable Satellites……………………
4.6.1 2D Navigation…………………………………………………
4.6.2 Dead Reckoning……………………………………………….
4.7 Almanac Navigation…………………………………………………..
4.8 DGPS – WAAS, EGNOS, & RTCM………………………………….
4.9 Receiver Autonomous Integrity Monitoring (RAIM)…………………
4.10 Time Pulse (1 PPS)…………………………………………………..
Chapter 5 Evaluation Kit…………………………………………
Chapter 6 Antennas………………………………………………..
6.1 Passive Antennas………………………………………………………
6.2 Active Antennas……………………………………………………….
6.3 Active Antenna Supervisor - Short Circuit Protection…………………
Chapter 7 Available NMEA and UBX Messages………………….
7.1 NMEA Protocol………………………………………………………….
7.1.1 Standard NMEA Messages……………………………………….
7.1.2 Proprietary NMEA Messages…………………………………….
7.2 UBX Binary Protocol……………………………………………………
7.2.1 Data Format………………………………………………………
7.2.2 Classification of UBX Messages…………………………………
7.2.3 Responses to the Users’ Inputs……………………………………
7.2.4 UBX Messages……………………………………………………
Chapter 8 Troubleshooting………………………………………….
Appendix A Geodetic ID: Coordinate Datum…………………… Appendix B Acronyms……………………………………………. References…………………………………………………………….
3
List of Figures
Figure 2.1 FV-25 Pin definitions (Top View)………………………………….. Figure 2.2 A reference layout for FV-25……………………………………….. Figure 2.3 Setting of comm. port number and the value of baud rate………….. Figure 2.4 Setting of comm. port number………………………………………. Figure 2.5 Setting of the value of baud rate…………………………………….. Figure 2.6 Window after correct setting………………………………………… Figure 2.7 Constellation Map of GPS satellites………………………………… Figure 2.8 Window for showing NMEA messages……………………………… Figure 2.9 “Show all MS” window……………………………………………… Figure 2.10 Available NMEA messages…………………………………………………. Figure 2.11 GPS satellite information…………………………………………… Figure 2.12 Receiver Information……………………………………………….. Figure 2.13 Tracking View………………………………………………………. Figure 2.14 Initial position………………………………………………………. Figure 2.15 Initial UTC time and day…………………………………………… Figure 2.16 Local time zone……………………………………………………... Figure 2.17 Restart………………………………………………………………. Figure 2.18 DGPS……………………………………………………………….. Figure 2.19 Setting of coordinate datum………………………………………… Figure 3.1 HyperTerminal application…………………………………………… Figure 3.2 Connection settings…………………………………………………… Figure 3.3. Correct connection settings…………………………………………… Figure 5.1 Main box of the evaluation kit………………………………………… Figure 5.2 Front panel of the evaluation kit………………………………………. Figure 5.3 Back panel of the evaluation kit………………………………………. Figure 7.1 UBX protocol structure………………………………………………...
4
List of Tables
Table 1.1 Specification of FV-25…………………………………………….. Table 2.1 Description of pin definition for FV-25…………………………… Table 4.1 Conditions for Start-Up modes……………………………………. Table 4.2 Available sensitivity modes……………………………………….. Table 7.1 The types of data………………………………………………….. Table 7.2 UBX message classes……………………………………………... Table 8.1 Troubleshooting……………………………………………………
5
Preface
The objective of The FV-25 User ’s Guide is to help users to understand the properties of FV-25 thoroughly and, therefore, obtain the maximum performance from the module easily. This document describes and provides the useful information the FV-25 module, which includes the functions of pins on the module, configuration setting, utility, and evaluation kit. It will help users understand the capability of the module and, therefore, successfully integrate the FV-25 into users’ GPS systems. Each chapter is one of the pieces for the module and carries its own purpose. The following summary for each chapter and appendix shall help a user to navigate the user’s guide as easily and quickly as possible.
Chapter 1 Introduction
This chapter describes the main goal, features, and available supports for the FV-25 module.
Chapter 2 Start
This chapter depicts the definitions of pins on the module and gives an example reference layout of peripheral connections around the module. The utility, “Sanav_Demo.exe”, is used to display satellite and receiver information and set configuration for FV-25. All the information about “Sanav_Demo.exe” is introduced step-by-step.
Chapter 3 Alternative Start
This chapter suggests an alternative utility, HyperTerminal, for users to show satellite and receiver information in terms of NMEA sentences. Also, HyperTerminal can be used to save data in the host platform and set configuration to the module. Only the basic operations for desired actions (display, save, and configuration setting) are introduced.
Chapter 4 Navigation
This chapter describes all the information of GPS navigation data available from the module and related issues, such as cold start, warm start, hot start, DGPS, and so on. It also shows corresponding configuration settings for the issues in this chapter.
Chapter 5 Evaluation Kit
This chapter depicts the physical mechanism and functions of evaluation kit for FV-25.
Chapter 6 Antennas
This chapter describes the pro and con for using passive and active antennas with the module.
6
Chapter 7 Available NMEA and UBX1 Messages
This chapter lists the available NMEA and u-blox proprietary (UBX) messages for the module.
Chapter 8 Troubleshooting
This chapter provides good helps when the module isn’t running properly.
Appendix A Geodetic ID: Coordinate Datum Appendix B Acronyms
In addition to the above brief description for each chapter, you also can find useful definitions for GPS terminologies in the Appendix B as well as the lists of figures (page ?) and tables (page ?). Please read this user’s guide carefully and thoroughly before proceeding the operations of the module. If you experience questions and problems about FV-25 and the evaluation kit, please refer to the Troubleshooting section first. If further helps are needed, please feel free and go to our information service on the homepage, www.sanav.com
. We are glad to answer and resolve your
questions and problems.
Technical Support
Address: 9F, No. 105, Shi-Cheng Road, Pan-Chiao City, Taipei Hsien, Taiwan, R.O.C. Phone: +886-2-2687-9500 Fax: +886-2-2687-8893 E-mail Address: sanav@sanav.com
When you send a request to us, please prepare the following information that may help us to resolve your problem as soon as possible:
1. Serial No. of Product;
2. Type of antenna that is connected to the module;
3. Operating System (OS) of your host PC;
4. Simple description of your integrated system (may also included peripheral connections and devices);
5. Describing the way you operate your system;
6. Description of failure by text, figure, or both;
7. Contact information, such as name, address, phone number, and e-mail address.
1
UBX: u-blox proprietary protocol.
7
Chapter 1 Introduction
In this chapter, the main goal of FV-25 will be described and then the features of the FV-25 module will be specified in order that a user can make correct decision about module selection before proceeding further development. Understanding thoroughly the pro and con of FV-25 will clear the compatibility of the module with a user’s system. At the same time, let the users make the best performance out the module.
The main goal of FV-25 is to be used as a part of integrated system, which can be a simple PVT (Position-Velocity-Time) system, for instance, G-mouse, or complex wireless systems, such as a system with GSM function, a system with Blue Tooth function, and a system with GPRS function. The module (FV-25) can be the best candidate for users’ systems as the users’ systems need the careful consideration on the performance, power consumption, and/or size of the module. Table 1.1 summarizes the specification of FV-25. It is noticeable that in addition to excellent start-up times and position accuracy, the updated rate can be up to 4 Hz and the raw measurements, i.e., pseudoranges and carrier phases, can be output in the format of UBX binary message.
FV-25 mainly consists of ATR0600 (RF front-end IC), ATR0610 (LNA IC), and
2
ATR0620 (Baseband IC)
as well as 8 Mbit flash memory. Since the low noise amplifier (LNA: ATR0610) is built in the RF section, the passive and active antennas are the available options for the module. The Baseband IC (ATR0620) mainly includes a CPU (ARM7), SRAM, ROM, Battery Backed-up RAM (BBR), and Real-Time Clock (RTC). To keep running of BBR and RTC after power off, a backed-up battery, which has voltage in the range of 1.95 V to 3.6 V, is needed. Since BBR is used to store the updated position, ephemeris, and almanac data, the module can implement all the start-up modes with the back-up battery. Besides the above updated data can be saved to BBR, configuration data, which are available at startup, can be also saved to BBR. In addition, the 8 Mbit flash memory is the other location to save configuration setting permanently without the support of the backed-up battery.
Using high performance of software and firmware from u-blox, the module provides spectacular performance on navigation under static and dynamic conditions in multipath-trended areas, such as urban skyscrapers and canyons, remarkable
2
ATR 0600, ATR 0610, ATR 0620 are manufactured by Atmel corporation.
8
sensitivity for weak signals without sacrificing accuracy, AGPS function, DGPS function which is supported by RTCM, WAAS, and EGNOS, and flexibility for system integrations. Because of 8192 frequency search bins at the same time, it accelerates the start-up times of the module.
In addition to the above excellent advantages, FV-25 has the capabilities to perform low power consumption due to the advanced hardware components and implement power saving function owing to versatile firmware. The properties are very suitable for battery-operated products. In addition, our module has the size of only 25.4 mm x
25.4 mm. This feature allows the module more executable and achievable in the system integration, especially for the size-mattered products like handheld devices. Because of using advance technology in package, the module is highly integratable with other components and can be automatically assembled and proceeded in a standard pick-and-place equipment and reflow soldering in high volume. Therefore, the cost of module can be reduced.
1.1 Supports
For FV-25, we will provide a evaluation kit as an optional. The evaluation kit helps the users to perform the estimation of the module, which includes the start-up times, reacquisition time, setting of NMEA sentences, baud rate setting, etc.. All those functions and evaluations are supported by Sanav_Demo, which accompanies with the kit and is developed by San Jose Navigation, Inc.. Of course, for the customers without purchasing the kit, a reference layout for peripheral connections and Sanav_Demo are available. The details of the reference layout and Sanav_Demo will be described in Chapter 2. For the evaluation kit, its introduction is depicted in Chapter 5.
The other available tool for evaluate the module is Window’s “HyperTerminal”. For utilizing this tool and, at the same time, understanding the capability of the module, the commands and messages for polling data or setting configuration are described in Chapters 4 and 7.
9
Specification
Performance Characteristics
Receiver Type L1 frequency, C/A code, 16 Channels Position Accuracy w/o aid 3.3 m CEP DGPS
(WAAS, EGNOS,RTCM) 2.6 m
AGPS Support Yes Start-up Time Hot start < 3 s Warm start 35 s Cold start 41 s Reacquisition Time < 1 s Acceleration < 4 g Update Rate up to 4 Hz Timing Accuracy 50 ns RMS Sensitivity Acquisition -140 dBm Tracking -149 dBm
Power
Input Voltage 5.0 ~ 12.0 V DC Backup Voltage 1.95 ~ 3.3V DC Power Consumption Acquisition 101 mA @ 3 V Tracking 84 mA @ 3 V Sleep mode 20 mA @ 3 V
I/O
Protocols NMEA, UBX binary, RTCM Serial Ports Two RS232s @ 3.3 V 1 PPS @ 1.8 V Raw Measurements Pseudorange and Carrier Phase
Environment
Operating Temperature - 40 0C ~ 85 0C Storage Temperature - 40
0
C ~ 125 0C
Mechanical Information
10
Dimension 37.1mm x 25.6 mm Thickness 3.9 mm Weight 9.5 g (include an SMA jack and 5 cm RG-316)
Antenna
Type External Active or Passive Antenna Input Voltage (V
) 1.8 V ~ 8 V DC
ANT
Input Power limit (Active) < -17 dBm Gain (Active) up to 25 dB Supervision Build-in short circuit detection, External open
circuit detection
Note: For using the passive antenna, Pin VANT has to be connected to GND.
Table 1.1 Specification of FV-25.
11
Chapter 2 Start
2.1 Pin Definitions and Reference Layout
Figure 2.1 shows the pin definitions of FV-25. Table 2.1 describes the corresponding definitions for pins. Note that only either use VIN-1 (DC 5 ~ 12V) or VIN-2 (DC 3.3V) for voltage input. Also, if the Pins 1 ~ 10 are used, please leave Pins a ~ n being opened. There are two comm. ports to input/output the useful information (i.e. receiver’s and satellites’ data) for the users. The default setting for comm. 1 (either Pins 5 and 10 or Pins l and m) is to input/output the information in the ASCII format, which is NMEA with the default baud rate 4800 bps, and the default setting for comm. 2 ( either Pins 4 and 9 or Pins j and k) is to input/output the information in the binary format, which is UBX (proprietary messages) with the default baud rate 4800 bps. The protocols for NMEA and UBX sentences will be introduced in Chapter 7. All the serial ports are operated at the level of 1.8 V.
Figure 2.1 FV-25 Pin definitions (Top View)
12
Pin Definitions
Pin No. Title I/O Note
1
2 3 4 5 6
7
8 9
10
Pin No. Title I/O Note
VANT VIN-2
Ground
RX2 TX1
VIN-1 VBAK
1PPS
TX2 RX1
Antenna bias voltage input DC 1.8~ 8.0V (connect to ground
I
I
Voltage input 3.3V DC (MUST leave open if I Ground I Serial port 2 (leave open if not used)
O Serial port 1 (leave open if not used)
I
Voltage input 5~12V DC (MUST leave open if
Backup input voltage 1.95 ~ 3.3V DC (connect to ground if
I
O Time pulse (leave open if not used) O Serial port 2 (leave open if not used)
I Serial port 1 (leave open if not used)
if not used)
VIN-1 is used)
VIN-2 is used)
not used)
a VIN-1 I Voltage input 5~12V DC (MUST leave open if VIN-2 is used) b VANT I
Antenna bias voltage input DC 1.8~ 8.0V (connect to ground
if not used)
c VIN-2 I Voltage input 3.3V DC (MUST leave open if VIN-1 is used) d VBAK I
e Status O
Backup voltage input 1.95 ~ 3.3V DC (connect to ground if
not used)
GPS status (leave open if not used)
f Ground I Ground g Reset I/O h 1 PPS O
i Reserve I
External interrupt pin (default: internal pull up, leave open if
j TX2 O k RX2 I
l RX1 I
m TX1 O
n Reserve I
Table 2.1 Description of pin definition for FV-25
Note: Only either VIN-1 or VIN-2 can be used for voltage input, while VIN-2 is the pin for DC
Boot mode (in normal operation, leave open if not used)
Reset (active low, leave open if not used)
Time pulse (leave open if not used)
not used)
Serial port 2 (leave open if not used) Serial port 2 (leave open if not used) Serial port 1 (leave open if not used) Serial port 1 (leave open if not used)
3.3V and VIN-1 is for DC 5~12V.
13
2.2 Sanav_Demo
Sanav_Demo is required to run on a PC with at least 4 MB RAM and Windows 98 that has at least one available serial comm. port (from 1 to 24).
2.2.1 Port Number & Baud Rate
When users implement Sanav_Demo, the first window appeared on the screen is the setting of comm. port number and the corresponding value of baud rate, as shown in Figure 2.3. To open or close the “Setting” window, click the selection “File/Port” or
the short cut button
Figure 2.3 Setting of comm. port number and the value of baud rate.
.
For selecting the comm. port number, pull the scroll-down window for the “Comm port” item and there are twenty-four comm. port number available (i.e. com1 ~ com24), as shown in Figure 2.4. Users can scroll down the desired window to choose the corresponding comm. port number that connects between the module and the host PC.
14
Figure 2.4 Setting of comm. port number.
For setting the value of baud rate, pull the scroll-down window for the “Baud rate” item and the desired window shows that the available range of baud rate is from 2400 bps to 115200 bps, as shown in Figure 2.5. The users select the right one that will communicate the module with the host PC.
Figure 2.5 Setting of the value of baud rate.
2.2.2 Comm Port Connection and Disconnection
After the setting is completed, click the “Connect” button to make the connection between the GPS receiver (module) and host PC. If the setting is correct, the
15
subsequent window will be the one shown in Figure 2.6, i.e., the navigation data from the module are displayed in the corresponding sub-windows. If the setting values are not correct or the connection hasn’t established yet, Sanav_Demo will prompt a warning sentence “Comm port couldn’t be open, please check the device”.
When a new port setting is required, make sure Sanav_Demo is disconnected from the module before sending the request, i.e., click the “Disconnect” button in the “Setting” window as Sanav_Demo is in the connected mode. Otherwise, if users send a new setting to the module during the connected mode, there will be no response for the request.
Figure 2.6 Window after correct setting.
2.2.3 Constellation Map
There are two ways to show the constellation of GPS satellites, as shown in Figure 2.7. Click the selection “Windows/Map View” or the short cut button ?. If the module is acquiring a GPS satellite, the corresponding “satellite mark” in the “Map View” is represented by gray color and, on the other hand, if the module is continuously tracking a GPS satellite, the representing color is red, as shown in Figure 2.6.
16
Figure 2.7 Constellation Map of GPS satellites.
2.2.4 Message View for NMEA Messages
Figure 2.8 is the window for showing the desired (user-selected) output NMEA messages. There are two ways to show the “Message View” window. Click the item “Windows/Terminal View” or the shortcut button ?. The default window for “Message View” is only showing the output NMEA messages at current epoch (one epoch), like the one shown in Figure 2.6.
Figure 2.8 Window for showing NMEA messages.
Clicking the “Show all MS” button, the NMEA messages will be displayed
17
accumulatively within the sub-window until the sub-window is filled up, i.e., the “Message View” window contains NMEA messages from several epochs, as shown in Figure 2.9, and the oldest data will be “squeezed” out in the top of the sub-window while the new data will be displayed in the bottom of the sub-window.
After clicking the “Show all MS” button, the “Message View” window shows two available buttons: “Current MS” and “Save”. The “Current MS” button functions as showing the available NMEA messages of the current epoch, i.e., back to the original setting, as shown in Figure 2.6. The “Save” button saves the output NMEA messages in a user-defined file.
Figure 2.9 “Show all MS” window.
2.2.5 Available NMEA Messages
The output of NMEA messages can be selected through “Interval” under the “User Setting” window, as shown in Figure 2.10. There are two ways to show this sub-window: “Windows/User Setting” or the shortcut button ?.
The available NMEA messages for FV-25 are GGA, GLL, GRS, GSA, GSV, GST, RMC, TXT, VTG, and ZDA. The default output NMEA messages include the above all except TXT message. As shown in Figure 2.10, the number behind each message is the update rate of the sentence. Since the default values of the update rates for all messages are zeros, clicking the “OK” button without changing the default values, the module will stop outputting NMEA messages. If a user wants the module to output, for example, RMC message at the rate of 1 Hz, change the current number to 01 or 1.
18
Figure 2.10 Available NMEA messages.
NOTE: The output NMEA messages will be discarded or not transmitted if the
values of the baud rate is not sufficient to transmit the desired messages. Also, the discarded part won’t be output in the next epoch.
NOTE: The maximum update rate is 4 Hz.
2.2.6 GPS Satellite Information
Figure 2.11 shows the observable GPS satellite information, which includes SV PRN numbers, the corresponding values for elevation, azimuth, and SNR, and indication for utilization of satellite information in the calculation of the receiver’s position. For a satellite not used in the calculation of the receiver’s position, the satellite will be marked by “x” in the corresponding row of “Used in Position” and gray color in the SNR diagram. This sub-window can be activated by two ways: “Windows/Channel Signal Level View” or the shortcut button ?.
19
Figure 2.11 GPS satellite information.
2.2.7 Receiver Information
Figure 2.12 describes the receiver information. They are:
UTC Date: day/month/year; UTC Time: hour:minute:second; Lat: latitude xxyy.yyyy xx: degree, yy.yyyy: minute, -: southern hemisphere; Lon: longitude xxxyy.yyyy xxx: degree, yy.yyyy: minute, -: western hemisphere; Alt: altitude (meter); SVs(Used/All): (number of satellites used for position calculation) / (number of the
observable satellites);
Mode: 2D or 3D position; PDOP: Position Dilution Of Precision: geometry among the receiver and GPS
satellites;
Speed: module’s speed (knot); True Course: module’s moving direction with respect to North (clockwise, degree); Datum: type of coordinate frame (default: WGS 84); GPS Quality: SPS or PPS mode, position fixed or not.
The sub-window is activated by two ways: clicking “Windows/Measured Navigation Message View” or the shortcut button ?.
20
Figure 2.12 Receiver Information.
NOTE: Data displayed in the sub-windows (Figures 2.7, 2.9, 2.11, and 2.12) depend
on the user-selected output NMEA messages, i.e., if, for example, the module doesn’t output GSV message, the associated information, such as elevation, azimuth, SNR, etc., will not be displayed in the corresponding sub-windows.
2.2.8 T racking View
Clicking “Windows/Tracking View”, the global position differences relative to the first position fix will be depicted, as shown in Figure 2.13. The corresponding unit is meter or kilometer, which is indicated in the upper right corner of the sub-window. In Figure 2.13, there are two available functions that change the scale of the concentric circles: “zoom in” and “zoom out”. “ The scale ranges from 10 m to 500 km.
21
Figure 2.13 Tracking View.
2.2.9 User Setting
Clicking “Windows/User Setting” or the shortcut button ?, the “User Setting” window is activated, as shown in Figure 2.14. Click “” to move among the tags.
2.2.9.1 Position This function sets the initial latitude and longitude, as shown in Figure 2.14. For the initial values of latitude and longitude, users can select the degree (first column from left) and the integral part of minute (second column) from the “scroll-down” windows, and input the fractional part of minute (0 ~ 9999) in the last (third) column.
Figure 2.14 Initial position.
22
The output position will be updated as the position is fixed.
2.2.9.2 Time and day This function sets the initial UTC date and time, as shown in Figure 2.15. The format for UTC date is “YYYY (year), MM (month), DD (day)” and the format for UTC time is “hh (hour), mm (minute), ss (second)”. If a setting value is less than 10, the empty part (the left digit) of the setting value is filled by 0, for instance, 01.
Figure 2.15 Initial UTC time and day.
The initial UTC time and date will be updated as GPS satellites are acquired.
2.2.9.3 Local time zone This function sets the time difference between the local and Greenwich (UTC reference), as shown in Figure 2.16. The first column (from left) is “local zone hour” ranged from –13 to 13 (i.e. - / +: East / West of Greenwich) and its corresponding format is “hh”, i.e., the left digit might be filled by 0 if the value is less than 10. The second column is “local zone minute” ranged from 00 to 59 and its corresponding format is “mm”, which has the same format as the one for “local zone hour”.
23
Figure 2.16 Local time zone.
2.2.9.4 Restart This function sets the initial start-up mode, such as cold-start, warm-start, and hot-start, for the module, as shown in Figure 2.17.
Figure 2.17 Restart.
NOTE: For implementing the hot and warm starts, the module need a backed-up
battery to run RTC and support BBR, which is used to save updated position, ephemeris, and almanac data.
24
2.2.9.5 DGPS This function activates the differential GPS functions of the module, such as RTCM and WAAS/EGNOS, or only GPS function without aids, as shown in Figure 2.18.
Figure 2.18 DGPS.
2.2.9.6 Interval Referred to Section 2.2.5.
2.2.9.7 Geodetic ID This function sets coordinate datum that users prefer, as shown in Figure 2.19. A list of datum ID is summarized in the Appendix A.
Figure 2.19 Setting of coordinate datum.
25
Chapter 3 Alternative Start
This chapter introduces an alternative utility, HyperTerminal (from Windows), to display the NMEA information. And, Using the utility, users can send a request to poll the desired NMEA information or implement other configurations from the module without the aid of Sanav_Demo. The following information only describes the needed operations for our purposes.
3.1 Connection Settings
To activate the application, HyperTerminal, click “Start/Programs/Accessories/Communications/HyperTerminal” under Windows. Figure 3.1 depicts the default window of HyperTerminal. As usual, before implementing the communication, users have to set the comm. port number, port setting (i.e. baud rate, data bits, parity, stop bits, and flow control), and so on. The connection/communication setting can be done by clicking “File/Properties” or the first shortcut button from right. The resulting window is shown in Figure 3.2. But, before a user sets any connection settings, HyperTerminal has to be in the mode of disconnection, which can be activated by clicking the fourth shortcut button from right. The status (connected/disconnected) can be seen at the lower right corner of the window. The “Configure…” button in Figure 3.2 functions as port settings, such as baud rate, data bits, parity, stop bits, and flow control.
Figure 3.1 HyperTerminal application.
NOTE: The connection settings can not be implemented while HyperTerminal is in
26
the mode of connection.
Figure 3.2 Connection settings.
After setting all the necessary data, click the connection button, which is the fifth shortcut button from right. If the setting is correct, the HyperTerminal window will show desired output (NMEA messages), as shown in Figure 3.3, and if not, the window will show random characters or nothing at all.
Figure 3.3. Correct connection settings.
3.2 Saving the Data
For saving the output data, click “Transfer/Capture Text…”. The subsequent window
27
will ask users to input the file name and folder.
3.3 Setting Configuration or Polling Information from Module
For setting or polling the desired information, click “Transfer/Send Text File…” button to send a “.txt” file, which contains command sentences, to activate the module. The file is created by users before click the button, and the formats for the command sentences are referred to Chapter 7.
28
Chapter 4 Navigation
4.1 Operating Modes
4.1.1 Continuous Tracking Mode (CTM)
CTM is the default setting of the module. While the CTM is on, the module tracks GPS signals and estimates position continuously, i.e., satellite acquisition, reacquisition, and tracking are the states in the CTM. This is the standard operating mode for the general GPS receivers. Therefore, this mode is not designed for saving power but for obtaining maximum accuracy in position. In other words, the module with the CTM on usually operates in the Full Power State and the corresponding operating current, which depends on the activities of CPU load, I/Os, and peripheral hardware, may fluctuate significantly.
4.1.2 FixNOW Mode (FXN)
This is a power saving mode, which will shut down the module automatically if no GPS signals are detectable. For further saving power consumption, the FXN allows users to set the module into Sleep State. This mode is especially important for power-concerned products, such as handheld devices.
During this mode, the navigation data is computed as required or at the predefined intervals. This (navigation data) can be done by using the UBX-RXM-POSREQ or Pin 6 “Extint 0” to wake up the module and then calculate a Position-Velocity-Time (PVT) solution during the off-time of FixNOW Mode. The other way to wake up the module without using serial port communication or external interrupt is to utilize the internal RTC, which is used for a timeout setting. For enabling or disabling the FXN, send the request by using the UBX-CFG-RXM message. For the detail configuration of this mode, refer to the UBX-CFG-FXN message.
NOTE: The descriptions of the UBX proprietary messages are referred to Chapter 7.
NOTE: To implement the current configuration in the next time, the current one has
be saved in the Battery Backed RAM (BBR), which is powered by a backed-up battery (1.95V ~ 3.6V), or the Flash memory.
4.2 Start-Up Modes
Table 4.1 shows the differences among cold-start, warm-start, and hot-start modes.
29
Conditions
Time Position Almanac Ephemeris Modes Cold Start None None None None Warm Start Yes Yes Yes None Hot Start Yes Yes Yes Yes
Table 4.1 Conditions for Start-Up modes.
For the cold-start mode, the module assigns all the available SVs to 16 channels in a defaulted order. As a satellite is acquired, GPS time, associated ephemeris and almanac data, which will take 12.5 minutes to download the data for all the available satellites, are being downloaded and decoded, and the module’s status is then transferred to tracking start. Once number of tracking satellites with valid ephemeredes are greater than and equal to 3, the module’s position is calculated and output, i.e., the module starts to navigate.
For the warm-start mode, based on the available time (from RTC), position, and almanac data, the channels (up to 12) are assigned with observable satellites and the rest of them are assigned to unobservable satellites. As the observable satellites are acquired, time and almanac data are updated (if needed) and the corresponding ephemeredes are downloaded and decoded. As soon as the module are tracking at least three GPS satellites, the position is calculated and updated, and the module is in the navigation mode.
For the hot-start mode, based on the available time, position, almanac, and ephemeris data, the channels (up to 12) are assigned with observable satellites and the rest of them are assigned to unobservable satellites. The module enters the navigation mode almost instantly after power on. The time and position will be updated if needed as the satellites are acquired. But the almanac and ephemeris data will not be updated since they are already the “newest” information.
NOTE: To implement the warm and hot starts, a backed-up battery is needed to run
the RTC. The updated position, ephemeris, and almanac can be retrieved from BBR or Flash memory.
4.3 Aiding - AGPS
The module can implement Assisted GPS (AGPS) function, which will accept external input information, such as time, position, almanac, and ephemeris. This will improve the performance of the module on Time To First Fix (TTFF). How much this
30
will improve on TTFF depends on the accuracy of position and time from a near base station (service center) as well as hardware synchronization.
The AGPS function of the module is activated by sending u-blox binary protocol UBX-AID-REQ. If there is no data available from a near base station, the module is back to its normal start-up modes.
4.4 Sensitivity
There are three modes available for the module, which are “Normal”, “Fast Acquisition” and “High Sensitivity”. Table 4.2 lists their associated definitions.
Sensitivity Modes Properties Notes
Normal Default setting
Fast Acquisition “Normal” sensitivity – 3 dB When the C/N0 ratio of the
strongest GPS signal is greater than 48 dB, this mode can be used.
High Sensitivity “Normal” sensitivity + 3 dB When the C/N0 ratio of the
strongest GPS signal is less than 45 dB, this mode can be used.
Table 4.2 Available sensitivity modes.
When the module tracks the weak GPS signals, the “High Sensitivity” mode is preferable as compared with the case for tracking strong GPS signals in which the “Fast Acquisition” is preferable. Different modes correspond to different TTFF times under different start-up modes, i.e., it’s a trade-off between sensitivity and TTFF time. Usually, the TTFF relationships among three modes are
TTFF
< TTFF
fast
normal
< TTFF
high
where TTFF
: TTFF for “Fast Acquisition”, “Normal”, or “High Sensitivity” mode.
(•)
Users are recommended to use the default setting, “Normal” mode, due to the unknown and variable operating condition that the module is surrounded. The sensitivity setting is activated by sending the request the UBX-CFG-RXM message.
NOTE: This module has a built-in LNA. If an active antenna with gain exceeded 25
31
dB is used, the “High Sensitivity” mode is not recommended.
4.5 Navigation Data
4.5.1 Position Format
The navigation data can be output in the format of local geodetic frame (latitude, longitude, and altitude), ECEF (Earth-Centered Earth-Fixed) frame, or Universal Transverse Mercator (UTM) frame. To poll the navigation information from the module, send the request UBX-CFG-NAV. For FV-25, the default position settings are expressed in the format of local geodetic frame, which can be retrieved from message UBX-NAV-POSLLH, and ECEF frame, which can be retrieved from message UBX-NAV-POSECEF. The position expressed in UTM frame can be obtained from “$PUBX,01,…” under proprietary NMEA protocol. The “$PUBX,01,…” is not a standard output for FV-25 and can be polled by sending “$PUBX,sid*cs<CR><LF>”.
NOTE: The descriptions of the standard and proprietary NMEA messages are
described in Chapter 7.
4.5.2 Datums
The position expressed in WGS 84 format (default) can be transferred to the user’s preferable format based on more than 200 standard datums (referred to Appendix A), or a user-defined datum, which is activated by sending the UBX-CFG-DAT message.
4.5.3 Update Rate
The module supports the update rates up to 4 Hz. This function is activated by sending the UBX-CFG-RATE message. The default update rate is 1 Hz.
NOTE: The update rate has effects on power consumption and position accuracy.
4.5.4 Kinematic Mode
The module enables users to select the corresponding kinematic mode, such as static case and different dynamic scenarios, for a vehicular carrier. This function is implemented by sending the UBX-CFG-NAV message.
4.6 Navigation for Less Than 4 Observable Satellites
4.6.1 2D Navigation
When number of observable satellites is 3, the navigation algorithm of the module allows position estimate but with the assumption of constant altitude, i.e., the module enters 2D navigation. If the 2D position fix is the first position fix since power on, the
32
initial/assumed value of the altitude is 500 m. If the 2D position fix occurs after the 3D position fix (number of observable satellites drops from at least 4 to 3), the value of the altitude will keep the last known value of the altitude from the previous 3D position fix.
4.6.2 Dead Reckoning
As the module loses the tracks for all observable GPS signals because of, for example, an external blockage, the navigation algorithm implements the Dead Reckoning strategy. The strategy assumes the same velocity and direction as the last known values of velocity and direction, i.e., the constant velocity and direction, during the event. Under the assumption, the positions are predicted (extrapolated) but with indication “NoFix” until the Dead Reckoning timeout is reached. The value of the timeout is set by the UBX-CFG-NAV message.
4.7 Almanac Navigation
With Almanac Navigation enabled, based on valid almanac, the position can be estimated without valid ephemeris data. This is a possible scenario that the position is fixed while ephemeris data have not been downloaded completely. Therefore, the TTFF times are much faster for Almanac Navigation than “normal navigation” (using ephemeredes to estimate position). However, the deviation of position can be up to a few kilometers. However, this event might be particularly useful when users or carriers need position desperately, such as emergency and security systems, but “ephemeris” position is not available.
The activation of Almanac Navigation is implemented by the UBX-CFG-NAV message. By controlling the position accuracy, use parameters in the UBX-CFG-NAV message, such as “PDOP Mask” and “Position Accuracy Mask”, to filter out the “outsiders”.
4.8 DGPS – WAAS, EGNOS, & RTCM
The module utilizes the correction data from WAAS, EGNOS, or RTCM to obtain better position accuracy. Use the UBX-CFG-SBAS message, the functions for enabling WAAS or EGNOS tracking can be activated. For activation of RTCM, the users need an extra antenna-micro controller set, which has ability to receive and retrieve correction data from the signal transmitted from the near service station, connected to one of the comm. ports of the module. The corresponding comm. port needs correct setting, which is set by the “$PUBX,41,…” message. The module supports RTCM Correction Type Messages 1, 2, 3, and 9. For more information about
33
RTCM protocol, please refer to the web site http://www.rtcm.org/.
The DGPS parameters can be changed in the UBX-CFG-NAV message, like DGPS Timetag Rounding. Do not change them under no specific reasons because the default values are based on real tests with DGPS function.
NOTE: The correction data from the RTCM messages can be monitored by the
UBX-NAV-DGPS message, which doesn’t provide the supervision on WAAS and EGNOS.
4.9 Receiver Autonomous Integrity Monitoring (RAIM)
The purpose of RAIM is to monitor the received GPS signals and ensure the message data from satellites which are valid for estimating navigation solution. With five observable GPS satellites, a bad satellite could be detected if existed. For the case with at least six observable satellites, an existed bad satellite could be detected and neglected in the estimation of navigation solution. The default setting for RAIM is on and can be controlled by three parameters- Range Check, Doppler Check, and Delta Check (all enabled)- in the UBX-CFG-NAV message. It is recommended that RAIM function is always on.
4.10 Time Pulse (1 PPS)
Pin 14 “Time Pulse” will output the default setting 1 PPS if it is connected. For the Time Pulse settings and information, refer to the UBX-CFG-TP and UBX-TIM-TP messages.
34
Chapter 5 Evaluation Kit
The evaluation kit is an optional accessory while purchasing the module. It will provide an easy way to estimate the performance of our module. The users can also follow the reference circuit design in Chapter 2 to test the performance of the module.
In this chapter, all the information about the evaluation kit, which includes the output ports, buttons, and LED lights, is described. As long as the procedure is correct and complete, the module will output the desired messages at the desired port and activate the desired functions through the desired port. All of those functions can be achieved by using software commands. The settings and commands are described in Chapters 2 and 7.
As shown in Figure 5.1, the appearance of the evaluation kit is depicted. The whole kit should include, in addition to the main box itself,
a 12 V adapter; an active antenna with SMA (male) connector; two RS232 cables;
Figure 5.1 Main box of the evaluation kit.
Figure 5.2 shows the front panel of the evaluation kit. It includes (from left to right) Power Switch, Comm. Port 2, Boot button, LED function lights, and Reset button. The default output protocol for Comm. Port 2 is UBX binary messages with baud rate 57600 bps. The Boot button is for read/write purpose to the flash memory. The definitions for LED lights are indicated in the figure. The Reset button can be used to
35
re-start up the GPS module in the either Continuous Tracking Mode or FixNow mode.
Figure 5.2 Front panel of the evaluation kit.
Figure 5.3 shows the back panel of the evaluation kit. It includes (from left to right) the Antenna Input, Comm. Port 1, 1PPS Output, and Power Input. The Antenna Input is a SMA female connecter which is for 3.0 V or 5.0 V active antenna depending on the jump position (J16). The Comm. Port 1 outputs NMEA messages at the baud rate of 19200 bps as the default setting. The 1PPS Output, which is a BNC (female) output port, is used to output a time pulse per second. For the Power Input of the kit, it accepts the input voltage in the range of 8 ~ 40 V.
Figure 5.3 Back panel of the evaluation kit.
36
Both Comm. ports are the bi-directional ports, i.e., the ports also accepts user software commands. For receiving RTCM message, either port can be used to accept the data through software command.
37
Chapter 6 Antennas
To get the maximum performance from the module, in addition to the own properties of the module, one of the important factors is how to select fitted antennas for the module because the quality of the received signals is determined as soon as the signals enter the RF section and can not be improved much by the subsequent filters and amplifiers.
The character of the GPS signal is right hand circular polarized (RHCP). So, for obtaining good GPS signals without losing too much, it’s better to use the RHCP antennas. Otherwise, for example, using a simple linear polarized antenna to receive GPS signals, the received GPS signals will lose at least 3 dB in SNR. In addition, the size of an antenna also affects the received signal energy or SNR. Usually, the smaller the size of the antenna, the lower overall gain pattern of the antenna. In other words, the smaller size of the antenna will result in the lower SNR of the received GPS signals. As more and more new antenna products emphasize on the size issue because of more and more GPS related portable devices appeared, there is no way to avoid this problem (low SNR), even with the aid of an amplifier after the antenna.
Therefore, for retrieving the most information, a large size antennas are preferable, and even for special applications (e.g. surveying), a special mechanism structure design is desirable, such as choke ring antenna which is used for mitigating multipath effect. As a result, an antenna with large size, high power consumption, and high cost is produced for high precision applications. Furthermore, for high precision applications with millimeter accuracy in position, it is important to have stable phase centers (L1/L2) that are exactly known.
6.1 Passive Antennas
Utilizing passive antennas in users’ applications, more attention is needed in the layout of the RF section. Usually, the passive antenna is placed next to a module as close as possible because of dB loss and no power amplification. However, the proximity of antenna to electronic parts will induce the interference on the incoming GPS signals from the module and the peripheral electronic circuits, even worse the interference will cause signal jamming. Therefore, more careful considerations on the layout of RF section should be taken. This selection is only suitable for those who are familiar with the RF design.
38
For using passive antennas, the pin VANT (DC bias voltage) on the module is connected to ground, and the antenna is directly connected to the GPS signal input pin ANT. Sometimes, a passive matching connection is required to match the electrical circuit to 50 Ohms impedance.
6.2 Active Antennas
For FV-25, the active antenna is integrated with a Low Noise Amplifier (LNA), which is a built-in component part, in the RF section. Through pin ANT, the module obtains the incoming signal from the antenna. The power supply for the active antenna is from pin VANT and, in general, the supply voltage is transmitted by the coaxial RF cable. The supply voltage in pin VANT is supported by either source. One is from the external power supply and the other is from the output pin VRF (connected with VANT), which is the power supply from the module for RF section. The voltage requirements for the antenna and the pins on the module have to be specified.
The use of the active antennas will decrease the “bad” effects, which result from the cable loss and hardware noises, on the received GPS signals. Therefore, the placement of the active antenna can be away from the possible noise sources, for example, the module and peripheral circuits, and the active antenna will have good performance if it is located far from the noise sources. This will ease the circuit design, and the received signals is less sensitive to jamming. But the active antenna will increase the power consumption of the whole system, typically in the range of 5 mA to 20 mA.
It is recommended to use an active antenna if the cable length between module and antenna exceeds 10 cm. The same advice also goes for users without much experience on the RF design. For FV-25, the active antenna gain should not exceeds 25 dB because an saturation (overload) condition might occur for high gain (> 25 dB) cases.
NOTE: It’s better not to disconnect antenna during the operation of the module. The
calculation of the reference floor noise is based on the actual condition after the power is turned on. Hence, the reacquisition time may be prolonged after re-connecting the antenna to the module.
NOTE: To verify the reacquisition time, users can use a physical object to block the
antenna from receiving the signal until the module loses the lock of the satellites and then take the object away from the antenna.
39
6.3 Active Antenna Supervisor - Short Circuit Protection
This is a built-in function that is monitored by the BaseBand processor. If an abnormal current occurs and is detected, the voltage supply at pin VANT (from the external or internal power supply) will be turned off by the BaseBand processor. The way to reset the operation of the module is to have a hardware reset of the module, such as turning off and then on the module or pressing the reset button.
NOTE: Without the short circuit protection, the large current will cause the damage
on the module permanently.
40
Chapter 7 Available NMEA and UBX Messages
7.1 NMEA Protocol
The NMEA protocol expresses the data in the format of ASCII. This is a standard format for GPS applications. The module (FV-25) outputs two types of NMEA messages. One is the standard NMEA messages, that are widely accepted by plotters and GPS related devices, and the other is u-blox proprietary NMEA messages.
7.1.1 Standard NMEA Messages
The module can output 10 standard NMEA messages, which are
GGA – Global Positioning System Fix Data; GLL – Geographic Position – Latitude/Longitude; GRS – GNSS Range Residuals; GSA – GNSS DOP and Active Satellites; GST – GNSS Pseudorange Error Statistics; GSV – GNSS Satellites in View; RMC – Recommended Minimum Specific GNSS Data; TXT – T est Transmission; VTG – Course Over Ground and Ground Speed; ZDA – Time & Date.
The default output messages include all messages except the TXT message. Those messages are output at comm. port 1 at the rate of 19200 bps (default setting). The request for outputting user-selected standard NMEA messages is the “$xxGPQ,..” message (referred to the following interpretation for GPQ). The port settings can be performed by sending the “$PUBX,41,..” message (ASCII format) or UBX-CFG-PRT message (Binary format).
The following will summarize the available NMEA messages. More information about the NMEA messages refers to “NMEA 0183, Standard For Interfacing Marine Electronic Devices, Version 2.30, March 1, 1998”.
NOTE: In the NMEA messages, the position fix is valid only if the following
conditions are satisfied: 1) at least three satellites observable (i.e. 2D or 3D); 2) for the 3D case, the position accuracy should be less than the setting value of the “Position Accuracy Mask”; 3) The PDOP value is constrained by the setting value of
41
the “PDOP Accuracy Mask”.
42
GGA – GPS Fix Data
Position fix related data, such as position, time, number of satellites in use, etc..
$GPGGA,gga1,gga2,gga3,gga4,gga5,gga6,gga7,gga8,gga9,gga10,gga11,gga12,gga 13,gga14*hh<CR><LF>
Parameters Descriptions Notes
gga1 UTC time as position is fixed hhmmss.ss: hh – hour; mm –
minute; ss.ss – second
gga2 Latitude ddmm.mmmmm: dd – degree;
mm.mmmmm – minute (0o ~ 90o) gga3 Latitude sector N – North; S - South gga4 Longitude dddmm.mmmmm: dd – degree;
mm.mmmmm – minute (0o ~ 180o) gga5 Longitude sector E – East; W - West gga6 GPS quality indicator 0 – No fixed or invalid position
1 – SPS Position available
2 – Differential GPS (SPS)
6 – Estimated position (DR) gga7 Number of SVs used in position
xx: 00 ~ 12
estimation gga8 HDOP xx.x: 00.0 ~ 99.9 gga9 Altitude above mean sea level
(geoid)
gga10 Unit for Altitude M: meter gga11 Geoidal separation gga12 Unit for geoidal separation M: meter gga13 Age of differential corrections unit : second; null when DGPS is
not used
gga14 Reference station ID (DGPS) xxxx: 0000 ~ 1023
hh Checksum hex number (2 – character)
<CR><LF> End of message
43
GLL – Geographic Position – Latitude/Longitude
Navigation data and status.
$GPGLL,gll1,gll2,gll3,gll4,gll5,gll6,gll7*hh<CR><LF>
Parameters Descriptions Notes
gll1 Latitude ddmm.mmmmm: dd – degree;
mm.mmmmm – minute (0o ~ 90o) gll2 Latitude sector N – North; S – South gll3 Longitude dddmm.mmmmm: ddd – degree;
mm.mmmmm – minute (0o ~ 180o) gll4 Longitude sector E – East; W – West gll5 UTC time as position is fixed hhmmss.ss: hh – hour; mm – minute;
ss.ss – second gll6 Status for position fix A – Valid; V – Invalid gll7 Navigation mode indicator A – Autonomous mode (fix);
D – Differential mode (fix);
E – DR (fix);
N – not valid
hh Checksum hex number (2 – character)
<CR><LF> End of message
44
GRS – GNSS Range Residual
This message is used to monitor and support RAIM.
$GPGRS,grs1,grs2,(grs3*12)*hh<CR><LF>
Parameters Descriptions Notes
grs1 UTC time from the GGA hhmmss.ss: hh – hour;
mm – minute; ss.ss – second
grs2 Mode to indicate the way to calculate
the range residuals. 0 – calculate the range residuals while the GGA position is estimated; 1 – recalculate the range residuals after the GGA position is estimated.
grs3*12 Range residuals for satellites used in
position calculation. There will be 12 available fields for residuals. If number of satellites is less than 12, the remaining fields will be left as empty fields. If number of satellites is greater than 12, only the values of the first 12 satellites will be output.
hh Checksum hex number (2 – character)
<CR><LF> End of message
Always in Mode 1
-999.9 ~ 999.9
45
GSA – GNSS DOP and Active Satellites
Receiver operating mode, the values of DOPs, and PRN numbers for satellites used in the GGA position solution.
$GPGSA,gsa1,gsa2,(gsa3*12),gsa4,gsa5,gsa6*hh<CR><LF>
Parameters Descriptions Notes
gsa1 gsa2 Mode for position fix 1 – fix not available;
2 – 2D; 3 – 3D;
gsa3*12 PRN numbers for satellites used in the
xx position solution. There will be 12 available fields for PRN numbers. If number of satellites is less than 12, the remaining fields will be left as empty fields. If number of satellites is greater than 12, only the values of the first 12 satellites will be output.
gsa4 PDOP 0 ~ 99.9 gsa5 HDOP 0 ~ 99.9 gsa6 VDOP 0 ~ 99.9
hh Checksum hex number (2 – character)
<CR><LF> End of message
46
GST – GNSS Pseudorange Error Statistics
This message is used to monitor and support RAIM.
$GPGST,gst1,gst2,gst3,gst4,gst5,gst6,gst7,gst8*hh<CR><LF>
Parameters Descriptions Notes
gst1 UTC time from the GGA hhmmss.ss: hh – hour;
mm – minute; ss.ss –
second
gst2 RMS value of the standard deviation of
the range
gst3 Standard deviation of semi-major axis of
Not supported (empty field) error ellipse (meters)
gst4 Standard deviation of semi-minor axis of
Not supported (empty field) error ellipse (meters)
gst5 Orientation of semi-major axis of error
Not supported (empty field) ellipse
gst6 Standard deviation of latitude error
(meters)
gst7 Standard deviation of longitude error
(meters)
gst8 Standard deviation of altitude error
(meters)
hh Checksum hex number (2 – character)
<CR><LF> End of message
47
GSV – GNSS Satellites in View
This message indicates the observable satellites’ information, such as PRN numbers, elevation, azimuth, SNR, and number of satellites in view.
$GPGSV,gsv1,gsv2,gsv3,((gsv4,gsv5,gsv6,gsv7)*n)*hh<CR><LF>
Parameters Descriptions Notes
gsv1 Total number of messages 1 ~ 9 gsv2 Message number 1 ~ 9 gsv3 Total number of satellites in view gsv4 PRN number gsv5 Elevation (degrees) 90o maximum gsv6 Azimuth (degrees) 0o ~ 360o gsv7 SNR (C/N0) 0 ~ 99 dB-Hz, null when not
tracking
hh Checksum hex number (2 – character)
<CR><LF> End of message
The message can carry at most four (gsv4,gsv5,gsv6,gsv7) sets of observable satellites. For a less than four-set case, the message only transmits available sets and the rest of them will not be output, i.e., the message doesn’t transmit empty fields.
48
RMC – Recommended Minimum Specific GNSS Data
This message transmits the necessary navigation data, such as time, position, speed, course, and so on.
$GPRMC,rmc1,rmc2,rmc3,rmc4,rmc5,rmc6,rmc7,rmc8,rmc9,rmc10,rmc11,rmc 12*hh<CR><LF>
Parameters Descriptions Notes
rmc1 UTC time as position is fixed hhmmss.ss: hh – hour; mm –
minute; ss.ss – second
rmc2 Status of position fix A – data valid, which includes the
scenarios of 2D, 3D, and DR. V – navigation receiver warning
rmc3 Latitude ddmm.mmmmm: dd – degree;
o
mm.mmmmm – minute (0
~ 90o) rmc4 Latitude sector N – North; S – South rmc5 Longitude dddmm.mmmmm: ddd – degree;
mm.mmmmm – minute (0o ~ 180o)
rmc6 Longitude sector dddmm.mmmmm: ddd – degree;
mm.mmmmm – minute (0o ~ 180o) rmc7 Speed over ground (SOG) (knots) rmc8 Course over ground (COG)
Referenced to true north
(degrees)
rmc9 UTC Date ddmmyy: dd – day; mm – month;
yy – year
rmc10 Magnetic variation (degrees) Not supported
rmc11 Direction of magnetic variation Not supported
rmc12 Navigation mode indicator A – Autonomous mode (fix);
D – Differential mode (fix);
E – DR (fix);
N – not valid
hh Checksum hex number (2 – character)
<CR><LF> End of message
49
TXT – Text Transmission
The message is used to transmit short text messages. Transmitting a longer message needs multi-TXT messages.
$GPTXT,txt1,txt2,txt3,txt4*hh<CR><LF>
Parameters Descriptions Notes
txt1 Total number of messages 01 ~ 99 txt2 Message number 01 ~ 99 txt3 Text identifier 00 – error
01 – warning 02 – notice 07 – user
txt4 Text ASCII format
hh Checksum hex number (2 – character)
<CR><LF> End of message
50
VTG – Course Over Ground and Ground Speed
This message transmits the speed and course relative to ground.
$GPVTG,vtg1,vtg2,vtg3,vtg4,vtg5,vtg6,vtg7,vtg8,vtg9*hh<CR><LF>
Parameters Descriptions Notes
vtg1 Course over ground (degrees) Referenced to true north
(000.00o ~ 359.99o) vtg2 Indicator of course reference T – true north vtg3 Course over ground (degrees) Referenced to magnetic
north (000.00o ~ 359.99o) vtg4 Indicator of course reference M – magnetic north vtg5 Speed over ground (knots) vtg6 Unit of speed N – nautical miles per hour vtg7 Speed over ground (km/hr) vtg8 Unit of speed K – kilometers per hour vtg9 Navigation mode indicator A – Autonomous mode
(fix);
D – Differential mode (fix);
E – DR (fix);
N – not valid
hh Checksum hex number (2 – character)
<CR><LF> End of message
51
ZDA – Time & Date
This message transmits UTC time and date, and local time zone.
$GPZDA,zda1,zda2,zda3,zda4,zda5,zda6*hh<CR><LF>
Parameters Descriptions Notes
zda1 UTC time hhmmss.ss: hh – hour; mm –
minute; ss.ss – second zda2 UTC day 01 ~ 31 zda3 UTC month 01 ~ 12 zda4 UTC year xxxx (4 digits) zda5 Local zone hours Not supported (default: 00) zda6 Local zone minutes Not supported (default: 00)
hh Checksum hex number (2 – character)
<CR><LF> End of message
52
7.1.2 Proprietary NMEA Messages
The non-standard NMEA messages is proposed by u-blox. The proprietary (non-standard) NMEA messages are grouped into two categories:
Proprietary NMEA (PUBX) PUBX,00 – Latitude/Longitude Position Data PUBX,01 – UTM Position Data PUBX,03 – Satellite Status PUBX,04 – Time of Day and Clock Information PUBX,40 – Set NMEA Message Update Rate PUBX,41 – Set Protocols and Baudrate Queries GPQ – Polls a Standard NMEA Message PUBX – Polls a PUBX Message.
53
PUBX, 00 – Latitude/Longitude Position Data
Output message. This message transmits navigation data defined in the local geodetic frame.
$PUBX,00,p00x1,p00x2,p00x3,p00x4,p00x5,p00x6,p00x7,p00x8,p00x9,p00x10,p0 0x11,p00x12,p00x13,p00x14,p00x15,p00x16,p00x17,p00x18,p00x19*hh<CR><LF >
Parameters Descriptions Notes
p00x1 UTC time hhmmss.ss: hh – hour; mm –
minute; ss.ss – second
p00x2 Latitude ddmm.mmmmm: dd – degree;
mm.mmmmm – minute (0o ~ 90o) p00x3 Latitude sector N – North; S – South p00x4 Longitude dddmm.mmmmm: ddd – degree;
mm.mmmmm – minute (0o ~ 180o) p00x5 Longitude sector E – East; W – West p00x6 Altitude above ellipsoid (meters) p00x7 Navigation mode NF – not fix
DR – dead reckoning solution
G2 – 2D
G3 – 3D
D2 – differential 2D
D3 – differential 3D p00x8 Position accuracy in the horizontal
0 ~ 9999
direction (meters)
p00x9 Position accuracy in the vertical
0 ~ 9999
direction (meters)
p00x10 Speed over ground (km/hr) -999.99 ~ 999.99
p00x11 Course over ground (degrees) 000.00 ~ 359.99
p00x12 Velocity in the vertical direction
-999.99 ~ 999.99 (positive: up)
(m/s)
p00x13 Age of DGPS corrections
(seconds)
000.00 ~ 999.99 (empty field for
not available)
p00x14 HDOP 00.0 ~ 99.9 p00x15 VDOP 00.0 ~ 99.9 p00x16 GDOP 00.0 ~ 99.9 p00x17 Number of GPS satellites used in
54
the position calculation
p00x18 Number of GLONASS satellites
Always 0
used in the position calculation
p00x19 Dead reckoning used 0 – No; 1 – Yes
hh Checksum hex number (2 – character)
<CR><LF> End of message
55
PUBX, 01 – UTM Position Data
Output message. This message transmits navigation data defined in the Universal Transverse Mercator (UTM) frame.
$PUBX,01,p01x1,p01x2,p01x3,p01x4,p01x5,p01x6,p01x7,p01x8,p01x9,p01x10,p0 1x11,p01x12,p01x13,p01x14,p01x15,p01x16,p01x17,p01x18,p01x19*hh<CR><LF >
Parameters Descriptions Notes
p01x1 UTC time hhmmss.ss: hh – hour; mm –
minute; ss.ss – second p01x2 UTM Easting (meters) p01x3 Longitude sector E – East; W – West p01x4 UTM Northing (meters) p01x5 Hemisphere N – North; S – South p01x6 Altitude above ellipsoid (meters) p01x7 Navigation mode NF – not fix
DR – dead reckoning solution
G2 – 2D
G3 – 3D
D2 – differential 2D
D3 – differential 3D p01x8 Position accuracy in the horizontal
0 ~ 9999
direction (meters)
p01x9 Position accuracy in the vertical
0 ~ 9999
direction (meters)
p01x10 Speed over ground (km/hr) -999.99 ~ 999.99
p01x11 Course over ground (degrees) 000.00 ~ 359.99
p01x12 Velocity in the vertical direction
-999.99 ~ 999.99 (positive: up)
(m/s)
p01x13 Age of DGPS corrections
(seconds)
000.00 ~ 999.99 (empty field for
not available)
p01x14 HDOP 00.0 ~ 99.9 p01x15 VDOP 00.0 ~ 99.9 p01x16 GDOP 00.0 ~ 99.9 p01x17 Number of GPS satellites used in
the position calculation
p01x18 Number of GLONASS satellites Always 0
56
used in the position calculation
p01x19 Dead reckoning used 0 – No; 1 – Yes
hh Checksum hex number (2 – character)
<CR><LF> End of message
57
PUBX,03 – Satellite Status
Output message.
$PUBX,03,p03x1,((p03x2,p03x3,p03x4,p03x5,p03x6,p03x7)*n)*hh<CR><LF>
Parameters Descriptions Notes
p03x1 Number of GPS satellites tracked p03x2 PRN number 01 ~ 32 p03x3 Satellite status - – not used
U – used e – available for navigation,
but no ephemeris p03x4 Azimuth (degrees) 000 ~ 359 p03x5 Elevation (degrees) 00 ~ 90 p03x6 SNR (dB-Hz) 00 ~ 55 p03x7 Carrier lock time (seconds) 0 ~ 255
0: code lock only;
255: lock time at least 255
seconds.
hh Checksum hex number (2 – character)
<CR><LF> End of message
The message will repeatedly output the format­(p03x2,p03x3,p03x4,p03x5,p03x6,p03x7)- n times, which is equal to the value in p03x1 field.
58
PUBX,04 – Time of Day and Clock Information
Output message. This message transmits UTC time, week number, and clock offset.
$PUBX,04,p04x1,p04x2,p04x3,p04x4,p04x5,p04x6,p04x7,p04x8*hh<CR><LF>
Parameters Descriptions Notes
p04x1 UTC time hhmmss.ss: hh – hour; mm –
minute; ss.ss – second
p04x2 UTC date ddmmyy: dd – day; mm – month;
yy – year p04x3 UTC – time of week (seconds) p04x4 GPS week number p04x5 Reserved p04x6 Receiver clock bias (nanoseconds) p04x7 Receiver clock drift
(nanoseconds/second)
p04x8 Time pulse granularity (nanoseconds)
hh Checksum hex number (2 – character)
<CR><LF> End of message
59
GPQ – Poll Message
Input message. Poll a standard NMEA message.
$xxGPQ,gpq1*hh<CR><LF>
Parameters Descriptions Notes
$xxGPQ NMEA message header xx: talker device identifier
gpq1 NMEA message ids String format: GGA, GLL,
hh Checksum hex number (2 – character)
<CR><LF> End of message
GRS, GSA, GST, GSV, RMC, TXT , VTG, and ZDA
60
PUBX – Poll a PUBX Message
Input message. Poll the proprietary PUBX messages.
$PUBX,p1*hh<CR><LF>
Parameters Descriptions Notes
p1 Proprietary message ids xx: 00, 01, 03, and 04 hh Checksum hex number (2 – character)
<CR><LF> End of message
61
PUBX,40 – Set NMEA Message Output Rate
Input message.
$PUBX,40,p40x1,p40x2,p40x3,p40x4,p40x5*hh<CR><LF>
Parameters Descriptions Notes
p40x1 NMEA message ids String format: GGA, GLL, GRS,
GSA, GST, GSV, RMC, TXT, VTG, and ZDA
p40x2 Number of cycles USART 0 output rate
0 – disabled
1 - enabled p40x3 Number of cycles USART 1 output rate p40x4 Number of cycles USART 2 output rate p40x5 Reserved Always 0
hh Checksum hex number (2 – character)
<CR><LF> End of message
62
PUBX,41 – Set Protocols and Baudrate
Input message.
$PUBX,41,p41x1,p41x2,p41x3,p41x4,p41x5*hh<CR><LF>
Parameters Descriptions Notes
p41x1 USART id 0, 1, 0r 2 p41x1 Input protocol mask 0 – UBX
1 – NMEA 2 – RTCM 12 – 15: USER0 ~ USER3
p41x1 Output protocol mask 0 – UBX
1 – NMEA 2 – RAW
12 – 15: USER0 ~ USER3 p41x1 Baudrate (bps) p41x1 Autobauding* 0 – disabled
1 - enabled
hh Checksum hex number (2 – character)
<CR><LF> End of message *: The Autobauding function will adjust the baud rate of the serial port automatically based on the detected conditions, such as multiple break and framing-error conditions.
NOTE: If the comm. port of your host PC experiences errors frequently, please
disable the Autobauding function.
63
7.2 UBX Binary Protocol
To obtain the maximum performance from GPS chips, which mainly consists of FV-25, u-blox proposed a proprietary binary protocol. The binary protocol can set and poll all the available actions and messages from the module. Using asynchronous RS232 ports, the module communicates with a host platform in terms of the alternative, UBX protocol, to carry GPS data. The noticeable features for the UBX protocol are
1. 8 bits binary data;
2. low-overhead checksum algorithm;
3. 2-stage message identifier, i.e., Class ID + Message ID.
Figure 7.1 depicts the sentence structure for the UBX protocol. The UBX messages always begin with “0xB5 0x62” (hex number). The selection of a CLASS ID and MESSAGE ID, which are described in the end of this section, depends on the user’s need, and it will also define the content of DATA and its corresponding length (i.e. the value of DATA LENGTH). For those multi-byte values, the rule of little Endian is adopted for transmitting the values. It is noticeable that the DATA LENGTH is the value to indicate the length that only contains the subsequent input/output DATA and doesn’t include the checksum bytes.
SYNC
SYNC
SYNC
CHAR
CHAR
# 1
# 1
1 BYTE
1 BYTE
0xB5
0xB5
SYNC CHAR
CHAR
# 2
# 2
1 BYTE
1 BYTE
0x62
0x62
CLASS
CLASS
ID
ID
1 BYTE
1 BYTE
MESSAGE
MESSAGE
ID
ID
1 BYTE
1 BYTE
DATA
DATA
LENGTH
LENGTH
Little Endian
Little Endian
2 BYTES
2 BYTES
DATA
DATA
Little Endian
Little Endian
VARIED, depends
VARIED, depends
on the size of content of the
on the size of content of the
“CLASS + MESSAGE”
“CLASS + MESSAGE”
ID
ID
CHECKSUM
CHECKSUM
CK_A
CK_A
1 BYTE
1 BYTE
CHECKSUM
CHECKSUM
CK_B
CK_B
1 BYTE
1 BYTE
indicates the following length for data which
indicates the following length for data which doesn’t include the 2 bytes for checksum.
doesn’t include the 2 bytes for checksum.
Figure 7.1 UBX protocol structure.
Figure 7.1 UBX protocol structure.
64
For the calculation of the checksum, u-blox utilizes the low-overhead checksum algorithm, which is the TCP standard (RFC 1145). The calculation of the checksum covers the range from the CLASS ID byte (included) to DATA bytes (included). It can be described as
CK_A=0; CK_B=0; for(i = 0;i < N;i ++) { CK_A += buffer[i]; CK_B += CK_A; } where
CK_A and CK_B: 8-bit unsigned integers; buffer[•]: vector that contains the data in the calculating range (i.e. from CLASS
ID to DATA); N: number of bytes that contains the desired data.
The two checksums have to be masked with 0xFF after the operations in the loop, if large-sized integer values are executed.
7.2.1 Data Format
Table 7.1 describes the types of data that are used in the module. On the basis of IEEE754 single/double precision, the floating-point values are defined.
Acronym Date Type Size
Range Resolution Note
(bytes)
U1 Unsigned Char 1 0 ~ 255 1
I1 Signed Char 1 -128 ~ 127 1 2’s
complement
U2 Unsigned Short 2 0 ~ 65535 1
I2 Signed Short 2 -32768 ~ 32767 1 2’s
complement
U4 Unsigned Long 4 0 ~ 4294967295 1
I4 Signed Long 4 -2147483648 ~
1 2’s
2147483647
R4 IEEE754 Single
4 -1*2
127
~ 2
127
~Value*2
Precision
65
complement
-24
R8 IEEE754 Double
8 -1*2
Precision
1023
~ 2
1023
~Value*2
-53
CH ASCII / ISO
1
8859.1 Encoding
Table 7.1 The types of data.
7.2.2 Classification of UBX Messages
The u-blox proprietary messages are classified into 9 groups. Based on a specific topic, each group contains the associated information. They are summarized in Table
7.2.
Class ID Class Name Class No (Hex) Comment
ACK
AID
CFG
INF
MON
Acknowledgement Aiding Configuration Informative Monitor
0x05
0x0B
0x06 0x04
0x0A
Respond to the input request: Ack/Nack AGPS or other similar functions Configuration input: port setting, DOP mask, etc. Printf-Style messages: Error, Warning , Notice Monitor the stack usage, CPU load, task status, etc.
NAV
RXM
TIM
UPD
Navigation Receiver Manager
Timing Update
0x01 0x02
0x0D
0x09
Table 7.2 UBX message classes.
Navigation information: PVT, DOP, Course Receiver manager messages: Pseudorange, Channel status Time pulse data: 1 PPS Firmware update messages
7.2.3 Responses to the Users’ Inputs
Basically, there are two kinds of module’s responses for the users’ requests: Acknowledgement and Polling Mechanism. When users send the Class CFG messages to the module, the module will reply the Acknowledgement or Not Acknowledgement message based on whether the desired message is implemented correctly or not. For the Polling Mechanism, the messages that can be output also can be polled. In this particular protocol, the output and polling requests use the same message. The difference between both is that, for the polling purpose, the message doesn’t contain the DATA, i.e., the value of the DATA LENGTH is 0.
NOTE: The default settings for output the binary messages from the module are on
the comm. port 2 with the baud rate 57600 bps.
66
7.2.4 UBX Messages
UBX Class ACK
This class is used for responding a CFG message.
ACK – ACK (0x05 0x01)
Message acknowledged.
Header ID Data Length Data Checksum
0xB5 0x62 0x05 0x01 2 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U1 Class ID for the desired
acknowledged message
1 U1 Message ID for the desired
acknowledged message
67
ACK – NAK (0x05 0x00)
Message not-acknowledged.
Header ID Data Length Data Checksum
0xB5 0x62 0x05 0x00 2 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U1 Class ID for the desired
not-acknowledged message
1 U1 Message ID for the desired
not-acknowledged message
68
UBX Class AID
This class is used to support AGPS function or send aiding data, such as time, position, almanac, and ephemeris, to the GPS receiver.
AID – REQ (0x0B 0x00)
It’s a virtual request to poll all GPS aiding data (AID-DATA). The character of AID-REQ is determined by CFG-MSG. If AID-REQ is set as the output message and the internal stored data (i.e. time, position, almanac, and ephemeris) don’t allow the receiver to execute a hot start, the receiver will request to poll all the aiding data after startup.
Header ID Data Length Data Checksum
0xB5 0x62 0x0B 0x00 0 None CK_A CK_B
69
AID – DATA (0x0B 0x10)
It’s a request to poll all the GPS initial aiding data. This message will activate the sending of AID-INI, AID-HUI, AID-EPH, and AID-ALM as it is received by the module.
Header ID Data Length Data Checksum
0xB5 0x62 0x0B 0x10 0 None CK_A CK_B
70
AID – INI (0x0B 0x01)
It’s a poll request when “data length” is equal to 0. Poll GPS initial aiding data.
Header ID Data Length Data Checksum
0xB5 0x62 0x0B 0x01 0 None CK_A CK_B
AID – INI (0x0B 0x01)
This is an I/O message. It contains the information of position and time. As an output message, the value of the clock drift is always 0 and assigned invalid.
Header ID Data Length Data Checksum
0xB5 0x62 0x0B 0x01 48 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 I4 X coordinate in the ECEF frame (cm) 4 I4 Y coordinate in the ECEF frame (cm)
8 I4 Z coordinate in the ECEF frame (cm) 12 U4 Position accuracy (cm) Standard deviation 16 U2 Time mark configuration 0x01 – enable time mark
0x02 – falling edge Pin used for time mark: 0x00 – Extint 0 0x10 – Extint 1
0x20 – Extint 2 18 U2 GPS week number 20 U4 GPS time of week (ms) 24 I4 Subms part of GPS time (ns) 28 U4 Millisecond part of time accuracy (ms) 32 U4 Nanosecond part of time accuracy (ns) 36 I4 Clock drift (ns/s) 40 U4 Clock drift accuracy (ns/s) 44 U4 Flags 0x1 – valid position fields
0x2 – valid time fields
0x4 – valid clock drift
fields
0x8 – accurate time is
input by with time pulse
71
AID – HUI (0x0B 0x02)
It’s a poll request when “data length” is equal to 0. Poll GPS health, UTC, and Ionosphere data.
Header ID Data Length Data Checksum
0xB5 0x62 0x0B 0x02 0 None CK_A CK_B
AID – HUI (0x0B 0x02)
It’s an I/O message. It transmits GPS health, UTC, and Ionosphere (Klobuchar parameters) data.
Header ID Data Length Data Checksum
0xB5 0x62 0x0B 0x02 72 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U4 Health bit mask Every bit represents the
health of a GPS satellite (1
~ 32). 1 – health; 0 – not
health
4 R8 UTC – parameter A1 12 R8 UTC – parameter A0 20 I4 UTC – reference time of week 24 I2 UTC – reference week number 26 I2 UTC – time difference because of leap
seconds before event occurs
28 I2 UTC – week number when the next
leap-second event occurs
30 I2 UTC – day of week when the next
leap-second event occurs
32 I2 UTC – time difference because of leap
seconds after event occurs
34 I2 UTC – spare to ensure the sentence
structure is a multiply of 4 bytes 36 R4 Alpha0 Klobuchar parameters 40 R4 Alpha1 Klobuchar parameters 44 R4 Alpha2 Klobuchar parameters
72
48 R4 Alpha3 Klobuchar parameters 52 R4 Beta0 Klobuchar parameters 56 R4 Beta1 Klobuchar parameters 60 R4 Beta2 Klobuchar parameters 64 R4 Beta3 Klobuchar parameters 68 U4 Flag3 0x1 – valid health bit
mask fields 0x2 – valid UCT parameter fields 0x4 – valid Klobuchar parameter fields
73
AID – ALM (0x0B 0x30)
It’s a poll request when “data length” is equal to 0. Poll all available aiding almanac data.
Header ID Data Length Data Checksum
0xB5 0x62 0x0B 0x30 0 None CK_A CK_B
AID – ALM (0x0B 0x30)
It’s also a poll request. Poll a specific aiding almanac data.
Header ID Data Length Data Checksum
0xB5 0x62 0x0B 0x30 1 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U1 PRN number This will request the desired
almanac data for the specific GPS satellite
AID – ALM (0x0B 0x30)
It’s an I/O message. Poll aiding almanac data.
Header ID Data Length Data Checksum
0xB5 0x62 0x0B 0x30 40 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U4 PRN number The following data are for this
specific satellite
4 U4 Issue date of Almanac GPS week number.
If this value is equal to 0, the following Words (0 ~ 7) don’t contain the valid data.
8 U4 Almanac WORD0 12 U4 Almanac WORD1 16 U4 Almanac WORD2 20 U4 Almanac WORD3 24 U4 Almanac WORD4
74
28 U4 Almanac WORD5 32 U4 Almanac WORD6 36 U4 Almanac WORD7
NOTE: 1. WORD0 ~ WORD7 contain the data following the Hand-Over Word
(HOW) in the navigation message. The data are from the sub-frame 4 of Pages 1 ~ 24 and the sub-frame 5 of Pages 2 ~ 10. More information about almanac data structure is referred to ICD-GPS-200.
2. WORD0 ~ WORD7 don’t include the data of the parity bits. Hence, Bits 0 ~ 23 is used to locate the 24 bits of the data and Bits 24 ~ 31 are the sign-extension of the data.
75
AID – EPH (0x0B 0x31)
It’s a poll request when “data length” is equal to 0. Poll all available aiding ephemeris data.
Header ID Data Length Data Checksum
0xB5 0x62 0x0B 0x31 0 None CK_A CK_B
AID – EPH (0x0B 0x31)
It’s also a poll request. Poll a specific aiding ephemeris data.
Header ID Data Length Data Checksum
0xB5 0x62 0x0B 0x31 1 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U1 PRN number This will request the desired
almanac data for the specific GPS satellite
AID – EPH (0x0B 0x31)
It’s an I/O message. Poll aiding almanac data.
Header ID Data Length Data Checksum
0xB5 0x62 0x0B 0x31 8+n*96 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U4 PRN number The following data are for this
specific satellite
4 U4 Hand-Over Word (HOW) of the
first sub-frame
The following data will be repeated n times (n: number of valid ephemerides).
0 – invalid ephemeris data
8+n*96 U4 Sub-frame 1 – WORD0 12+n*96 U4 Sub-frame 1 – WORD1 16+n*96 U4 Sub-frame 1 – WROD2 20+n*96 U4 Sub-frame 1 – WORD3 24+n*96 U4 Sub-frame 1 – WORD4 28+n*96 U4 Sub-frame 1 – WORD5
76
32+n*96 U4 Sub-frame 1 – WORD6 36+n*96 U4 Sub-frame 1 – WORD7 40+n*96 U4 Sub-frame 2 – WORD0 44+n*96 U4 Sub-frame 2 – WORD1 48+n*96 U4 Sub-frame 2 – WORD2 52+n*96 U4 Sub-frame 2 – WORD3 56+n*96 U4 Sub-frame 2 – WORD4 60+n*96 U4 Sub-frame 2 – WORD5 64+n*96 U4 Sub-frame 2 – WORD6 68+n*96 U4 Sub-frame 2 – WORD7 72+n*96 U4 Sub-frame 3 – WORD0 76+n*96 U4 Sub-frame 3 – WORD1 80+n*96 U4 Sub-frame 3 – WORD2 84+n*96 U4 Sub-frame 3 – WORD3 88+n*96 U4 Sub-frame 3 – WORD4 92+n*96 U4 Sub-frame 3 – WORD5 96+n*96 U4 Sub-frame 3 – WORD6
100+n*96 U4 Sub-frame 3 – WORD7
NOTE: 1. Sub-frame 1 – WORD0 ~ Sub-frame 3 – WORD7 contain the data
following the Hand-Over Word (HOW) in the navigation message. The data are from the sub-frame 1 to sub-frame 3. More information about ephemeris data structure is referred to ICD-GPS-200.
2. Sub-frame 1 – WORD0 ~ sub-frame 3 – WORD7 don’t include the data of the parity bits. Hence, Bits 0 ~ 23 is used to locate the 24 bits of the data and Bits 24 ~ 31 are the sign-extension of the data.
77
UBX Class CFG
This class is used to configure the GPS module and output the current configuration of the GPS module. The module will respond the ACK-ACK message if the request is proceeded correctly and ACK-NAK message if the request is failed.
CFG – PRT (0x06 0x00)
It’s a poll request. Poll the current configuration for a specific comm. port.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x00 1 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U1 Port number
CFG – PRT (0x06 0x00)
It’s an I/O message. As an input message, the port configurations for several ports can be put together into one input sentence. As an output message, the message only transmits the configuration from one specific comm. port.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x00 N*20 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
The following data will be repeated N times (number of comm. ports).
0+N*20 U1 Port number
1+N*20 U1 Reserved
2+N*20 U2 Reserved
4+N*20 U4 USART mode Bit mask
Bit[7:6]: character length 00 – 5 bits ; 01 – 6 bits 10 – 7 bits ; 11 – 8 bits Bit[11:9]: parity 000 – even ; 001 – odd 10X – no ; X1X – reserved Bit[13:12] 00 – 1 stop bit ; 01 – 1.5 stop bit
78
8+N*20 U4 Baud rate (bps)
p
10 – 2 stop bit ; 11 – reserved Bit[16] 0 – LSB first bit order 1 – MSB first bit order Bit[19] 0 – 16x oversampling 1 – 8x oversampling
12+N*20 U2 Input protocol for a single port.
Multi­for a single port.
14+N*20 U2 Output protocol for a single port.
Multi-protocols can be selected for a single port.
rotocols can be selected
Bit mask 0x0001 – UBX protocol 0x0002 – NMEA protocol 0x0004 – RTCM protocol 0x1000 – User0-defined protocol 0x2000 – User1-defined protocol 0x4000 – User2-defined protocol 0x8000 – User3-defined protocol The rest of bits are reserved. Bit mask. 0x0001 – UBX protocol 0x0002 – NMEA protocol 0x0008 – RAW protocol 0x1000 – User0-defined protocol 0x2000 – User1-defined protocol 0x4000 – User2-defined protocol 0x8000 – User3-defined protocol The rest of bits are reserved.
16+N*20 U2 Flags Bit mask.
Bit 0 – if set, the Autobauding is enabled; Bits 1 ~ 15 are reserved.
18+N*20 U2 Reserved
79
CFG – MSG (0x06 0x01)
It’s a poll request. Poll a message configuration.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x01 2 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U1 Class ID 1 U1 Message ID
CFG – MSG (0x06 0x01)
It’s an I/O message. As an input message, the message rate configurations for several targets can be put together into one input sentence. As an output message, the message only transmits one message rate configuration from one target.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x01 N*6 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
The following data will be repeated N times (number of targets) if needed.
0+N*6 U1 Class ID 1+N*6 U1 Message ID 2+N*6 U1 Message rate on I/O Target 0 3+N*6 U1 Message rate on I/O Target 1 4+N*6 U1 Message rate on I/O Target 2 5+N*6 U1 Message rate on I/O Target 3
CFG – MSG (0x06 0x01)
It’s an input message. Set message rate configuration for the current target.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x01 3 See below CK_A CK_B
80
Data
Offset bytes Format Descriptions Notes
0 U1 Class ID 1 U1 Message ID 2 U1 Message rate on the current
target
81
CFG – NMEA (0x06 0x17)
It’s a poll request. Poll the NMEA protocol configuration.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x17 0 None CK_A CK_B
CFG – NMEA (0x06 0x17)
It’s an input message. Set the desired NMEA protocol.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x17 4 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U1 Filtering. Disable or not. Bit 0 – position filtering
Bit 1 – masked position filtering Bit 2 – time filtering Bit 3 – date filtering
1 U1 NMEA version 0x23 – version 2.3
Only version 2.3 is supported.
2 U1(2) Reserved
82
CFG – RATE (0x06 0x08)
It’s a poll request. Poll the current navigation/measurement rate setting. The module will respond the same message defined below (I/O message).
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x08 0 None CK_A CK_B
CFG – RATE (0x06 0x08)
It’s an I/O message. It polls or sets the navigation/measurement rate.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x08 6 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U2 Measurement rate (ms). 2 U2 Navigation rate (cycles) Number of measurement cycles 4 U2 Alignment to reference time 0 – UTC time
!0 – GPS time
NOTE:
Navigation Update Rate (1/s) = 1000 / (NavigationRate * MeausrementRate(ms)).
83
CFG – CFG (0x06 0x09)
N
N
It’s a command message. The message will clear, save, and load configurations. The command consists of the three masks (clear, save, and load) in each individual bit.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x09 12 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U4 Clear configurations Load factory defaults to active
settings. See below for bit definitions.
4 U4 Save configurations Save the active settings to
non-volatile memory. See below for bit definitions.
8 U4 Load configurations Load configurations from
non-volatile memory to active settings. See below for bit definitions.
Bit Definitions
Bits Descriptions
0 I/O port assignments, protocols, and baud rates
(referred to UBX-CFG-PRT).
1 Message configuration (referred to
UBX-CFG-MSG and UBX-CFG-NMEA).
2 INF message configuration (referred to
UBX-CFG-INF).
3
avigation configuration (referred to UBX-CFG-DAT, UBX-CFG­UBX-CFG-RATE, UBX-CFG-TM, and UBX-CFG-TP).
AV,
4 Receiver manager (RXM) configuration (referred
to UBX-CFG-RXM and UBX-CFG-SBAS).
5 Power saving mode configuration (referred to
UBX-CFG-FXN).
6 ~ 9 EKF receiver (dead reckoning).
10 Model-specific settings for receiver (e.g.
84
UBX-CFG-ANT)
11 Reserved 12 ~ 15 Reserved for user applications 16 ~ 31 Reserved
85
CFG – TP (0x06 0x07)
It’s a poll request. Poll time pulse information. The module will respond the same message defined below (I/O message).
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x07 0 None CK_A CK_B
CFG – TP (0x06 0x07)
It’s an I/O message. Poll and set time pulse information.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x07 20 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U4 Time interval for time pulse
(us). 4 U4 Length of time pulse (us). 8 I1 Status of time pulse > 0 - positive
9 U1 Reference time 0 – UTC time
10 U2 Reserved 12 I2 Delay due to antenna cable (ns) 14 I2 RF group delay (ns) 16 I4 User time function delay (ns)
0 – off < 0 – negative
!0 – GPS time
86
CFG – NAV (0x06 0x03)
It’s a poll request. Poll engine settings for navigation. The module will respond the same message defined below (I/O message).
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x03 0 None CK_A CK_B
CFG – NAV (0x06 0x03)
It’s an I/O message. Poll and set engine settings for navigation.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x03 28 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U1 Kinematic model 1 – stationary
2 – pedestrian 3 – automotive 4 – sea 5 – airborne with acceleration < 1g 6 – airborne with acceleration < 2g 7 – airborne with acceleration < 4g 8 ~ 255 – reserved
1 U1 Minimum number of SVs for
navigation 2 U1 Maximum number of SVs for
navigation 3 U1 C/N0: conditional lower limit Th is condition will be applied if
1 ~ 16
1 ~ 16
and only if enough satellites (say
5) are being tracked and above this limit.
4 U1 C/N0: absolute lower limit A satellite with C/N0 below this
limit is not used in the navigation solution.
5 U1 Minimum elevation for SVs
87
used in the navigation solution 6 U1 DGPS timetag rounding 1 – enable
0 – disable
7 U1 Timeout for differential
correction data (s) 8 U1 Timeout for pseudorange
correction data (s) 9 U1 Timeout for carrier phase
correction data (s)
10 U2 Carrier Lock Time (CLT):
conditional lower limit (ms)
12 U2 CLT: absolute lower limit (ms) 14 U1 Epochs for DR 15 U1 Navigation options Bit mask
0x01 – enable pseudorange check 0x02 – enable Doppler check 0x04 – enable Delta range check 0x08 – enable ALM-EPH consistency check 0x10 – enable almanac navigation 0x20 – reserved 0x40 – reserved
0x80 – reserved 16 U2 PDOP mask Scaling : 0.1 18 U2 TDOP mask Scaling : 0.1 20 U2 Position accuracy mask (m) 22 U2 Time accuracy mask (m) 24 U2 Frequency accuracy mask (m/s) Scaling : 0.1 26 U1 Static threshold (cm/s) 0 – disable 27 U1 Reserved
88
CFG – DAT (0x06 0x06)
It’s a poll request. Poll datum setting. The module will respond the same message defined below (I/O message).
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x06 0 None CK_A CK_B
CFG – DAT (0x06 0x06)
It’s an input message. Set the standard datum.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x06 2 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U2 Datum number Referred to Appendix A
CFG – DAT (0x06 0x06)
It’s an input message. Set user-defined datum.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x06 44 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 R8 Semi-major axis (m) 6,300,000.0 ~ 6,500,000.0 8 R8 1.0/flattening 0.0 ~ 500.0
16 R4 Offset from the origin – X axis
(m)
20 R4 Offset from the origin – Y axis
(m)
24 R4 Offset from the origin – Z axis
-5000.0 ~ 5000.0
-5000.0 ~ 5000.0
-5000.0 ~ 5000.0
(m)
28 R4 Rotation about X axis (milli-arc
seconds)
32 R4 Rotation about Y axis (milli-arc
seconds)
36 R4 Rotation about Z axis(milli-arc -20.0 ~ 20.0
89
-20.0 ~ 20.0
-20.0 ~ 20.0
seconds)
40 R4 Scale change (ppm) 0.0 ~ 50.0
CFG – DAT (0x06 0x06)
It’s an output message. Poll the current datum. If the datum number is –1, the module is using the user-defined datum and only the value for semi-major axis is valid and the rest of them are not valid.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x06 52 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U2 Datum number 2 CH[6] Datum name ASCII format
8 R8 Semi-major axis (m) 6,300,000.0 ~ 6,500,000.0 16 R8 1.0/flattening 0.0 ~ 500.0 24 R4 Offset from the origin – X axis
(m)
28 R4 Offset from the origin – Y axis
(m)
32 R4 Offset from the origin – Z axis
(m)
36 R4 Rotation about X axis (milli-arc
seconds)
40 R4 Rotation about Y axis (milli-arc
seconds)
44 R4 Rotation about Z axis(milli-arc
seconds)
48 R4 Scale change (ppm) 0.0 ~ 50.0
-5000.0 ~ 5000.0
-5000.0 ~ 5000.0
-5000.0 ~ 5000.0
-20.0 ~ 20.0
-20.0 ~ 20.0
-20.0 ~ 20.0
90
CFG – INF (0x06 0x02)
It’s a poll request. It’s used to identify the output protocol.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x02 1 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U1 Protocol ID 0 – UBX protocol
1 – NMEA protocol 2 – RTCM protocol (used for input only) 3 – RAW protocol 4 ~ 11 – reserved 12 – User0-defined protocol 13 – User1-defined protocol 14 – User2-defined protocol 15 – User3-defined protocol 16 ~ 255 – reserved
CFG – INF (0x06 0x02)
It’s an I/O message. It’s used to set/get message configuration. As an input message, several message configurations can be put into as one input sentence. But as an output message, the sentence only transmits one message configuration.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x02 N*8 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
The following data will be repeated N times (number of comm. ports).
0+N*8 U1 Protocol ID 0 – UBX protocol
1 – NMEA protocol 2 – RTCM protocol (used for input only) 3 – RAW protocol 4 ~ 11 – reserved 12 – User0-defined protocol
91
13 – User1-defined protocol 14 – User2-defined protocol 15 – User3-defined protocol
16 ~ 255 – reserved 1+N*8 U1 Reserved 2+N*8 U2 Reserved 4+N*8 U1 Information message enabled
(INF class) at I/O target 0 (USART 0)
5+N*8 U1 Information message enabled
(INF class) at I/O target 1 (USART 1)
6+N*8 U1 Information message enabled
(INF class) at I/O target 2 (USART 2)
7+N*8 U1 Information message enabled
(INF class) at I/O target 3 (reserved)
Bit mask.
Referred to INF class, such as
INF-ERROR and
INF-WARNING
Same as above
Same as above
Same as above
92
CFG – RST (0x06 0x04)
It’s an input message. It’s used to reset receiver or clear backup data structure.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x04 4 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U2 Clear backup data in BBR 0x0001 – ephemeris
0x0002 – almanac
0x0004 – health
0x0008 – Klobuchar
0x0010 – position
0x0020 – clock drift
0x0040 – oscillation parameter
0x0080 – UTC correction
parameters
0x0100 – RTC
0x0000 – hot-start
0x0001 – warm-start
0xFFFF – cold-start
2 U1 Reset 0x00 hardware reset
(watchdog)
0x01 – controlled software reset
0x02 – controlled software reset
(GPS only)
0x08 – controlled GPS stop
0x09 – controlled GPS start
3 U1 Reserved
93
CFG – RXM (0x06 0x11)
It’s a poll request. It’s used to poll RXM configuration. The module responds the same message defined below.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x11 0 None CK_A CK_B
CFG – RXM (0x06 0x11)
It’s an I/O message. It’s used to set/get RXM configuration.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x11 2 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U1 GPS sensitivity mode 0 – Normal
1 – Fast acquisition
2 – High sensitivity
> 2 – Reserved
1 U1 Power mode 0 – Continuous tracking mode
1 – FixNow mode (power saving
mode)
> 1 – Reserved
94
CFG – ANT (0x06 0x13)
It’s a poll request. It’s used to poll antenna control settings. The module responds the same message defined below.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x13 0 None CK_A CK_B
CFG – ANT (0x06 0x13)
It’s an I/O message. It’s used to set/get antenna control settings.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x13 4 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U2 Antenna flag mask Bit 0 – enable 2 U2 Antenna pin configuration 0 – Continuous tracking mode
1 – FixNow mode (power saving
mode)
> 1 – Reserved
95
CFG – FXN (0x06 0x0E)
It’s a poll request. It’s used to poll power saving (FixNow) mode configuration. The module responds the same message defined below.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x0E 0 None CK_A CK_B
CFG – FXN (0x06 0x0E)
It’s a command message. It’s used to configure the FixNow mode. It is enabled by the CFG-RXM message.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x0E 36 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U4 FixNow mode configuration Bit mask
0x02 – set: Sleep state
0x04 – reserved (never set this
bit)
0x08 – absolute alignment
(on/off time)
0x10 – use on/off time
the rest of bits – not set
4 U4 Last fix timeout (ms)
8 U4 Sleep time (ms) After a last fix timeout 12 U4 Last reset timeout (ms) 16 U4 Sleep time (ms) After a last reset timeout 20 U4 On time (ms) Start with first fix 24 U4 Sleep time (ms) After a normal on time (may
vary because of data download) 28 U4 Reserved 32 U4 Base TOW (ms) TO which “On time” and
corresponding “Sleep time” are
aligned if ABSOLUTE_ALIGN
is set.
96
CFG – SBAS (0x06 0x16)
It’s a command message. It’s used to configure SBAS systems, such as WAAS, EGNOS, and MSAS. More information about SBAS services is referred to document RTCA/DO-229C (www.rtca.org).
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x16 8 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U1 SBAS mode. Bit mask
Bit 0 – 1: SBAS enabled; 0:
SBAS disabled
Bit 1 – SBAS testbed; 1: use data
anyhow; 0: ignore data when in
test mode (SBAS Msg 0)
Bits 2-7 – reserved
1 U1 SBAS usage Bit mask
Bit 0 – use ranges for navigation
solution
Bit 1 – use differential correction
Bit 2 – use integrity information
2 U1 Maximum number of channels
for searching SBAS satellites 3 U1 Reserved 4 U4 SBAS PRN numbers in
searching channels
0 ~ 3
All bits are set to 0 – auto-scan (searching all available PRNs) Bit 0 – PRN 120 Bit 1 – PRN 121 …. Bit 18 – PRN 138 Bits 19-31 – reserved (set to 0)
97
CFG – TM (0x06 0x10)
It’s a poll request. It’s used to poll time mark configuration.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x10 0 None CK_A CK_B
CFG – TM (0x06 0x10)
It’s an I/O message. It’s used to set/get time mark configuration.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x10 12 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U4 Time mark input source EXTINT 0 (31)
EXTINT 1 (30)
EXTINT 2 (29) 4 U4 Rate of time mark task (ms) 8 U4 Flags for time mark task Bit mask
Bit 0 – 0: time mark disabled; 1:
time mark enabled
Bit 1 – 0: time mark on rising
edge; 1: time mark on falling
edge
Bit 2 – 0: based on GPS time; 1:
based on UTC time
98
CFG – EKF (0x06 0x12)
N
N
It’s a poll request. It’s used to poll EKF configuration. The module responds the same message defined below.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x12 0 None CK_A CK_B
CFG – EKF (0x06 0x12)
It’s an I/O message. It’s used to set/get EKF configuration.
Header ID Data Length Data Checksum
0xB5 0x62 0x06 0x12 16 See below CK_A CK_B
Data
Offset bytes Format Descriptions Notes
0 U1 EKF status 1 – disabled
0 – enabled 1 U1 Flags Bit 0 – reserved (always 0)
Bit 1 – clear temperature
compensation table
Bit 2 – clear stored calibration
Bit 3 – reserved (always 0)
Bit 4 – set nominal tacho pulses
as defined in Field “
pulses per kilometer”
Bit 5 – set nominal gyro values
as defined in Fields “
gyro zero point output” and
“Nominal gyro sensitivity”
Bit 6 – set temperature table
configuration as defined in Fields
“Maximum allowable RMS
threshold” and “ The time
ominal
ominal
interval for saving temperature
table to flash”
Bit 7 – set direction pin and gyro
sense meaning as defined in
Field “Inverse_flags”
99
2 U1 Reserved
p
N
3 U1 Inverse_flags Bit 0 – invert meaning of
direction pin; 0: High=Forwards;
1: High=Backwards
Bit 1 – invert meaning of gyro
rotation sense; 0: clockwise
ositive; 1: counterclockwise
positive 4 U4 Reserved Always 0 8 U2 Nominal pulses per kilometer 1100 ~ 45000
10 U2
12 U1 Nominal gyro sensitivity
13 U1 Maximum allowable RMS
14 U2 The time interval for saving
ominal gyro zero point output
(mV)
(mV/(deg/s))
threshold (mV)
temperature table to flash (s)
2000 ~ 3000
20 ~ 40
For zero velocity temperature
compensation: 1 ~ 10
Scaling: 0.1
Minimum: 9
100
Loading...