NEW DATABASE - 350 MILLION DATASHEETS FROM 8500 MANUFACTURERS
92-G10564A MG4100A MG4200 ICD-GPS-200 IRN-200C005R1 ICD-200 SC-104 RTCM-104 - Datasheet Archive
Instant GPS IC Interface Control Drawing November 30, 2004 Document Number 92-G10564A Revision T Motorola Family of GPS Receivers
November 30, 2004 Instant GPS IC Interface Control Drawing November 30, 2004 Document Number 92-G10564A 92-G10564A Revision T Motorola Family of GPS Receivers GPS Products Group Automotive Communications & Electronic Systems Group Integrated Electronic Systems Sector Motorola Inc. 92-G10564A 92-G10564A Rev. T Page 1 of 174 November 30, 2004 Revision R Date 03 Jun 2004 S 05 Aug 2004 T 30 Nov 2004 92-G10564A 92-G10564A Rev. T Revision Description Approved for external release. Final additions: Added document number @@Pb: added new Table 5.1.6 @@Oj: changed lower limit of DCO MREF term from 0 to 1 @@Oj: changed lower limit of DCO NDCO term for Full Power from 0 to 1 @@Oj: changed lower limit of DCO NDCO term for CPU Power from 0 to 1 Renamed MG4100A MG4100A to MG4200 MG4200 throughout document Updated Table 2.0.4 @@Pb: updated Table 5.1.3 @@Pb: updated Table 5.1.4 @@Pb: updated Table 5.1.6 @@Oa: updated text (items 3, 4, 5, and 6) @@Oa: added Figure 6.1.1 @@Oa: added Figure 6.1.2 @@Oc: updated text (item 2) @@Od: updated text (item 2) @@Of: updated text (item 2) @@Og: updated text (item 2) @@Oh: updated text (items 1, 4, and driver considerations) @@Oo: updated text @@Oq: updated text (item 3) @@Or: updated text (item 3) @@Ow: updated Figure 6.22 Updated Section 7.0 (items 1, 2, 3, and 4) GGA: updated text (new items 1 and 5 and item 6) GGA: changed upper limit of GPS status indicator from 2 to 8 GGA: changed upper limit of Number of satellites used from 16 to 12 GGA: changed lower limit of HDOP from 1.0 to 0.0 GGA: changed upper limit of HDOP from 9.9 to 19.9 GGA: changed undefined range of Geoidal separation to "Always null" GGA: changed undefined range of Age of differential data to 0.0 . 90.0 GLL: updated text (item 4) GSA: changed lower limit of PDOP from 1.0 to 0.0 GSA: changed lower limit of HDOP from 1.0 to 0.0 GSA: changed upper limit of HDOP from 9.9 to 19.9 GSA: changed lower limit of VDOP from 1.0 to 0.0 GSA: changed upper limit of VDOP from 9.9 to 19.9 RMC: updated text (new item 1 and items 5 and 6) RMC: renamed "Track Made Good" to "Course Over Ground" RMC: changed 180 degree range of Magnetic variation to "Always null" VTG: updated text (item 2) VTG: renamed "Track" to "Course Over Ground" VTG: renamed "Speed" to "Speed Over Ground" VTG: changed 360 degree range of Course Over Ground in degrees magnetic to "Always null" Added Section 10.6 Added Section 10.7 Updated FAQ_3 Added FAQ_7 through FAQ_12 Updated Section 1.2 Updated Section 1.3 Updated Table 2.0.4 Updated Table 2.0.5 Page 2 of 174 November 30, 2004 Updated Section 4.0 @@Sl: corrected errata text @@Pb: updated text (item 14 and new item 15) @@Pb: updated Table 5.1.6 @@Pb: updated Table 5.1.7 @@Pb: updated Table 5.1.8 @@Pb: added Status bit 9 (previously Reserved) @@Oj: updated text (CPU Power State items 1 and 2) @@Oj: changed lower limit of ARM Clock Prescaler for Full Power state from 2 to 1 @@Oj: changed upper limit of ARM Clock Prescaler for Full Power state from 8 to 7 @@Oj: changed lower limit of ARM Clock Prescaler for CPU Power state from 2 to 1 @@Oj: changed upper limit of ARM Clock Prescaler for CPU Power state from 8 to 7 @@Ow: updated text (item 5) @@Ow: renamed "Power" to "Energy" in Mode bit 0 @@OC: updated text (new item 3) @@OC: added Week Number of UTC Corrections (previously Reserved) @@OC: changed Reserved field length from 32 bits to 16 bits @@OD: updated text (item 8) Updated Section 7.0 (item 1 and new items 5 through 10) GPQ: renamed "Talker Identifier of Requester" to "Talker ID" GPQ: changed lower limit of Talker ID from "AA" to " " GPQ: changed upper limit of Talker ID from "ZZ" to "~~" PMOTG: renamed "yyyy" to "y" to prevent confusion regarding unnecessary leading zeros PMOTG: changed upper limit of Message Rate from 9999 to 6553 GGA: updated text (items 1 and 4) GGA: renamed "yy.y" to "y.y" to prevent confusion regarding unnecessary leading zeros GGA: renamed "bb.b" to "b.b" to prevent confusion regarding unnecessary leading zeros GGA: changed upper limit of HDOP from 19.9 to 99.9 GLL: updated text (item 4) GSA: updated text (item 1) GSA: renamed "qq.q" to "q.q" to prevent confusion regarding unnecessary leading zeros GSA: renamed "rr.r" to "r.r" to prevent confusion regarding unnecessary leading zeros GSA: changed upper limit of PDOP from 9.9 to 99.9 GSA: changed upper limit of HDOP from 19.9 to 99.9 GSA: changed upper limit of VDOP from 19.9 to 99.9 GSV: updated text (item 1) RMC: updated text (item 1) VTG: updated text (item 1) ZDA: updated text (new item 2, modified items 4 through 6, and new item 7) ZDA: renamed "Talker Identifier of Requester" to "Talker ID" ZDA: changed lower limit of Talker ID from "AA" to " " ZDA: changed upper limit of Talker ID from "ZZ" to "~~" ZDA: changed lower limit of Year from 2000 to 1980 ZDA: changed upper limit of Year from 9999 to 2136 Updated Figure 10.3 Added Section 10.8 92-G10564A 92-G10564A Rev. T Page 3 of 174 November 30, 2004 Added Section 10.9 Updated FAQ_7 Updated FAQ_10 Updated FAQ_11 Added FAQ_13, FAQ_14, and FAQ_15 92-G10564A 92-G10564A Rev. T Page 4 of 174 November 30, 2004 Table of Contents 1.0 Introduction . 7 1.1 General Handset References.7 1.2 General GPS References .7 1.3 Legacy Motorola Oncore GPS Product References.7 1.4 Legal.8 2.0 Instant GPS IC Modes . 9 3.0 Peripheral Discovery Commands . 13 3.1 AT Mode Message.14 3.2 AT Mode Message Acknowledge .15 4.0 Bootstrap Mode Commands . 16 4.1 Bootstrap Jump to Address (@@Sg).17 4.2 Bootstrap RAM Firmware State (@@Sj, @@Sz).18 4.3 Bootstrap Download Firmware Page (@@Sk).19 4.4 Bootstrap Configure Baud Rate (UART only) (@@Sl) .20 4.5 Bootstrap Check Flash Downloading Status (@@Sm) .22 5.0 Binary Operational Mode Output Commands . 23 5.1 Ellipsoid Point with Altitude and Uncertainty Ellipsoid Response (@@Pb) .24 5.2 Assist Data Acknowledge (@@Pc).35 5.3 Logged Ephemeris Response (@@Pd).37 5.4 Satellite Signal Measurements (@@Pe).39 5.5 Waypoint Navigation Message (@@Pf) .41 6.0 Binary Operational Mode Input/Output Commands. 42 6.1 Position Request (@@Oa).43 6.2 Ephemeris and Satellite Clock Corrections (@@Ob) .49 6.3 Ionospheric Corrections Assist Data (@@Oc) .52 6.4 UTC Corrections Assist Data (@@Od).54 6.5 DGPS Assist Data (@@Oe) .56 6.6 Real-Time Integrity Assist Data (@@Of) .58 6.7 Reference Time Assist Data (@@Og) .61 6.8 Almanac Assist Data (@@Oh).64 6.9 Wake-up Request (@@Oi).67 6.10 Set Reference Clock and Baud Rate (@@Oj) .68 6.11 Selftest Request (@@Ok) .73 6.12 Logged Ephemeris Request (@@Ol) .75 6.13 Reprogram Request (@@Om) .76 6.14 Soft Restart (@@On) .77 6.15 Set to Defaults (@@Oo).78 6.16 Time Uncertainty (@@Oq) .79 6.17 Frequency Uncertainty (@@Or) .81 6.18 Reference Position Assist Data (@@Os) .84 6.19 Assist Data and Configuration Data Request (@@Ot).90 6.20 Satellite and Channel Assignment (@@Ou) .92 6.21 Acquisition Assist (@@Ov).96 6.22 TTFF and Power Consumption (@@Ow).98 6.23 Blanking Control (@@Oy) .103 6.24 Reference Waypoint Position Data (@@Oz) .104 6.25 dF/dT (@@OA).106 6.26 Flash Upload (@@OB) .108 6.27 Assist Data Week Numbers (@@OC) .109 6.28 Receiver Configuration (@@OD).111 7.0 NMEA Operational Mode Commands . 116 7.1 Query Sentence.118 7.2 Set Response Message Rate.119 92-G10564A 92-G10564A Rev. T Page 5 of 174 November 30, 2004 7.3 GGA (GPS Fix Data).120 7.4 GLL (Geographic Position - Latitude/Longitude).122 7.5 GSA (GPS DOP and Active Satellites) .123 7.6 GSV (GPS Satellites in View).124 7.7 RMC (Recommended Minimum Specific GPS/Transit Data).125 7.8 VTG (Course Over Ground and Ground Speed) .127 7.9 ZDA (Time and Date).128 8.0 Data Storage Requirements . 130 9.0 Example Messaging Scenarios . 132 9.1 Peripheral Discovery and Bootstrap Modes .132 9.1.1 Valid Keyword Message Sequence . 132 9.1.2 Invalid Keyword Message Sequence. 133 9.2 Operational Mode for OneRange.135 9.2.1 Typical Initialization Sequence for OneRange . 135 9.2.2 Typical Sequence for OneRange Once. 136 9.3 Operational Mode for OneShot .137 9.3.1 Typical Initialization Sequence for OneShot. 137 9.3.2 Typical Sequence for OneShot One Fix . 138 9.3.3 Typical Configuration Save Sequence for OneShot . 140 9.4 Operational Mode for OneTrack .141 9.4.1 Typical Initialization Sequence for OneTrack . 141 9.4.2 Typical Configuration Save Sequence for OneTrack . 144 9.5 Typical Flash Upload Sequence .147 10.0 System Hardware Considerations. 149 10.1 Wake-up Timing.149 10.2 Power-down Timing .150 10.3 TCXO Enable, LNA Enable, and Full Power Timing .150 10.4 SPI Transfer Ready Timing .152 10.5 Flash Download Interface Timing .153 10.6 Flash Memory Support .154 10.7 General Purpose I/O Configuration .155 10.8 I/O Port Throughput Limits .156 10.9 I/O Buffer Memory Size Limits .156 11.0 Instant GPS IC Firmware Conversion . 159 11.1 Motorola S-Record Format.159 11.2 Motorola Binary Format.160 11.3 S-Record To @@Sk Message Conversion.160 A.0 FAQs . 163 92-G10564A 92-G10564A Rev. T Page 6 of 174 November 30, 2004 1.0 Introduction This document is the interface specification for the Instant GPS IC. The Instant GPS IC is the first of the Motorola GPS products to be specifically targeted for mobile handsets, and this document details the serial interface commands used by the Instant GPS IC. Note the commands supported by the Instant GPS IC are changed from the commands used in legacy Motorola GPS products. This document describes the messages that will be supported in the Instant GPS IC OneRange (pseudorange-only), OneShot (assistedonly), and OneTrack (autonomous) firmware. See Figure 1.0 for an overview of the hardware interface. Note the optional flash memory only applies to Instant GPS IC MG4200 MG4200 or later. Flash / User load Optional Flash Memory 2 or 4-wire UART or 4-wire SPI Instant GPS IC User System 12 MHz to 28 MHz External Reference Frequency 32.768 KHz RTC Frequency Figure 1.0 Instant GPS IC to User System interface diagram. 1.1 General Handset References 1.) 3GPP TS 23.032 V5.0.0 (2003-03), herein referred to as "3GPP 23.032" 2.) 3GPP TS 25.331 V6.2.0 (2004-06), herein referred to as "3GPP 25.331" 1.2 General GPS References 1.) ICD-GPS-200 ICD-GPS-200, Navstar GPS Space Segment/Navigation User Interfaces, Revision C, IRN-200C005R1 IRN-200C005R1, herein referred to as "ICD-200 ICD-200" 2.) RTCM SC-104 SC-104, RTCM Recommended Standards for Differential Navstar GPS Service, V3.0, herein referred to as "RTCM-104 RTCM-104" 3.) NMEA 0183, Standard For Interfacing Marine Electronic Devices, V3.01, herein referred to as "NMEA-0183 NMEA-0183" 1.3 Legacy Motorola Oncore GPS Product References 1.) Motorola GPS Products Oncore User's Guide Note the above document can be found on the Products tab at the following website: www.motorola.com/gps 92-G10564A 92-G10564A Rev. T Page 7 of 174 November 30, 2004 1.4 Legal Information in this document is subject to change without notice and does not represent a commitment on the part of Motorola, Inc. The subject matter herein is covered by one or more pending or issued patents. Both the Motorola Binary messaging and the software described in this document are furnished under a license agreement. Both the Motorola Binary messaging and the software may be used or copied in accordance with the terms of the agreement. Copyright © 2002 through 2004 by Motorola, Inc. All rights reserved. No part of this publication may be reproduced, transmitted, stored in a retrieval system, or translated into any language in any means without the written permission of Motorola. The copyright notice does not imply publication of this document. Printed in the USA. Motorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Motorola assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. Typical parameters which may be provided in Motorola data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including Typicals, must be validated for each customer application by customer's technical experts. Motorola does not convey any license under its patent rights nor the rights of others. Motorola products are not designed, intended or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Motorola product could create a situation where personal injury or death may occur. Should Buyer purchase or use Motorola products for any such unintended or unauthorized application, Buyer shall indemnify and hold Motorola and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Motorola was negligent regarding the design or manufacture of the part. Motorola and the stylized M are registered trademarks of Motorola, Inc. Motorola, Inc. is an Equal Opportunity/Affirmative Action Employer. 92-G10564A 92-G10564A Rev. T Page 8 of 174 November 30, 2004 2.0 Instant GPS IC Modes Figure 2.0 shows graphically the modes for the Instant GPS IC. Power applied (User load) Peripheral Discovery Mode Hardware reset (User load) OK command received Bootstrap Mode messages Bootstrap Mode @@Om command received @@Sg command received Operational Mode messages Operational Mode Hardware reset (Flash load) Peripheral Discovery Mode messages Power applied (Flash load) Figure 2.0 Modes and command sets. The peripheral discovery mode supports the port selection. The bootstrap mode supports downloading code, setting the baud rate, checking memory integrity, and executing firmware. The operational mode supports the position fix calculation and user configuration. The following tables, Tables 2.0.1 through 2.0.5, summarize all of the messages supported by the Instant GPS IC for each mode. Note the optional flash load only applies to Instant GPS IC MG4200 MG4200 or later. 92-G10564A 92-G10564A Rev. T Page 9 of 174 November 30, 2004 Table 2.0.1 Peripheral Discovery Mode messages. Command ID Command Name AT OK Input (I) to or Output (O) from Instant GPS IC O I AT Mode Message AT Mode Message Acknowledge Response Message ID Present in Instant GPS IC MG4100 MG4100 Present in Instant GPS IC MG4200 MG4200 Present in Future Instant GPS ICs Yes Yes Yes Yes Yes Yes None None Table 2.0.2 Bootstrap Mode messages. Command ID Sg Sj Sk Sl Sm Sz Command Name Jump to Address RAM Firmware State (Keyword Valid Response) Download RAM Firmware Page Configure Baud Rate Flash Download Status Keyword Invalid Response Input (I) to or Output (O) from Instant GPS IC I I/O or I I/O Response Message ID Present in Instant GPS IC MG4100 MG4100 Present in Instant GPS IC MG4200 MG4200 Present in Future Instant GPS ICs None Sj or Sz Sk Yes Yes Yes Yes Yes Yes Yes Yes Yes I/O I/O Sl Sm Yes No Yes Yes Yes Yes O None Yes Yes Yes Table 2.0.3 Binary Operational Mode output-only messages. Command ID Pb Pc Pd Pe Pf Command Name Ellipsoid Point with Altitude and Uncertainty Ellipsoid Position Response Assist Data Acknowledge Logged Ephemeris Response Satellite Signal Measurements Waypoint Navigation Message 92-G10564A 92-G10564A Rev. T Input (I) to or Output (O) from Instant GPS IC O Response Message ID Present in OneRange V1.0 Present in OneShot V1.0 Present in OneTrack V1.0 Present in Future Releases None Yes Yes Yes Yes O None Yes Yes Yes Yes O None No Yes Yes Yes O None Yes Yes Yes Yes O None No Yes Yes Yes Page 10 of 174 November 30, 2004 Table 2.0.4 (Part 1) Binary Operational Mode input/output messages. Command ID Command Name Oa Ob Position Request Ephemeris and Satellite Clock Corrections Assist Data Ionospheric Corrections Assist Data UTC Corrections Assist Data Oc Od Oe Of Og Oh Oi Oj Ok Ol Om On Oo Oq Or Os Ot Ou Ov Ow Oy Oz OA DGPS Assist Data Real-Time Integrity Assist Data Reference Time Assist Data Almanac Assist Data Wake-up Request Set Reference Clock and Baud Rate Self Test Message Logged Ephemeris Request Reprogram Request Soft Restart Set to Defaults Time Uncertainty Frequency Uncertainty Reference Position Assist Data Assist Data and Configuration Data Request Satellite and Channel Assignment Acquisition Assist TTFF and Power Consumption Blanking Control Reference Waypoint Position Data dF/dT 92-G10564A 92-G10564A Rev. T Input (I) to or Output (O) from Instant GPS IC I/O I/O Response Message ID Present in OneRange V1.0 Present in OneShot V1.0 Present in OneTrack V1.0 Present in Future Releases Pb Pc Yes No Yes Yes Yes Yes Yes Yes I/O Pc No Yes Yes Yes I/O Pc No Pc Pc No Yes Yes starting with V1.3 No Yes Yes I/O I/O Yes starting with V1.3 No Yes Yes Yes I/O Pc Yes Yes Yes Yes I/O I/O I/O Pc None Pc No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes I/O I Ok Pd Yes No Yes Yes Yes Yes Yes Yes I/O I/O I/O I/O I/O Om On Oo Pc Pc Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes I/O Pc No Yes Yes Yes I Yes Yes Yes Yes I/O Various O messages Pc Yes Yes Yes Yes I/O I/O Pc Pc Yes No No Yes No Yes No Yes I/O I/O Pc Pc No No No Yes No Yes Yes Yes I/O Pc No No No Yes Page 11 of 174 November 30, 2004 Table 2.0.4 (Part 2) Binary Operational Mode input/output messages. Command ID Command Name OB Present in OneRange V1.0 Present in OneShot V1.0 Present in OneTrack V1.0 Present in Future Releases OB No No Yes starting with V1.2 Yes Yes Pc Yes starting with V1.2 Yes Yes I/O Assist Data Week Numbers Receiver Configuration OD Response Message ID I/O Flash Upload OC Input (I) to or Output (O) from Instant GPS IC I/O Pc Yes Yes Yes Yes Present in OneRange V1.0 Present in OneShot V1.0 Present in OneTrack V1.0 Present in Future Releases Various No Yes starting with V1.3 Yes starting with V1.3 Yes starting with V1.3 Yes starting with V1.3 Yes starting with V1.3 Yes starting with V1.3 Yes starting with V1.3 Yes starting with V1.3 Yes starting with V1.3 Yes starting with V1.3 Yes starting with V1.3 Yes starting with V1.3 Yes starting with V1.3 Yes starting with V1.3 Yes starting with V1.3 Yes starting with V1.3 Yes starting with V1.3 Yes starting with V1.3 Yes Table 2.0.5 NMEA Operational Mode messages. Command ID GPQ Command Name Query Sentence Input (I) to or Output (O) from Instant GPS IC I Response Message ID PMOTG Set Response Message Rate I Various No GGA GPS Fix Data O None No GLL Geographic Position Latitude/Longitude O None No GSA GPS DOP and Active Satellites O None No GSV GPS Satellites in View O None No RMC Recommended Minimum Specific GPS/Transit Data Track Made Good and Ground Speed O None No O None No I/O ZDA No VTG ZDA Time and Date 92-G10564A 92-G10564A Rev. T Page 12 of 174 Yes Yes Yes Yes Yes Yes Yes Yes November 30, 2004 3.0 Peripheral Discovery Commands This section describes the peripheral discovery messages used by the user to establish the interface used by the Instant GPS IC. The Instant GPS IC is pin-limited, and both the SPI and the UART ports share the same pins. Since only one type of port may be active at any one time, the user must select the port using a software handshake. 1.) The SPI is configured as a slave with PHA = 1 and POL = 0 (i.e. the data is captured on the falling edge of the SPI clock), chip select active low, eight data bits, and the MSB is transmitted and/or received first. The maximum rate allowed is 4.3 Mbps, and the smallest interval time between byte transfers is 11.5 microseconds and between message transfers is 19.2 microseconds. 2.) The UART is configured at 19200 baud, no parity, eight data bits and one stop bit. This data is transmitted using the format listed in the RS232C RS232C standard (i.e. the least significant bit of each byte is sent first). 3.) Note the UART will be driving the SPI MISO line during peripheral discovery, and the user with the SPI port should discover the Instant GPS IC first since the wired-OR MISO line will not be tri-stated until discovery is completed. 4.) There is duality between the SPI and the UART. For the SPI, while the user will transfer commands to the Instant GPS IC over the SPI, the Instant GPS IC will respond with filler characters until the command has been processed and a response is generated and output to the user. Of course, the user is responsible for clocking enough bytes across the SPI to get the information. For the UART, the user simply sends commands and will receive responses from the Instant GPS IC when the command has been processed and a response is output. 5.) If the Instant GPS RTC "wakes up" the Instant GPS IC, no communication will be required from the user. If the power is lost or reset is asserted, communication will be required from the user. Simply put, if power to the Instant GPS IC is preserved, the Instant GPS IC can detect satellites and compute solutions without user assistance (after the initial fix, of course). But, if power to the Instant GPS IC is not preserved, the Instant GPS IC port must be re-selected and the firmware must be re-downloaded every time power is re-applied. 92-G10564A 92-G10564A Rev. T Page 13 of 174 November 30, 2004 3.1 AT Mode Message When in the peripheral discovery mode, the Instant GPS IC will periodically output an AT mode message on the UART every 92.4 ms +/- 10 ms. The text of the command is: AT+MODE=7 The hexadecimal representation of the data transmitted is as follows: 41 54 2B 4D 4F 44 45 3D 37 0D This message allows the user to detect if power has been lost to the Instant GPS IC. If the user receives the AT mode message when the user expects operational mode messages, the Instant GPS IC has lost power and the post must be re-selected and the firmware state must be re-examined. 92-G10564A 92-G10564A Rev. T Page 14 of 174 November 30, 2004 3.2 AT Mode Message Acknowledge To select the port, the user should send the AT mode message acknowledge to the Instant GPS IC. The text of the command is: OK The hexadecimal representation of the data transmitted is as follows: 4F 4B 0D The timing between the AT mode message acknowledge and the AT mode message output is completely independent. In other words, the user could send the AT mode message acknowledge before the AT mode message is completely clocked out of the SPI port or before the UART AT mode message output has occurred. While in the peripheral discovery mode, the Instant GPS IC will silently discard all incoming bytes that do not match the expected "OK" sequence. Trailing line feeds () will silently be discarded as well. After Instant GPS IC successfully receives the entire "OK" message, the Instant GPS IC will switch to bootstrap mode. 92-G10564A 92-G10564A Rev. T Page 15 of 174 November 30, 2004 4.0 Bootstrap Mode Commands This section describes the default bootstrap messages used by the user to program the Instant GPS IC. To ensure a clean separation between the bootstrap firmware and the Instant GPS IC firmware loaded into RAM, none of the default bootstrap commands will be recognized by the Instant GPS RAM firmware. This feature ensures the user cannot accidentally corrupt the Instant GPS IC firmware after download has been completed and the Instant GPS IC is running out of RAM. An overview of the Motorola Binary message structure is provided in Section 11.2. Note this section does not cover any enhanced bootstrap methods (i.e. two-stage bootstrap methods). Enhanced bootstrap methods require the loading of an intermediate program to reconfigure the Instant GPS IC followed by firmware downloading possibly using a unique protocol. Once the firmware download is complete, enhanced bootstrap methods may restore the Instant GPS IC to its default bootstrap configuration or may jump immediately to the operational code. Note enhanced bootstrap methods are usually clock and serial port specific. 92-G10564A 92-G10564A Rev. T Page 16 of 174 November 30, 2004 4.1 Bootstrap Jump to Address (@@Sg) This message is an input to the Instant GPS IC allowing the user to leave the bootstrap mode and begin execution at the specified address. Typically, the user will select offset 0x000C0000 for the address. Other addresses are allowed but not recommended. If the user selects 0x00000000, the peripheral discovery mode will restart. Input Command: @@SgaaaaC aaaa Address of Program Counter C 0 . 0xFFFFFFFF Checksum Message Length: 11 bytes Response Message: See Section 5.1 Ellipsoid Point with Altitude and Uncertainty Ellipsoid Response (@@Pb). Note the Instant GPS IC will perform a more robust check of the firmware in RAM and will report the result in the @@Pb message. 92-G10564A 92-G10564A Rev. T Page 17 of 174 November 30, 2004 4.2 Bootstrap RAM Firmware State (@@Sj, @@Sz) This message is an input to the Instant GPS IC allowing the user to query the state of the firmware in RAM. If the16-bit keyword is valid, the Instant GPS IC will echo the @@Sj header. If the 16-bit keyword is invalid, the Instant GPS IC will echo the @@Sz header instead. Note the @@Sz response is recognized as a reprogramming alert across all Motorola Oncore products. 1.) The 16-bit keyword, 0xA55A, should easily detect loss of RAM power with a low probability of false alarm. Assuming the power-up of the RAM bits are uniformly distributed, then the probability of finding the correct keyword when the RAM is actually corrupt is only 0.00001526. Of course, the polarity of the RAM bits upon power-up is not uniformly distributed (they will tend towards all ones or all zeros), and a keyword selection that interleaves ones and zeros should actually produce a lower false alarm probability. 2.) Note even if the 16-bit keyword in RAM is valid, the bootstrap firmware does not immediately transfer operation to the Instant GPS RAM (through the reset vector in RAM) allowing the user to replace valid code in Instant GPS RAM with other valid code if necessary at startup. Input Command: @@SjC C Checksum Message Length: 7 bytes Response Message: Keyword valid: @@SjrC r Reserved C 0 . 0xFF Checksum Message Length: 8 bytes Keyword invalid: @@SzrC r Reserved C 0 . 0xFF Checksum Message Length: 8 bytes 92-G10564A 92-G10564A Rev. T Page 18 of 174 November 30, 2004 4.3 Bootstrap Download Firmware Page (@@Sk) This message allows the user to download a page of firmware to the Instant GPS IC. 1.) The user may download the firmware pages in any order, but the first page sent should corrupt the keyword, and the last page sent should restore the keyword. This prevents the Instant GPS IC from incorrectly validating a partial program load if the download is interrupted. 2.) The 16-bit keyword, 0xA55A, is located starting at address 0x0C0020 stored in little endian order. In other words, the data at address 0x0C0020 is 0x5A, and the data at address 0x0C0021 is 0xA5. Input Command: @@Skaaadddddddddd.ddddddddddC aaa Address of first byte of data 0 . 0xFFFFFF For 128 bytes of opcode or data: d Opcode/data 0 . 0xFF (End 128 bytes of opcode or data) C Checksum Message Length: 138 bytes Response Message: @@SkaaaC aaa Address of first byte of data C 0 . 0xFFFFFF Checksum Message Length: 10 bytes 92-G10564A 92-G10564A Rev. T Page 19 of 174 November 30, 2004 4.4 Bootstrap Configure Baud Rate (UART only) (@@Sl) This message allows the user to change the UART baud rate during program download. Note the second letter of the command ID is the letter L and not the number one. 1.) Upon power-up of the Instant GPS IC, the Instant GPS IC assumes no clock is available, and internally synthesizes 65 MHz. The 65 MHz clock is divided by five, and the resulting 13 MHz clock is used as the ARM clock. Note for proper operation, the 32.768 KHz clock must be present, and the 65 MHz clock is as accurate as the supplied 32.768 KHz clock. 2.) The baud rate is the ARM clock divided by 32 divided by the control word. 3.) Once the response message has been sent, the UART is reconfigured to the new baud rate. 4.) Note the UART bootstrap port is always the first port (UART0). Upon hard reset, the UART port is always a 2-wire UART. 5.) The maximum UART baud rate in the bootstrap mode is 406.25 Kbaud (control word of one). Following the Reprogramming Request (@@Om), the UART baud rate will remain unchanged from the value selected by the user in the Set Reference Clock and Baud Rate (@@Oj). Furthermore, following the Reprogramming Request (@@Om), the UART port will be reconfigured from a 4-wire UART to a 2-wire UART if necessary. Known Errata for Instant GPS IC MG4000 MG4000: If the user sends this command when using the SPI, the command will NOT be ignored, but instead the command will lock the interface, and the user must perform a hard reset and restart the bootstrap mode. Workaround: Do not send the Bootstrap Configure Baud Rate (@@Sl) message over the SPI port. This errata has been fixed in Instant GPS IC MG4100 MG4100 and later. If the user sends this command when using the SPI, this command is ignored. Known Errata for Instant GPS IC MG4000 MG4000, MG4100 MG4100, and MG4200 MG4200: If the user sends a Control Word of zero, the command will NOT be ignored, but instead the command will lock the interface, and the user must perform a hard reset and restart the bootstrap mode. Workaround: Do not send a Control Word of zero. 92-G10564A 92-G10564A Rev. T Page 20 of 174 November 30, 2004 Input Command: @@SlbbC bb Control Word for Port 0 C 1 . 65535 Checksum Message Length: 9 bytes Response Message: @@SlbbC bb Control Word for Port 0 C 1 . 65535 Checksum Message Length: 9 bytes 92-G10564A 92-G10564A Rev. T Page 21 of 174 November 30, 2004 4.5 Bootstrap Check Flash Downloading Status (@@Sm) Note this message only applies to Instant GPS IC MG4200 MG4200 or later. This message allows the user to query any error results from the failed flash memory program download. If the Instant GPS IC is configured for stand-alone flash memory download upon power-up, and if the Instant GPS IC is unable to load the firmware from flash memory (flash memory unknown, no keyword present in flash program, etc.), the Instant GPS IC will abandon the flash memory download and switch to the user system download via peripheral discovery and bootstrap commands. Once peripheral discovery has occurred, this message allows the user to investigate the type of firmware download error recognized by the Instant GPS IC. If the Instant GPS IC is not configured for stand-alone flash memory download upon power-up, the response message data will simply represent the configuration selection (flash or user load). Input Command: @@SmC C Checksum Message Length: 7 bytes Response Message: @@SmpfeC p Pin Selection 0 1 = User load = Flash load f Flash ID 0 1 2 3 = = = = e Error Code 0 1 2 = No errors = No keyword = Timeout occurred C Checksum Flash unknown or no flash 2-Mbit flash (256 Kbytes) 4-Mbit flash (512 Kbytes) 8-Mbit flash (1024 Kbytes) Message Length: 10 bytes 92-G10564A 92-G10564A Rev. T Page 22 of 174 November 30, 2004 5.0 Binary Operational Mode Output Commands The following Motorola Binary output messages are supported in the Instant GPS IC during Operational Mode. 92-G10564A 92-G10564A Rev. T Page 23 of 174 November 30, 2004 5.1 Ellipsoid Point with Altitude and Uncertainty Ellipsoid Response (@@Pb) This message is an output from the Instant GPS IC specifying the user position. 1.) The first portion of the output message (through the Time Stamp fields) follows the 3GPP 23.032 and 25.331 formats. See Reference Position Assist Data (@@Os) for a description of the position and error ellipsoid fields. 2.) For 3GPP, the latitude resolution is approximately 10.7 microdegrees per bit or 1.19 meters per bit. The longitude resolution is 21.5 microdegrees per bit or 2.38 meters at the equator. For @@Pb, the latitude resolution is approximately 41.9 nanodegrees per bit or 0.47 centimeters per bit. The longitude resolution is 83.8 nanodegrees per bit or 0.93 centimeters per bit at the equator. For comparison, one milliarcsecond of latitude or longitude (at the equator) is approximately 3.09 centimeters. Note the 3GPP latitude and longitude is simply the @@Pb latitude and longitude each shifted right by eight bits. 3.) Note the 3GPP altitude is simply the @@Pb altitude shifted by eight bits, but also note the Instant GPS IC can output an altitude greater than 3GPP allows. 4.) The 3GPP horizontal speed and bearing is simply the @@Pb horizontal speed and bearing each shifted by eight bits. Note the horizontal speed and bearing are valid when using OneTrack Always but rarely accurate when using any other mode (see Status bit 8 for validity). 5.) Unlike legacy product Position/Status/Data Messages like @@Ba, @@Ea, and @@Ha, the time field (all components) is a time stamp that reflects the last known position (given by the latitude, longitude, and height) and will not update until a new position is calculated. Note if partial assistance data is available during OneTrack operation, the Instant GPS IC could compute a solution before decoding the week number from the satellite signals. In these rare cases, the Time Stamp of Position in week number is unknown and is represented by a value that is one greater than the maximum week number available from GPS (unknown week number = 1024). 6.) If real-time integrity information is not available to the Instant GPS IC, the Satellite PRN allows the user to determine (during post-processing) if the calculated position unknowingly used unhealthy satellites. 7.) The Assist Data Present parameter indicates the assist data present in the Instant GPS IC. Not all data is needed. For example, the Instant GPS IC does not require DGPS corrections. As soon as the Instant GPS IC has enough information to begin satellite acquisition, the Status field will indicate "Working." Until the Instant GPS IC has enough information to begin satellite acquisition, the "Working" bit will remain reset. The thresholds that define "enough information" can be adjusted using the Receiver Configuration (@@OD) message. See Table 5.1.1 for required assist data for Instant GPS IC with OneRange, OneShot, and OneTrack firmware. 92-G10564A 92-G10564A Rev. T Page 24 of 174 November 30, 2004 Table 5.1.1 Required assist data for Instant GPS IC with OneRange, OneShot, and OneTrack firmware. Assist Information Reference Clock and Baud Rate Reference Frequency Uncertainty RTC Frequency Uncertainty Real-Time Integrity Reference Time Reference Position DGPS Corrections Ephemeris Ionospheric Corrections UTC Corrections Almanac Acquisition Assist dF/dT Command ID Oj Or Oq Of Og Os Oe Ob Oc Od Oh Ov OA OneRange Once Yes No No No Yes No No No No No No Yes No OneShot Yes No No No Yes Yes No Yes No No No No No OneTrack Yes No No No No No No No No No No No No 8.) The Instant GPS IC must have the basic reference clock information to proceed. The Instant GPS IC will never indicate "Working" without the basic reference clock information. The Instant GPS IC does not need the reference clock corrections, but the TTFF will be degraded from optimal. Further, the Instant GPS IC does not need the RTC corrections, but depending on the time since last fix, the time to next fix will be degraded from optimal. 9.) For OneRange and OneShot, once the "Working" bit in the Status field transitions from set to reset, the Error Code will indicate the success or failure of the last position fix attempt. If the last attempt was not successful, the Error Code will indicate the failure mode. Some of the Status and the Error Code bits map to the User Equipment Positioning Error Reason as shown in Table 5.1.2. Table 5.1.2 Error Indications with mapping to the User Equipment Positioning Error Reason. Error Indications Status "Working" always reset Error Code "Insufficient visible satellites" set upon Status "Working" transition to reset Error Code "Bad geometry" set upon Status "Working" transition to reset 3GPP 25.331 UE Positioning Error Reason Assistance Data Missing Not Enough GPS Satellites Not Enough GPS Satellites Note the Error Code bits are not mutually exclusive. Also note that OneRange will always return "Invalid position data" as an error code since no position is determined within the Instant GPS IC. 10.) For OneTrack, the "Working" bit in the Status field will always be set. The Error Code will still indicate the success or failure of the last position fix attempt. If the last attempt was successful, the Error Code will have no bits set. If the last attempt was not successful, the Error Code will indicate the failure mode. 11.) If the Instant GPS IC has never computed a position fix, then the Instant GPS IC will not have any valid position data. However, the message must have (valid) data present in the position data fields. To indicate the position data is invalid, the Error Code "Invalid position data" bit is set. The bit remains set until the first valid position fix. While other rare conditions could also set the "Invalid 92-G10564A 92-G10564A Rev. T Page 25 of 174 November 30, 2004 position data" bit in the Error Code, for OneShot and OneTrack, the bit will typically be set only when the Instant GPS IC has never computed a position fix. 12.) If the previous Position Request message (@@Oa) had an out-of-range parameter, the Error Code "Invalid input message data" bit will be set. 13.) The Product ID/Software Version allows the user to determine (during post-processing) if the calculated position included known errata. The breakdown of the Product ID/Software Version field is shown in Table 5.1.3. Table 5.1.3 Product ID/Software Version description. Size 4 bits Bits (bit 31 MSB) bit 31 - bit 28 Function Platform version 4 bits 23 bits bit 27 - bit 24 bit 23 - bit 1 ASIC revision Software build 1 bit bit 0 Alpha/beta marker Description Enumerated field. This field indicates if the software has special platform features such as ONEPPS output or ABS wheel sensor input. Instant GPS IC revision. This field indicates the software build number. Note zero is reserved for R&D, and the change to the build number between releases does not imply upgrades or other fixes. In other words, a change by one or a change by 100 between releases is not significant. 0 = Released code, 1 = Alpha or beta code Table 5.1.4 lists the cross-reference between the Platform version and the platform type. Table 5.1.5 lists the cross-reference between the ASIC version field and the Instant GPS IC revision. Table 5.1.6 lists the cross-reference between the Software build and the Instant GPS IC firmware version. Table 5.1.4 Cross-reference between Platform version and platform types. Platform version (bit 31 - b28) 0 1 2 through 0xD 0xE 0xF Instant GPS IC platform type Not for New Designs (OneShot/OneTrack) Standard OneShot/OneTrack reserved OneRange Once enabled Test-only (not for release) Table 5.1.5 Cross-reference between ASIC revision and Instant GPS IC revision. ASIC revision (bit 27 - b24) 0 1 2 3 4 92-G10564A 92-G10564A Rev. T Instant GPS IC revision MG4000 MG4000 (HW Rev. 1.0) MG4100 MG4100 (HW Rev. 2.0) MG4100 MG4100 (HW Rev. 2.1) MG4100 MG4100 (HW Rev. 2.2) MG4200 MG4200 (HW Rev. 3.0) Page 26 of 174 November 30, 2004 Table 5.1.6 Cross-reference between Software build and Instant GPS IC firmware version. Software build (bit 23 - b1) 0x30 0x4C 0x50 0x55 0x57 0x5B 0x63 0x6E (planned) Instant GPS IC firmware version V1.0 (standard OneShot/OneTrack) V1.1 (standard OneShot/OneTrack) V1.1.1 (standard OneShot/OneTrack) V1.2 (standard OneShot/OneTrack) V1.2.1 (standard OneShot/OneTrack) V1.2.2 (standard OneShot/OneTrack) V1.2.3 (standard OneShot/OneTrack) V1.3 (standard OneShot/OneTrack) V1.4 (standard OneShot/OneTrack) Compliant to ICD Rev. R Rev. S Rev. S Rev. S Rev. S Rev. S Rev. S Rev. T 14.) The message is a mix of real-time positioning attributes and time-stamped position attributes. See Table 5.1.7 for message parameter data for the Instant GPS IC with OneRange, OneShot, and OneTrack modes. Note this message is not periodic for any mode except OneTrack Always, thus OneTrack Always differs from OneTrack One Fix and OneTrack Periodic. Table 5.1.7 Message parameter attributes. Message Parameter OneRange (all modes) Latitude Sign Latitude Longitude Altitude Direction Altitude Semi-Major Uncertainty Value Semi-Minor Uncertainty Value Orientation of Major Axis Altitude Uncertainty Value Confidence Horizontal Speed Bearing Time Stamp of Position Total Visible Satellites Total Acquired/Tracked Satellites Current DOP Satellite PRN Status Error Code 92-G10564A 92-G10564A Rev. T N/A N/A N/A N/A N/A N/A OneShot (all modes), OneTrack One Fix, OneTrack Periodic Time-stamped position data Time-stamped position data Time-stamped position data Time-stamped position data Time-stamped position data Time-stamped position data Time-stamped position data Time-stamped position data Time-stamped position data Time-stamped position data Time-stamped position data Time-stamped position data N/A Time-stamped position data Time-stamped position data N/A N/A N/A N/A N/A N/A Last known data Last known data N/A N/A Last known data Last known data Time-stamped position data Time-stamped position data Time-stamped position data Time-stamped position data Time-stamped position data Time-stamped position data Last known data Time-stamped position data Time-stamped position data Time-stamped position data Time-stamped position data Time-stamped position data Time-stamped position data Real-time data Last known data Real-time data Last known data Time-stamped position data Mix of last known data and time-stamped position data Mix of last known data and time-stamped position data Real-time data Time-stamped position data Mix of real-time data and time-stamped position data Mix of real-time data and time-stamped position data OneTrack Always Page 27 of 174 November 30, 2004 Note the last two message parameters listed in Table 5.1.7 are necessarily a mix of last known data or real-time data and time-stamped position data. See Table 5.1.8 and Table 5.1.9 for an indication of how each flag is used. While each flag is applicable in OneShot and OneTrack modes, also see Table 5.1.8 and Table 5.1.9 for an indication of the applicable flags for the OneRange mode. Table 5.1.8 Description of the Status field. Status Flag Bit 9 Title Description Position not updated Bit 8 Bit 7 Speed and bearing invalid 3D fix indication Bit 6 2D fix indication Bit 5 Propagated position Bit 4 Differentially corrected position Position Hold position enabled Altitude hold position enabled Last RAM program check failed Working (on new position) Time-stamped position data (and not valid if Error Code Invalid position data bit is set) Time-stamped position data (and not valid if Error Code Invalid position data bit is set) Time-stamped position data (and not valid if Error Code Invalid position data bit is set) Time-stamped position data (and not valid if Error Code Invalid position data bit is set) Time-stamped position data (and not valid if Error Code Invalid position data bit is set) Time-stamped position data (and not valid if Error Code Invalid position data bit is set) Time-stamped position data (and may not agree with current Instant GPS IC settings from @@Os message) Time-stamped position data (and may not agree with current Instant GPS IC settings from @@Os message) Real-time data Bit 3 Bit 2 Bit 1 Bit 0 Real-time data OneRange Use No No No No No No No No Yes Yes Table 5.1.9 Description of the Error Code field. Error Code Flag Bit 15 Title Description Reflects last known @@Oa message data Reflects last known attempt No Reflects last known attempt Yes Bit 2 Bit 1 Invalid input message data User-specified accuracy not met Insufficient visible satellites Bad geometry Time-out OneRange Use Yes No Yes Bit 0 Invalid position data Reflects last known attempt Real-time data (and always zero if Status Working bit is set) Real-time data Bit 4 Bit 3 No Four basic examples that illustrate the use of the Status and Error Code fields follow. a.) If the Instant GPS IC has just powered-up and been re-programmed, the Error Code "Invalid position data" bit (Bit 0) will be set. 92-G10564A 92-G10564A Rev. T Page 28 of 174 November 30, 2004 b.) If the Instant GPS IC has just received an @@Os message from the user, the Error Code "Invalid position data" bit (Bit 0) will be still be set since the position has not been confirmed by the Instant GPS IC. c.) If the Instant GPS IC has just calculated a position without errors, the Error Code "Invalid position data" bit (Bit 0) will be reset. d.) If the Instant GPS IC is unable to calculate a new position on a subsequent attempt, the Error Code "Invalid position data" bit (Bit 0) will be still be reset (the previous position data is still correct), but the Error Code "Time-out" bit (Bit 1) will be set, and either the Error Code "Insufficient visible satellites" bit (Bit 3) or the Error Code "Bad geometry" bit (Bit 2) will be set. Error Code "User-specified accuracy not met" bit (Bit 4) is always set upon time-out even if the previous position data had met the previous user accuracy. 15.) The "Position not updated" bit (Bit 9) was added with the V1.3 release of the Instant GPS IC firmware. This bit was previously Reserved. The "Position not updated" flag allows the user to quickly check if the position data has been updated without having to check the time stamp of the position. a.) If the user has just sent an @@Oa message requesting a new position fix (OneShot or OneTrack), the Status "Position not updated" bit (Bit 9) will be set. b.) If the Instant GPS IC is able to calculate a new position, the Status "Position not updated" bit (Bit 9) will be reset. Note for OneShot/OneTrack One Fix or Periodic operation, the flag will remain reset until a new @@Oa message is received by the Instant GPS IC requesting a new position fix (One Fix) or until the next position attempt cycle begins anew (Periodic). c.) If the Instant GPS IC is unable to calculate a new position, the Status "Position not updated" bit (Bit 9) will remain set. d.) During OneTrack Always operation, the Status "Position not updated" bit (Bit 9) will always reflect the last position attempt. 3GPP Traceability: 1.) Latitude Sign through Confidence from 3GPP 25.331, Section 10.3.8.4c 2.) Horizontal Speed and Bearing from 3GPP 23.032, Section 8.7 and 8.8 3.) Time Stamp of Position in GPS Week Number has no mapping 4.) Time Stamp of Position in milliseconds from 3GPP 25.331, Section 10.3.7.109 5.) Time Stamp of Position in both microseconds and nanoseconds has no mapping 6.) Total Acquired/Tracked Satellites and Current DOP have no mapping 7.) Satellite PRN related to 3GPP 25.331, Section 10.3.7.95 8.) Status has no mapping 9.) Error Code from 3GPP 25.331, Section 10.3.7.87 10.) Assist Data Request from 3GPP 25.331, Section 10.3.7.88a 11.) Product ID/Software Version has no mapping. 3GPP Driver Considerations: 1.) The Latitude Sign through Altitude map to EllipsoidPointAltitudeEllipsoide with some conversions. a.) The Latitude and Longitude must each be shifted by eight bits to convert the Motorola Binary message fields to the 3GPP fields. b.) The Altitude must be shifted by eight bits to convert the Motorola Binary message fields to the 3GPP fields, and the upper limit must be checked against 32767 meters. c.) The Latitude Sign and Altitude Direction require no conversions. 92-G10564A 92-G10564A Rev. T Page 29 of 174 November 30, 2004 2.) The Semi-Major Uncertainty Value through Confidence map to EllipsoidPointAltitudeEllipsoide with no conversions. 3.) The Horizontal Speed and Bearing map with conversions. Each must be shifted by eight bits to convert the Motorola Binary message fields to the 3GPP fields. 4.) Time Stamp of Position in milliseconds maps to GPS-TOW-1msec with no conversion. 5.) Satellite PRN maps to SatID with conversions. The bit fields must be converted to the enumerated satellite ID. 6.) Error Code maps to UE-Positioning-ErrorCause with conversions. The bit fields must be converted to enumerated values. 7.) Assist Data Present maps to UE-Positioning-GPS-AdditionalAssistanceRequest with conversions. The bit fields must be converted to individual Boolean values. 92-G10564A 92-G10564A Rev. T Page 30 of 174 November 30, 2004 Response Message: @@ a Latitude Sign 0 1 tttt Latitude in scaled degrees The least significant bit represents about 41.9 nanodegrees 0 . 231 - 1 (0 . 89.979 degrees) nnnn Longitude in scaled degrees The least significant bit represents about 83.8 nanodegrees -231 . 231 - 1 (-180 . 179.959 degrees) d Altitude Direction 0 1 eeee Altitude in 2-8 meters 0 . 12799999 (0 . 49999.996 meters) F Semi-Major Uncertainty Value Semi-major uncertainty, r1, expressed in meters is given by: r1 = 10 * (1.1)F - 1) 0 . 127 G Semi-Minor Uncertainty Value Semi-minor uncertainty, r2, expressed in meters is given by: r2 = 10 * (1.1)G - 1) 0 . 127 o Orientation of Major Axis in scaled degrees Orientation of major axis, a, expressed in degrees is given by: a=o*2 0 . 89 K Altitude Uncertainty Value Altitude uncertainty, r3, expressed in meters is given by: r3 = 45 * (1.025)K - 1) 0 . 127 c Confidence in percent 0 . 100 hhh Horizontal Speed in 2-8 km/hr The least significant bit represents about 0.0039 km/hr (or about 0.11 centimeters per second) 0 . 16777215 (0 . 65535.996 km/hr) bbb Bearing in 2-8 degrees 0 . 92159 (0 . 359.996 degrees) 92-G10564A 92-G10564A Rev. T = North = South = Height = Depth Page 31 of 174 November 30, 2004 ww Time Stamp of Position in week number modulo 1024 A value of 1024 means the week number is unknown 0 . 1024 (0 . 1023 = valid week number, 1024 = invalid week number) mmmm Time Stamp of Position in milliseconds modulo one week 0 . 604799999 uu Time Stamp of Position in microseconds modulo 1000 0 . 999 pp Time Stamp of Position in nanoseconds modulo 1000 0 . 999 x Total Visible Satellites 0 . 16 y Total Acquired/Tracked Satellites 0 . 12 zz Current DOP in tenths PDOP for 3D fix, HDOP for 2D fix, 0 otherwise 0 . 999 (0.0 . 99.9) vvvv Satellite PRN For each bit, 0 = not used; 1 = used in solution bit 31 = PRN 32 bit 30 = PRN 31 bit 29 = PRN 30 bit 28 = PRN 29 bit 27 = PRN 28 bit 26 = PRN 27 bit 25 = PRN 26 bit 24 = PRN 25 bit 23 = PRN 24 bit 22 = PRN 23 bit 21 = PRN 22 bit 20 = PRN 21 bit 19 = PRN 20 bit 18 = PRN 19 bit 17 = PRN 18 bit 16 = PRN 17 bit 15 = PRN 16 bit 14 = PRN 15 bit 13 = PRN 14 bit 12 = PRN 13 bit 11 = PRN 12 bit 10 = PRN 11 bit 9 = PRN 10 bit 8 = PRN 9 bit 7 = PRN 8 bit 6 = PRN 7 bit 5 = PRN 6 bit 4 = PRN 5 bit 3 = PRN 4 bit 2 = PRN 3 bit 1 = PRN 2 bit 0 = PRN 1 (MSB) 92-G10564A 92-G10564A Rev. T Page 32 of 174 November 30, 2004 ss Status (MSB) ee Error Code (MSB) 92-G10564A 92-G10564A Rev. T For each bit, 0 = no action; 1 = action bit 15 = Reserved bit 14 = Reserved bit 13 = Reserved bit 12 = Reserved bit 11 = Reserved bit 10 = Reserved bit 9 = Position not updated bit 8 = Speed and bearing invalid bit 7 = 3D fix indication bit 6 = 2D fix indication bit 5 = Propagated position bit 4 = Differentially corrected position bit 3 = Position hold position enabled bit 2 = Altitude hold position enabled bit 1 = Last RAM program check failed bit 0 = Working (on new position) For each bit, 0 = no problem; 1 = problem source bit 15 = Invalid input message data bit 14 = Reserved bit 13 = Reserved bit 12 = Reserved bit 11 = Reserved bit 10 = Reserved bit 9 = Reserved bit 8 = Reserved bit 7 = Reserved bit 6 = Reserved bit 5 = Reserved bit 4 = User-specified accuracy not met bit 3 = Insufficient visible satellites bit 2 = Bad geometry bit 1 = Time-out bit 0 = Invalid position data Page 33 of 174 November 30, 2004 rrrr Assist Data Present (MSB) iiii Product ID/Software Version If odd (LSB = 1), the software is alpha or beta software. Use at own risk. C For each bit, 0 =present; 1 = not present bit 31 = Reserved bit 30 = Reserved bit 29 = Reserved bit 28 = Reserved bit 27 = Reserved bit 26 = Reserved bit 25 = Reserved bit 24 = Reserved bit 23 = Reserved bit 22 = Reserved bit 21 = Reserved bit 20 = Reserved bit 19 = Reserved bit 18 = Reserved bit 17 = Reserved bit 16 = Reserved bit 15 = Oj (Ref. Clock and Baud Rate) bit 14 = Or (Ref. Frequency Uncertainty) bit 13 = Oq (RTC Frequency Uncertainty) bit 12 = OA (dF/dT) bit 11 = Reserved bit 10 = Reserved bit 9 = Ov (Acquisition Assist) bit 8 = Reserved bit 7 = Of (Real-Time Integrity) bit 6 = Og (Reference Time) bit 5 = Os (Reference Position) bit 4 = Oe (DGPS Corrections) bit 3 = Ob (Ephemeris) bit 2 = Oc (Ionospheric Corrections) bit 1 = Od (UTC Corrections) bit 0 = Oh (Almanac) 1 . 0xFFFFFFFF Checksum Message Length: 62 bytes 92-G10564A 92-G10564A Rev. T Page 34 of 174 November 30, 2004 5.2 Assist Data Acknowledge (@@Pc) This message is an output from the Instant GPS IC indicating assist data message acknowledgement. 1.) The acknowledgement reflects a correctly formatted input message with valid parameters. For example, if the user sends DGPS corrections that are hours old, the @@Pc response message will indicate acceptance of the input message provided the parameters are within range and the checksum is valid, but the Instant GPS IC software will simply discard the DGPS correction as unsuitable upon application. 2.) Since the @@Pc message is used to acknowledge many types of messages, the user may number each assist data input message sent to the Instant GPS IC. The Instant GPS IC will not process the message number but will simply echo the message number in the response. The Message Number is available to help the user detect missed messages. However, in systems with no data loss, the Message Number can be any (valid) value. 3.) Regardless of whether message numbering is used, the Message Type Received field always reflects the input message. Note the message type bits are mutually exclusive, and one bit will always be set in the output response. See Table 5.2 for example output responses. Table 5.2 Input message with example output response. Input Message (Header) @@Ob @@Oc @@Od @@Oe @@Of @@Og @@Oh @@Os Output Response (assuming valid input and Message Number = 255) @@Pc FF 00000008 00 C @@Pc FF 00000004 00 C @@Pc FF 00000002 00 C @@Pc FF 00000010 00 C @@Pc FF 00000080 00 C @@Pc FF 00000040 00 C @@Pc FF 00000001 00 C @@Pc FF 00000020 00 C 4.) A message ACK indicates the all message parameters were within range and the checksum is valid. A message NACK indicates one or more of the message parameters were out-of-bounds. No response within the allowed time-out indicates an incorrect message length (i.e. missed characters or a malformed message), an invalid checksum, or an invalid message header. 92-G10564A 92-G10564A Rev. T Page 35 of 174 November 30, 2004 Response Message: @@PcimmmmvC i Message Number mmmm 0 . 255 Message Type Received (MSB) v Validity Flag C For each bit, 0 = not received; 1 = received bit 31 = Reserved bit 30 = Reserved bit 29 = Reserved bit 28 = Reserved bit 27 = Reserved bit 26 = Reserved bit 25 = Reserved bit 24 = Reserved bit 23 = Reserved bit 22 = OD (Receiver Configuration) bit 21 = OC (Assist Data Week Numbers) bit 20 = Reserved bit 19 = Oz (Waypoint Position) bit 18 = Reserved bit 17 = Reserved bit 16 = Reserved bit 15 = Oj (Ref. Clock and Baud Rate) bit 14 = Or (Ref. Frequency Uncertainty) bit 13 = Oq (RTC Frequency Uncertainty) bit 12 = OA (dF/dT) bit 11 = Oy (Blanking Control) bit 10 = Ow (TTFF/Power Consumption) bit 9 = Ov (Acquisition Assist) bit 8 = Ou (Sat. and Chan. Assignment) bit 7 = Of (Real-Time Integrity) bit 6 = Og (Reference Time) bit 5 = Os (Reference Position) bit 4 = Oe (DGPS Corrections) bit 3 = Ob (Ephemeris) bit 2 = Oc (Ionospheric Corrections) bit 1 = Od (UTC Corrections) bit 0 = Oh (Almanac) 0 1 = ACK = NACK Checksum Message Length: 13 bytes 92-G10564A 92-G10564A Rev. T Page 36 of 174 November 30, 2004 5.3 Logged Ephemeris Response (@@Pd) This message is an output from the Instant GPS IC indicating available ephemeris in the Instant GPS IC. 1.) If the Instant GPS IC does not have any ephemeris data, all Satellite PRNs will be zero. 2.) If the Satellite PRN is zero, the following IODE is invalid (and can be any number). 3.) The data is not necessarily packed (e.g. the third Satellite PRN may be zero, but the fourth Satellite PRN may be non-zero). The user must process all 32 fields. 4.) If the Instant GPS IC has received ephemeris at different times, the Time of Ephemeris will reflect the latest ephemeris received. 5.) If the Instant GPS IC has not received the week number associated with the ephemeris, the Time of Ephemeris in week number is unknown and is represented by a value that is one greater than the maximum week number available from GPS (unknown week number = 1024). 3GPP Traceability: Time of Ephemeris in week number through IODE from 3GPP 25.331, Section 10.3.7.88a, as requested from 3GPP 25.331, Section 10.3.7.87 3GPP Driver Considerations: 1.) Time of Ephemeris in week number through and Age Limit of User Ephemeris maps to UEPositioning-GPS-NavModelAddDataReq with conversions. a.) If the Time of Ephemeris in week number is 1024, the week number is unknown and must be converted to zero (generally speaking, a week number long past). Otherwise, the Time of Ephemeris in week number needs no conversion. b.) Time of Ephemeris in hours and Age Limit of User Ephemeris need no conversions. 2.) Satellite PRN through IODE maps to SatData in SatDataList in UE-Positioning-GPSNavModelAddDataReq with conversions. a.) The GPS PRN, if non-zero, must be converted to the enumerated satellite ID by subtracting one. b.) IODE needs no conversion. 3.) The Motorola Binary message data must be separated into two 16-satellite messages for 3GPP. 92-G10564A 92-G10564A Rev. T Page 37 of 174 November 30, 2004 Response Message: @@Pdwwhmsisisisisi.sisisisisiC ww Time of Ephemeris in week number modulo 1024 A value of 1024 means the week number is unknown 0 . 1024 (0 . 1023 = valid week number, 1024 = invalid week number) h Time of Ephemeris in hours modulo one week 0 . 167 m Age Limit of User Ephemeris (t - toe) in hours 0 . 10 For 32 pairs of data: s Satellite PRN Note zero is not a valid PRN and is used as a null indicator 0 . 255 i IODE 0 . 255 (End 32 pairs of data) C Checksum Message Length: 75 bytes 92-G10564A 92-G10564A Rev. T Page 38 of 174 November 30, 2004 5.4 Satellite Signal Measurements (@@Pe) This message is an output from the Instant GPS IC indicating the satellite signal measurements taken during OneRange operation. 1.) If the Satellite PRN is zero, there is no valid data in the message. Note a Satellite PRN of zero is recognized as an unused channel/pseudo-channel across all Motorola Oncore products. 2.) If the Satellite PRN is non-zero, then the Status field indicates if the remaining data is valid. If no satellite signal measurements were taken for the specified Satellite PRN, then the remaining data will not be valid. 3.) For output (see @@Ot), the Instant GPS IC will always output satellite signal measurement data using Message Types 1 (First record) through 3 (Last record). 3GPP Traceability: 1.) Message Number, Message Type, and Status have no mapping 2.) Satellite PRN and GPS TOW of Applicability through Pseudorange RMS Error from 3GPP 25.331, Section 10.3.7.93 3GPP Driver Considerations: Satellite PRN and GPS TOW of Applicability through Pseudorange RMS Error map to UI-PositioningGPS-MeasurementResults with conversions. 1.) For SatID (or in this case satelliteID in GPS-MeasurementParam), the GPS PRN, if non-zero, must be converted to the enumerated satellite ID by subtracting one. 2.) For gps-ReferenceTimeOnly, GPS TOW of Applicability needs no conversion. 3.) For GPS-MeasurementParam, a.) Channel C/N0 and Doppler need no conversions. b.) Code Phase must be separated into the whole and fractional components. The wholeGPS-Chips is obtained by shifting Code Phase by 10 bits. The fractionalGPS-Chips is simply the lower 10 bits of Code Phase. c.) Multipath Indicator needs no conversion. d.) Pseudorange RMS Error must be converted from the actual value to the enumerated value using formula given in Section 10.3.7.93. 92-G10564A 92-G10564A Rev. T Page 39 of 174 November 30, 2004 Response Message: @@PeisytmmmmbddcccprC i Message Number 0 . 255 s Satellite PRN Note zero is not a valid PRN and is used as a null indicator 0 . 255 y Message Type 0 1 2 3 t Status (MSB) = = = = Reserved First record Neither the first or last record Last record For each bit, value as defined bit 7 = Reserved bit 6 = Reserved bit 5 = Reserved bit 4 = Reserved bit 3 = Reserved bit 2 = Reserved bit 1 = Reserved bit 0 = Valid (0) or Invalid (1) mmmm GPS Time Of Week (TOW) for Applicability in milliseconds 0 . 604799999 (0 . 604799.999 seconds) b Channel C/N0 in dB Hz 0 . 63 dd Doppler in 0.2 Hz -32768 . 32767 (-6553.6 . 6553.4 Hz) ccc Code Phase in 2-10 chips 0 . 1047551 (0 . 1022.9990234 chips) p Multipath Indicator 0 1 2 3 r Pseudorange RMS Error in 0.5 meters 0 . 255 (0 . 127.5 meters) C Checksum = Not measured = 0 meters error < 5 meters = 5 meters error < 43 meters = 43 meters error Message Length: 23 bytes 92-G10564A 92-G10564A Rev. T Page 40 of 174 November 30, 2004 5.5 Waypoint Navigation Message (@@Pf) This message is an output from the Instant GPS IC indicating the component distances (north, east, and up) between the user waypoint and the calculated position. Note the distance calculations follow the curvature of the earth. If either the user waypoint or the calculated position is invalid, no distance calculation will occur and the Status field will be one. 3GPP Traceability: None, however the vector sum of the component distances could support the 3GPP 7a-Threshold Position Change in 3GPP 25.331, Section 10.3.7.110. 3GPP Driver Considerations: The vector sum of the component distances could be used to trigger a position reporting event by the user if the vector sum exceeds the distance associated with the enumerated value in ThresholdPositionChange in UE-Positioning-EventSpecificInfo in UE-Positioning-EventParam in UE-Positioning-EventParamList in UE-Positioning-ReportCriteria. Response Message: @@PfisxxxxyyyyzzzzC i Message Number 0 . 255 s Status 0 1 xxxx Delta North in meters -20037509 . 20037509 yyyy Delta East in meters -20037509 . 20037509 zzzz Delta Up in meters -50000 . 50000 C Checksum = Valid = Invalid Message Length: 21 bytes 92-G10564A 92-G10564A Rev. T Page 41 of 174 November 30, 2004 6.0 Binary Operational Mode Input/Output Commands The following Motorola Binary input/output messages are supported in the Instant GPS IC during Operational Mode. 92-G10564A 92-G10564A Rev. T Page 42 of 174 November 30, 2004 6.1 Position Request (@@Oa) This message is an input to the Instant GPS IC allowing the user to request a position. Note the parameters processed are dependent upon the Position Calculation Mode. See Table 6.1 for parameter use. Table 6.1 Parameter use in the Position Request message. Position Calculation Mode Time Limit Period Desired Accuracy 0 = Stop 1 = Polling 2 = OneShot One Fix 3 = OneShot Periodic 4 = OneTrack Always 5 = OneTrack One Fix 6 = OneTrack Periodic 7 = OneRange Once 8 = OneRange Always ignored ignored used used ignored used used used ignored ignored ignored ignored used ignored ignored used ignored ignored ignored ignored used used ignored* used used ignored ignored Power State After Calculation used ignored used used ignored used used used ignored Position Reporting Mode ignored ignored used used used used used used ignored Message Rate ignored ignored ignored ignored used ignored ignored ignored ignored Note *: The purpose of the desired accuracy parameter is to determine if the Instant GPS IC can shut down and save power in the One Fix or Periodic modes. In the OneTrack Always mode, this field is essentially ignored since OneTrack Always runs continuously regardless whether the desired accuracy is met or not. However, the desired accuracy parameter is used for I/O only to determine if the @@Pb message "Userspecified accuracy not met" bit is set or reset. 1.) To stop the operation of the Instant GPS IC, set the Position Calculation Mode to 0 (Stop) and set the Power State After Calculation to the desired power state. 2.) To poll the position data, set the Position Calculation Mode to 1 (Polling). Note this selection prevents the user from resetting any other parameters. 3.) To request a one-time assisted-only position, set the Position Calculation Mode to 2 (OneShot One Fix) and set the allowed Time Limit to the desired time limit. If another position request is sent with the Position Calculation Mode to set to 2 (OneShot One Fix), then the new Time Limit will restart the timer. The Instant GPS IC will attempt to calculate a position to the requested accuracy, but if the time limit is reached before the user requested position accuracy can be obtained, the Instant GPS IC will stop and indicate errors in the Error Code field of the @@Pb message. Once either the position is calculated or the time limit is reached, the Instant GPS IC will implement the requested power state. If the Position Reporting Mode is 1 (Unsolicited), then the Instant GPS IC will output the response message before changing to the desired power state. If the Position Reporting Mode is 0 (Upon Request) and the Power State After Calculation is 0 (Low Power), then the user will have to send the "Wake Up" message (@@Oi) before requesting the response message. Figure 6.1.1 illustrates example operation of the OneShot One Fix mode. 92-G10564A 92-G10564A Rev. T Page 43 of 174 November 30, 2004 Time Limit Full Power CPU Power Low Power mosi_rxd0 Position calculated before time limit reached @@Oi sent Time limit reached before position determined @@Oa sent miso_txd0 @@Pb response (working) Unsolicited @@Pb response (no timeout) Unsolicited @@Pb response (with timeout) Figure 6.1.1 Example operation for the OneShot One Fix mode. 4.) To request a periodic snapshot position, set the Position Calculation Mode to 3 (OneShot Periodic) and set both the Time Limit and the Period. The Period determines the time between the start of each position fix cycle, and the Time Limit determines the maximum time between the start of the position fix cycle and either the position fix calculation or the time limit. If the Time Limit exceeds the Period and the position fix calculation does not occur before the time limit expires, the Instant GPS IC will simply restart the timers for that cycle. As a consequence, the Instant GPS IC will internally overwrite the Time Limit with the Period when the Time Limit exceeds the Period. Figure 6.1.2 illustrates example operation of the OneShot Periodic mode. 92-G10564A 92-G10564A Rev. T Page 44 of 174 November 30, 2004 Period Time Limit Full Power CPU Power Low Power mosi_rxd0 @@Oi sent @@Oa sent miso_txd0 @@Pb response (working) Unsolicited @@Pb response (no timeout) Unsolicited @@Pb response (no timeout) Unsolicited @@Pb response (no timeout) Figure 6.1.2 Example operation for the OneShot Periodic mode. 5.) To request continuous, autonomous position fixes, set the Position Calculation Mode to 4 (OneTrack Always) and the Message Rate. If the Position Reporting Mode is 1 (Unsolicited), the Instant GPS IC will always output messages at the specified rate, but the Instant GPS IC position calculation may not be able to support the requested output rate. For example, if the user requests a position output every second, but the Instant GPS IC is only able to determine a position solution every other second, then the output will occur every second but the content will only change every other second. When the Position Calculation Mode is 4 (OneTrack Always), the power state is always full power. 6.) To request a one-time position, set the Position Calculation Mode to 5 (OneTrack One Fix) and set the allowed Time Limit to the desired time limit. If another position request is sent with the Position Calculation Mode to set to 5 (OneTrack One Fix), then the new Time Limit will restart the timer. The Instant GPS IC will attempt to calculate a position to the requested accuracy, but if the time limit is reached before the user requested position accuracy can be obtained, the Instant GPS IC will stop and 92-G10564A 92-G10564A Rev. T Page 45 of 174 November 30, 2004 indicate errors in the Error Code field of the @@Pb message. Once either the position is calculated or the time limit is reached, the Instant GPS IC will implement the requested power state. If the Position Reporting Mode is 1 (Unsolicited), then the Instant GPS IC will output the response message before changing to the desired power state. If the Position Reporting Mode is 0 (Upon Request) and the Power State After Calculation is 0 (Low Power), then the user will have to send the "Wake Up" message (@@Oi) before requesting the response message. 7.) To request a periodic snapshot position, set the Position Calculation Mode to 6 (OneTrack Periodic) and set both the Time Limit and the Period. The Period determines the time between the start of each position fix cycle, and the Time Limit determines the maximum time between the start of the position fix cycle and either the position fix calculation or the time limit. If the Time Limit exceeds the Period and the position fix calculation does not occur before the time limit expires, the Instant GPS IC will simply restart the timers for that cycle. As a consequence, the Instant GPS IC will internally overwrite the Time Limit with the Period when the Time Limit exceeds the Period. 8.) To request a snapshot of satellite signal measurements (like code phase and doppler), set the Position Calculation Mode to 7 (OneRange Once) and set the allowed Time Limit to the desired time limit. If another request for satellite signal measurements is sent with the Position Calculation Mode to set to 7 (OneRange Once), then the new Time Limit will restart the timer. The Instant GPS IC will attempt to acquire all satellite signals and report the satellite signal measurements, but if the time limit is reached before the needed satellite signals can be obtained, the Instant GPS IC will report any satellite measurements regardless whether there are enough satellite signal measurements needed to compute a solution or whether the satellite signal measurements provide a desired position accuracy. Once the needed satellite signal measurements are determined or the time limit is reached, the Instant GPS IC will implement the requested power state. If the Position Reporting Mode is 1 (Unsolicited), then the Instant GPS IC will output the response messages (a series of @@Pe messages and one single @@Pb message) before changing to the desired power state. If the Position Reporting Mode is 0 (Upon Request) and the Power State After Calculation is 0 (Low Power), then the user will have to send the "Wake Up" message (@@Oi) before requesting the necessary messages. 9.) To request continuous availability of satellite signal measurements (like code phase and doppler), set the Position Calculation Mode to 8 (OneRange Always). The Instant GPS IC will attempt to acquire all satellite signals and report the satellite signal measurements (via a series of @@Pe or @@Ou messages). This mode is primarily useful for factory test and other post-processing tools that need continuous pseudorange outputs. 10.) The Time Limit parameter is not an absolute limit. The Instant GPS IC will subtract the expected internal processing time (currently one second) from the user time limit in an attempt to output a final @@Pb message prior to reaching the specified timeout. Since very slow user baud rates could severely detract from the available satellite search time, note the Instant GPS IC will not subtract enough internal processing time from the user time limit. Thus, the final @@Pb message will not complete before the time limit is reached when using very slow user baud rates. Furthermore, the Instant GPS IC will continue to perform some internal processing after the user time limit has been reached. 11.) The desired accuracy parameter is specified by the Horizontal Accuracy Uncertainty (1) field. When the Instant GPS IC calculates a semi-major uncertainty below the desired accuracy threshold for a position with a 67 percent confidence, the Instant GPS IC will implement the requested power state in the One Fix or Periodic modes. 3GPP Traceability: 1.) Position Calculation Mode and possibly Time Limit from 3GPP 25.331, Section 10.3.7.111 2.) Period from 3GPP 25.331, Section 10.3.7.110 3.) Horizontal Accuracy Uncertainty (1) Value from 3GPP 25.331, Section 10.3.7.111 92-G10564A 92-G10564A Rev. T Page 46 of 174 November 30, 2004 4.) Power State After Calculation has no mapping 5.) Position Reporting Mode and Message Rate from 3GPP 25.331, Section 10.3.7.110 3GPP Driver Considerations: 1.) Position Calculation Mode maps to UE-Positioning-MethodType in UE-PositioningReportingQuantity with conversions. The 3GPP type ue-Assisted is converted to OneRange or OneShot depending on the expected assistance data and all other values are converted to OneTrack. 2.) Time Limit could map to UE-Positioning-ResponseTime in UE-Positioning-ReportingQuantity with conversions. The Time Limit could be the enumerated UE-Positioning-ResponseTime converted to an actual time-out in seconds. Note this is a future-use 3GPP parameter. 3.) Period maps to UE-Positioning-MeasurementInterval in UE-Positioning-EventParam in UEPositioning-ReportCriteria with conversions. The 3GPP enumerated value must be converted to the actual period in seconds. 4.) Horizontal Accuracy Uncertainty (1) Value maps to UE-Positioning-Accuracy in UE-PositioningReportingQuantity with no conversions. 5.) Position Reporting Mode and Message Rate map to UE-Positioning-ReportCriteria with conversions. The enumerated type ReportingAmount and the Boolean reportFirstFix in UE-Positioning-EventParam in UE-Positioning-ReportCriteria are combined to determine the Position Reporting Mode and Message Rate. The 3GPP enumerated values must be converted to the actual message rate in seconds. 92-G10564A 92-G10564A Rev. T Page 47 of 174 November 30, 2004 Input Command: @@OacttppARRsmrC c Position Calculation Mode 0 1 2 3 4 5 6 7 8 tt Time Limit in seconds 2 . 3600 pp Period in seconds 2 . 7200 A Horizontal Accuracy Uncertainty (1) Value Desired accuracy, r, expressed in meters is given by: r = 10 * (1.1)A - 1) 0 . 127 RR Constant Always 0x7F00 s Power State After Calculation 0 1 2 = Low Power (RTC and RAM only) = CPU Power (RTC, RAM and CPU only) = Full Power (RTC, RAM, CPU, GAM, and RF) m Position Reporting Mode 0 1 = Upon Request = Unsolicited r Message Rate in seconds 0 . 255 0 1 2 3 C = = = = = = = = = Stop Polling OneShot One Fix OneShot Periodic OneTrack Always OneTrack One Fix OneTrack Periodic OneRange Once OneRange Always = = = = Output response once Output response once per second Output response every two seconds Output response every three seconds Checksum Message Length: 18 bytes Response Message: See Section 5.1 Ellipsoid Point with Altitude and Uncertainty Ellipsoid Response (@@Pb). 92-G10564A 92-G10564A Rev. T Page 48 of 174 November 30, 2004 6.2 Ephemeris and Satellite Clock Corrections (@@Ob) This message is an input to the Instant GPS IC allowing the user to specify the ephemeris data as described in the ICD-200 ICD-200. This message is also an output from the Instant GPS IC, requested via the @@Ot message, allowing the user to collect the set of ephemeris data present in the Instant GPS IC. 1.) Upon user input, if the Message Type is 0 (Delete all ephemeris), all current ephemeris present in the Instant GPS IC is deleted. Although the remaining message parameters are not used, the remaining message parameters must be within the valid ranges or the command will be rejected. For output (see @@Ot), the Instant GPS IC will output one message with Message Type equal to 0 when no ephemeris is present in the Instant GPS IC. Since the remaining message parameters are not processed when the Message Type is 0 (Delete all ephemeris) upon user input, note a new satellite ephemeris cannot be entered in the same message as the command to remove all current ephemeris. 2.) For output (see @@Ot), the Instant GPS IC will output (valid) ephemeris data using Message Types 1 (First record) through 3 (Last record). This will let the user know when all Instant GPS IC ephemeris data has been output. If only one ephemeris data set is present, the Message Type will be 3. If only two ephemeris data sets are present, the Message Type will be 1 then 3. 3.) Upon user input, with Message Type = 1, 2, 3, or 4, a.) the satellite's ephemeris data will be added to the existing ephemeris set in the Instant GPS IC (if new) or will overwrite the existing data (if already present). There is no required order of the Message Type value on input. Thus, the user can send in random values from 1 through 4 in any order, or send in all ephemeris records with the same Message Type value. b.) if the ephemeris data is sent after Instant GPS IC power-up, and if time and position are known, then the visible list can be computed, and satellites will be assigned to the pseudo-channels. If either time or position is unknown, then the pseudo-channel assignments will be based on ephemeris that has been input. c.) if the satellite and channel assignment message (@@Ou) is sent after Instant GPS IC power-up, then the visible list is specified by the channel assignments, and ephemeris input (@@Ob) for satellites not assigned to pseudo-channels will be ignored. 3GPP Traceability: 1.) Message Number and Message Type have no mapping 2.) Satellite PRN through IDOT from 3GPP 25.331, Section 10.3.7.91a, as listed in 3GPP 25.331, Section 10.3.7.94, and 3GPP 25.331, Section 10.3.7.90 3GPP Driver Considerations: 1.) Message Type will generally be one upon input. 2.) Satellite PRN maps to SatID in NavigationModelSatInfo in NavigationModelSatInfoList in UEPositioning-GPS-NavigationModel with conversions. The enumerated satellite ID must be converted to the actual GPS PRN by adding one. 3.) URA Index through IDOT maps to EphemerisParameter in NavigationModelSatInfo in NavigationModelSatInfoList in UE-Positioning-GPS-NavigationModel with no conversions. 4.) Note Satellite Status in NavigationModelSatInfo in NavigationModelSatInfoList in UE-PositioningGPS-NavigationModel and codeOnL2, satHealth, l2Pflag, and sf1rsvd in EphemerisParameter in NavigationModelSatInfo in NavigationModelSatInfoList in UE-Positioning-GPS-NavigationModel are not used. 92-G10564A 92-G10564A Rev. T Page 49 of 174 November 30, 2004 Input Command: @@ i Message Number 0 . 255 y Message Type 0 1 2 3 4 = No ephemeris present (output) or Delete all ephemeris (input) = First record (output) or Any record (input) = Neither first nor last record (output) or Any record (input) = Last record (output) or Any record (input) = Any record (input) s Satellite PRN Note zero is not a valid PRN and is used as a null indicator 0 . 255 N URA Index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 DD IODC 0 . 1023 G TGD in 2-31 seconds -128 . 127 TT toc in 24 seconds 0 . 37799 (0 . 604784 seconds) a af2 in 2-55 seconds/second2 -128 . 127 bb af1 in 2-43 seconds/second -32768 . 32767 fff af0 in 2-31 seconds -2097152 . 2097151 rr Crs in 2-5 meters -32768 . 32767 nn n in 2-43 semi-circles/second -32768 . 32767 mmmm M0 in 2-31 semi-circles -231 . 231 - 1 92-G10564A 92-G10564A Rev. T = 0< = 2.40 < = 3.40 < = 4.85 < = 6.85 < = 9.65 < = 13.65 < = 24.00 < = 48.00 < = 96.00 < = 192.00 < = 384.00 < = 768.00 < = 1536.00 < = 3072.00 < = Unknown URA URA URA URA URA URA URA URA URA URA URA URA URA URA URA 2.40 3.40 4.85 6.85 9.65 13.65 24.00 48.00 96.00 192.00 384.00 768.00 1536.00 3072.00 6144.00 Page 50 of 174 November 30, 2004 uu Cuc in 2-29 radians -32768 . 32767 eeee e in 2-33 dimensionless units 0 . 257698038 (0 . 0.03) UU Cus in 2-29 radians -32768 . 32767 AAAA (A)1/2 in 2-19 meters1/2 0 . 232 - 1 tt toe in 24 seconds 0 . 37799 (0 . 604784 seconds) j Fit Interval Flag 0 1 k AODO in 900 seconds 0 . 31 (0 . 27900 seconds) vv Cic in 2-29 radians -32768 . 32767 gggg (OMEGA)0 in 2-31 semi-circles -231 . 231 - 1 SS Cis in 2-29 radians -32768 . 32767 NNNN i0 in 2-31 semi-circles -231 . 231 - 1 RR Crc in 2-5 meters -32768 . 32767 wwww in 2-31 semi-circles -231 . 231 - 1 ooo OMEGADOT in 2-43 semicircles/second -223 . 223 - 1 dd IDOT in 2-43 semi-circles/second -8192 . 8191 C Checksum = 4 hours = greater than 4 hours Message Length: 69 bytes Response Message: See Section 5.2 Assist Data Acknowledge (@@Pc). 92-G10564A 92-G10564A Rev. T Page 51 of 174 November 30, 2004 6.3 Ionospheric Corrections Assist Data (@@Oc) This message is an input to the Instant GPS IC allowing the user to specify the ionospheric data as described in the ICD-200 ICD-200. Note the ionospheric corrections are uploaded to the satellites at least every six days. After six days, the ionospheric correction accuracy degrades over time. 1.) If Bit 0 of the Mode is zero, the ionospheric corrections will be applied. If Bit 0 of the Mode is one, then the Instant GPS IC will not use the ionospheric corrections. Normally, the ionospheric corrections are not used when receiving differential corrections. 2.) If the ionospheric corrections are valid, then Bit 1 of the Mode will be zero. If the ionospheric corrections are not valid, then Bit 1 of the Mode will be one. Typically, this bit of the Mode is used as status of the ionospheric corrections (and is the same information as Bit 2 of the Assist Data Present field in the @@Pb message). Bit 1 of the Mode is usually zero upon input from the user. However, if the user sets Bit 1 of the Mode, the Instant GPS IC will invalidate the ionospheric corrections and ignore the remaining message parameters. Although the remaining parameters are not used, the remaining message parameters must be within valid ranges or the command will be rejected. 3GPP Traceability: 1.) Message Number and Mode have no mapping 2.) 0 through 3 from 3GPP 25.331, Section 10.3.7.92, as listed in 3GPP 25.331, Section 10.3.7.90 3GPP Driver Considerations: 1.) Mode will generally be zero upon input. 2.) 0 through 3 map to UE-Positioning-GPS-IonosphericModel in UE-Positioning-GPS-AssistanceData with no conversions. 92-G10564A 92-G10564A Rev. T Page 52 of 174 November 30, 2004 Input Command: @@OcimabcdefghC i Message Number m 0 . 255 Mode (MSB) For each bit, value as defined bit 7 = Reserved bit 6 = Reserved bit 5 = Reserved bit 4 = Reserved bit 3 = Reserved bit 2 = Reserved bit 1 = Output: Corrections Valid (0) or Corrections Invalid (1) Input: No Action (0) or Delete Corrections (1) bit 0 = Apply (0) or Ignore (1) a 0 in 2-30 seconds -128 . 127 b 1 in 2-27 seconds/semi-circle -128 . 127 c 2 in 2-24 seconds/semi-circle2 -128 . 127 d 3 in 2-24 seconds/semi-circle3 -128 . 127 e 0 in 211 seconds -128 . 127 f 1 in 214 seconds/semi-circle -128 . 127 g 2 in 216 seconds/semi-circle2 -128 . 127 h 3 in 216 seconds/semi-circle3 -128 . 127 C Checksum Message Length: 17 bytes Response Message: See Section 5.2 Assist Data Acknowledge (@@Pc). 92-G10564A 92-G10564A Rev. T Page 53 of 174 November 30, 2004 6.4 UTC Corrections Assist Data (@@Od) This message is an input to the Instant GPS IC allowing the user to specify the UTC data as described in the ICD-200 ICD-200. Note the UTC corrections are uploaded to the satellites at least every six days. After six days, the UTC correction accuracy degrades over time. 1.) If Bit 0 of the Mode is zero, the UTC corrections will be applied. If Bit 0 of the Mode is one, then the Instant GPS IC will not use the UTC corrections. Normally, calendar time in the NMEA messages includes the UTC offset. This control allows the user to override the default setting and output time and date in GPS time. 2.) If the UTC corrections are valid, then Bit 1 of the Mode will be zero. If the UTC corrections are not valid, then Bit 1 of the Mode will be one. Typically, this bit of the Mode is used as status of the UTC corrections (and is the same information as Bit 1 of the Assist Data Present field in the @@Pb message). Bit 1 of the Mode is usually zero upon input from the user. However, if the user sets Bit 1 of the Mode, the Instant GPS IC will invalidate the UTC corrections and ignore the remaining message parameters. Although the remaining parameters are not used, the remaining message parameters must be within valid ranges or the command will be rejected. 3.) Note the UTC corrections cannot be applied until the week number is known in the Instant GPS IC. 3GPP Traceability: 1.) Message Number and Mode have no mapping 2.) A0 through tLSF from 3GPP 25.331, Section 10.3.7.97, as listed in 3GPP 25.331, Section 10.3.7.90 3GPP Driver Considerations: 1.) Mode will generally be zero upon input. 2.) A0 through tLSF map to UE-Positioning-GPS-UTC-Model in UE-Positioning-GPS-AssistanceData with no conversions. 92-G10564A 92-G10564A Rev. T Page 54 of 174 November 30, 2004 Input Command: @@OdimAAAAaaadtwWnDC i Message Number m 0 . 255 Mode (MSB) For each bit, value as defined bit 7 = Reserved bit 6 = Reserved bit 5 = Reserved bit 4 = Reserved bit 3 = Reserved bit 2 = Reserved bit 1 = Output: Corrections Valid (0) or Corrections Invalid (1) Input: No Action (0) or Delete Corrections (1) bit 0 = Apply (0) or Ignore (1) AAAA A0 in 2-30 seconds -2147483648 . 2147483647 (-2 . 2 seconds) aaa A1 in 2-50 seconds/second -8388608 . 8388607 (-7.45 . 7.45 nanoseconds/second) d tLS in seconds -128 . 127 t tot in 212 seconds 0 . 147 (0 . 602112 seconds) w WNt in weeks 0 . 255 W WNLSF in weeks 0 . 255 n DN 1 . 7 D tLSF in seconds -128 . 127 C Checksum Message Length: 22 bytes Response Message: See Section 5.2 Assist Data Acknowledge (@@Pc). 92-G10564A 92-G10564A Rev. T Page 55 of 174 November 30, 2004 6.5 DGPS Assist Data (@@Oe) This message is an input to the Instant GPS IC allowing the user to specify the differential corrections for each satellite. This message, on a per satellite basis, provides the same information contained in the Type 1, Type 2, and Type 9 messages in RTCM-104 RTCM-104. 1.) The Mode allows the user to separate the message fields between Type 1/Type 9 m