Trimble Aardvark Manual
Transcription
Trimble Aardvark Manual
reference guide Trimble Aardvark DR + GPS Receiver REFERENCE GUIDE AARDVARK DR + GPS Receiver For use with: Aardvark DR + GPS, Flat Mounted Only (P/N 88788-30 - Flat) Aardvark DR + GPS, Any Orientation Mounting (P/N 88788-50 - Tilt) Version 1.0 Revision B Part Number 88788-XX-UG June 2012 F Corporate Office Trimble Navigation Limited Component Technologies 935 Stewart Drive Sunnyvale, CA 94085 U.S.A. Phone: 1-800-767-4822 +1-408-481-8258 www.trimble.com Support Offices Trimble Navigation Limited Component Technologies 935 Stewart Drive Sunnyvale, CA 94085 U.S.A. Phone: 1-800-767-4822 Legal Notices Copyright and Trademarks © 2011–2012, Trimble Navigation Limited. Trimble, the Globe & Triangle logo, and Condor are trademarks of Trimble Navigation Limited, registered in the United States and in other countries. TM3000 is a trademark of Trimble Navigation Limited. All other trademarks are the property of their respective owners. All rights reserved. No part of this manual may be copied, reproduced, translated, or reduced to any electronic medium or machine-readable form for any use other than with the Aardvark DR + GPS receiver. Release Notice This is the June 2012 release (Revision B) of the AARDVARK DR + GPS Receiver Reference Guide, part number 88788-XX-UG. LIMITED WARRANTY TERMS AND CONDITIONS Product Limited Warranty Subject to the following terms and conditions, Trimble Navigation Limited (“Trimble”) warrants that for a period of one (1) year from date of purchase this Trimble product (the “Product”) will substantially conform to Trimble's publicly available specifications for the Product and that the hardware and any storage media components of the Product will be substantially free from defects in materials and workmanship. Product Software Product software, whether built into hardware circuitry as firmware, provided as a standalone computer software product, embedded in flash memory, or stored on magnetic or other media, is licensed solely for use with or as an integral part of the Product and is not sold. If accompanied by a separate end user license agreement (“EULA”), use of any such software will be subject to the terms of such end user license agreement (including any differing limited warranty terms, exclusions, and limitations), which shall control over the terms and conditions set forth in this limited warranty. Software Fixes During the limited warranty period you will be entitled to receive such Fixes to the Product software that Trimble releases and makes commercially available and for which it does not charge separately, subject to the procedures for delivery to purchasers of Trimble products generally. If you have purchased the Product from an authorized Trimble dealer rather than from Trimble directly, Trimble may, at its option, forward the software Fix to the Trimble dealer for final distribution to you. Minor Updates, Major Upgrades, new products, or substantially new software releases, as identified by Trimble, are expressly excluded from this update process and limited warranty. Receipt of software Fixes or other enhancements shall not serve to extend the limited warranty period. For purposes of this warranty the following definitions shall apply: (1) “Fix(es)” means an error correction or other update created to fix a previous software version that does not substantially conform to its Trimble specifications; (2) “Minor Update” occurs when enhancements are made to current features in a software program; and (3) “Major Upgrade” occurs when significant new features are added to software, or when a new product containing new features replaces the further development of a current product line. Trimble reserves the right to determine, in its sole discretion, what constitutes a Fix, Minor Update, or Major Upgrade. Warranty Remedies If the Trimble Product fails during the warranty period for reasons covered by this limited warranty and you notify Trimble of such failure during the warranty period, Trimble will repair OR replace the nonconforming Product with new, equivalent to new, or reconditioned parts or Product, OR refund the Product purchase price paid by you, at Trimble’s option, upon your return of the Product in accordance with Trimble's product return procedures then in effect. How to Obtain Warranty Service To obtain warranty service for the Product, please contact your local Trimble authorized dealer. Alternatively, you may contact Trimble to request warranty service at +1-408-481-6940 (24 hours a day) or e-mail your request to [email protected]. Please be prepared to provide: 2 AARDVARK DR + GPS Receiver Reference Guide – – – – your name, address, and telephone numbers proof of purchase a copy of this Trimble warranty a description of the nonconforming Product including the model number – an explanation of the problem The customer service representative may need additional information from you depending on the nature of the problem. Warranty Exclusions and Disclaimer This Product limited warranty shall only apply in the event and to the extent that (a) the Product is properly and correctly installed, configured, interfaced, maintained, stored, and operated in accordance with Trimble's applicable operator's manual and specifications, and; (b) the Product is not modified or misused. This Product limited warranty shall not apply to, and Trimble shall not be responsible for, defects or performance problems resulting from (i) the combination or utilization of the Product with hardware or software products, information, data, systems, interfaces, or devices not made, supplied, or specified by Trimble; (ii) the operation of the Product under any specification other than, or in addition to, Trimble's standard specifications for its products; (iii) the unauthorized installation, modification, or use of the Product; (iv) damage caused by: accident, lightning or other electrical discharge, fresh or salt water immersion or spray (outside of Product specifications); or exposure to environmental conditions for which the Product is not intended; (v) normal wear and tear on consumable parts (e.g., batteries); or (vi) cosmetic damage. Trimble does not warrant or guarantee the results obtained through the use of the Product, or that software components will operate error free. NOTICE REGARDING PRODUCTS EQUIPPED WITH TECHNOLOGY CAPABLE OF TRACKING SATELLITE SIGNALS FROM SATELLITE BASED AUGMENTATION SYSTEMS (SBAS) (WAAS/EGNOS, AND MSAS), OMNISTAR, GPS, MODERNIZED GPS OR GLONASS SATELLITES, OR FROM IALA BEACON SOURCES: TRIMBLE IS NOT RESPONSIBLE FOR THE OPERATION OR FAILURE OF OPERATION OF ANY SATELLITE BASED POSITIONING SYSTEM OR THE AVAILABILITY OF ANY SATELLITE BASED POSITIONING SIGNALS. THE FOREGOING LIMITED WARRANTY TERMS STATE TRIMBLE’S ENTIRE LIABILITY, AND YOUR EXCLUSIVE REMEDIES, RELATING TO THE TRIMBLE PRODUCT. EXCEPT AS OTHERWISE EXPRESSLY PROVIDED HEREIN, THE PRODUCT, AND ACCOMPANYING DOCUMENTATION AND MATERIALS ARE PROVIDED “AS-IS” AND WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND, BY EITHER TRIMBLE OR ANYONE WHO HAS BEEN INVOLVED IN ITS CREATION, PRODUCTION, INSTALLATION, OR DISTRIBUTION, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NONINFRINGEMENT. THE STATED EXPRESS WARRANTIES ARE IN LIEU OF ALL OBLIGATIONS OR LIABILITIES ON THE PART OF TRIMBLE ARISING OUT OF, OR IN CONNECTION WITH, ANY PRODUCT. BECAUSE SOME STATES AND JURISDICTIONS DO NOT ALLOW LIMITATIONS ON DURATION OR THE EXCLUSION OF AN IMPLIED WARRANTY, THE ABOVE LIMITATION MAY NOT APPLY OR FULLY APPLY TO YOU. Limitation of Liability TRIMBLE'S ENTIRE LIABILITY UNDER ANY PROVISION HEREIN SHALL BE LIMITED TO THE AMOUNT PAID BY YOU FOR THE PRODUCT. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL TRIMBLE OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGE WHATSOEVER UNDER ANY CIRCUMSTANCE OR LEGAL THEORY RELATING IN ANYWAY TO THE PRODUCTS, SOFTWARE AND ACCOMPANYING DOCUMENTATION AND MATERIALS, (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF DATA, OR ANY OTHER PECUNIARY LOSS), REGARDLESS OF WHETHER TRIMBLE HAS BEEN ADVISED OF THE POSSIBILITY OF ANY SUCH LOSS AND REGARDLESS OF THE COURSE OF DEALING WHICH DEVELOPS OR HAS DEVELOPED BETWEEN YOU AND TRIMBLE. BECAUSE SOME STATES AND JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY OR FULLY APPLY TO YOU. PLEASE NOTE: THE ABOVE TRIMBLE LIMITED WARRANTY PROVISIONS WILL NOT APPLY TO PRODUCTS PURCHASED IN THOSE JURISDICTIONS (E.G., MEMBER STATES OF THE EUROPEAN ECONOMIC AREA) IN WHICH PRODUCT WARRANTIES ARE THE RESPONSIBILITY OF THE LOCAL TRIMBLE AUTHORIZED DEALER FROM WHOM THE PRODUCTS ARE ACQUIRED. IN SUCH A CASE, PLEASE CONTACT YOUR LOCAL TRIMBLE AUTHORIZED DEALER FOR APPLICABLE WARRANTY INFORMATION. Official Language THE OFFICIAL LANGUAGE OF THESE TERMS AND CONDITIONS IS ENGLISH. IN THE EVENT OF A CONFLICT BETWEEN ENGLISH AND OTHER LANGUAGE VERSIONS, THE ENGLISH LANGUAGE SHALL CONTROL. Notice to Our European Union Customers For product recycling instructions and more information, please go to www.trimble.com/ev.shtml. Recycling in Europe: To recycle Trimble WEEE (Waste Electrical and Electronic Equipment, products that run on electrical power.), Call +31 497 53 24 30, and ask for the "WEEE Associate". Or, mail a request for recycling instructions to: Trimble Europe BV c/o Menlo Worldwide Logistics Meerheide 45 5521 DZ Eersel, NL Contents 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 System overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 General recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Carrier board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 Performance Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 GPS . . . . . . . . . . . . . . . . . . . . . . . . . . Dynamic limits. . . . . . . . . . . . . . . . . Fix rate . . . . . . . . . . . . . . . . . . . . . GPS accuracy . . . . . . . . . . . . . . . . . Time to first fix - DR . . . . . . . . . . . . . . Time to first 2D fix / GPS acquisition rate . . Reacquisition time . . . . . . . . . . . . . . Sensitivity . . . . . . . . . . . . . . . . . . . Electrical . . . . . . . . . . . . . . . . . . . . . . . Normal operating conditions. . . . . . . . . RF. . . . . . . . . . . . . . . . . . . . . . . . Data I/O . . . . . . . . . . . . . . . . . . . . PPS . . . . . . . . . . . . . . . . . . . . . . . Recommended GPS antenna characteristics Environmental . . . . . . . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 12 12 13 13 13 14 14 14 14 15 15 16 16 17 Interface Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 Pin-out assignments . . . . . . . . Detailed pin description . . . . . . RFIN . . . . . . . . . . . . . OPEN/SHORT . . . . . . . . XRESET . . . . . . . . . . . . VCC . . . . . . . . . . . . . . RXD. . . . . . . . . . . . . . TXD . . . . . . . . . . . . . . Speed signal input sensor . FWD/REV direction switch . RESERVED . . . . . . . . . . 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 21 21 21 22 22 22 22 22 22 22 Software Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 Soft event and fatal error logging and reporting Port configuration . . . . . . . . . . . . . . . . . Tools . . . . . . . . . . . . . . . . . . . . . . . . . Orientation and calibration . . . . . . . . . . . . Aardvark Coordinate System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 25 25 25 26 AARDVARK DR + GPS Receiver Reference Guide 3 Contents Vehicle Coordinate System . . . . . . . . . . . . . . . . . -30 model (mount flat) . . . . . . . . . . . . . . . . . . . . -50 model (mount flat or tilted) . . . . . . . . . . . . . . . Calculating the orientation vector (88788-50 model only) Calibration procedure . . . . . . . . . . . . . . . . . . . . . . . . General calibration requirements . . . . . . . . . . . . . . Mounting angle calibration (-50 Only) . . . . . . . . . . . General calibration (all versions) . . . . . . . . . . . . . . 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 27 27 30 31 32 32 32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 36 40 40 41 41 41 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 45 46 46 46 47 47 Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 Moisture precondition . . . . Baking procedure. . . . . . . Soldering paste . . . . . . . . Solder reflow . . . . . . . . . Recommended solder profile Optical inspection . . . . . . Cleaning . . . . . . . . . . . . Repeated wave soldering . . Wave soldering . . . . . . . . Hand soldering . . . . . . . . Rework . . . . . . . . . . . . Conformal coating . . . . . . Metal shield grounding . . . PCB fabrication . . . . . . . . A . . . . . . . . Mechanical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 Form factor . . . . . . . . . . . . . . . . . Mechanical drawing . . . . . . . . . . . . Soldering the Aardvark receiver. . . . . . Suggested customer solder mask . Suggested customer pad pattern . Suggested customer paste pattern Co-planarity . . . . . . . . . . . . . 7 . . . . . . . . Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 Software . . . . . . . . . . . . . . . . Features . . . . . . . . . . . . . Performance requirements . . Timing or latency requirements Upgradability requirements . . Interfaces . . . . . . . . . . . . . . . . Communication protocols . . . . . . . 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 50 50 51 51 51 51 52 52 52 52 52 52 53 HIPPO Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55 Available HIPPO messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4 AARDVARK DR + GPS Receiver Reference Guide Contents System class messages . . . . . . . . . . . . . . . . . . . . HIPPO protocol rules . . . . . . . . . . . . . . . . . . . . . General message structure rules . . . . . . . . . . Report message structure (Module to Host) . . . . Command message structure (Host to Module) . . Chained messages . . . . . . . . . . . . . . . . . . Post-formatting: HCC stuffing before transmission. Pre-parsing: HCC unstuffing after reception . . . . Command messages . . . . . . . . . . . . . . . . . . . . . Set class . . . . . . . . . . . . . . . . . . . . . . . . Query class . . . . . . . . . . . . . . . . . . . . . . System class . . . . . . . . . . . . . . . . . . . . . . Report class . . . . . . . . . . . . . . . . . . . . . . . . . . Report message code assignment . . . . . . . . . . System report packets . . . . . . . . . . . . . . . . Configuration Report packets . . . . . . . . . . . . Data report packets . . . . . . . . . . . . . . . . . . Initialization information . . . . . . . . . . . . . . . Diagnostic report packets . . . . . . . . . . . . . . Event log queue . . . . . . . . . . . . . . . . . . . . . . . Theory of Operation . . . . . . . . . . . . . . . . . Fatal errors . . . . . . . . . . . . . . . . . . . . . . Soft events. . . . . . . . . . . . . . . . . . . . . . . B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 . 58 . 59 . 59 . 60 . 61 . 61 . 61 . 62 . 63 . 63 . 65 . 65 . 66 . 66 . 73 . 75 . 85 . 87 . 113 . 113 . 113 . 115 NMEA 0183 Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Standard NMEA messages . . . . . . . . . . . . . . . . . . Proprietary NMEA messages . . . . . . . . . . . . . . . . . NMEA protocol overview . . . . . . . . . . . . . . . . . . . . . . NMEA 0183 communication interface . . . . . . . . . . . . . . . NMEA 0183 message structure . . . . . . . . . . . . . . . . . . . Field definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . Message options . . . . . . . . . . . . . . . . . . . . . . . . . . . Standard NMEA messages . . . . . . . . . . . . . . . . . . . . . . GGA: Global Positioning System Fix Data . . . . . . . . . . GSA: DOP and Active Satellites . . . . . . . . . . . . . . . GSV: GPS Satellites in View. . . . . . . . . . . . . . . . . . RMC: Recommended Minimum Specific GPS/Transit Data VTG: Course over Ground and Ground Speed . . . . . . . ZDA: Time and Date . . . . . . . . . . . . . . . . . . . . . . Proprietary NMEA messages . . . . . . . . . . . . . . . . . . . . BA: Antenna Status . . . . . . . . . . . . . . . . . . . . . . EM: Enter Monitor Mode. . . . . . . . . . . . . . . . . . . NM: Automatic Output Interval and Mask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 . 122 . 122 . 123 . 123 . 123 . 124 . 125 . 126 . 126 . 127 . 127 . 128 . 128 . 129 . 129 . 129 . 130 . 130 AARDVARK DR + GPS Receiver Reference Guide 5 Contents PT: Port Configuration . . . . . RT: Reset Device. . . . . . . . . TP: Temperature Measurement VR: Version Information . . . . C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 . 132 . 132 . 133 Reference Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Aardvark reference circuit diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 6 AARDVARK DR + GPS Receiver Reference Guide CHAPTER 1 Introduction 1 In this chapter: System overview General recommendations Carrier board This document describes the hardware and software characteristics of the Trimble® Aardvark module, a 19 x 19 mm SMT-sized dead-reckoning (DR) host-independent positioning GPS receiver. AARDVARK DR + GPS Receiver Reference Guide 7 1 Introduction System overview The Aardvark module contains a microprocessor and an embedded GPS receiver chip. The module board requires 3.3 ± 0.3 V and operates with an active GPS antenna. The Aardvark module will directly supply a 3.3 V antenna from the RF pin. There are two Aardvark models: 8 • The -30 model (P/N 88788-30) uses a single-gyro axis to measure heading change, and must be mounted flat in the vehicle. • The -50 model (P/N 88788-50) uses a three-axis gyro to measure all rotation and can convert this to heading change. This model may be mounted in any orientation on the vehicle. AARDVARK DR + GPS Receiver Reference Guide Introduction 1 General recommendations • The design of the RF transmission line that connects the GPS antenna to the device is critical to system performance. If the overall RF system is not implemented correctly, the device performance may be degraded. • The radio frequency (RF) input on the device is a 50 Ω, unbalanced input. There are ground castellations, pins 2 and 4, on both sides of the RF input castellation on pin 3. This RF input must be connected to the output of an LNA that has a GPS antenna at its input. • Connections to either the LNA output must be made using a 50 Ω, unbalanced transmission system. This transmission system may take any form, such as microstrip, coaxial, stripline, or any 50 Ω, characteristic impedance unbalanced, low-loss system. It is important to keep any noise sources with frequencies at or near 1575 MHz away from the RF input. • In the printed circuit board (PCB) layout, Trimble requires that you keep the PCB layer on which the device is mounted clear of solder mask and copper (vias or traces) under the module. This is to ensure mating of the castellations between the device and the board to which it is mounted, and to ensure that there is no interference with any feature beneath the device that will cause it to lift during the re-flow solder process. AARDVARK DR + GPS Receiver Reference Guide 9 1 Introduction Carrier board The carrier board was used in the development of the Aardvark module and, when available for customers, serves as a starter kit. The carrier board fits into the TM3000™ enclosure and is structured as follows: Antenna RF_IN 12V Ignition Vbatt (12V) Car Tacho Power Supply Level Shifter GPIO LDO VCC Level Shifter LDO Car DirSw Tacho Aardvark Vgyro Level Shifter Boot SIO1 UART1 RS232 Level Shifter Direction SPI Gyro/In I2C 12 Bit ADC ADS1000A0IDBVR SPI ADC ADC121S021 I2C 16 Bit ADC ADS1000A0IDBVR STM 3V Gyro L3G4200D Analog Devices 3 Axis Accel ADXL312 SIO2 UART2 I2C STM Gyro/Accel LSM330DLC STM Mag/Accel LM303DLHC STM 3 Axis Accel LIS331DLHT R Altimeter Epson 5V Gyro XV-8000 The electrical connector to the module uses a 24-pin Hirose part and has a cable assembly available for connection to the product. You can order the carrier board as a separate product, the A3000. For more information, contact your Trimble sales representative. 10 AARDVARK DR + GPS Receiver Reference Guide CHAPTER 2 Performance Specifications 2 In this chapter: GPS Electrical Environmental This chapter describes the key performance specifications of the Aardvark module. Note – For mechanical specifications, see Chapter 6, Mechanical Specifications. AARDVARK DR + GPS Receiver Reference Guide 11 2 Performance Specifications GPS The Aardvark module provides the same GPS core performance as the Trimble Condor® C1011 GPS receiver embedded module. All performance, accuracy, acquisition and availability requirements assume the following conditions, unless otherwise specified: • Clear view of the sky • Multipath-free environment • ≥ 5 satellites in view • > 36 CNO signal strengths • Stable temperature (<2 °C change per minute) • < 6 PDOP • Position change < 800 km since last power down. Dynamic limits Characteristic Limits Altitude -1000 m to +18000 m MSL Velocity 1 Acceleration Motion jerk 1 515 m/s 2 4g 20 m/sec³ For operational limits set by the USA government. 2The device operates with reduced accuracy when the acceleration exceeds 1 g. Fix rate 12 Item Rate DR fix rate 5 Hz (default) with 10 Hz option GPS fix rate 1 Hz AARDVARK DR + GPS Receiver Reference Guide Performance Specifications 2 GPS accuracy The entries in this table assume that the unit is producing valid position fixes. • The accuracy is specified for 3D • Clear view autonomous GPS conditions (outdoor) • Velocity accuracies are steady state Parameter CEP 50% CEP 90% Position, horizontal <2m < 3.5 m Position, vertical <3m <6m Speed accuracy N/A 0.06 m/s Heading accuracy (0.05 m/s) / Speed (1 δ ) Time to first fix - DR Parameter Acquisition time (seconds) DR - TTFF 2 Time to first 2D fix / GPS acquisition rate GPS acquisition time is defined as the time between the unit first being turned on and the moment when valid position fixes are output. The time to first fix (TTFF) can be affected by any of the following conditions: • Satellite visibility (fewer than 5 satellites in view with a CNO greater than 40) • Temperature drift (< 2 °C per minute) • GPS receiver powered down for more than one hour (this affects the validity of satellite ephemeris data) • Backup power not applied during power-down The following acquisition times are valid when the unit is at room temperature, has a clear view of the sky with a minimum of 5 satellites in view, and has not been moved more than 800 km since the last position fix. Type 50% (seconds) Comment Hot ≤2 Unit has ephemeris, position, and time Warm ≤ 35 Unit has almanac, position, and time; but no ephemeris Cold ≤ 38 Unit has no startup information AARDVARK DR + GPS Receiver Reference Guide 13 2 Performance Specifications Reacquisition time GPS signal outage time (seconds) Reacquisition time (90%) (seconds) 1 ≤1 5 ≤2 15 ≤2 Sensitivity Scenario Signal level Acquire a signal -146 dBm Track a signal -160 dBm Electrical Note – All specifications are over the entire temperature range, -40 °C to +85 °C. Normal operating conditions Parameter Minimum Typical Maximum Units Supply voltage 3.0 3.3 3.6 Power consumption 200 Supply voltage noise ripple 50 Input capacitance on power supply 22 Additional current for Low Noise Amplifier of active antenna Backup power supply Backup current 14 2.5 6 AARDVARK DR + GPS Receiver Reference Guide Conditions V DC mW Excluding external antenna mVpp From 1 Hz to 1 MHz µF 30 mA 3.6 VDC uA 3.0 V miniature GPS vehicle antenna (at room temperature) Over temperature range -40 °C to +85 °C Performance Specifications 2 RF The following results apply when the Aardvark receiver is tested with an external signal generator with a noise source connected to the device RF input: Parameter Minimum Noise figure Typical Maximum Units 8 Resistance to broadband noise jamming dB 20 Input impedance Value Tracking -160 dBm Acquisition sensitivity -146 dBm dB Jamming to signal ratio at antenna input within input filter bandwidth of 20 MHz; GPS signal power of ≥ -160 dB. Ω 50 Sensitivity parameter Conditions Data I/O The device interface is CMOS with TTL-compatible levels on TXD and RXD. Parameter Min Data rate Input voltage Typical Max Units Conditions 38.4 115.2 kbps ±3% error rate 0.8 V Low level at 50 µA V High level at 50 µA V Low level at 4 mA at supply voltage V High level at 4 mA at supply voltage 2.0 Output voltage 0.4 2.4 Input current Data latency after PPS -50 50 µA High level -50 50 µA Low level 100 ms Delta between PPS and packet transmission AARDVARK DR + GPS Receiver Reference Guide 15 2 Performance Specifications PPS PPS is present once power is applied to the unit. Parameter Min Timing accuracy Pulse duration Typical Max 25 4.2 Units Conditions ns To UTC time with valid position fixes us Rise time of leading edge 25 ns Rising edge is synchronized to UTC second Output voltage 0.4 V Low level (3.3 V) 2.4 High level (3.3 V) Recommended GPS antenna characteristics Antenna compatibility: Active only Power: 3.3 VDC. Power is provided to the antenna through the center conductor of the RF connector. The GPS has built-in antenna detection for open and short circuit conditions. For more information, see Appendix B, NMEA 0183 Protocol. The SHORT alert is triggered if more than approximately 19 mA is drawn from the antenna pin and the current is further restricted to a maximum of 33 mA by a current clamp. Parameter Min LNA gain 17 Max Units 42 dB Cable loss 10 dB Noise figure 1.5 dB Resistance to broadband noise jamming 20 dB Jammer to signal ratio at antenna input within input filter bandwidth of 20 MHz; GPS signal power of ≥ -130 dBm Resistance to RF burnout 10 dBm Signals > 100 MHz from L1 at 1 m from the antenna 16 Typical AARDVARK DR + GPS Receiver Reference Guide Conditions 2 Performance Specifications Environmental Parameter Min Operating temperature Typical Max Units Conditions -40 +85 °C Storage temperature -55 +105 °C Humidity 5 95 % % R.H. non-condensing at +60 °C. Thermal shock -40 +85 °C The unit will sustain proper operation after a temperature shock of between -40 °C to +85 °C for 100 cycles. Mechanical shock (non-operational) 75 g The unit will sustain proper operation after a mechanical shock (drop) test of 75 g / 6 msecs half-sine. Mechanical shock (operational) 40 g The unit will sustain proper operation after a mechanical shock (drop) test of 40 g / 6 msecs half-sine. ESD ESD testing was performed using the IEC1000-4-2 standard. All inputs and outputs are protected to ±500 V ESD level. The RF IN pin is protected up to 1 kV. If a higher level of compliance is required, additional electrostatic and surge protection must be added. Vibration The device shall maintain full performance specifications when the unit is subjected to vibration of up to (5 Hz/0.02 g2/ Hz., 20/0.05, 100/0.05, 800/0.001, 1000/0.001) 4.0 g rms, 15 min each of 3 axis. AARDVARK DR + GPS Receiver Reference Guide 17 2 18 Performance Specifications AARDVARK DR + GPS Receiver Reference Guide CHAPTER 3 Interface Characteristics 3 In this chapter: Pin-out assignments Detailed pin description This chapter describes the key mechanical specifications of the Aardvark module. AARDVARK DR + GPS Receiver Reference Guide 19 3 Interface Characteristics Pin-out assignments Pin number Name Pin number Name 1 Ground 28 Ground 2 Ground 27 Reserved 3 RF_IN 26 FWD/REV direction (input) 4 Ground 25 Speed signal input sensor 5 Reserved 24 UART TXD (output) 6 Vbackup 23 Reserved 7 Antenna OPEN 22 Reserved 8 Antenna SHORT 21 Reserved 9 Reserved 20 UART RXD (input) 10 Reserved 19 1PPS (output) 11 XRESET (external reset) 18 Reserved 12 Reserved 17 Reserved 13 Reserved 16 VCC 14 Ground 15 Ground 20 AARDVARK DR + GPS Receiver Reference Guide 3 Interface Characteristics Detailed pin description RFIN The RF input pin is the 50 Ω unbalanced GPS RF input, and can be used with active antennas. OPEN/SHORT The GPS has built-in antenna detection for open and short-circuit conditions. By default, the open and short alerts are turned on. To turn them off, use the $PMTK324 command. For more information, see Appendix B, NMEA 0183 Protocol. The SHORT alert is triggered if more than approximately 19 mA is drawn from the antenna pin and the current is further restricted to a maximum of 33 mA by a current clamp. The diagram shows the active antenna drawing current through a 10 Ω sense resistor, supplied by an internal 2.8 V regulator, supplied by VCC internally. As a result, there will be an associated voltage drop as the current increases: Note – This diagram is not a circuit diagram—it is a representation of how the open/short detection scheme works. Refer to the application designs for examples of antenna power circuits. The antenna OPEN and antenna SHORT pins are intended to be used as part of an antenna detection system when the external antenna power is not handled by the Aardvark module. For example, if the external antenna uses a 5.0 V supply, the Aardvark module cannot be used to power the antenna. For an example circuit that you can use with an externally powered antenna, see Appendix C, Reference Circuit. If the OPEN pin is not used, is should be pulled down to GND through a 10 kΩ resistor. If the SHORT pin is not used, it should be pulled up to VCC through a 10 kΩ resistor. The SHORT pin is pulsed high for 25 ms every second to check the antenna operation. AARDVARK DR + GPS Receiver Reference Guide 21 3 Interface Characteristics XRESET Use this logic-level, active low input to issue an external reset to the module. It can be connected to external logic or to a processor to issue a reset instruction. To reset the module, drive this pin to logic level "0" or "Low" for at least 100 ms, and then either release this signal or drive it back high. This pin has an internal 10 kΩ pull-up resister; if it is not used, leave it disconnected. VCC This is the primary voltage supply pin for the module RXD This logic level input is the serial port receive line (data input to the module). Leave disconnected if not used. TXD This logic level output is the serial port transmit line (data output from the module). Leave disconnected if not used. Speed signal input sensor 2.8 V LVTTL, 3.3 V to 5 V tolerable. Maximum tachometer pulse frequency is 3 kHz. FWD/REV direction switch 2.8 V TTL, 3.3 V to 5 V tolerable. The Aardvark receiver can work with both High (FWD) and Low (FWD) conventions. The Aardvark module will determine the sign of the direction switch automatically when the device is first used. RESERVED There are several reserved pins. Do not connect these pins. Note – Do not place solder mask, copper traces, vias, or other conductive elements under the module when designing the Aardvark module into your system. 22 AARDVARK DR + GPS Receiver Reference Guide CHAPTER 4 Software Interface 4 In this chapter: Soft event and fatal error logging and reporting Port configuration Tools Orientation and calibration Calibration procedure AARDVARK DR + GPS Receiver Reference Guide 23 4 Software Interface Soft event and fatal error logging and reporting The Aardvark module supports the soft event and fatal error logging and reporting described in the HIPPO Protocol Specification. While both HIPPO messages for soft events (0x14-01) and fatal errors (0x14-02) are supported, only soft events are actually implemented, as shown below. No fatal errors are currently implemented. The HIPPO specification lists all possible event codes supported by different products; the following table lists only soft events supported by the Aardvark module: ID Name Description Type1 0x01 LOG_SOFT_RESET System performed a warm reset. S 0x02 LOG_COLD_RESET System performed a cold reset. S 0x03 LOG_FACTORY_RESET System cleared flash and RAM and then reset. S 0x05 LOG_BBRAM_INVALID Invalid BBRAM detected on startup. S 0x06 LOG_GRACEFUL_SHUTDOWN System performed a graceful shutdown. S 0x10 LOG_TEST_PASSED System passed all diagnostic tests. S 0x11 LOG_TEST_START Begin system test. S 0x12 LOG_TEST_END Indicates the end of a test event. S 0x20 LOG_FORCE_TO_MONITOR Force to monitor command executed. S 0x40 LOG_NAV_FIRST_FIX GPS receives the first fix on start up. S 0x42 LOG_POSITION_SNAP Output solution snapped to DR-GPS. S 0x43 LOG_POSITION_RECOVERY Position recovery, snapped to GPS. S 0x44 LOG_HEADING_RECOVERY Heading recovery, snapped to GPS. S 0x45 LOG_DPP_RECOVERY DPP recovery, snapped to GPS. S 0x46 LOG_ZRO_RECOVERY ZRO recovery. S 0x50 LOG_NAV_USER_TIME User entered time on startup. S 0x51 LOG_NAV_USER_POS User entered position on startup. S 0x62 LOG_GYRO_ANOMALY Gyro readings not within specification. C 0x63 LOG_NO_TACHO_WHILE_MOVING No speed signal input when GPS detects motion. C 0x65 LOG_REVERSE_GPS_DISAGREE Reverse signal opposite to GPS. C 0x66 LOG_LARGE_JUMP Large jump at power-up. C 0x67 LOG_OSCILLATOR_ANOMALY Oscillator values out of specification. C 0x70 LOG_ANTENNA_OPEN Antenna open detected. C 0x71 LOG_ANTENNA_SHORT Antenna short detected. C 0x74 LOG_ERR_GYRO Gyro failed on startup. C 0x75 LOG_ERR_ADC ADC failed on self-test. C 1 Indicates whether the event is a single (S) or a continuos (C) event. Refer to the HIPPO Protocol Specification for details. 24 AARDVARK DR + GPS Receiver Reference Guide Software Interface 4 Port configuration Port Input Setup Output Setup Port 1 HIPPO 38400-8-NONE-1 HIPPO 38400-8-NONE-1 Tools Parameter Description Monitoring, configuring, exercising functionalities The Trimble GPS Studio software program can monitor, configure, and exercise the device functions. Updating application firmware The Trimble GPS Studio program supports updating the application firmware of the device. You can download the Trimble GPS Studio software from the Support section of the Trimble embedded products website. Go to www.trimble.com/embeddedsystems Orientation and calibration The two Aardvark modules can be oriented and calibrated as follows: AARDVARK DR + GPS Receiver Reference Guide 25 4 Software Interface Aardvark Coordinate System Vehicle Coordinate System Where: Vx: Forward and on the longitudinal plane of symmetry Vy: Lateral out the left side of the automotive vehicle Vz: Upward with respect to the automotive vehicle 26 AARDVARK DR + GPS Receiver Reference Guide 4 Software Interface -30 model (mount flat) This is the traditional version of the Aardvark dead-reckoning module and uses a single-axis gyroscope and wheel-tick measurements to propagate positions. The single-axis gyroscope must be mounted flat (level) relative to the vehicle frame so that the sensitive axis of the gyro points to the vertical direction of the vehicle. This model of the Aardvark receiver should be mounted within ±5 degrees of the vehicle level. This allows the gyro to measure motion around a single axis to accurately determine the change in heading of the vehicle. -50 model (mount flat or tilted) This module has a three-axis gyro and a sophisticated calibration algorithm that allows you to mount the module in any orientation relative to the vehicle. For example, the module can be mounted flat, tilted at an angle, upside-down, or on its side. The unit must know its mounting orientation. Do one of the following: Single fixed-angle configuration If the mounting orientation is known, you can program the orientation angles directly into the module. The Aardvark receiver will immediately start in DR mode. 0x70-60: 'Set' format for the Mounting Angle Calibration Byte / Bit Name Type Units / LSB Range / value Meaning Code U8 0x70 Subcode U8 0x60 0 Version U8 0x02 Version of the message format. When 'setting' data, make sure to set this field to the value reflected in this reference table. 1 Command U8 2-5 X-axis value of the forward direction unit vector FLT -1…1 X value of the unit vector in the vehicle's forward direction expressed in the gyro XYZ coordinates. 6-9 Y-axis value of the forward direction unit vector FLT -1…1 Y value of the unit vector in the vehicle's forward direction expressed in the gyro XYZ coordinates. Mounting angle calibration command: 0: Set the mounting angle unit vectors as specified in this packet. AARDVARK DR + GPS Receiver Reference Guide 27 4 Software Interface Byte / Bit Name Type 10-13 Z-axis value of the forward direction unit vector 14-17 Units / LSB Range / value Meaning FLT -1…1 Z value of the unit vector in the vehicle's forward direction expressed in the gyro XYZ coordinates. X-axis value of the left direction unit vector FLT -1…1 X value of the unit vector in the vehicle's left direction expressed in the gyro XYZ coordinates. 18-21 Y-axis value of the left direction unit vector FLT -1…1 Y value of the unit vector in the vehicle's left direction expressed in the gyro XYZ coordinates. 22-25 Z-axis value of the left direction unit vector FLT -1…1 Z value of the unit vector in the vehicle's left direction expressed in the gyro XYZ coordinates. 26-29 X-axis value of the up direction unit vector FLT -1…1 X value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. 30-33 Y-axis value of the up direction unit vector FLT -1…1 Y value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. 34-37 Z-axis value of the up direction unit vector FLT -1…1 Z value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. User-defined configuration If the Aardvark module will be used in multiple installations, where the installation angles are known for each installation, the module can select from preset profiles that are programmed into it. The Aardvark module will select the set that best matches the actual measured orientation—it will use measurements made while the vehicle is moving to "snap" to one of the orientations. Once the initial calibration has been completed successfully, the Aardvark module uses this set of orientation angles for all future calculations. Until it has been calibrated, the module operates in GPS-only mode. 0x70-60: 'Set' format for the Mounting Angle Calibration Byte / Bit 0 28 Name Type Units / LSB Code U8 0x70 Subcode U8 0x60 Version U8 AARDVARK DR + GPS Receiver Reference Guide Range / value Meaning 0x02 Version of the message format. When 'setting' data, make sure to set this field to the value reflected in this reference table. 4 Software Interface Byte / Bit Name Type 1 Command U8 … … … Units / LSB Range / value Meaning Mounting angle calibration command: 2: Set the mounting angle unit vectors by self-calibration and matching to a known profile (only if profiles were set using 0x70-61). All other fields in this packet are ignored. … … Range / value Meaning 0x02 Version of the message format. When 'setting' data, make sure to set this field to the value reflected in this reference table. 0x70-61: Mounting Angle Profiles Byte / Bit Name Type Units / LSB Code U8 0x70 Subcode U8 0x60 0 Version U8 1 Command U8 … … … Mounting angle calibration command: 1: Set the mounting angle unit vectors by self-calibration only (the other fields in this packet are ignored). … … Self-calibration configuration The Aardvark module can also be mounted in any arbitrary orientation and set to calibrate itself by using measurements made while the vehicle is moving to determine its actual orientation angles. This set of maneuvers will include a certain amount of time standing still and a certain number of right angle turns. Once the initial calibration has been completed successfully, the module uses this set of orientation angles for all future calculations. 0x70-60: 'Set' format for the Mounting Angle Calibration Byte / Bit 0 Name Type Units / LSB Code U8 0x70 Subcode U8 0x60 Version U8 Range / value Meaning 0x02 Version of the message format. When 'setting' data, make sure to set this field to the value reflected in this reference table. AARDVARK DR + GPS Receiver Reference Guide 29 4 Software Interface Byte / Bit Name Type 1 Command U8 … … … Units / LSB Range / value Meaning Mounting angle calibration command: 1: Set the mounting angle unit vectors by self-calibration only (the other fields in this packet are ignored). … … … Factory-default configuration If the Aardvark module finds that its current orientation does not match the orientation found during calibration, it will re-enter calibration mode. 0x70-60: 'Set' format for the Mounting Angle Calibration Byte / Bit Name Type Units / LSB Code U8 0x70 Subcode U8 0x60 0 Version U8 1 Command U8 … … … Range / value Meaning 0x02 Version of the message format. When 'setting' data, make sure to set this field to the value reflected in this reference table. Mounting angle calibration command: 3: Use the mounting angle programmed at manufacturing. All other fields in this packet are ignored. If manufacturing data is not available, an error is returned. … … … Calculating the orientation vector (88788-50 model only) The Aardvark -50 module uses a three-axis gyro to measure the complete motion of the vehicle in calculating the dead reckoning solution. The Aardvark module needs to know its orientation relative to the vehicle to make the correct translation between the measured motion and the vehicle's actual motion on the ground. The user can input a vector (a set of three numbers) that represents the orientation of the module relative to the vehicle. To calculate the orientation vector, the mounting angles for the Aardvark module must be known, specifically the pitch and roll—the yaw (the orientation relative to forward) is not used. To understand the pitch and roll angles, see the diagrams on the previous page that show the coordinate systems of the vehicle and the Aardvark module—the directions of the arrows in the diagrams define the positive axis of the coordinate system. Rotations are defined using the "right-hand rule." This means that a positive rotation around the Vy axis will be down at the nose of the vehicle; a positive rotation around the Vx axis will bring the left side up, the right side down. A rotation around Vy is pitch; a rotation around Vx is roll. The order of rotations matter when calculating the vectors. 30 AARDVARK DR + GPS Receiver Reference Guide 4 Software Interface The Aardvark module’s roll and pitch angles are defined as the combination of rotations of pitch then roll that brings the Aardvark from level to the actual mounting angle. Once the angles are known, the vectors are calculated as follows: U = [Ux Uy Uz] = [-sin(pitch) cos(pitch)*sin(roll) cos(pitch)*cos(roll)] Note – The vector is a unit vector, where Ux2+Uy2+Uz2 = 1. This is useful when checking your calculation. You can use the Trimble GPS Studio software to enter this vector into the device; alternatively use HIPPO packet 0x70-61. To set the "up" vector, use the values calculated as U = [Ux Uy Uz] above. Ideally, the left/forward vectors should match how the module is physically mounted in the vehicle. Note – Programming the module with the orientation (0, 0, 0) will not affect the current firmware. You can set and store multiple profiles in the Aardvark module. This is useful when you program the module at one location, but then install it on multiple vehicles with different mounting angles as you can preset a number of possible mounting angles for the unit. You can also use the "set" format of HIPPO packet 0x70-61. However, this command will only program the module to one set orientation. This packet will command the Aardvark module to use a specific angle, to commence a full self-calibration, or to commence a matching calibration where the module "snaps" to one of the profiles in the set of possible mounting angles defined in the 0x70-61 packet. Note – If the command 0x70-61 is used to program the UP vector (0,0,1) as the only profile, the firmware will not use this vector until it completes the self-calibration and finds the self-calibrated vector matches (0,0,1). This differs from 0X70-60. If 0x70-60 is used to program UP vector (0, 0, 1), the firmware will use this vector as it is and will never start the self-calibration process. Calibration procedure You must calibrate the Aardvark DR + GPS receiver after installation to ensure an accurate output from the receiver. The calibration will measure some of the characteristics that are specific to the vehicle installation, and is done automatically when the unit is first installed. Before the receiver is calibrated, it operates in GPS-only mode. After calibration, the receiver will operate in DR mode. To calibrate the receiver, you must drive a set of maneuvers that will give the receiver visibility into the following parameters: • Distance per pulse (DPP)—this calibrates the odometer output to relate output pulses to meters traveled. It is a combination of the actual vehicle Speed signal output characteristics and the tire size and inflation. • Direction switch—the receiver determines whether the output of the direction switch is high or low when traveling forward. AARDVARK DR + GPS Receiver Reference Guide 31 4 Software Interface • Gyro offset (Zero Rate Output [ZRO])—this is the output of the on-board gyro when the vehicle is not moving. • Gyro scale factor (GSF)—this is the relationship between the output of the gyro measured in volt and the actual turn rate in degrees per second. • Mounting orientation (-50 version only)—the -50 version of the receiver can be mounted in any orientation. You must either program in the actual mounting orientation or the receiver can measure its orientation. General calibration requirements • Drive on a flat road. • Make sure that you have good GPS visibility. • The driving speeds must be above 30 km/hr (18 mph). Mounting angle calibration (-50 Only) You can mount the -50 version of the receiver in any orientation and you can then set up the actual installed angle in one of the following ways: • If the exact angle is known, you can enter this directly as a configuration of the receiver. This is useful if the receiver is being installed on a single model of vehicle with a defined mounting scheme. • If the receiver may be mounted on a range of vehicles, each with a defined mounting angle, configure the receiver with each set of installation angles. During the calibration, it will then determine which set of the pre-programmed installation angles is closest to the actual measured installation. When its own determination is within 5° of one of the pre-programmed angle sets, the receiver "snaps" to it. • If the receiver has no information about the installation angle, it will first measure the actual installed angles. This method will take longer than the other two methods. To do this, complete a series of approximately ten right angle (90°) turns with a forward speed greater than 30 km/hr (18 mph). Each turn should be completed in less than five seconds and should include a number of times when the vehicle is stopped between the turns (at least five seconds for each instance). To monitor the mounting angle calibration status, use HIPPO 0x70-60. To configure mounting angles, use HIPPO 0x70-61. General calibration (all versions) Note – For the -50 version of the receiver, you can only proceed with the general calibration once the mounting angle calibration is complete. General calibration involves the parameters DPP, direction switch, ZRO, and GSF—they are largely calibrated in parallel. 32 AARDVARK DR + GPS Receiver Reference Guide 4 Software Interface To do this, you can drive a set of 10 or more 90° turns (both right hand and left hand) with a forward speed greater than 30 km/hr (18 mph). Separate the turns with the some intervals of the vehicle at a standstill. For example, if the vehicle makes four right hand turns, stop for 5 seconds before starting again. During this time: • DPP calibrates at any time that there is a good GPS track. • The direction turn switch calibrates during the first motion. • ZRO is calibrated at any time that the vehicle is not moving. • GSF is calibrated during turns. You only need to complete the initial calibration once. After the initial calibration, the receiver will continually update the calibration whenever it has appropriate data with good GPS tracking. If you move the receiver module to a different vehicle, you do not necessarily need to recalibrate it. The gyro calibration will be the same, as the gyro is part of the module, not the vehicle and the DPP calibration will adjust as the vehicle is driven. AARDVARK DR + GPS Receiver Reference Guide 33 4 34 Software Interface AARDVARK DR + GPS Receiver Reference Guide CHAPTER 5 Software 5 In this chapter: Software Interfaces Communication protocols This chapter describes the software used with the Aardvark receiver. AARDVARK DR + GPS Receiver Reference Guide 35 5 Software Software Features Parameter Description DR reporting frequency Provide DR positioning data at a programmable frequency of 5 Hz or 10 Hz. DR position reporting The following DR position data is provided: • Position as WGS84 latitude (- π/2rad, π/2rad), longitude (- π, +π rad) and altitude (m) • Position accuracy (m) • Position status (invalid, valid) DR heading reporting The heading is always the direction the front of the car points to (north is 0 radians; clockwise is positive increasing). The following DR heading information is provided: • Heading (0 rad, 2π rad) • Heading accuracy (rad) • Heading status (invalid, valid) DR speed reporting The following DR speed data is provided: • Speed (m/s) • Speed accuracy approximation, derived from Kalman filter parameters (m/s) • The direction switch status (invalid, forward, backward) • Speed status (invalid, valid) • Motion indicator (invalid, motion, no motion) DR delta distance reporting The following DR delta distance data is provided: • Delta distance (m) since previous timestamp (not based on the distance between 2 successive positions) • Delta distance accuracy approximation, derived from Kalman filter parameters (m/s) • Delta distance status (invalid, valid) • Always a positive value (total distance forward - total distance backward) since last report. Direction status indicates if the direction traveled is forward or backward. DR delta heading reporting The following DR delta heading data is provided: • Delta heading (centidegrees) since the previous timestamp • Delta heading accuracy approximation, derived from Kalman filter parameters (centidegrees) • Delta heading status (invalid, valid) GPS reporting frequency Provide GPS positioning data at a programmable frequency of 0 Hz or 1 Hz. GPS position reporting The following GPS position data is provided: • Position as WGS84 latitude (- π/2rad, π/2rad), longitude (- π, +π rad) and altitude (m) • GPS status (no SVs, tracking but no position, 2D, 3D) • Position accuracy (m) 36 AARDVARK DR + GPS Receiver Reference Guide 5 Software Parameter Description GPS heading reporting The heading is always the direction where the front of the car is pointing (north is 0 radians, clockwise is positive increasing). The following GPS heading data is provided: • Heading (0 rad, 2π rad) • Heading accuracy (rad) • Heading status (invalid, valid) GPS speed reporting The following GPS speed data is provided: • Speed (m/s) • Speed status (invalid, valid) • Speed accuracy (m/s) System information The following information is provided on request and when power is turned on: • GPS receiver connected/responding status • Battery backup (error) status • Antenna feed line error (open/short) status • Almanac status • DR software version • DR software date • GPS software version • GPS software date • Flash data (product name, serial number, and date of manufacture) • Sensor status indication (speed signal input and gyro detected) GPS information The following GPS data is provided: • IDs of tracked satellites (#) • SNRs of tracked satellites (dB–Hz) • Number of visible (tracking list) satellites • Azimuth of each visible satellite (°) • Elevation of each visible satellite (°) • DOP values • UTC time (yyyy/mm/dd/hh/mm/ss) • GPS time • GPS status Map matching The device uses map positions and heading, received through messages, to improve positioning data accuracy. BBRAM The device keeps positioning data, sensor calibration data and GPS almanac and ephemeris data during power off with backup power available. This includes a "no speed signal input mode" indicator. The saved values are used when the system is restarted. RTC The RTC is kept alive when backup power is present. A-GPS The device can send and receive almanac data, ephemeris data, date, position, and time for improving TTFF and for production test. AARDVARK DR + GPS Receiver Reference Guide 37 5 Software Parameter Description Self-calibration The uncalibrated device can calibrate itself (for example, provide valid positioning data) from the first GPS 2D measurement onward. The device is fully calibrated when: • GPS is navigating uninterrupted during 60 seconds (DPP) • Speed during these 60 seconds is > 8 m/s (DPP) • Gyro sensitivity after 100 right hand turns (GSF) Note – The device must be calibrated on horizontal roads. The position is valid after the first 3D position fix. Direction switch The device automatically determines the direction switch logic level. Non-volatile memory (NVRAM) The device supports a message to perform a back-up of DR calibration and user configuration data into Flash/NVRAM. Calibration data The device supports messages to send and receive positioning and sensor calibration data that needs to be preserved during power loss. Raw sensor diagnostics The device provides the following raw sensor data with programmable update frequencies of 5 Hz or 10 Hz (HIPPO packet 0x30-02: Fast Fix with Raw DR Data Message): • Number of actual speed sensor pulses • Actual direction switch value • Gyro output value Calibration data diagnostics The device provides the following calibration data upon request (HIPPO packet 0x36: DR Calibration Messages): • Zero Rate Output (ZRO) • Sensitivity (mV / ° / s) • Gyro calibration status (ZRO Calibrated Y/N, Sensitivity Calibrated Y/N) • Direction switch status (Calibrated, Y/N) • Direction switch value (Forward or Reverse) • Distance Per Pulse (DPP) • Speed sensor calibration status (Calibrated, Y/N) Sensor interface test The device provides the following self-test functions when turned on. The results of the test are reported to the host upon query. • ADC/Gyro—read gyro output level on start-up and verify its validity (HIPPO packet 0x3F-01: ADC and Gyro Self-test Data). Power On self test The following diagnostic self-tests are performed when the device is turned on: • FLASH ROM checksum • RTC validation • RAM read/write test Reserved 38 AARDVARK DR + GPS Receiver Reference Guide 5 Software Parameter Description Run-time positioning diagnostics The device can constantly verify the performance of the GPS against the peripheral DR inputs and vice versa during normal operation. If any instance of non-conformance is detected, the device logs the non-conformance event in an error log. The following instances of non-conformance are identified: • A positioning process is not active under normal conditions. • Gyro readings do not stay within specification. • No speed signal input data is received during a period when GPS is detecting movement. • Excessive speed signal input data is received for a long period of time. • Reverse signal is opposite to the direction determined by GPS. When battery back up data is not available, the reverse signal must be calibrated before an error can be reported. • Large or numerous jumps occur as a result of differences between DR positions and GPS Positions. • Oscillator values are not within specification. Error/event log The device has an error/event log in non-volatile memory that records all system events and errors. For more information, refer to Trimble document P/N 45294-XX-SP. All events reported to the log have the following format: • Event identification • Time tag (yymmddhhmmss) Writing to the log initiates an error message to the host using HIPPO packet 0x14-01: Soft Event Log Report. The log maintains the last 128 events that occur in the system. Any prior events are lost. The log queue is maintained in non-volatile memory. Access to the log is available through HIPPO packet 0x14-01: Soft Event Log Report. DR calibration and user configuration The DR calibration and user configuration are saved to non-volatile memory when receiving a "graceful shutdown" HIPPO packet. TCXO aiding The value of the TCXO offset is stored in non-volatile memory during production testing. It improves GPS acquisition and tracking, provided that the GPS module supports accepting externally-provided TCXO offset. AARDVARK DR + GPS Receiver Reference Guide 39 5 Software Performance requirements Parameter Description DR position accuracy Overall position accuracy with GPS is better than or equal to the GPS position accuracy, see GPS accuracy, page 13. Position accuracy without GPS shall be within the limits of the individual heading and speed accuracy defined in this section. DR heading accuracy With use of a gyro, the heading accuracy, when GPS is available, is: • Within 2 degrees when speed > 1 m/s or speed = 0 m/s. • Within 10 degrees when: • • • speed < 1 m/s; and speed ≠ 0 m/s; and within gyro-drift of the actual used gyro when GPS is not available (2 degrees + heading difference caused by gyro-drift). Without use of a gyro (only in 'GPS only' applications and in non-calibrated positioning modules), the heading accuracy is better than or equal to GPS heading accuracy. DR speed accuracy With use of a speed sensor, the speed accuracy is better than 0.2 m/s. at speeds above 0.5 m/s. Without use of a speed sensor (only in 'GPS only' applications and in non-calibrated positioning modules), the speed accuracy is better than or equal to the GPS speed accuracy. Motion is defined as "speed is above lowest detectable speed". Speeds above 0.5 m/s have this motion indication. DR delta distance accuracy With use of a speed sensor, the delta distance accuracy is better than 0.2 m/s. at speeds above 0.5 m/s. Without use of a speed sensor (only in 'GPS only' applications and in non-calibrated positioning module), the delta distance accuracy is better than or equal to GPS speed accuracy. DR delta heading accuracy With use of a gyro, the delta heading accuracy is better than 1 degree. Without the use of the gyro (only in non-calibrated positioning module), the delta heading accuracy is better than or equal to the GPS delta heading accuracy. GPS position accuracy See GPS accuracy, page 13. GPS speed accuracy See GPS accuracy, page 13. GPS heading accuracy See GPS accuracy, page 13. Timing or latency requirements Parameter Description DR packet latency A max delay of 100 msec from the start of DR data collection to the start of DR packet transmission. 40 AARDVARK DR + GPS Receiver Reference Guide 5 Software Upgradability requirements Parameter Description Application firmware You can upgrade the application firmware in the field using the Trimble GPS Studio software or any user application implementing a firmware upgrade protocol. Interfaces Parameter Description ADC The ADC interface for the analog gyro (digital gyros perform internal ADC operations) RTC The real-time clock interface for maintaining time when the device is on the battery power with the main power switched off NVRAM The non-volatile memory interface for storing DR calibration and user configuration Antenna The antenna short/open detection interface UART The serial I/O interface for communication protocols Speed signal input The speed signal input interface for measuring the vehicle speed Direction switch The direction switch interface Communication protocols Parameter Description HIPPO The HIPPO protocol interface is implemented. See Appendix A, HIPPO Protocol for supported messages. NMEA The NMEA protocol interface is implemented. See Appendix B, NMEA 0183 Protocol for supported messages. Note – Both protocols are generated through the serial port with a switch feature to switch off the auto-output of either the HIPPO or NMEA protocol. AARDVARK DR + GPS Receiver Reference Guide 41 5 42 Software AARDVARK DR + GPS Receiver Reference Guide CHAPTER 6 Mechanical Specifications 6 In this chapter: Form factor Mechanical drawing Soldering the Aardvark receiver This chapter describes the key mechanical specifications of the Aardvark module. AARDVARK DR + GPS Receiver Reference Guide 43 6 Mechanical Specifications Form factor Parameter Description Size 19 mm x 19 mm x 2.54 mm without RF connector. Mounting For SMT operation, see Mechanical drawing, page 45. Metal shield Covers the entire module for handling, ESD protection, and preventing mechanical damage. 44 AARDVARK DR + GPS Receiver Reference Guide Mechanical Specifications 6 Mechanical drawing AARDVARK DR + GPS Receiver Reference Guide 45 6 Mechanical Specifications Soldering the Aardvark receiver Suggested customer solder mask Note – No solder mask or copper traces or vias or conductive elements under the unit Suggested customer pad pattern Note – No solder mask or copper traces or vias or conductive elements under the unit. 46 AARDVARK DR + GPS Receiver Reference Guide Mechanical Specifications 6 Suggested customer paste pattern Co-planarity Co-planarity of the device is <0.1 mm. AARDVARK DR + GPS Receiver Reference Guide 47 6 48 Mechanical Specifications AARDVARK DR + GPS Receiver Reference Guide CHAPTER 7 Handling 7 In this chapter: Moisture precondition Baking procedure Soldering paste Solder reflow Recommended solder profile Optical inspection Cleaning Repeated wave soldering Wave soldering Hand soldering Rework Conformal coating Metal shield grounding PCB fabrication AARDVARK DR + GPS Receiver Reference Guide 49 7 Handling Moisture precondition You must take precautions to minimize the effects of the reflow thermal stress on the component. Plastic molding components for integrated circuit encapsulation are hydroscopic and absorb moisture, dependent on the time and the environment. Absorbed moisture vaporizes during the rapid heating of the solder reflow process, generating pressure on all the interface areas in the package, which is followed by swelling, delamination, and even cracking the plastic. Components that do not exhibit external cracking can have internal delamination or cracking which affects the yield and reliability. Baking procedure If baking is necessary, Trimble recommends baking in a nitrogen purge oven. Temperature: 125 °C Duration: 24 hours After baking: Store in a nitrogen-purged cabinet or dry box to prevent absorption of moisture. C C CAUTION – Repeated the baking process will reduce the solderability. CAUTION – Do not bake the units within the tape and reel packaging. Soldering paste The device itself is not hermetically sealed. It is strongly recommended that you use the "No Clean" soldering paste and process. The castellation solder pads on this module are plated with silver plating. It is recommended that you use Type 3 or above soldering paste to maximize the solder volume. The following is an example of the solder paste that you can use: Solder paste: Kester EM909 Alloy composition: Sn96.5Ag3Cu.5 (SAC305) 96.5% Tin/ 3% Silver/ 0.5% Copper Liquidus temperature: 221 °C Stencil thickness: 5 mm (0.005") Stencil opening requires 4-mil toe over paste in the X and Y directions. Refer to the instructions provided by the solder paste manufacturer and the assembly process for the approved procedures. 50 AARDVARK DR + GPS Receiver Reference Guide 7 Handling Solder reflow A hot-air convection oven is strongly recommended for solder reflow. For the lead-free solder reflow, we recommend using a nitrogen-purged oven to increase the solder wetting. Refer to IPC-610D for the lead-free solder surface appearance. C CAUTION – Follow the thermal reflow guidelines from IPC-JEDEC J-STD-020C. The size of this module is 957 mm³. According to J-STD-020C, the peak component temperature during reflow is 245 °C. Recommended solder profile You must carefully select the final soldering thermal profile. The thermal profile depends on the choice of the solder paste, thickness and color of the carrier board, heat transfer, and size of the panelization. C CAUTION – For a double-sided surface-mount carrier board, place the unit on the secondary side to prevent the module or its shield falling off during reflow. Optical inspection Once you have soldered the device's GPS module to the carrier board, follow the IPC-610 specification and visually inspect the module under a 3x magnification lens for the following: • Verify that each pin is correctly aligned with the mount pad. • The pads are correctly soldered. • Verify that no solder is bridged to the adjacent pads and X-ray the bottom pad if necessary. Cleaning When the device is attached to the user board, a cleaning process voids the warranty. The silver plated device may discolor with cleaning agent or chlorinated faucet water. Any other form of cleaning solder residual may cause permanently damage and voids the warranty. To eliminate the cleaning process, use a "no-clean" process. AARDVARK DR + GPS Receiver Reference Guide 51 7 Handling Repeated wave soldering The device's lead-free silver plated module can withstand two reflow solder processes. If the unit must mount on the first side for surface-mount reflow, we suggest adding additional glue on the bottom of the module to prevent it falling off when processing the second side. Wave soldering The device cannot soak in the solder pot. If the carrier board is mixed with through-hole components with surface mount devices, it can process with one single lead-free wave process. The temperature of the unit will depend on the size and the thickness of the board. We recommend measuring the temperature on the module and keeping it under 180 °C. Hand soldering For the lead-free device, we recommend using a lead-free solder core, such as Kester 275 Sn96.5/Ag3/Cu0.5 When soldering the module by hand, please keep the soldering iron below 260 °C. Rework The device can withstand one rework cycle. The module can heat up to the reflow temperature to precede the rework. You may never remove the metal shield and rework the module itself. Conformal coating Conformal coating on the device is not allowed. If used it voids the warranty. Metal shield grounding This module is designed with numerous ground pins that provide the best immunity to the EMI and noise shielding. Any alteration in adding ground wires to the metal shield will be done at your own risk. 52 AARDVARK DR + GPS Receiver Reference Guide 7 Handling PCB fabrication Number Parameter Description 1 Metal Copper 2 Solder mask TAIYO PSR 4000 MH 3 Silk screen legend Any Non-conductive 4 Surface finish Immersion Silver 10 µ" ± 4" 5 Laminate material Polyclad PCL FR370HR 6 Panelization The PCB shall be pre-routed with mouse bite tabs for depanelizing. AARDVARK DR + GPS Receiver Reference Guide 53 7 54 Handling AARDVARK DR + GPS Receiver Reference Guide APPENDIX A HIPPO Protocol A In this appendix: Available HIPPO messages This chapter describes the HIPPO protocol. System class messages HIPPO protocol rules The Aardvark firmware implements a sub-set of the HIPPO messages described in the HIPPO Protocol Specification. Command messages Report class Event log queue Target-specific HIPPO messages include reset messages 0x03-XX, production interface support messages 0x12-XX, and several diagnostic messages 0x70-XX. AARDVARK DR + GPS Receiver Reference Guide 55 A HIPPO Protocol Available HIPPO messages The following table lists HIPPO messages implemented and available in the Aardvark firmware. It also indicates whether a particular message can be queried (Q) or set (S). Messages that can be neither queried nor set are output automatically. For such messages, the output frequency is shown. For detailed information, refer to the HIPPO Protocol Specification. Code Sub-Code 0x10 0x01 Acknowledge Set 0x10 0x02 Acknowledge Query 0x10 0x03 Acknowledge system command 0x11 0x01 Application/system version Q 0x11 0x03 DR library version Q 0x11 0x04 GPS software version Q 0x11 0x06 Common source code version Q 0x12 0x01 Start-up message 0x12 0x02 SW mode Q 0x12 0x03 Product information Q 0x12 0x04 Hardware ID Q 0x12 0x07 Output GPIO control 0x14 0x01 Event Entry Soft event log entry Q 0x14 0x02 Event Entry Fatal error log entry Q 0x16 0x01 Health message Q 0x16 0x02 Repeat start-up message Q 0x21 0x01 DR fix output rate Q S 0x22 0x02 NMEA output control Q S 0x23 0x02 Serial port configuration with output protocol control Q S 0x29 0x01 Time initialization Q S 0x29 0x02 Latitude / Longitude initialization Q S 0x30 0x02 Fast Fix with raw DR data Q 0x31 0x01 GPS fix Q 0x31 0x02 GPS fix (extended) Q 1 Hz 0x32 0x01 UTC time and constellation summary Q 1 Hz 0x33 0x01 GPS channel measurement short status Q 1 Hz 0x36 0x03 ZRO calibration 0x36 0x04 Gyro linearity calibration 56 Indexed By Channel Message AARDVARK DR + GPS Receiver Reference Guide Q S Output Frequency Startup 5 Hz HIPPO Protocol Code Sub-Code Indexed By 0x36 0x05 Direction switch calibration 0x36 0x07 DPP calibration 0x36 0x08 ZRO rate calibration 0x3F 0x01 ADC and Gyro self-test data 0x70 0x05 Event information 0x70 0x06 System profiling data 0x70 0x0D BBRAM data Startup 0x70 0x0E Startup time Startup 0x70 0x12 Temperature data 0x70 0x13 DR sensor data 5 Hz 0x70 0x20 GPS raw measurement group data 1 Hz 0x70 0x21 GPS raw measurement channel data 1 Hz 0x70 0x22 GPS fix data 1 Hz 0x70 0x23 DR sensor definitions Startup 0x70 0x24 Used SVs information 1 Hz 0x70 0x26 Ionosphere parameters Event 0x70 0x27 Map-matching data input 0x70 0x28 0x70 Channel SV PRN Message Q S A Output Frequency Q Q Event Q 1 Hz S Ephemeris and subframe 1 data Event 0x30 DR KF output (calibration) data 1 Hz 0x70 0x31 GPS KF output data 1 Hz 0x70 0x32 DR fix data 5 Hz 0x70 0X50 0X70 0X52 0x70 0x60 0x70 0x61 0x70 0x7F Toggle diagnostic output Q S AARDVARK DR + GPS Receiver Reference Guide 57 A HIPPO Protocol System class messages The Aardvark firmware also supports the following system class messages. Refer to the HIPPO specification for a description of different HIPPO message classes and formatting specifics. Message Field Type Value Meaning Code U8 0x03 Subcode U8 0x01 Reset 0x02 Clear RAM, reset 0x03 Force to Monitor Mode / Bootloader 0x05 Clear ephemeris, reset 0x07 Clear flash data and BBRAM, reset 0x09 Write BBRAM to flash, reset (graceful) HIPPO protocol rules The HIPPO message structure is derived from the Trimble Standard Interface Protocol (TSIP) message structure. Both are binary protocols with pre-parsers that "unstuff" the bytes in the serial stream (S-bytes) to create packets of message bytes (M-bytes). Both are asynchronous protocols, allowing the host and module to send multiple commands without waiting for the completion of the previous command. However, the HIPPO design offers easier and more reliable parsing. In contrast to TSIP, which requires a small state machine after the pre-parser to determine the start and end of the message packet, HIPPO uses unique S-bytes to identify the start and end before the pre-parser. The HIPPO message structure currently uses three control characters: • 0x80: HIPPO Control Character (HCC) • 0x81: Start of Message (SOM) • 0x82: End of Message (EOM) HIPPO also reserves five other bytes (0x83 – 0x87) for future use as control characters.6 TSIP only uses two control characters (DLE and ETX). Although HIPPO has a higher control character overhead (3% versus 0.4% for TSIP), the parser design is much simpler. Because the HIP module is designed to send messages at 10 Hz, the message length has been limited to 128 bytes to ensure that two messages can be transmitted in each 100 ms cycle. Number representations use IEEE formats, and are sent with the least significant byte first (Intel specification or "little endian"). The module acknowledges all commands with a reply message after parsing and processing are complete. "Completion" is the point at which all immediate actions in the protocol layer are complete. These actions include replying to queries, setting global variables, flags, 58 AARDVARK DR + GPS Receiver Reference Guide HIPPO Protocol A or semaphores, and sending messages to other tasks. If the command is a successful query for a single report, the report response itself is the acknowledgment response; otherwise, the module sends an acknowledgment response packet 0x10 to the host. There are two general types of messages: report messages and command messages. General message structure rules The byte SOM only occurs as an S-byte (in the serial stream) at the start of a message. The byte EOM only occurs as an S-byte at the end of a message. From the SOM byte until the following EOM byte, the following structure rules apply: • The first two S-bytes are the Parser Code PCOD and Parser Subcode PSUB. These specify a unique parser for the data bytes. PCOD and PSUB never have values of 0x80 to 0x87, and so cannot be confused for control characters. • Depending on PCOD and PSUB, the next byte may be an index byte INDEX. INDEX never has a value of 0x80 to 0x87, and so cannot be confused for a control character. Examples of an index are a channel number and a satellite PRN. All indexed messages with the same parser code and subcode must have the same length, format, and data structure. • The byte HCC only occurs as an S-byte as a "stuffing" character that is used to pad certain messages to a constant length, as defined in System class, page 65. It may appear before CS or any of the data bytes. • The value of the checksum M-byte CS is such that the 8-bit sum of the M-bytes from SOM to EOM inclusive is zero. If the checksum is between 0x80 and 0x87, it is stuffed with the HCC character 0x80. • The number of data bytes per message is limited to 128. Counting the bytes for the SOM, parser code, parser subcode, checksum, EOM, and index, the total number of Mbytes can as many as 134. Data is not valid until the message is complete and the checksum agrees. • HIPPO ignores any bytes between messages (from EOM to the following SOM), unless the bytes have values between 0x80 and 0x87. This feature allows ASCII messages such as NMEA or TAIP to be interspersed with HIPPO messages. TSIP messages and other binary protocols in general cannot be interspersed with HIPPO messages. Report message structure (Module to Host) The following table shows the message structure for a simple data packet of N M-bytes. Each message has five framing bytes: SOM; two message ID bytes (PCOD and PSUB); a checksum byte; and EOM. The data type and data structure in the message (that is, the parser) is specified by the parser code PCOD and parser subcode PSUB. M-byte Meaning Value SOM Start of message 0x81 PCOD Parser code 0x00 - 0x7F AARDVARK DR + GPS Receiver Reference Guide 59 A HIPPO Protocol M-byte Meaning Value PSUB Parser subcode 0x00 - 0x7F, 0xFF D[0] First byte of data 0x00 - 0xFF D[1] Second byte of data 0x00 - 0xFF … … … D[N-1] Last byte of data 0x00 - 0xFF CS Checksum 0x00 - 0xFF EOM End of message 0x82 Some parser code / subcodes have data indexed by channel or satellite, as shown in the following table. The index is the first byte after the parser subcode. The parser code/subcode specifies whether a message uses indexing. M-byte Meaning Value SOM start of message 0x81 PCOD Parser code 0x00 - 0x7F PSUB Parser subcode 0x00 - 0x7F INDEX Data indexed by channel, and so on 0x00-0x7F, 0xFF D[0] First byte of data 0x00 - 0xFF D[1] Second byte of data 0x00 - 0xFF … … … D[N-1] Last byte of data 0x00 - 0xFF CS Checksum 0x00 - 0xFF EOM End of message 0x82 Command message structure (Host to Module) Command messages sent from host to module are built upon the report message structure. Except for system commands such as system reset (see System class, page 65), every command either sets or queries a reportable data structure (see Set class, page 63 and Query class, page 63). To do this, the HIPPO set or query command protocol simply "wraps around" the report message protocol. The following table shows the message structure for a command to set a typical data packet: 60 M-byte Meaning Value SOM Start of message 0x81 CCOD Set command code 0x01 PCOD Parser code 0x00 - 7F PSUB Parser subcode 0x00 - 7F, 0xFF D[0] First byte of data 0x00 - FF D[1] Second byte of data 0x00 - FF AARDVARK DR + GPS Receiver Reference Guide A HIPPO Protocol M-byte Meaning Value … … … D[N-1] Last byte of data 0x00 - FF CS Checksum 0x00 - FF EOM End of message 0x82 The following table shows the message structure for a query of indexed data: M-byte Meaning Value SOM Start of message 0x81 CCOD Query command code 0x02 PCOD Parser code 0x00 - 7F PSUB Parser subcode 0x00 - 7F INDEX Index 0x00 - 7F, 0xFF CS Checksum 0x00 - FF EOM End of message 0x82 Chained messages Chaining is not supported in the HIP module. If multiple messages are requested, they will be issued as time allows, between the high-priority automatic report messages. An acknowledgment message will appear at the end of the sequence of replies. Post-formatting: HCC stuffing before transmission Whenever an M-byte in the data fields or the checksum field is equal to one of the control characters (0x80 – 0x87), it generates two S-bytes — that is, the M-byte generates the Sbyte pair (0x80, M-byte, and 0x7F). Pre-parsing: HCC unstuffing after reception Pre-parsing (assembly of the M-bytes) occurs as S-bytes are received. HIPPO pre-parsing begins with the appearance of the SOM S-byte and ends with the appearance of the EOM S-byte: • Whenever the S-byte is SOM, a new message structure opens with room for 132 Mbytes. The first M-byte of a message is always SOM. • Whenever the S-byte HCC appears, it does not generate a new M-byte: It generates a signal to or the following S-byte with 0x80 to create the next M-byte. Otherwise, the M-byte is the same as the S-byte. • If the S-byte is EOM, the message structure is closed. The last M-byte of a message is always EOM. AARDVARK DR + GPS Receiver Reference Guide 61 A HIPPO Protocol • The last M-byte before the EOM is the checksum. It is computed so that the sum of all M-bytes, including the SOM, the EOM, and the checksum, is zero. After pre-parsing is complete, the message packet is ready to be parsed into structures according to the rules in Report class, page 65 and Event log queue, page 113. The parser code and subcodes are the second and third M-bytes, directly after the SOM. The data will start on the fourth (non-indexed data) or fifth (indexed data) M-byte. Possible pre-parser errors include: • Two SOMs appear without an EOM in between. • HCC occurs in the first two bytes (parser code and subcode). • The byte following HCC is not equal to the 7 LSBs of a HIPPO control character. • Control characters appear between message (after EOM but before the next SOM). • No EOM appears in the first 134 M-bytes. Command messages HIPPO has three classes of command message packets: • Set parameters: This "wraps around" the report message structure of the parameter(s) to be set. • Query parameters: This calls out the report code and subcode (and index, if applicable) of the required reports. • System commands The module always acknowledges a command in one of two ways. • • An explicit acknowledgment message (see 0x10: Acknowledge / Error response to command packets, page 66) is sent in reply to either: – A command; – An unsuccessful query – A query that generates a series of report messages If the query successfully generates a single report message, that message is the implicit acknowledgment. The acknowledgment contains a status indicating the completion of the operation. 62 AARDVARK DR + GPS Receiver Reference Guide A HIPPO Protocol Set class The set class packets set receiver, system, and any other defined parameters within the target system. Two types of parameters can be set: • Configuration parameters such as DOP mask (see Configuration Report packets, page 73) • Initialization parameters such as position, velocity, time, and ephemeris (see Initialization information, page 85) The target system returns an acknowledgment packet (see 0x10: Acknowledge / Error response to command packets, page 66), but does not echo data values as in TSIP. The parser code and subcode determine the length of the command packet. The packet has the following general format (indexed data has an extra byte after parser subcode): Byte Name Type Value Meaning Command code U8 0x01 Parser code U8 0x00-7F Report Code Parser subcode U8 0x00-7F See report packet definition in Available HIPPO messages, page 56 0 Data value Data corresponding to the subcode. See subcodes in the report packet definition. … … … NR-1 Data value NR is the size of data for the specified report. For example, to set the operating dimension to 2-D Altitude Hold", the host issues the following command to the module: Byte 0 Name Type Value Meaning Command code U8 0x01 Parser code U8 0x24 Report packet for GPS configuration Parser subcode U8 0x01 Parameter subcode for operating dimension Operating dimension U8 3 Alt-Hold (2D) Query class The query class packet allows you to retrieve configuration, report, and system data with the same packet. Like the set class packet, it is indexed by the report code and subcode. This is possible because each parameter or set of parameters has a corresponding report message. Four types of parameters can be queried: • System parameters (for example, version numbers) • Configuration parameters (for example, DOP mask) AARDVARK DR + GPS Receiver Reference Guide 63 A HIPPO Protocol • Fix parameters (for example, satellite strength, current position, velocity, time, ephemeris) • Initialization parameters (for example, position, velocity, time, ephemeris) The target system returns an acknowledgment packet. When a query for a single report is successful, the reply to that query is the acknowledgment. If the query fails, an explicit acknowledgment report message is sent as an acknowledgment. If the query generates a series of response messages, the last response is followed by an explicit acknowledgment report message that signals the end to the host's parser. A query has two formats, depending on whether the information is indexed (for example, by channel or satellite). The following table shows the query class message structure: Byte Name Type Value Meaning Command code U8 0x02 Parser code U8 0x00-7F Parser subcode U8 0x00-7F Single subcode 0xFF All subcodes The following table shows the indexed query class message structure: Byte Name Type Value Meaning Command code U8 0x02 Parser code U8 0x00-7F Report Code, see Available HIPPO messages, page 56. Parser subcode U8 0x00-7F See report packet definitions in Available HIPPO messages, page 56. Index U8 0x00-7F Single index (for example, channel or satellite). See subcodes in the report packet definition. 0xFF All indices Like the set class message, the query packet has two bytes body that contains the parser code and subcode for a configuration packet or a report packet. For example, to query the operating dimension setting in the GPS configuration block: Byte 64 Name Type Value Command code U8 0x02 Parser code U8 0x24 Report packet for GPS configuration Parser subcode U8 0x01 Parameter subcode for operating dimension AARDVARK DR + GPS Receiver Reference Guide Meaning HIPPO Protocol A System class A system class packet is a set packet associated with the system operations. Receiver Reset command messages This command resets the receiver software. Byte Name Type Value Meaning Code U8 0x03 Subcode U8 0x01 Reset 0x02 Clear RAM, reset 0x03 Force to Bootloader mode 0x05 Clear ephemeris, reset 0x07 Clear flash data and RAM, reset 0x09 Write BBRAM to flash, reset (graceful) Force to Bootloader Mode forces the target system to exit from the GPS function, and into the embedded bootloader mode. The serial communication is reset to 115.2 kbps, even parity. Once in the bootloader mode, all HIPPO APIs are disabled. Refer to Flash loading documents for more detail. Report class Report class packets are divided into four subclasses. • System data contains system information, such as system status or an event log queue entry. • Configuration reports include all the system configurable parameters. • Data reports have navigation information generated by the navigation platform. • Initialization input reports have start-up information and GPS system data (position, heading, almanac, and so on) and map-matching inputs for latitude, longitude, altitude, and heading. Some report packets are indexed by channel number (tracking status, signal strength) or satellite number (almanac, ephemeris). The parameters in the configuration and initialization reports can be set by 0x01 packet (see Set class, page 63). The host can query all report packets using the 0x02 packet, except as noted (see Query class, page 63). AARDVARK DR + GPS Receiver Reference Guide 65 A HIPPO Protocol Report message code assignment See Available HIPPO messages, page 56 for all report data structures in HIPPO. This table also indicates whether the data structure can be queried (Q) or set (S). Data that can be not be queried or set is automatic output only. System report packets 0x10: Acknowledge / Error response to command packets This packet serves the following functions: • Acknowledging a command when the operation is carried out, such as setting a flag to reset and changing the baud rate. • Indicating a result of an operation is successful, such as set commands. • Indicating a parsing error. Not all sets, queries, or auto-outputs generate a 0x10 response. Specifically, when a query or auto-output for a single report is successful, the reply to that query is the acknowledgment. When the query or auto-output fails, or when it generates a series of response messages, a 0x10 message follows the last response to explicitly end the host parser actions. The last data byte of the message is a parser status code. If the status code is not zero, an error has occurred and the module has not implemented the command. The value of the status code indicates at the point in the procedure where the parser failed: • An M-byte stream of no more than 128 bytes could not be created (control character error). • The checksum did not compute properly. • The parser code and subcode were be recognized. • The message length as not correct for that parser code/subcode. • One or more of the data values was not reasonable and appropriate. • The data contradicts values of position, time, and so on, that have been validated by the GPS. This data can be forced using the "host override" option if this is available. The acknowledgment report can appear in one of the following forms: • For sets, queries, and auto-outputs of non-indexed reports • For sets, queries, and auto-outputs of indexed reports • For system commands If the command includes a change in the serial port protocol, the module sends the acknowledgment in the old protocol. The data length is three bytes if the report code (data byte 0) is for an non-indexed report. 66 AARDVARK DR + GPS Receiver Reference Guide A HIPPO Protocol The following table shows the non-indexed set and query acknowledge: Byte 1 2 Name Type Value Code U8 0x10 Subcode U8 0x01 Set acknowledge 0x02 Query acknowledge 0x04 Auto-output acknowledge 0x00-7F Single subcode 0xFF All subcodes 0 Acknowledged or a successful operation 1 Pre-parser error 2 Checksum error 3 Unknown Code/Subcode 4 Parser data length error 5 Data value error (TBD) 6 Contradicts current data 7 Data table full (for example, Output Interval Control) 8 Data not available Command subcode Status code U8 U8 Meaning For indexed sets and queries, the data length is four bytes. The parser will expect this data length if the report code (byte 0) is for an indexed report. The following table shows the indexed set and query acknowledge values: Byte Name Type Value Meaning Code U8 0x10 Subcode U8 0x01 Set acknowledge 0x02 Query acknowledge 0 Command code U8 0x00-7F Indexed report 1 Command subcode U8 0x00-7F Single subcode 0xFF All subcodes 0x00-7F Channel or satellite index 2 Index U8 AARDVARK DR + GPS Receiver Reference Guide 67 A HIPPO Protocol Byte Name Type Value Meaning 3 Status code U8 0 Acknowledged or a successful operation 1 Pre-parser error 2 Checksum error 3 Unknown code/Subcode 4 Parser data length error 5 Data value error (TBD) 6 Contradicts current data 7 Data table full (for example, Output Interval Control) 8 Data not available For system commands, the data length is two bytes. The following table shows the system command acknowledge Byte Name Type Value Code U8 0x10 Subcode U8 0x03 0 System command code U8 1 Status code U8 Meaning System command acknowledge See Configuration Report packets, page 73 0 Acknowledged or a successful operation 1 Pre-parser error 2 Checksum error 3 Unknown subcode 4 Parser data length error 9 Failed to execute properly A "query all" command may generate a series of responses, but only a single acknowledgment is sent to the host, with a "0xFF" byte in the report subcode or index field. 0x11: Version Report This packet reports version numbers for the various firmware blocks within the module. Byte Name Type Value Meaning Code U8 0x11 Subcode U8 0x01 Application/system software 0x03 DR software 0x04 GPS software 0x06 Common source code 0 Major Version U8 0-100 Major version number 1 Minor Version U8 0-100 Minor version number 68 AARDVARK DR + GPS Receiver Reference Guide HIPPO Protocol Byte Name Type Value Meaning 2 Build number U8 0-255 Version build number 3 Release Day U8 [1, 31] Version release day 4 Release Month U8 [1, 12] Version release month 5-6 Release Year U16 > 2000 Version release year A 0x12-01: Start-Up report The module issues this report only at startup. This report cannot be queried; to query the data content after start-up, use message 0x16-02. The first two bytes show the error code associated with the previous shutdown. the second two bytes indicate health of the RTC and RAM. Byte / Bit 0-1 Name Type Value Meaning Code U8 0x12 Subcode U8 0x01 Parameter Subcode Error code U16 0 Normal shutdown (SW or power) Other Abnormal shutdown, see Fatal errors, page 113 2 Reserved U8 3/0 RAM signature U1 1 = BBRAM signature valid 3/1 Gyro / ADC test U1 1 = ADC or Gyro self-test error 3/2 RTC valid U1 1 = RTC valid at startup 3/3 Flash BBRAM U1 1 = BBRAM loaded from Flash 3/4-7 Reserved 0x12-02: Software Mode report This report indicates whether the module is currently in monitor mode or in normal mode. If the device is in monitor mode, it will recognize and reply (in HIPPO) to a HIPPO query for this report. Byte 0 Name Type Value Meaning Code U8 0x12 Subcode U8 0x02 Parameter subcode Mode U8 1 Normal mode 2 Monitor mode AARDVARK DR + GPS Receiver Reference Guide 69 A HIPPO Protocol 0x12-03: Production Information report This report contains information stored in FLASH; it cannot be set or changed through a HIPPO command. It is available by query. Byte Name Type Value Code U8 0x12 Subcode U8 0x03 0 Serial number U32 4 Production day U8 5 Production month U8 6-7 Production year U16 8-23 Product name 16xCHAR Meaning Descriptive string 0x12-04: Hardware ID report This report contains information stored in FLASH; it cannot be set or changed through a HIPPO command. It is available by query. Byte 0-15 Name Type Value Code U8 0x12 Subcode U8 0x04 Hardware ID 16xCHAR Meaning Parameter subcode Hardware ID 0x12-07: Output GPIO Control This packet sets the logic level on the specified output GPIO pins. Byte / Bit Name Type Range / Value Code U8 0x12 Subcode U8 0x07 0/0 Set output GPIO 1 U1 bit field 1 = set GPIO 11 (see NOTE 1) 0/1 Set output GPIO 2 U1 bit field 1 = set GPIO 21 1 Reserved U8 0x00 Reserved 2 Output logic level U8 0, 1 Logic level for the selected GPIO's 1 Meaning On the Aardvark module 79802-XX, GPIO1 corresponds to Pin 22 (I2C SCL), GPIO2 corresponds to Pin 27 (I2C SDA). 70 AARDVARK DR + GPS Receiver Reference Guide HIPPO Protocol A 0x14-01: Soft Event Log Report These reports are auto-output upon the event. The report can also be queried by index number. Because of the volume of information, these reports cannot be queried with the "0xFF" option. The host can clear the soft event log completely by using the "set all" (0xFF) command with no data. For detailed information on soft events, see Soft events, page 115. Byte Name Type Value Meaning Code U8 0x14 Subcode U8 0x01 Parameter subcode Index U8 0 Most recent soft event [1,127] Soft event log index number No GPS/UTC; time is since power-up year 0-1 Year U16 0 >2000 2 Month U8 [1, 12] 3 Day U8 [1, 31] 4 Hour U8 [0, 23] 5 Minute U8 [0, 59] 6 Second U8 [0, 60] 7 Identity code U8 0xFF No event 0-0xFE See Soft events, page 115. 8 Condition code U8 See Soft events, page 115. 0x14-02: Fatal Error Log Report For detailed information on fatal error logs, see Fatal errors, page 113. On a fatal error, the receiver will reset. The report can be queried by index number after the reset. Because of the volume of information, these reports cannot be queried with the "0xFF" option. The fatal error log is retained in flash and cannot be cleared by the host. Byte Name Type Value Code U8 0x14 Subcode U8 0x02 Parameter subcode Index U8 0 Most recent fatal error [1, 31] Fatal error Log index number No GPS/UTC; time is since power-up year 0 Year U16 0 >2000 2 Month U8 [1, 12] 3 Day U8 [1, 31] 4 Hour U8 [0, 23] 5 Minute U8 [0, 59] Meaning AARDVARK DR + GPS Receiver Reference Guide 71 A HIPPO Protocol Byte Name Type Value 6 Second U8 [0, 60] 7 Event Code U16 0 No entry. >0 Event code, see Fatal errors, page 113 9 - 30 Info block Meaning See Fatal errors, page 113 0x16-01: Health Status Report This report contains status of various real-time operations in the Aardvark module. Byte / Bit 0/0 0/1 0/2 Name Type Value Code U8 0x16 Subcode U8 0x01 Direction switch status U1 0 Normal 1 Abnormal Gyro status U1 0 Normal 1 Abnormal 0 Normal 1 Abnormal 0 Normal 1 Antenna open 3 Antenna short 0 Normal 1 Abnormal 0 No soft event in log [1,127] Most recent soft event index Speed signal input status 0 / 3-7 Reserved 1 / 0-1 Antenna status 1/2 Oscillator status 1 / 3-7 Reserved 2 Soft Event Index U1 U2 U1 U7 Meaning 0x16-02: Repeat Start-Up Report with System Time This report is a copy of the start-up message. The first two bytes show the error code associated with the previous shutdown. The second two bytes indicate health of the RTC and RAM. The system time is the number of milliseconds since power-up. Byte / Bit 0-1 72 Name Type Value Code U8 0x16 Subcode U8 0x02 Parameter subcode Error Code U16 0 Normal shutdown (SW or power) Other Abnormal shutdown, see Fatal errors, page 113. AARDVARK DR + GPS Receiver Reference Guide Meaning A HIPPO Protocol Byte / Bit Name Type 2 Status U8 Reserved 3/0 RAM signature U1 1 = BBRAM signature valid 3/1 Gyro / ADC test U1 1 = ADC or Gyro self-test error 3/2 RTC valid U1 1 = RTC valid at startup 3/3 Flash BBRAM U1 1 = BBRAM loaded from Flash 4 Soft event index U7 5-8 SysClock Value U32 Meaning 0 No soft event in log at start-up [1,127] Last soft event index in log at start-up 1 ms System time Configuration Report packets 0x21-01: DR Output Rate The DR software engine can be adjusted to run at a rate of 5 Hz or 10 Hz. The 5 Hz rate eases CPU load. Byte 0 Name Type Value Meaning Code U8 0x21 Subcode U8 0x01 DR engine rate U8 5 5 Hz 10 10 Hz 0x22-02: NMEA Output Control Byte 0 Name Type Value Code U8 0x22 Subcode U8 0x02 Interval U8 0-255 Units Meaning sec Output interval 0 = 5 Hz for GGA, VTG, and RMC; 1 Hz for all others 1-255 = interval for all messages. AARDVARK DR + GPS Receiver Reference Guide 73 A HIPPO Protocol Byte Name Type Value Units Meaning 1-4 Message mask U32 bitmap Bit 0 Output GGA Bit 1 Output GLL Bit 2 Output VTG Bit 3 Output GSV Bit 4 Output GSA Bit 5 Output ZDA Bit 8 Output RMC Bit 13 Output BA Bit 16 Output TP 0x23-02: Serial Port Configuration with Output Protocol Control Note – The number of data bits per byte, stop bits per byte, and flow control cannot be configured and are fixed at 8 bits per byte, 1 stop bit per byte, and no flow control. Note – For baud rates lower than 38400 bps, automatic output HIPPO packets are disabled due to the possibility of overloading the serial port. However, they can still be queried on an individual basis regardless of the selected baud rate. Byte 0 1 2 Name Type Value Code U8 0x23 Subcode U8 0x02 Baud rate U8 0-5 Parity Output protocol mask U8 0-2 U8 Units Meaning 0 4800 bps 1 9600 bps 2 19200 bps 3 38400 bps 4 57600 bps 5 115200 bps 0 No parity 1 Odd parity 2 Even parity bitmask Bit 0 = HIPPO output Bit 1 = NMEA output 74 AARDVARK DR + GPS Receiver Reference Guide HIPPO Protocol A Data report packets Data report packets can be queried or output based on time interval, distance traveled, and heading change. Data validity must be checked before the data fields are translated or used. 0x30-02: Fast Fix with Raw DR Data Message This message is prepared for output every fast cycle (5 Hz or 10 Hz) when in HIPPO mode, except for a short period at start-up. The Output Interval Control determines the actual rate of output. This message has a higher priority than other messages, so a series of reports that lasts longer than 100 milliseconds may have one or more of these messages interspersed. This should cause no problems, since all series of reports are terminated by an acknowledgment. Byte / Bit 0/0 0/1 Name Type Units/LSB Code U8 0x30 Subcode U8 0x02 Position status U1 Altitude status U1 Range / value Meaning 0 Accuracy > 10000 1 Valid 0 Accuracy > 10000 1 Valid 0/2 Heading status U1 1 = Valid 0/3 Speed status U1 1 = Valid 0/4 Direction switch status U1 1 = Valid 0/5 Delta-distance status U1 1 = Valid 0/6 Delta-heading Status U1 1 = Valid 0/7 Motion status U1 1 = Valid 1/0 Motion indicator U1 1 = Motion 1/1 Direction U1 1 = Backward 1/2 Gyro calibration status U1 1 = Calibrated 1/3 Speed signal input calibration status U1 1 = Calibrated 1 / 4-5 Time source U2 1/6 2 Snap to DR-GPS GPS data age index U1 U8 s 0 System clock 1 RTC 2 GPS (< 10 ms) 3 GPS (< 1 ms) 0 DR-propagated 1 Jump 0-253 Age 254 >253 s AARDVARK DR + GPS Receiver Reference Guide 75 A HIPPO Protocol Byte / Bit Name Type Units/LSB Age Range / value Meaning 255 GPS N/A 3-6 GPS time of week U32 1 ms 060480000 0 7-10 Latitude S32 2-31 sc [-½, ½] sc. -31 11-14 Longitude S32 2 sc [-1, 1) sc. 15-16 Altitude S16 1m [MSL 400,10000 ]m 17-18 Heading U16 2-15 sc [0, 2) sc. 19-20 Speed U16 1 cm/s [0, 655.34] Past 1 sec. avg. m/s 21-22 Delta time U16 1 ms [0, 1100] ms 23-24 Delta distance 1 S16 1 cm [-327.67, 327.67] m 25-26 Delta heading S16 1 cdeg [-327.67° , 327.67°] 27-28 Position accuracy U16 1m [0, 65534] Accuracy m 65535 even Accuracy > 65534 29-30 Altitude accuracy U16 1m [0, 65534] m 31-32 Heading accuracy U16 2-15 sc [0, 2) sc. 33-34 Speed accuracy U16 1 cm/s [0, 655.34] m/s 35-36 Delta distance accuracy U16 1 cm [0, 655.34] m 37-38 Delta heading accuracy U16 1 cdeg [0° , 360°] 39 / 0-6 Number of gyro samples U7 39 / 7 Direction switch value U1 40-43 Gyro counts S32 0-450560 Sum ADC values 44-45 Speed signal input counts U16 0-65535 < 3300 typical 1 Delta Distance is rounded to the nearest integer cm. 76 AARDVARK DR + GPS Receiver Reference Guide 0-127 < 110 typ 1 = High A HIPPO Protocol The data source of the fast fix can be inferred from the current speed signal input status, the current gyro status, and the GPS age. The following table shows the fast fix data sources: Speed signal input status Gyro status GPS age Lat / Long source Altitude source Speed / Delta distance source Heading / Delta heading source 1 1 < 255 GPS + DR GPS DR + GPS Cal DR + GPS Cal 1 0 < 255 GPS + DR GPS DR + GPS Cal GPS 0 1 < 255 GPS GPS GPS DR + GPS Cal 0 0 < 255 GPS GPS GPS GPS 1 1 255 BBRAM + DR BBRAM DR DR 1 0 255 BBRAM BBRAM DR None 0 1 255 BBRAM BBRAM None DR 0 0 255 BBRAM BBRAM None None Range / value 0x31-01: GPS Fix Message Byte / Bit Name Type Units / LSB Code U8 0x31 Subcode U8 0x01 0-3 GPS time of week U32 4 / 0-5 Fix source 4/6 Altitude hold U6 U1 1 ms Meaning <604800000 0 No fix 1 Input position, approximate 3 Input position, accurate 4 Have internal position 5 KF position accuracy too large 8 Old valid GPS fix 9 Converging 10 Converging 11 Converging 12 Output fix criterion failed 13 2-D fix, no reference altitude 14 KF velocity RAIM failed 15 KF edited too many SVs 16 KF position RAIM failed 17 Position valid 0 Full position (3-D) LS fix 1 Altitude-Hold (2-D) LS fix AARDVARK DR + GPS Receiver Reference Guide 77 A HIPPO Protocol Byte / Bit Name Type 4/7 DGPS status U1 1 = DGPS-corrected 5/0 Position status U1 1 = Valid 5/1 Altitude status U1 1 = Valid 5/2 Heading status U1 1 = Valid 5/3 Speed status U1 1 = Valid 5 / 4-5 Time source U2 6-9 Latitude S32 Units / LSB Range / value 0 System clock 1 RTC 2 GPS (< 10 ms) 3 GPS (< 1 ms) MSL -31 sc [-½, ½] sc -31 sc [-1, 1] sc 2 10-13 Longitude S32 2 14-15 Altitude S16 m -15 [-400,10000] m 16-17 Heading U16 2 18-19 Speed U16 1 cm/s [0, 655.34] m/s 20-21 Position accuracy U16 1m [0, 65535] m 22-23 Altitude accuracy U16 1m [0, 65535] m 24-25 Heading Accuracy U16 -15 2 26-27 Speed Accuracy 1 cm/s U16 Meaning sc sc [0, 2] sc [0, 2] sc [0, 655.35] m/s Position, heading and speed values are from GPS measurements. Code-carrier filtering has been applied, but not velocity (PV) or DR filtering. These fixes will be quite noisy in urban environments. 78 AARDVARK DR + GPS Receiver Reference Guide HIPPO Protocol A 0x31-02: GPS Fix Message (Extended) Note – This is an extended version of the standard GPS fix message 0x31-01. Bytes 0 - 27 are the same for both messages. The extended message 0x31-02 has several additional fields following the common bytes. Byte / Bit Name Type Units / LSB Range / value Meaning Code U8 0x31 Subcode U8 0x01 0-3 GPS time of week U32 1 ms 4 / 0-5 Fix Source U6 4/6 Altitude hold U1 <604800000 0 No fix 1 Input position, approximate 3 Input position, accurate 4 Have internal position 5 KF position accuracy too large 8 Old valid GPS fix 9 Converging 10 Converging 11 Converging 12 Output fix criterion failed 13 2D fix, no reference altitude 14 KF velocity RAIM failed 15 KF edited too many SVs 16 KF position RAIM failed 17 Position valid 0 Full position (3D) LS fix 1 Altitude hold (2D) LS fix 4/7 DGPS status U1 1 = DGPS corrected 5/0 Position status U1 1 = Valid 5/1 Altitude status U1 1 = Valid 5/2 Heading status U1 1 = Valid 5/3 Speed status U1 1 = Valid 5 / 4-5 Time source U2 6-9 Latitude -31 sc 0 System clock 1 RTC 2 GPS (< 10 ms) 3 GPS (< 1 ms) S32 2 [-1, 1] sc [-400,10000] m 10-13 Longitude S32 2-31 sc 14-15 Altitude S16 m [-½, ½] sc MSL AARDVARK DR + GPS Receiver Reference Guide 79 A HIPPO Protocol Byte / Bit Name Type Units / LSB Range / value Meaning 16-17 Heading U16 2-15 sc [0, 2] sc 18-19 Speed U16 1 cm/s [0, 655.34] m/s 20-21 Position accuracy U16 1m [0, 65535] m 22-23 Altitude accuracy U16 1m [0, 65535] m [0, 2] sc 24-25 Heading accuracy U16 2-15 sc 26-27 Speed accuracy U16 1 cm/s [0, 655.35] m/s 28-29 Vertical speed U16 1 cm/s [0, 655.34] m/s 30-31 Vertical speed accuracy U16 1 cm/s [0, 655.35] m/s 32-35 Frequency offset FLT 1 cm/s 36-37 Frequency offset accuracy U16 1 cm/s Frequency offset of the local oscillator Position, heading, and speed values are from GPS measurements. Code-carrier filtering has been applied, but not velocity (PV) or DR filtering. These fixes will be quite noisy in urban environments. 0x32-01: UTC Time and Constellation Summary Message Byte / Bit Name Type Units Code U8 0x32 Subcode U8 0x01 0-1 UTC year U16 2000+ 2 UTC month U8 [1, 12] 3 UTC day U8 [1, 31] 4 UTC hour U8 [0, 23] 5 UTC minute U8 [0, 59] 6 UTC second U8 [0, 60] 7 UTC / GPS offset U8 U16 2 10-11 HDOP U16 2-8 12-13 VDOP U16 2-8 80 U8 60 only for the leap second GPS = UTC + offset PDOP Max DGPS age Meaning -8 8-9 14 Range / value Sec AARDVARK DR + GPS Receiver Reference Guide 0 2D position >0 3D position <255 Seconds 255 Overage or invalid HIPPO Protocol Byte / Bit Name Type 15 / 0-3 GPS status U4 15 / 4-5 Time source 16 / 0-1 Search mode Units U2 U2 16 / 7 Almanac status U1 17 / 0-3 Number of SVs visible U4 Range / value Meaning 0 Doing position fixes 2 Need time 3 PDOP too high 5 No usable SVs 6 One usable SV 7 Two usable SVs 8 Three usable SVs 0 System clock 1 RTC 2 GPS (< 10 ms) 3 GPS (< 1 ms) 0 None 1 Blind 2 Anywhere A 1 = Complete [0,12] 0x33-01: GPS Channel Measurement Short Status This report message type is indexed by channel number (0-7 for eight-channel receivers and 0-11 for twelve-channel receivers). If the query is "query-all" (0xFF), only assigned channels will be reported. If channel status is queried for an unassigned channel, the data fields (including SV PRN) are zero-filled. Byte / Bit 0 Name Type Units Range / value Meaning Code U8 0x33 Subcode U8 0x01 Index U4 0-11 Channel SV PRN U5 0 Channel unassigned 1 - 32 SV PRN 1 /0 SV visible U1 1/1 Reserved U1 1 /2 SV has been tracked U1 1/3 Reserved U1 1/4 SV currently tracking U1 1/5 SV meets SNR mask U1 1 = Elevation > Mask 1 = Already tracked 1 = Tracking 1 = SNR meets Mask AARDVARK DR + GPS Receiver Reference Guide 81 A HIPPO Protocol Byte / Bit Name Type Units Range / value 2 SNR U8 0.2 dB-Hz [0,48] dBHz 3 Azimuth U8 2° [0° , 358° ] 4 Elevation S8 1° [-90° ,90° ] 5 / 0-1 Almanac status U2 5 / 2-3 Ephemeris status U2 Meaning 0 None 1 Old 3 Current 0 None 1 Old 2 Decoded 3 Verified 0x36: DR Calibration Messages The DR calibration messages contain the current settings for the gyro and speed signal input parameters. They are typically transmitted when the parameters are updated. ZRO, ZRO rate, and DPP are updated upon generation of a valid GPS velocity. ZRO and ZRO rate are also updated during periods of zero speed. • When the host uses the set procedure with these messages, the source field must be set to Clear, Host Input, or Host Override. The set procedure is not supported for ZRO rate (0x36-08). • For Clear, the rest of the fields are ignored. • For Host Input, if the device has already calibrated the parameters, the set procedure is aborted. The acknowledgment message has status set to Contradicts current data. • For Host Override, the value and accuracy must be valid quantities. • The Validity and Newness fields are always ignored in the set procedure. 0x36-03: ZRO Calibration Byte / Bit 0 / 0-2 0/3 0/4 82 Name Type Code U8 0x36 Subcode U8 0x03 Source U3 0 Invalid / Clear 1 Host input 2 Host override 3 GPS fix 0 From BBRAM 1 New (since start-up) 1 1 = Valid Newness Validity Units / LSB U1 U1 AARDVARK DR + GPS Receiver Reference Guide Range / value Meaning HIPPO Protocol Byte / Bit Name Type Units / LSB Range / value 1- 4 Zero rate output (ZRO) FLT (mV) (-2500.0, 2500.0) 5-8 ZRO accuracy FLT (mV) >0 A Meaning 1 accuracy 0x36-04: Gyro Linearity Calibration Byte / Bit 0 / 0-2 0/3 Name Type Code U8 0x36 Subcode U8 0x04 Source U3 0 Invalid / Clear 1 Host Input 2 Host override 3 GPS fix 0 From BBRAM 1 New (since start-up) 1 1 = Valid Newness Units / LSB Range / value U1 0/4 Validity U1 1- 4 Sensitivity (GyroSns) FLT 5-8 Sensitivity accuracy FLT Meaning (mV /(° /s)) [20.9, 31.2] 1 σ accuracy (mV /(° /s)) > 0 0x36-05: Direction Switch Calibration Byte / Bit 0 / 0-2 0/3 Name Type Code U8 0x36 Subcode U8 0x05 Source U3 0 Invalid / Clear 1 Host input 2 Host override 3 GPS fix 0 From BBRAM 1 New (since start-up) Newness Units / LSB Range / value U1 Meaning 0/4 Validity U1 1 1 = Valid 0/7 Direction switch sense U1 0 0 = FWD, 1 = REV 1 0 = REV, 1 = FWD Confidence speed U8 < DirSwWarning (see 0x27; default = 14 m/s) < 256 if source is host override Last calibration speed 1 1 m/s AARDVARK DR + GPS Receiver Reference Guide 83 A HIPPO Protocol 0x36-07: DDPP Calibration Byte / Bit Name 0 / 0-2 0/3 Type Units / LSB Range / value Meaning Code U8 0x36 Subcode U8 0x07 Index U8 [0, NDPP-1] Speed level index Source U3 0 Invalid / Clear 1 Host input 2 Host override 3 GPS fix 0 From BBRAM 1 New (since start-up) 1 1 = Valid Newness U1 0/4 Validity U1 1-4 DPP FLT (m / pulse) [.005, 5.0] < 5 m/pulse typ 5-8 DPP accuracy FLT (m / pulse) [.001, 1.0] 1 σ accuracy Units / LSB Range / value Meaning 0x36-08: ZRO Rate Calibration Byte / Bit Name 0 / 0-2 0/3 Type Code U8 0x36 Subcode U8 0x08 Source U3 0 Invalid 3 GPS fix 0 From BBRAM 1 New (since start-up) 1 1 = Valid Newness U1 0/4 Validity U1 1-4 ZRO rate of change FLT (mV / sec) 5-8 ZRO rate accuracy FLT (mV / sec) 1 σ accuracy 0x3F-01: ADC and Gyro Self-test Data The module performs a self-test on the ADC and gyro at start-up. (The module can also perform the gyro test after start-up; see Theory of Operation, page 113.) If the tests are completely successful, the gyro/ADC self-test bit in the start-up message (0x12-01) is zero. If the bit is set to one, the host should examine the following message for diagnosis of the errors. The ADC at fixed voltage is from the test at start-up; the "at rest" data fields are from the most recent test. This information is not battery-backed, and is available by query only. 84 AARDVARK DR + GPS Receiver Reference Guide A HIPPO Protocol Byte 0 Name Type Units / LSB Code U8 0x3F Subcode U8 0x01 ADC validity U8 1-4 ADC at fixed voltage U32 5-6 Samples at fixed voltage U16 7-10 ADC / gyro at rest U32 11-12 Samples at rest U16 Range / value Meaning 0 No error 1 ADC not functioning Initialization information The following reports contain the information that the module is currently storing in BBRAM for initialization in the next session. If any information is updated in real time through data decode or fixes, the module reports the updated information. When these reports are used with the set command, the host sends the message with the Source byte set to Host Input. If the information is already in use in the system and is validated by fixes or decode, the module may reject the host input. This will be indicated in the acknowledgment message. Validated data can be overwritten using the Host override option. If BBRAM is lost, byte 3 of the start-up message 12-01 will indicate the module is doing a cold-start. The host can upload the initialization information to the module using the set procedure to speed GPS satellite acquisition. This information includes: • Time message (29-01) • Latitude / longitude message (29-02) Many of the data structures in this section have source and newness fields. A set command can use values 0 (clear), 1 (host input), or 2 (host override) for the source field. If the source is currently 2 (host override) or 3 (derived from GPS) and a new set command has source value 1 (host input), the acknowledgment message returns error value contradict for set command. The newness field cannot be set; if newness is 0, a reset has occurred since the value was last updated. AARDVARK DR + GPS Receiver Reference Guide 85 A HIPPO Protocol 0x29-01: Time Initialization The data in this message changes after initialization through fixes. The Invalid/Clear command and the Time Accuracy are currently not supported. A source of "GPS Data Decode" is used only in the report and cannot be used when initializing data. The Newness field is always ignored when initializing data. Byte / Bit 0 / 0-2 0/3 Name Type Code U8 0x29 Subcode U8 0x01 Source U3 0 Invalid / Clear 1 Host input 2 Host override 3 GPS data decode 0 From BBRAM 1 New 0 Accuracy unknown 1 Accuracy valid GPS week number Newness 0 /4 Units/LSB U1 Range / value Meaning Time accuracy status U1 1-2 Week number U16 1 wk <1024 3-6 Time of week U32 1 ms <604800000 ms GPS time of week 7 - 10 Time accuracy U32 1 ms 0-604800000 ms 1 σ accuracy 0x29-02: Latitude / Longitude Initialization The data in this message will change after initialization through fixes. To erase latitude / longitude initialization information, use the corresponding set command with source byte equal to zero (Invalid / Clear). To override current latitude and longitude estimates, use "host override". A Source of "GPS Fix" is used only in the report and cannot be used when initializing data. The "Newness" field is always ignored when initializing data. Latitude and longitude initialization must be done before altitude initialization. Byte / Bit 0 / 0-2 0/3 86 Name Type Code U8 0x29 Subcode U8 0x02 Source U3 0 Invalid / Clear 1 Host input 2 Host override 3 GPS fix 0 From BBRAM 1 New Newness Units/LSB U1 AARDVARK DR + GPS Receiver Reference Guide Range / value Meaning A HIPPO Protocol Byte / Bit Name Type 0/4 Lat/Lon accuracy status U1 1-4 Latitude 5-8 Longitude 9 - 12 Latitude accuracy Units/LSB Range / value Meaning 0 Accuracy unknown 1 Accuracy valid 2 -31 sc [-½, ½] sc. S32 2 -31 sc [-1, 1] sc. U32 2-31 sc S32 -31 13 - 16 Longitude accuracy U32 2 sc 17 - 20 Lat/Lon correlation FLT unitless [0, 1] sc. 1 σ accuracy [0, 1] sc. 1 σ accuracy [-1.0,1.0] Diagnostic report packets The following packets are used in a post-processing routine. The contents of these packages are designed so that the routine can replicate the performance of the real-time processing. The format of these messages are not fully documented because they change as the firmware is updated. 0x70-05: Event Information Byte Name Type Units / LSB Code U8 0x70 Subcode U8 0x05 0 Version U8 1-4 Event time U32 5-8 Event code U32 Range / value Meaning Version of the message format ms System time of the event Event code 0x70-06: System Profiling Data Byte / Bit Name Type Units / LSB Range / value Meaning Code U8 0x70 Subcode U8 0x06 0 Version U8 1-2 Stack size U16 bytes Total stack size 3-4 Maximum stack usage U16 bytes Maximum stack usage so far 5 CPU load U8 % Current CPU load Version of the message format AARDVARK DR + GPS Receiver Reference Guide 87 A HIPPO Protocol 0x70-0D: BBRAM Data This message is output on startup if the corresponding diagnostic message output is turned on. Byte 0 1-8 9-16 17-24 25-32 33-40 41-48 Name Type Units / LSB Code U8 0x70 Subcode U8 0x0D Version U8 Range / value Meaning Version of the message format Longitude variance DBL m2 East variance Latitude variance DBL m2 North variance DBL m 2 Up variance Clock bias variance DBL m 2 Clock variance Heading variance rad2 Altitude variance ZRO variance DBL DBL counts Heading variance 2 ZRO variance 2 49-56 ZRR variance DBL 57-64 GSF variance DBL 65-72 DirSw max speed DBL m/s 73-80 DPP0 variance DBL m2 DPP 0 variance DBL m2 DPP 1 variance DBL m 2 DPP 2 variance 2 Covariance between east and north 81-88 89-96 DPP1 variance DPP2 variance (counts/s) GSF variance 97-104 Lat/Lon covariance DBL m 105-112 Lat rad DBL ZRR variance [-230, +230] 32 Latitude estimate 113-120 Lon DBL rad [0,2 -1] Longitude estimate 121-131 Alt DBL m [-1000, 10000] Altitude estimate 129-132 GSFR FLT [0.0 - 2.0] Gyro linearity error 133-136 DPP0 FLT m [0.01-4.0] DPP (Distance per pulse) 0 137-140 DPP1 FLT m [-0.5 - .5] DPP 1 141-144 DPP2 FLT m [-0.5 - .5] DPP 2 145-148 Hdg FLT rad 149-152 ZRO FLT counts 153-156 Status bits U32 bitmap 157-158 DR API version S16 159-160 WN S16 weeks GPS week number 161-164 TOW U32 ms GPS time of week 165 DirSw sense S8 88 Heading estimate [-6553- 6553] Gyro bias (zero rate output) Status flags DR API version AARDVARK DR + GPS Receiver Reference Guide 0 Hi rev, lo fwd 1 Hi fwd, lo rev HIPPO Protocol A 0x70-0E: Startup Time This message is output on startup if the corresponding diagnostic message output is turned on. Byte Name Type Units / LSB Code U8 0x70 Subcode U8 0x0E 0-1 WN U16 weeks Week number 2-5 TOW U32 ms Time of week 6-9 Accuracy FLT s Time accuracy (1 σ) 10 Startup flag U8 11 UTC offset U8 Range / value Meaning 0 No time at startup 1 Time available at startup s UTC offset (UTC - GPS) 0x70-12: Temperature Data This message is output upon query or once per second if the corresponding diagnostic message output is turned on. Byte 0 Name Type Units / LSB Code U8 0x70 Subcode U8 0x12 Source (of temperature) U8 Range / value Meaning 0 Unknown / temperature not valid 1 Temperature sensor 2 Gyroscope 3 Accelerometer 4 Pressure sensor 1-4 Temperature FLT °C Temperature 5-8 Accuracy FLT °C Temperature accuracy If queried with no specified source, the on-board temperature sensor data is reported. To query temperature data available from other on-board devices, specify the source in the query message. Note – The temperature data from any indicated source is supported only if the corresponding device is present on the board. If the device is not present, an error message is returned for that source. AARDVARK DR + GPS Receiver Reference Guide 89 A HIPPO Protocol 0x70-13: DR Sensor Data This message is output five times per second if the corresponding diagnostic message output is turned on. Byte / Bit Name Type Units / LSB Range / value Meaning Code U8 0x70 Subcode U8 0x13 0 Version U8 1/0 Raw direction switch U1 0, 1 Direction switch input value 1 / 6-7 Time source 0 System clock 1 RTC 2 GPS (< 10 ms) 3 GPS (< 1 ms) Version of the message format U2 2-5 Time tag U32 ms System time of data collection 6-9 System time offset S32 ms GPS / system time offset (if time source > 0): GPS TOW = (Sys Time + Sys Time Offset) % 604800000 10-11 Dpeed signal input counts U16 counts Speed signal input counts since last report 12-15 Gyro counts U32 counts Sum of gyro samples (ADC values) 16 # of Gyro samples U8 17-20 PPS time U32 21 # of reserved fields (N) U8 22 25 + (N-1)*4 Reserved fields Nx U32 26+(N-1)*4 29+(N-1)*4 Sum of speed signal U32 input counts Sum of all speed signal input counts from system startup 30+(N-1)*4 33+(N-1)*4 Sum of gyro counts U32 Sum of all gyro samples from system startup 34+(N-1)*4 37+(N-1)*4 Total # of gyro samples U16 Total number of gyro samples from system startup 90 AARDVARK DR + GPS Receiver Reference Guide Number of gyro samples ms System time of the last PPS N>0 HIPPO Protocol A 0x70-20: GPS Raw Measurement Group Data This message is output once per second if the corresponding diagnostic message output is turned on. Byte Name Type Units / LSB Range / value Code U8 0x70 Subcode U8 0x13 0 Version U8 1-4 Measurement local time U32 5 Time status U8 6 Time synchronization Meaning Version of the message format ms U8 GPS module's local time of measurement 0 Time unknown 1 Better than 10 min 2 Better than 1 min 3 Better than 10 sec 4 Better than 3 sec 5 Better than 1 sec 6 Better than 300 ms 7 Better than 100 ms 8 Better than 30 ms 9 Better than 10 ms 10 Better than 3 ms 11 Much better than 1 ms 0 1 7-8 Measurement week U16 number weeks 9-16 Measurement time of week DBL sec 17-24 Clock bias DBL sec 25 # of valid measurements U8 Time sync ok (no ms ambiguity between the code measurements and local time) Measurement GPS week number including the 1024 week rollovers. 0 if not set. 0-604799 Measurement GPS time of week. Estimated GPS receiver clock bias. Number of GPS channels with valid measurements AARDVARK DR + GPS Receiver Reference Guide 91 A HIPPO Protocol 0x70-21: GPS Raw Measurement Channel Data This message is output once per second for each channel with a valid measurement if the corresponding diagnostic message output is turned on. Byte Name Type Units / LSB Code U8 0x70 Subcode U8 0x21 0 Version U8 Version of the message format 1 Channel number U8 Channel number 2 SV ID U8 Satellite ID (PRN) on this channel 3 SNR U8 dB-Hz 0- 60 Signal-to-noise ratio 4 JNR U8 dB-Hz 0- 60 Jammer-to-noise ratio (includes jammers due to cross and auto correlations) 5 (Channel) measurement quality indicator U8 0 Channel idle 1-9 Acquiring 10 - 18 Valid measurement GPS data synchronization status U8 6 Range / value Meaning Channel subframe synchronization status: 0 No sync 1 Approximately bit sync 2 Approximately subframe sync 3 Exact sync (measurement is usable) 7-14 Pseudorange DBL m Pseudorange measurement 15-18 Doppler FLT Hz Doppler frequency measurement 19 IODE U8 20-27 Carrier phase DBL cycles Carrier phase measurement 28-29 Carrier lock counter U16 0.01 s Carrier phase loop-lock counter 92 0 - 255 AARDVARK DR + GPS Receiver Reference Guide Ephemeris issue of data HIPPO Protocol A 0x70-22: GPS Fix Data This message is output once per second if the corresponding diagnostic message output is turned on. Byte Name Type Units / LSB Code U8 0x70 Subcode U8 0x22 0 Version U8 1 Fix type U8 Range / value Meaning Version of the message format 0 No position fix 1 Position fix is estimated 2 2D position fix (autonomous) 3 2D position fix (differential) 4 3D position fix (autonomous) 5 3D position fix (differential) 2-3 Week number U16 weeks GPS week number of fix 4-7 Time of week U32 ms GPS time of week of fix 8 - 11 Elapsed time U32 ms Time since start-up 12 - 19 Latitude DBL deg Latitude 20 - 27 Longitude DBL deg Longitude 28 - 35 Altitude (HAE) DBL m Altitude above WGS84 ellipsoid 36 - 43 Altitude (MSL) DBL m Altitude above mean sea level 44 - 51 Clock bias DBL sec Local oscillator clock bias 52 - 55 Horizontal speed FLT m/s Horizontal speed 56 - 59 Heading FLT deg Horizontal heading 60 - 63 Vertical speed FLT m/s Vertical speed 64 - 67 Latitude accuracy FLT m Northing uncertainty (1 σ) 68 - 71 Longitude accuracy FLT m Easting uncertainty (1 σ) 72 - 75 Altitude accuracy m Vertical uncertainty (1 σ) FLT AARDVARK DR + GPS Receiver Reference Guide 93 A HIPPO Protocol Byte Name Type Units / LSB Range / value Meaning 76 Fix status U8 These are bit-fields and may be combined to form the complete status indicator: 0x00 = no fix 0x01 = new fix (check fix type for a fix qualifier) 0x02 = If the fix type is 2D and this bit is set, it indicates that the 2D fix is valid relative to the required horizontal uncertainty masks. 0x04 = If the fix type is 3D and this bit is set, it indicates that the 3D fix is valid relative to the required horizontal and vertical uncertainty masks. 77-80 Checksum U32 Post-processed checksum 81-84 Clock frequency drift FLT sec/sec Local oscillator clock drift 85 UTC offset U8 s GPS - UTC time difference 0x70-23: DR Sensor Definitions This message is output at startup if the corresponding diagnostic message output is turned on. Byte Name Type Units / LSB Code U8 0x70 Subcode U8 0x23 0 Version U8 Version of the message format 1-2 Gyro ADC bits U16 Effective number of ADC bits used for gyro conversion 3-6 Gyro sensitivity FLT mV/( /s) Gyro sensitivity 7-10 Full scale gyro range FLT mV Full-scale gyro range 11-14 Minimum gyro level FLT mV Minimum gyro level 15-18 Center gyro level FLT mV Center (zero-rate) gyro level 19-22 Maximum gyro level FLT mV Maximum gyro level 23-24 Reserved U16 25-28 Speed signal input DPP FLT 29 Speed signal input dir U8 switch sense Speed signal input direction switch sense 30 DR API version DR API version 94 Range / value Meaning Reserved m U8 AARDVARK DR + GPS Receiver Reference Guide Speed signal input distance-per-pulse HIPPO Protocol Byte Name Type Units / LSB Range / value 31 DR library build number U8 DR library build number 32 DR library major version U8 DR library major version 33 DR library minor version U8 DR library major version A Meaning 0x70-24: Used SVs Information This message is output once per second if the corresponding diagnostic message output is turned on. Byte Name Type Units / LSB Range / value Meaning Code U8 0x70 Subcode U8 0x24 0 Version U8 1 SV count U8 0-14 Number of SVs used in fix 2-15 PRN of used SV U8 x 14 1-32 SV ID (PRN) of the satellite used in fix (if 0, no SV) Version of the message format 0x70-26: Ionospheric Parameters This message is output once per second if the corresponding diagnostic message output is turned on. Byte 0 1 2 3 4 5 6 7 8 Name Type Units / LSB Code U8 0x70 Subcode U8 0x26 Version U8 Alpha 0 Alpha 1 Alpha 2 Alpha 3 Beta 0 Beta 1 Beta 2 Beta 3 U8 U8 Range / value Meaning Version of the message format 2-30 sec 2 -27 -24 Alpha 0 sec/sc Alpha 1 U8 2 2 Alpha 2 U8 2-24 sec/sc3 Alpha 3 sec/sc 2 11 sec Beta 0 U8 2 14 sec/sc Beta 1 U8 216 sec/sc2 U8 U8 2 16 sec/sc 3 Beta 2 Beta 3 AARDVARK DR + GPS Receiver Reference Guide 95 A HIPPO Protocol 0x70-27: Map-Matching Data Input This message provides map-matching data to the DR library. It is also output when the map-matching data is available if the corresponding diagnostic message output is turned on. Byte / Bit Name Type Code U8 0x70 Subcode U8 0x27 0 Version U8 1-4 Time tag U32 5/0 ZRO/ZRR cleared U1 5/1 5/5 6/0 6/1 6/2 6/3 7/0 7/1 7/2 7/3 8 / 0-1 8/2 8/3 9 - 16 96 Units / LSB Range / Value Meaning Version of the message format 1 ms System time tag 0 Not cleared 1 Cleared 0 Not cleared 1 Cleared 0 WGS-84 1 MSL 0 Not valid 1 Valid 0 Not valid 1 Valid 0 Not valid 1 Valid 0 Not valid 1 Valid 0 Editable 1 Do not edit Worst position no U1 edit 0 Editable 1 Do not edit Altitude no edit 0 Editable 1 Do not edit 0 Editable 1 Do not edit 0 Weight with KF estimate 3 Replace KF position estimate 0 Weight with KF estimate 1 Replace KF altitude estimate 0 Weight with KF estimate 1 Replace KF heading estimate Heading cleared Altitude source U1 U1 Best position valid U1 Worst position valid U1 Altitude valid U1 Heading valid Best position no edit Heading no edit U1 U1 U1 U1 Best/Worst position force U2 Altitude force U1 Heading force Latitude U1 DBL rad AARDVARK DR + GPS Receiver Reference Guide [- π/2 ,π/2] A HIPPO Protocol Byte / Bit Name Type Units / LSB Range / Value Meaning 17 - 24 Longitude DBL rad [- π, π ] 25 - 32 Altitude DBL m [-400, 10000] m 33 - 36 Heading FLT rad [0, 2 π] 37 - 44 Best position accuracy DBL m (0, 65535] m 1-σ accuracy 45 - 52 Worst position accuracy DBL m (0, 65535] m 1-σ accuracy 53 - 60 Direction of best accuracy DBL rad [- π, π ] 61 - 68 Altitude accuracy DBL m [1, 65535] m 1-σ accuracy 69 - 76 Heading accuracy DBL rad [0, π ] 1-σ accuracy MSL or WGS84 0x70-28: Ephemeris and Subframe 1 Data This message is output when a new ephemeris is decoded if the corresponding diagnostic message output is turned on. Byte Name Type Units / LSB Range / value Meaning Code U8 0x70 Subcode U8 0x28 0 Version U8 Version of the message format 1 SV PRN U8 SV ID (PRN) 2 Code on L2 U8 Refer to IS-GPS-2001 3 URA U8 Refer to IS-GPS-200 4 SV Health U8 Refer to IS-GPS-200 5 Fit Interval U8 Refer to IS-GPS-200 6 reserved U8 Refer to IS-GPS-200 7 L2 P Data U8 Refer to IS-GPS-200 8 TGD U8 Refer to IS-GPS-200 9 af2 U8 Refer to IS-GPS-200 10-11 Week Number U16 Refer to IS-GPS-200 12-13 toc U16 Refer to IS-GPS-200 14-15 toe U16 Refer to IS-GPS-200 16-17 IODC U16 Refer to IS-GPS-200 18-19 af1 U16 Refer to IS-GPS-200 20-21 Δn U16 Refer to IS-GPS-200 22-23 IDOT U16 Refer to IS-GPS-200 24-25 Crs U16 Refer to IS-GPS-200 26-27 Crc U16 Refer to IS-GPS-200 AARDVARK DR + GPS Receiver Reference Guide 97 A HIPPO Protocol Byte Name Type 28-29 Cus U16 Refer to IS-GPS-200 30-31 Cuc U16 Refer to IS-GPS-200 32-33 Cis U16 Refer to IS-GPS-200 34-35 Cic U16 Refer to IS-GPS-200 36-39 af0 U32 Refer to IS-GPS-200 40-43 M0 U32 Refer to IS-GPS-200 44-47 e U32 Refer to IS-GPS-200 48-51 sqrt(A) U32 Refer to IS-GPS-200 52-55 Ω0 U32 Refer to IS-GPS-200 56-59 i0 U32 Refer to IS-GPS-200 60-63 ϖ Ω Dot U32 Refer to IS-GPS-200 U32 Refer to IS-GPS-200 64-67 Units / LSB Range / value Meaning 1 IS-GPS-200 is the Navstar Global Positioning System Interface Specification (Rev D) and is used for detailed descriptions of the ephemeris and subframe 1 fields. 0x70-30: DR KF Output (Calibration) Data This message is output once per second if the corresponding diagnostic message output is turned on. Byte 0 Name Type Units / LSB Code U8 0x70 Subcode U8 0x30 Version U8 1-8 Longitude variance DBL 9-16 Latitude variance DBL m2 DBL m 2 Altitude variance 25-32 Clock bias variance DBL m2 33-40 Heading variance DBL rad2 41-48 ZRO variance Meaning Version of the message format m2 17-24 Range / value East variance North variance Up variance Clock variance Heading variance 2 DBL counts (counts/s)2 ZRO variance 49-56 ZRR variance DBL 57-64 GSF variance DBL 65-72 DirSw max speed DBL m/s 73-80 DPP0 variance DBL m2 DPP 0 variance DBL m 2 DPP 1 variance m 2 DPP 2 variance 81-88 89-96 98 DPP1 variance DPP2 variance DBL ZRR variance GSF variance AARDVARK DR + GPS Receiver Reference Guide A HIPPO Protocol Byte Name Type Units / LSB Range / value 2 97-104 Lat/Lon covariance DBL m 105-112 Lat DBL rad Meaning Covariance between east and north [-230, +230] 32 Latitude estimate 113-120 Lon DBL rad [0,2 -1] Longitude estimate 121-131 Alt DBL m [-1000, 10000] Altitude estimate 129-132 GSFR FLT [0.0 - 2.0] Gyro linearity error 133-136 DPP0 FLT m [0.01-4.0] DPP (Distance per pulse) 0 137-140 DPP1 FLT m [-0.5 - .5] DPP 1 141-144 DPP2 FLT m [-0.5 - .5] DPP 2 145-148 Hdg FLT rad 149-152 ZRO FLT counts 153-156 Status Bits U32 bitmap 157-158 DR API Version S16 159-160 WN S16 weeks GPS week number 161-164 TOW U32 ms GPS time of week 165 DirSw Sense S8 Heading estimate [-6553- 6553] Gyro bias (zero rate output) Status flags DR API version 0 Hi rev, low fwd 1 Hi fwd, low rev 0x70-31: GPS KF Output Data This message is output once per second if the corresponding diagnostic message output is turned on. Byte Name Type Units / LSB Range / value Meaning Code U8 0x70 Subcode U8 0x31 0 Version U8 1-4 East-to-Lon FLT rad/m Scale conversion from East distance to longitude 5-8 North-to-Lat FLT rad/m Scale conversion from North distance to latitude 9 - 12 Lon-to-East FLT m/rad Scale conversion from longitude to East distance 13 - 16 Lat-to-North FLT m/rad Scale conversion from latitude to North distance 17 - 20 ZRR FLT counts/sec Gyro bias rate 21 - 24 Current speed FLT m/s Current speed 25 - 28 MSL offset FLT m Offset between MSL and HAE 29 - 32 East GPS velocity FLT m/s Recent GPS velocity (East) Version of the message format AARDVARK DR + GPS Receiver Reference Guide 99 A HIPPO Protocol Byte Name Type Units / LSB Range / value Meaning 33 - 36 North GPS velocity FLT m/s Recent GPS velocity (North) 37 - 40 Up GPS velocity FLT m/s Recent GPS velocity (Up) 41 - 44 GPS speed FLT m/s Recent GPS speed 45 - 48 GPS age U32 sec Time since last GPS fix 49 - 52 System time offset S32 ms GPS / system time offset (if time source > 0): GPS TOW = (Sys Time + Sys Time Offset) % 604800000 53 Current DPP index U8 Current DPP index being used [0 ... NUM_DPP-1] 54-101 Calibration status 12 x U32 Estimation activity for this second 102-105 KF status U32 DR KF Filter status 106 Num PRs U8 Number of SVs used by DR KF filter 0x70-32: DR Fix Data This message is output five times per second if the corresponding diagnostic message output is turned on. Byte Name Type Units / LSB Code U8 0x70 Subcode U8 0x32 0 Version U8 1-8 Latitude DBL rad Latitude estimate 9-16 Longitude DBL rad Longitude estimate 17-24 Altitude DBL m Altitude estimate (HAE) 25-28 Heading FLT rad Heading estimate 29-32 Delta-heading FLT rad Delta-heading estimate 33-36 Delta-distance FLT m Delta-distance estimate 37-40 System time U32 ms Current system time 41-44 Time since last DR U32 ms Interval length since last DR data 45 Counter U8 46 Reverse indicator U8 1 00 Range / value Meaning Version of the message format AARDVARK DR + GPS Receiver Reference Guide DR data counter; cycles from 1 to 5 and back 1 In reverse direction 0 In forward direction HIPPO Protocol A 0x70-60: Mounting Angle Calibration This message allows setting or reporting the mounting angle calibration data. This message is automatically output once at startup. When 'setting' the data, the values are stored into non-volatile memory. There are two different message formats for 'setting' and 'querying/reporting' the data. 0x70-60: Query/report' format for the Mounting Angle Calibration Byte / Bit Name Type Units / LSB Range / value Meaning Code U8 0x70 Subcode U8 0x60 0 Version U8 0x02 Version of the message format. When 'setting' data, make sure to set this field to the value reflected in this reference table. 1 Status U8 2-5 X-axis value of the FLT forward direction unit vector -1…1 X value of the unit vector in the vehicle's forward direction expressed in the gyro XYZ coordinates. 6-9 Y-axis value of the FLT forward direction unit vector -1…1 Y value of the unit vector in the vehicle's forward direction expressed in the gyro XYZ coordinates. 10-13 Z-axis value of the FLT forward direction unit vector -1…1 Z value of the unit vector in the vehicle's forward direction expressed in the gyro XYZ coordinates. 14-17 X-axis value of the FLT left direction unit vector -1…1 X value of the unit vector in the vehicle's left direction expressed in the gyro XYZ coordinates. 18-21 Y-axis value of the FLT left direction unit vector -1…1 Y value of the unit vector in the vehicle's left direction expressed in the gyro XYZ coordinates. Mounting angle calibration status: 0 = angle unknown 1 = angle set from user input 2 = angle set at manufacturing 3 = angle set by self-calibration and matched to stored a profile 4 = angle set by self-calibration 5 = self-calibration in progress AARDVARK DR + GPS Receiver Reference Guide 101 A HIPPO Protocol Byte / Bit Name Type Units / LSB Range / value Meaning 22-25 Z-axis value of the FLT left direction unit vector -1…1 Z value of the unit vector in the vehicle's left direction expressed in the gyro XYZ coordinates. 26-29 X-axis value of the FLT up direction unit vector -1…1 X value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. 30-33 Y-axis value of the FLT up direction unit vector -1…1 Y value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. 34-37 Z-axis value of the FLT up direction unit vector -1…1 Z value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. 38-41 Calibration time of U32 week sec GPS time of week of the last self-calibration time. 42-43 Calibration week number S16 weeks GPS week number of the last self-calibration time. 44-51 Latitude of calibration DBL deg Latitude of the location of the last self-calibration. 52-59 Longitude of calibration DBL deg Longitude of the location of the last self-calibration. 60-67 Altitude of calibration DBL m Altitude of the location of the last self-calibration. 68 Matching profile index U8 69 Self-calibration Progress U8 1 02 Index in the profile array of the profile matched during the last self-calibration. This field is applicable only if Status = 3. The profile array is set or reported using 0x70-61. % AARDVARK DR + GPS Receiver Reference Guide 0-100 Self-calibration progress, expressed as percentage. HIPPO Protocol A 0x70-60: 'Set' format for the Mounting Angle Calibration Byte / Bit Name Type Units / LSB Range / value Meaning Code U8 0x70 Subcode U8 0x60 0 Version U8 0x02 Version of the message format. When 'setting' data, make sure to set this field to the value reflected in this reference table. 1 Command U8 2-5 X-axis value of the FLT forward direction unit vector -1…1 X value of the unit vector in the vehicle's forward direction expressed in the gyro XYZ coordinates. 6-9 Y-axis value of the forward direction unit vector FLT -1…1 Y value of the unit vector in the vehicle's forward direction expressed in the gyro XYZ coordinates. 10-13 Z-axis value of the forward direction unit vector FLT -1…1 Z value of the unit vector in the vehicle's forward direction expressed in the gyro XYZ coordinates. 14-17 X-axis value of the FLT left direction unit vector -1…1 X value of the unit vector in the vehicle's left direction expressed in the gyro XYZ coordinates. Mounting angle calibration command: 0 = set the mounting angle unit vectors as specified in this packet 1 = set the mounting angle unit vectors by self-calibration only (the other fields in this packet will be ignored) 2 = set the mounting angle unit vectors by self-calibration and matching to a known profile (only if profiles were set using 0x70-61). All other fields in this packet will be ignored. 3 = use the mounting angle programmed at manufacturing. All other fields in this packet will be ignored. If manufacturing data is not available, an error is returned. AARDVARK DR + GPS Receiver Reference Guide 103 A HIPPO Protocol Byte / Bit Name Type 18-21 Y-axis value of the left direction unit vector 22-25 Z-axis value of the left direction unit vector Units / LSB Range / value Meaning FLT -1…1 Y value of the unit vector in the vehicle's left direction expressed in the gyro XYZ coordinates. FLT -1…1 Z value of the unit vector in the vehicle's left direction expressed in the gyro XYZ coordinates. 26-29 X-axis value of the FLT up direction unit vector -1…1 X value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. 30-33 Y-axis value of the up direction unit vector FLT -1…1 Y value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. 34-37 Z-axis value of the up direction unit vector FLT -1…1 Z value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. 0x70-61: Mounting Angle Profiles This message allows you to set or report the mounting angle profiles. The profiles are used to match the self-calibrated mounting angle to a more accurate, pre-set angle. This message is output once at startup, automatically. When 'setting' the data, the values are stored into non-volatile memory. Note – When 'setting' the profiles, the mounting angle is automatically re-calibrated and matched to one of the specified profiles, if any, even if the angle was previously set or calibrated. Byte / Bit Name Type Units / LSB Range / value Meaning Code U8 0x70 Subcode U8 0x61 0 Version U8 0x01 Version of the message format. When 'setting' data, make sure to set this field to the value reflected in this reference table. 1 Number of profiles U8 (N) 0…10 Number of calibration profiles that follow. If 0, the mounting angle is recalibrated with no profile matching. 1 04 AARDVARK DR + GPS Receiver Reference Guide HIPPO Protocol Byte / Bit Name Type 2-5 Profile 1: X-axis value of the up direction unit vector 6-9 Units / LSB A Range / value Meaning FLT -1…1 1st profile's X value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. Profile 1: Y-axis value of the up direction unit vector FLT -1…1 1st profile's Y value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. 10-13 Profile 1: Z-axis value of the up direction unit vector FLT -1…1 1st profile's Z value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. … … … ... 2+(N-1)*12 - Profile N: X-axis 5+(N-1)*12 value of the up direction unit vector FLT -1…1 Nth profile's X value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. 6+(N-1)*12 - Profile N: Y-axis 9+(N-1)*12 value of the up direction unit vector FLT -1…1 Nth profile's Y value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. 10+(N-1)*12 Profile N: Z-axis -13+(Nvalue of the up 1)*12 direction unit vector FLT -1…1 Nth profile's Z value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. 0x70-50: Gyro Parameter Definitions This message allows setting or reporting gyro parameter definitions and is output once at startup, automatically, if the gyro is detected and operational. It is also output in response to a user 'set' command if the gyro is detected and operational based on the user's input parameters. Note – The 'set' capability is not currently available as there are no external gyros supported. The 'set' capability is reserved for future implementation. Byte / Bit 0 Name Type Units / LSB Code U8 0x70 Subcode U8 0x50 Version U8 Range / value Meaning 0x01 Version of the message format. When 'setting' data, make sure to set this field to the value reflected in this reference table. AARDVARK DR + GPS Receiver Reference Guide 105 A HIPPO Protocol Byte / Bit Name Type 1 Status U8 2 Interface 3 Type 4 Connection Units / LSB Range / value Meaning Operational status. Ignored in the ‘set’ message. 0 Hardware not detected or present 1 Hardware detected and operational U8 Communication interface 0 SPI 1 I2C 2 ADC U8 Device type 0 Analog 1 Digital U8 Device connection 0 Internal (on-board) 1 External (via connector) 5-8 Address U32 9-12 <reserved> U32 0 Reserved for future use. 13-16 <reserved> U32 0 Reserved for future use. 17-20 Measurement range FLT °/s Maximum measurement value. 21-24 Sensitivity FLT (°/s)/LSB or (°/s)/mV For digital gyros, the units are (°/s)/LSB. For analog gyros, the units are (°/s)/mV. (LSB - least significant bit or digit). 25-28 Zero-rate level FLT °/s or mV Zero-rate output level. For digital gyros, the units are °/s. For analog gyros, the units are mV. 29 Data Output Resolution U8 bits Effective number of bits used for data conversion. For digital gyros, this value is provided in the datasheet. For analog gyros, it depends on the host processor's ADC. 30-33 Rate Noise Density FLT 1 06 Device address relevant to the device interface and type. (°/s)/Hz2 AARDVARK DR + GPS Receiver Reference Guide HIPPO Protocol A 0x70-52: Speed Signal Input Parameter Definitions This message allows setting or reporting speed signal input parameter definitions and is output automatically once at startup. It is also output in response to a user 'set' command. The default values for these parameters are 0, and the actual run-time values are auto-calibrated while in motion. When 'setting' the data, the values are stored in non-volatile memory. It is strongly recommended to 'set' the data only if this is different than the 'queried' data. This will avoid wasting the write-cycles of Flash-based non-volatile memory. Byte / Bit Name Type Units / LSB Code U8 0x70 Subcode U8 0x52 0 Version U8 1-4 Speed signal input FLT DPP 5 Speed signal input S8 direction switch sense Range / value Meaning 0x01 Version of the message format. When 'setting' data, make sure to set this field to the value reflected in this reference table. m Speed signal input distance-perpulse. 0 Unknown, auto-calibrated during motion. 1 Vehicle in reverse when the direction switch signal is high. -1 Vehicle in reverse when the direction switch signal is low. 0x70-60: Mounting Angle Calibration Applicable to firmware version 2.02.00 and above only. This message allows setting or reporting the mounting angle calibration data and is output automatically once at startup. When 'setting' the data, the values are stored into nonvolatile memory. There are two different message formats for 'setting' and 'querying/reporting' the data. 0x70-60: Query/report format for the Mounting Angle Calibration Byte / Bit 0 Name Type Units / LSB Code U8 0x70 Subcode U8 0x60 Version U8 Range / value Meaning 0x02 Version of the message format. When 'setting' data, make sure to set this field to the value reflected in this reference table. AARDVARK DR + GPS Receiver Reference Guide 107 A HIPPO Protocol Byte / Bit Name Type 1 Status U8 Units / LSB Range / value Meaning Mounting angle calibration status 0 Angle unknown 1 Angle set from user input 2 Angle set at manufacturing 3 Angle set by self-calibration and matched to stored a profile 4 Angle set by self-calibration 5 Self-calibration in progress 2-5 X-axis value of the forward direction unit vector FLT -1…1 X value of the unit vector in the vehicle's forward direction, expressed in the gyro XYZ coordinates. 6-9 Y-axis value of the forward direction unit vector FLT -1…1 Y value of the unit vector in the vehicle's forward direction, expressed in the gyro XYZ coordinates. 10-13 Z-axis value of the forward direction unit vector FLT -1…1 Z value of the unit vector in the vehicle's forward direction, expressed in the gyro XYZ coordinates. 14-17 X-axis value of the left direction unit vector FLT -1…1 X value of the unit vector in the vehicle's left direction, expressed in the gyro XYZ coordinates. 18-21 Y-axis value of the left direction unit vector FLT -1…1 Y value of the unit vector in the vehicle's left direction, expressed in the gyro XYZ coordinates. 22-25 Z-axis value of the left direction unit vector FLT -1…1 Z value of the unit vector in the vehicle's left direction, expressed in the gyro XYZ coordinates. 26-29 X-axis value of the up direction unit vector FLT -1…1 X value of the unit vector in the vehicle's up direction, expressed in the gyro XYZ coordinates. 30-33 Y-axis value of the up direction unit vector FLT -1…1 Y value of the unit vector in the vehicle's up direction, expressed in the gyro XYZ coordinates. 34-37 Z-axis value of the up direction unit vector FLT -1…1 Z value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. 1 08 AARDVARK DR + GPS Receiver Reference Guide HIPPO Protocol Type Units / LSB Range / value A Byte / Bit Name Meaning 38-41 Calibration time of U32 week sec GPS time of week of the last self-calibration time. 42-43 Calibration week number S16 weeks GPS week number of the last self-calibration time. 44-51 Latitude of calibration DBL deg Latitude of the location of the last self-calibration. 52-59 Longitude of calibration DBL deg Longitude of the location of the last self-calibration. 60-67 Altitude of calibration DBL m Altitude of the location of the last self-calibration. 68 Matching profile index U8 69 Self-calibration Progress U8 Index in the profile array of the profile matched during the last self-calibration. This field is applicable only if Status = 3. The profile array is set or reported using 0x70-61. % 0-100 Self-calibration progress, expressed as a percentage. 0x70-60: 'Set' format for the Mounting Angle Calibration Byte / Bit 0 Name Type Units / LSB Code U8 0x70 Subcode U8 0x60 Version U8 Range / value Meaning 0x02 Version of the message format. When 'setting' data, make sure to set this field to the value reflected in this reference table. AARDVARK DR + GPS Receiver Reference Guide 109 A HIPPO Protocol Byte / Bit Name Type 1 Command U8 Units / LSB Range / value Meaning Mounting angle calibration command. 0 Set the mounting angle unit vectors as specified in this packet. 1 Set the mounting angle unit vectors by self-calibration only. The other fields in this packet are ignored. 2 Set the mounting angle unit vectors by self-calibration and matching to a known profile (only if profiles were set using 0x70-61). The other fields in this packet are ignored. 3 Use the mounting angle programmed at manufacturing. All other fields in this packet are ignored. If manufacturing data is not available, an error is returned. 2-5 X-axis value of the FLT forward direction unit vector -1…1 X value of the unit vector in the vehicle's forward direction, expressed in the gyro XYZ coordinates. 6-9 Y-axis value of the FLT forward direction unit vector -1…1 Y value of the unit vector in the vehicle's forward direction, expressed in the gyro XYZ coordinates. 10-13 Z-axis value of the FLT forward direction unit vector -1…1 Z value of the unit vector in the vehicle's forward direction, expressed in the gyro XYZ coordinates. 14-17 X-axis value of the FLT left direction unit vector -1…1 X value of the unit vector in the vehicle's left direction, expressed in the gyro XYZ coordinates. 18-21 Y-axis value of the FLT left direction unit vector -1…1 Y value of the unit vector in the vehicle's left direction, expressed in the gyro XYZ coordinates. 22-25 Z-axis value of the FLT left direction unit vector -1…1 Z value of the unit vector in the vehicle's left direction, expressed in the gyro XYZ coordinates. 1 10 AARDVARK DR + GPS Receiver Reference Guide HIPPO Protocol Byte / Bit Name 26-29 Type Units / LSB A Range / value Meaning X-axis value of the FLT up direction unit vector -1…1 X value of the unit vector in the vehicle's up direction, expressed in the gyro XYZ coordinates. 30-33 Y-axis value of the FLT up direction unit vector -1…1 Y value of the unit vector in the vehicle's up direction, expressed in the gyro XYZ coordinates. 34-37 Z-axis value of the FLT up direction unit vector -1…1 Z value of the unit vector in the vehicle's up direction, expressed in the gyro XYZ coordinates. 0x70-61: Mounting Angle Profiles Applicable to firmware version 2.02.00 and above only. This message allows setting or reporting of the mounting angle profiles. The profiles are used to match the self-calibrated mounting angle to a more accurate, pre-set angle. This message is output automatically once at startup. When 'setting' the data, the values are stored into non-volatile memory. Note – When 'setting' the profiles, the mounting angle is automatically re-calibrated and matched to one of the specified profiles, if any, even if the angle was previously set or calibrated. Byte / Bit Name Type Units / LSB Range / value Meaning Code U8 0x70 Subcode U8 0x61 0 Version U8 0x01 Version of the message format. When 'setting' data, make sure to set this field to the value reflected in this reference table. 1 Number of profiles U8 (N) 0…10 Number of calibration profiles that follow. If 0, the mounting angle is re-calibrated with no profile matching. 2-5 Profile 1: X-axis value of the up direction unit vector FLT -1…1 1st profile's X value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. 6-9 Profile 1: Y-axis value of the up direction unit vector FLT -1…1 1st profile's Y value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. AARDVARK DR + GPS Receiver Reference Guide 111 A HIPPO Protocol Byte / Bit Name Type Units / LSB Range / value Meaning 10-13 Profile 1: Z-axis value of the up direction unit vector FLT -1…1 1st profile's Z value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. … … … 2+(N-1)*12 5+(N-1)*12 Profile N: X-axis value of the up direction unit vector FLT -1…1 Nth profile's X value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. 6+(N-1)*12 9+(N-1)*12 Profile N: Y-axis value of the up direction unit vector FLT -1…1 Nth profile's Y value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. 10+(N-1)*12 - Profile N: Z-axis 13+(N-1)*12 value of the up direction unit vector FLT -1…1 Nth profile's Z value of the unit vector in the vehicle's up direction expressed in the gyro XYZ coordinates. ... 0x70-7F: Toggle Diagnostics Output This message controls output of the 0x70 messages. Each U32 field is a 32-bit mask controlling a set of 32 messages as specified in the Meaning column. The LSB of each U32 is for the lower-numbered message in a range (for example, Bit 0 of Set#2 is for 0x70-20). If a given bit is 1, the corresponding message is enabled to be output; if 0, disabled. Byte 0-3 Name Type Units / LSB Code U8 0x70 Subcode U8 0x7F Flag bits set #1 U32 bitmap Range / value Meaning 1 = on Flag bits for messages 0x70-00 … 0x70-1F 0 = off 4-7 Flag bits set #2 U32 bitmap 1 = on 0 = off 8 - 11 Flag bits set #3 U32 bitmap 1 = on 0 = off 12-15 Flag bits set #4 U32 bitmap 1 = on 0 = off 1 12 AARDVARK DR + GPS Receiver Reference Guide Flag bits for messages 0x70-20 … 0x70-3F Flag bits for messages 0x70-40 … 0x70-5F Flag bits for messages 0x70-60 … 0x70-7F HIPPO Protocol A Event log queue Theory of Operation There are two types of events, hard and soft and each type has its separate log: The soft event log resides in RAM and the fatal error log resides in flash. Each event has an event ID (two-byte unsigned value, see Soft event and fatal error logging and reporting, page 24), a time tag indicating the time when the event occurred, and a status word if applicable. Fatal errors Fatal errors indicate abnormal operation of the module. In general these errors (such as illegal address) are not recoverable. Under these conditions, the receiver writes to the log first, and then sends an event packet to notify user before it restarts (warm or cold reset). The fatal errors are divided based on the source of error: • Interrupt system errors have a high byte of 0x10. The low byte is the vector number at fault. • Hardware-related system error, for example, RAM, ROM, or gyro, has a high byte of 0x12 or 0x13. • RTOS events (errors related to the Operating System related function calls) have a high byte of 0x20. • Navigation library events and run-time positioning diagnostics have a high byte of 0x40. Error/Event Descriptions Action LOG_ILL_TRAP 0x10xx Illegal hardware interrupts (xx = vector number) Hard reset LOG_ERR_RAM_FAILED 0x1200 RAM failed on self-test Monitor mode LOG_ERR_ROM_FAILED 0x1201 ROM failed on checksum test Monitor mode LOG_GET_SEMAPHORE_ERR 0x2001 Failure on acquiring a semaphore Reset LOG_RELEASE_SEMAPHORE_ER 0x2002 R Failure on releasing a semaphore Reset LOG_SEND_MESSAGE_ERR 0x2003 Failure on sending a message Reset LOG_RECEIVE_MESSAGE_ERR 0x2004 Failure on receiving a message Reset LOG_DELETE_MESSAGEQ_ERR 0x2005 Failure on deleting a message queue Reset LOG_DELETE_TASK_ERR 0x2006 Failure to remove task from system Reset LOG_SUSPEND_TASK_ERR 0x2007 Failure on suspending a task Reset LOG_RESUME_TASK_ERR 0x2008 Failure on resuming a task Reset LOG_CREATE_SEMAPHORE_ERR 0x2009 Failure on creating a semaphore Reset LOG_CONNECTION_ERR 0x200A Failure to connect to Io-DSP cell LOG_CREATE_TASK_ERR 0x200B Failure to creating a task Reset AARDVARK DR + GPS Receiver Reference Guide 113 A HIPPO Protocol Error/Event Descriptions Action LOG_ALLOCATE_BUF_ERR 0x200C Failure on memory allocation Reset LOG_MESSAGEQ_FULL 0x2120 A given message queue is full Reset LOG_SIO_OPEN_ERR 0x2121 Failure to open serial port Monitor mode LOG_NAV_HARD_COCOM 0x4001 COCOM event, no recovery Hard reset LOG_NAV_HARD_ERR 0x4003 Other error in navigation library Hard reset The fatal error log is located in the Flash memory space. There are 31 reportable entries with 32 bytes per entry. The host cannot erase this log. A write-after-erase algorithm ensures the integrity of the log. The following table shows the format of the fatal error log entry: Field Type Descriptions Msec U32 Time tag in GPS milliseconds (0xffffffff if not available) Week U16 Time tag in GPS week number (0xffff if not available) Code U16 Event/error code. Hard reset means "Clear RAM and Reset SW". The column "Ver" indicates which ROM versions have this fatal error code feature. Status U16 Status code associated with the event. 0 if it does not apply. Info block 22 bytes See tables, below. The last field holds information associated with type of error. It can be a stack frame, a memory dump up to 22 bytes, or the program count for the address of error. The following tables describe the format for each fatal error types. Block format for the status code 10xx: Field Type Descriptions Vector U8 Illegal vector number PC U32 Program counter at fault SP U32 Supervisor stack address Block format for the status code 12xx: Field Type Descriptions Soft value U32 Soft checksum or memory content. Actual value U32 Data read from the target. Address U32 Status code 1201 only. 1 14 AARDVARK DR + GPS Receiver Reference Guide HIPPO Protocol A Block format for the status code 2xxx: Field Type Descriptions Src task U8 Caller task ID Dest task U8 Receive task ID - 0 if not applicable. Resource ID U8 System resource such as semaphore, message queue, Soft events Soft events, which include soft errors, periodic events, and user requested events, occur frequently. Only selected events will be logged into BBRAM. None of these events triggers a software reset. If the host desires to be notified of specific events with a HIPPO output message, it can specify the events to report with the event mask function, see Failure to connect to GPS DSP, page 119. Soft events have a 7-bit identity code and a two-bit condition status code. The soft event identity code is between 1 and 127, as defined in Soft event and fatal error logging and reporting, page 24. The last column indicates whether the event is a persistent condition such as a shorted antenna (C) or a single event like a RTC fault (S). Some of these soft events are "informational", and result from user action. Those soft events that are generated internally are explained in more detail starting in Invalid BBRAM detected on startup, page 116. The condition code has four states. For a single event, the condition status code is zero. For a soft event condition, the condition code is defined in the following table: . Numeric value Descriptions 0x00 Status unknown (backwards compatible to old software) or single event 0x10 Newly detected condition 0x20 Condition previously detected, still present 0x30 Condition newly cleared As an example, when an antenna short condition is first detected, a soft event with identity and condition codes (0x71, 0x10) is generated. Every second, when the antenna fault detection is repeated, the soft event (0x71, 0x20) is generated. When the condition is cleared and no fault is found, the soft event (0x71, 0x30) is generated. The soft event log resides at the beginning of the RAM area in a circular buffer with 127 entries. The log records all single-event soft events and all changes in soft event conditions, but does not record soft events with status code 0x20 (condition previously detected, still present). The log persists as long as there is a battery-backup power. The user can erase the AARDVARK DR + GPS Receiver Reference Guide 115 A HIPPO Protocol log via a HIPPO command or by the startup RAM test (cold start only). The host can retrieve logs at any time via HIPPO query. The following table shows the format of the log entry for soft events: Field Type Descriptions Msec U32 Time tag in GPS milliseconds. Week U16 Time tag in GPS week number. Identity U8 Soft event identity code, see Invalid BBRAM detected on startup, page 116. Condition U8 Soft event condition code Position recovery, solution snapped to GPS, page 116. Reserved U16 Invalid BBRAM detected on startup Condition cause Hardware failure. Effect before action If not cleared, very long time to first fix or worse. Soft event detected BBRAM checksum mismatch at power-up. Action Clear BBRAM. Position recovery, solution snapped to GPS 1 16 Condition cause Incorrect position at start-up, or substantial drift of DR-GPS position estimate. Effect before action Large position offset between GPS and DR outputs for a number of seconds. Soft event detected Compute average of "window" of recent unfiltered GPS positions, propagated to current time using GPS velocities. Soft event occurs if this window average passes a series of criteria (see DR-GPS KF algorithm document 45172-XX-SP) and the offset relative to the DR position is large enough.. Action The DR position is snapped to the window average. AARDVARK DR + GPS Receiver Reference Guide HIPPO Protocol A Heading recovery, solution snapped to GPS Condition cause Incorrect heading at start-up, or substantial drift of DR-GPS heading estimate. Effect before action Large heading offset between GPS and DR outputs for a number of seconds. Soft event detected Compute average of "window" of recent raw GPS headings, propagated to current time gyro measurements. Soft event occurs if this window average passes a series of criteria (see DR-GPS KF algorithm document 45172-XX-SP) and the offset relative to the DR heading is large enough. Action The DR heading is snapped to the window average. DPP recovery, solution snapped to GPS Condition cause Incorrect DPP at start-up, or substantial drift of DR-GPS DPP estimate. Effect before action Large speed offset between GPS and DR outputs for a number of seconds. Soft event detected Compute average of "window" of recent DPP estimates, derived directly from the raw GPS speed and number of pulses. Soft event occurs if this window average passes a series of criteria (see DR-GPS KF algorithm document 45172-XX-SP) and the offset relative to the DR DPP is large enough. Action The DPP estimate is snapped to the window average. GPS receiver fixes not reasonable; try to recover Condition cause Pseudorange error or ephemeris error. Effect before action GPS positions incorrect. Soft event detected Fix altitude is above 18000 m or below -1000 m and fix speed is above 515 m/s. Soft event cleared Cleared at reset. Action (ROM15) Erase BBRAM and RTC, re-start unit. Gyro readings do not stay within specification Condition cause Hardware failure. Effect before action Position goes in circles. Soft event detected Average gyro reading over ten seconds at standstill is not between 2.0 V and 3.0 V. Soft event cleared Cleared at reset. Action Gyro labeled "bad". DR suspended. Speed measurement continues and speed signal input continues to be calibrated. AARDVARK DR + GPS Receiver Reference Guide 117 A HIPPO Protocol No speed signal input data when GPS is detecting movement Condition cause Speed signal input is disconnected or malfunctioning. Effect before action Position solution will be not change when moving. Soft event detected GPS speed > 8.0 m/s and no speed signal input pulses reported (except heartbeats) for 15 GPS fixes. Soft event cleared Speed signal input pulse is reported, or unit is reset. Action Speed signal input labeled as "absent". DR is suspended. Heading measurement continues and gyro continues to be calibrated. Excessive speed signal input data is received for a long period of time Condition cause Wheels spinning, other speed signal input malfunction. Effect before action Position fixes move at higher speed than actual position. Soft event detected Not implemented. Function partly done by DPP recovery. Reverse signal opposite to direction determined by GPS Condition cause Disconnected reverse switch. Effect before action Reverse driving is mistaken for forward driving, resulting in incorrect position. Soft event detected Driving in reverse at raw GPS speed > 14 m/s. Soft event cleared Driving forward at raw GPS speed > 14 m/s. Action Direction switch sense changed. Large jump at power-up Condition cause Position in BBRAM incorrect (for example, travel by ferry). Effect before action Positions are offset by many kilometers after power-up. Soft event detected Offset between first three GPS points and DR position > 2000 m. Action Reset position to average GPS position Oscillator values are not within specification 1 18 Condition cause Excessive temperature response or aging of crystal. Effect before action Extended time-to-first fix. Soft event detected Not implemented. AARDVARK DR + GPS Receiver Reference Guide HIPPO Protocol A Antenna open detected Condition cause Hardware failure. Effect before action No GPS positions. Soft event detected Hardware signal queried at one Hz. Soft event cleared Hardware signal queried at one Hz. Action DR functions without GPS positions. Antenna short detected Condition cause Hardware failure. Effect before action No GPS positions. Soft event detected Hardware signal queried at one Hz. Soft event cleared Hardware signal queried at one Hz. Action DR functions without GPS positions. Failure to connect to GPS DSP Condition cause Hardware failure. Effect before action No GPS positions. Soft event detected No response from DSP within 5 seconds. Action DR functions without GPS positions. RTC disagreed with GPS time Condition cause Low battery voltage while powered down. Effect before action Long time to first fix. Soft event detected Not implemented. Gyro failure Condition cause Hardware failure. Effect before action Position goes in circles. Soft event detected Tested with ADC at startup. Also tested at standstill; average gyro values (one-second averages) are collected over ten seconds at standstill. If average is not between 0.75 V and 4.25 V, declare detection. Soft event cleared Cleared at reset. Action Gyro labeled "bad". DR suspended. Speed measurement continues and speed signal input continues to be calibrated. AARDVARK DR + GPS Receiver Reference Guide 119 A HIPPO Protocol ADC failure Condition cause Hardware failure. Effect before action Position goes in circles. Soft event detected At power-up. Action Gyro labeled "bad". DR suspended. Speed measurement continues and speed signal input continues to be calibrated. Gyro shorted to 3.3 V 1 20 Condition cause Hardware failure. Effect before action Position goes in circles. Soft event detected Average and range of gyro values (one-second averages) are collected over ten seconds at standstill. If average is between 3.05 V and 3.55 V, and range is less than 6 mV, declare detection. Soft event cleared Cleared at reset. Action Gyro labeled "bad". DR suspended. Speed measurement continues and speed signal input continues to be calibrated. AARDVARK DR + GPS Receiver Reference Guide APPENDIX B NMEA 0183 Protocol B In this appendix: Introduction NMEA protocol overview NMEA 0183 communication interface NMEA 0183 message structure Field definitions Message options Standard NMEA messages Proprietary NMEA messages This appendix provides a brief overview of the NMEA 0183 protocol, and describes both the standard and optional messages offered by the Aardvark firmware. AARDVARK DR + GPS Receiver Reference Guide 121 B NMEA 0183 Protocol Introduction The Aardvark firmware supports an industry-standard NMEA 0183 communication protocol. The protocol supports two categories of messages - standard and proprietary messages. The standard messages adhere to a universal definition specified by the National Marine Electronics Association. The proprietary messages use Trimble Component Technology's own definitions. The following table lists NMEA messages implemented and available in the Aardvark firmware. It also indicates whether a particular message can be queried (Q) or set (S). Refer to the NMEA Protocol Specification for detailed information Standard NMEA messages Message Description Q GGA GPS fix data Q GSA DOP and active satellites Q GSV GPS satellites in view Q RMC Recommended minimum specific GPS data Q VTG Course over ground and ground speed Q ZDA Time and date Q S Standard NMEA messages are output automatically based on the automatic message mask and output interval which can be configured with the NM message. The default behavior is for automatic, once per second output of the following standard messages: GGA, RMC, VTG, GSV, and GSA. Proprietary NMEA messages Message Description Q BA Antenna status Q EM Set device into Monitor mode (for firmware update) NM NMEA automatic message output control Q S PT Serial port and output protocol configuration Q S RT Reset device TP Temperature data Q VR Version information Q 1 22 AARDVARK DR + GPS Receiver Reference Guide S S S NMEA 0183 Protocol B NMEA protocol overview NMEA 0183 is a simple, yet comprehensive ASCII protocol which defines both the communication interface and the data format. The NMEA 0183 protocol was originally established to allow marine navigation equipment to share information. Since it is a well established industry standard, NMEA 0183 has also gained popularity for use in applications other than marine electronics. For those applications requiring output only from the GPS receiver, NMEA 0183 is a popular choice since, in many cases, an NMEA 0183 software application code already exists. NMEA 0183 communication interface NMEA 0183 allows a single source (talker) to transmit serial data over a single twisted wire pair to one or more receivers (listeners). The table below lists the standard characteristics of the NMEA 0183 data transmissions. Signal NMEA standard Baud rate 4800 Data bits 8 Parity None (disabled) Stop bits 1 NMEA 0183 message structure The NMEA 0183 protocol covers a broad array of navigation data. This broad array of information is separated into discrete messages which convey a specific set of information. The entire protocol encompasses over 50 messages, but only a sub-set of these messages apply to a GPS receiver like the Condor module. The NMEA message structure is described below. $IDMSG,D1,D2,D3,D4,.......,Dn*CS[CR][LF] Where: $ Signifies the start of a message ID The talker identification is a two letter mnemonic which describes the source of the navigation information. The GP identification signifies a GPS source. MSG The message identification is a three letter mnemonic which describes the message content and the number and order of the data fields. , Commas serve as delimiters for the data fields. Dn Each message contains multiple data fields (Dn) which are delimited by commas. * The asterisk serves as a checksum delimiter. AARDVARK DR + GPS Receiver Reference Guide 123 B NMEA 0183 Protocol CS The checksum field contains two ASCII characters which indicate the hexadecimal value of the checksum. [CR][LF ] The carriage return [CR] and line feed [LF] combination terminate the message. NMEA 0183 messages vary in length, but each message is limited to 79 characters or less. This length limitation excludes the "$" and the [CR][LF]. The data field block, including delimiters, is limited to 74 characters or less. Field definitions Many of the NMEA data fields are of variable length, and the user should always use the comma delineators to parse the NMEA message data field. The following table specifies the definitions of all field types in the NMEA messages supported by Trimble: Type Symbol Definition Status A Single character field: A=Yes, data valid, warning flag clear V=No, data invalid, warning flag set Special Format Fields Latitude llll.lll Fixed/variable length field: Degreesminutes.decimal-2 fixed digits of degrees, 2 fixed digits of minutes and a variable number of digits for decimal-fraction of minutes. Leading zeros always included for degrees and minutes to maintain fixed length. The decimal point and associated decimal-fraction are optional if full resolution is not required. Longitude yyyyy.yyy Fixed/Variable length field: Degreesminutes.decimal-3 fixed digits of degrees, 2 fixed digits of minutes and a variable number of digits for decimal-fraction of minutes. Leading zeros always included for degrees and minutes to maintain fixed length. The decimal point and associated decimal-fraction are optional if full resolution is not required. Time hhmmss.ss Fixed/Variable length field: hoursminutesseconds.decimal-2 fixed digits of minutes, 2 fixed digits of seconds and a variable number of digits for decimalfraction of seconds. Leading zeros always included for hours, minutes, and seconds to maintain fixed length. The decimal point and associated decimalfraction are optional if full resolution is not required. Defined Some fields are specified to contain pre-defined constants, most often alpha characters. Such a field is indicated in this standard by the presence of one or more valid characters. Excluded from the list of allowable characters are the following that are used to indicated field types within this standard: "A", "a", "c", "hh", "hhmmss.ss", "llll.ll", "x", "yyyyy.yy" Numeric Value Fields Variable x.x Variable length integer or floating numeric field. Optional leading and trailing zeros. The decimal point and associated decimal-fraction are optional if full resolution is not required (example: 73.10=73.1=073.1=73). Fixed HEX hh Fixed length HEX numbers only, MSB on the left Information Fields 1 24 AARDVARK DR + GPS Receiver Reference Guide NMEA 0183 Protocol Type Symbol Definition Fixed Alpha aa Fixed length field of upper-case or lower-case alpha characters. Fixed Number xx Fixed length field of numeric characters B Note – - Spaces should only be used in variable text fields. - Units of measure fields are appropriate characters from the Symbol column unless a specified unit of measure is indicated. - Fixed length field definitions show the actual number of characters. For example, a field defined to have a fixed length of 5 HEX characters is represented as hhhhh between delimiters in a sentence definition. Message options Any given product can output any or all of the messages listed in the product specification or design document. Typically NMEA messages are output at a 1 second interval with the "GP" talker ID and checksums. These messages are output at all times during operation, with or without a fix. If a different set of messages other than the factory default has been selected (using a relevant configuration command), and this setting has been stored in flash memory (if supported), the default messages are permanently replaced until the receiver is returned to the factory default state. The user can configure a custom mix of the messages. All products typically provide a message output configuration command to select which messages to output and at what interval. AARDVARK DR + GPS Receiver Reference Guide 125 B NMEA 0183 Protocol Standard NMEA messages In the following message format descriptions: • Each message ends with *hh<CR><LF> where: * - ASCII asterisk character hh - computed message checksum (2-digit hex value) <CR> - carriage-return character (hex value 0x0D) <LF> - line-feed character (hex value 0x0A) • Bold items are literal, and must be present in the message. • If an item is unavailable, it will be blank, but the comma delimiter must be present. • An "x" is an optional character which may or may not be present to add precision or to indicate negativity. GGA: Global Positioning System Fix Data Time, position and fix related data for the GPS receiver. This message is output automatically if selected in the NMEA message output mask. On some products, it can also be queried using the command: $GPGPQ,GGA*hh<CR><LF> $GPGGA,hhmmss.s,llll.lllx,d,yyyyy.yyyx,d,q,s,xh.hx, xaaaaa,M,xggg,M,xxx,xxxx*hh<CR><LF> Field Description hhmmss.s Hours, minutes, seconds, sub-seconds of position in UTC llll.lllx Latitude d N (North) or S (South) yyyyy.yyyx Longitude d E (East) or W (West) q GPS quality Indicator: 0 = No GPS, 1 = GPS, 2 = DGPS, 6 = DR s Number of satellites in use xh.hx Horizontal Dilution of Precision (HDOP) xaaaaa Antenna altitude in meters, M = Meters xggg Geoidal separation Note – Geoidal separation is the difference between the WGS-84 earth ellipsoid and mean-sea-level. 1 26 xxx Age of differential GPS data xxxx Differential Reference Station ID hh Checksum AARDVARK DR + GPS Receiver Reference Guide NMEA 0183 Protocol B GSA: DOP and Active Satellites GPS receiver's operating mode, satellites used in navigation solution reported by the $GPGGA message, and DOP values. This message is output automatically if selected in the NMEA message output mask. On some products, it can also be queried using the command $GPGPQ,GSA*hh<CR><LF> $GPGSA,m,s,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,xp.px,xh.h.x,xv.vx*hh<CR ><LF> Field number Description m Mode: M = Manual, A = Automatic. In manual mode, the receiver is forced to operate in either 2D or 3D mode. In automatic mode, the receiver is allowed to switch between 2D and 3D modes subject to the PDOP and satellite masks. s Status: 1 = fix not available, 2 = 2D, 3 = 3D n1 ... n12 PRN numbers of the satellites used in the position solution. When less than 12 satellites are used, the unused fields are null. xp.px Position dilution of precision (PDOP) xh.hx Horizontal dilution of precision (HDOP) xv.vx Vertical dilution of precision (VDOP) hh Checksum GSV: GPS Satellites in View Number of satellites in view, PRN numbers, elevation, azimuth and SNR value. Four satellites maximum per transmission, additional satellite data sent in second or third message. Total number of messages being transmitted and the number of the message being transmitted is indicated in the first two fields. This message is output automatically if selected in the NMEA message output mask. On some products, it can also be queried using the command $GPGPQ,GSV*hh<CR><LF> $GPGSV,t,m,ts,n1,e1,aa1,s1,n2,e2,aa2,s2,n3,e3,aa3,s3,n4,e4,aa4,s4*hh <CR><LF> Field number Description t Total number of GSV messages m Message number ts Total number of satellites in view n1 ... n4 Satellite PRN number e1 ... e4 Elevation in degrees (90° Maximum) aa1 ... aa4 Azimuth in degrees true (000 to 359) s1 ... s4 SNR (00 - 99 dBHZ hh Checksum AARDVARK DR + GPS Receiver Reference Guide 127 B NMEA 0183 Protocol RMC: Recommended Minimum Specific GPS/Transit Data Time, date, position, course, and speed data provided by a GPS receiver. This message is output automatically if selected in the NMEA message output mask. On some products, it can also be queried using the command $GPGPQ,RMC*hh<CR><LF> $GPRMC,hhmmss.s,s,llll.lllx,d,yyyyy.yyyx,d,xs.sx,xc.cx,ddmmyy,xm.vx, d,a*hh<CR><LF> Field number Description hhmmss.s UTC of Position Fix (when UTC offset has been decoded by the receiver). s Status: A - Valid, V - Data not valic llll.lllx Latitude d N (North) or S (South) yyyyy.yyyx Longitude d E (East) or W (West) xs.sx Speed over the ground (SOG) in knots xc.cx Course over ground in degrees true ddmmyy Date: day, month, year xm.vx Magnetic variation in degrees d E = East / W= West a Mode: A - Autonomous, E - Estimated (DR) hh Checksum (mandatory for RMC) VTG: Course over Ground and Ground Speed The actual course and speed relative to ground. This message is output automatically if selected in the NMEA message output mask. On some products, it can also be queried using the command $GPGPQ,VTG*hh<CR><LF> $GPVTG,xc.cx,T,xc.cx,M,xs.sx,N,xs.sx,K,a*hh<CR><LF> 1 28 Field Description xc.cx Course over ground in degrees true. xc.cx Course over ground in in degrees magnetic. xs.sx Speed over ground in knots. xs.sx Speed over ground in km / hr a Mode: A - Autonomous, E - Estimated (DR) hh Checksum AARDVARK DR + GPS Receiver Reference Guide NMEA 0183 Protocol B ZDA: Time and Date UTC, day, month, year, and local time zone. This message is output automatically if selected in the NMEA message output mask. On some products, it can also be queried using the command $GPGPQ,ZDA*hh<CR><LF> $GPZDA,hhmmss.s,dd,mm,yyyy,zh,zm*cs Field Description hhmmss.s Hours, minutes, seconds, sub-seconds of position in UTC dd Day (01 to 31) mm Month (01 to 12) yyyy Year zh Local zone hour, offset from UTC to obtain local time zm Local zone minute Proprietary NMEA messages BA: Antenna Status This message queries the antenna status. Set is not supported. This message is output automatically if selected in the NMEA message output mask. Query format: $PTNLQBA*hh<CR><LF> Response to query format: $PTNLRBA,a,a*hh<CR><LF> Field Description a Status 0 = status unavailable, 1 = status available a Antenna feedline fault : 0 = normal 1 = open 2 = short AARDVARK DR + GPS Receiver Reference Guide 129 B NMEA 0183 Protocol EM: Enter Monitor Mode This message switches the device from the Normal to the Monitor mode. Query not supported. Set format: $PTNLSEM*hh<CR><LF> Response to set format: $PTNLREM,a*hh<CR><LF> Field Description a Status (A - success; V - failure) NM: Automatic Output Interval and Mask This message queries or sets the automatic message output. Query format: $PTNLQNM*hh<CR><LF> Set or response to query format: $PTNLaNM,hhhhhhhh,xx*hh<CR><LF> Field Description a Mode (S = set; R = response) hhhhhhhh Message flags (32 bits maximum), one bit for each message: Bit 0 - GGA Bit 2 - VTG Bit 3 - GSV Bit 4 - GSA Bit 5 - ZDA Bit 8 - RMC Bit 13 - BA Bit 16 - TP xx Automatic report Interval (1 - 99) Response to set format: $PTNLRNM,a*hh<CR><LF> 1 30 Field Description a Status (A - success; V - failure) AARDVARK DR + GPS Receiver Reference Guide NMEA 0183 Protocol B PT: Port Configuration This message queries or sets the port configuration. Query format: $PTNLQPT*hh<CR><LF> Set or response to query format: $PTNLaPT,xxxxxx,a,a,a*hh<CR><LF> Field Description a Mode (S = set, R = response) xxxxxx Baud rate (4800, 9600, 19200, 38400, 57600, 115200) a Number of data bits (7 or 8) a Parity (N = None, O = Odd, E = Even) a Number of stop bits (1 or 2) h Input protocol(s). This is a hex bit-map. Bits can be combined to enable multiple input protocols. This field may not be 0. Bit 0: Reserved Bit 1: Reserved Bit 2: NMEA Bit 3: HIPPO h Output protocol(s). This is a hex bit-map. It is not recommended to enable more than one output protocol at a time because enabling multiple protocols will result in a large amount of output data which may overrun the serial port buffers and get corrupted during transmission. Bit 0: Reserved Bit 1: Reserved Bit 2: NMEA Bit 3: HIPPO In case of Set, the Response message with new parameters is sent using the old parameters first, and then the switch to the new parameters is made. If the switch fails for whatever reason, NMEA error response is sent. If the switch succeeds, no additional response is sent. Response to set format: $PTNLRPT,a*hh<CR><LF> Field Description a Status (A - success; V - failure) AARDVARK DR + GPS Receiver Reference Guide 131 B NMEA 0183 Protocol RT: Reset Device This message resets the device. Query not supported. Set format: $PTNLSRT,a,x*hh<CR><LF> Field Description a Reset type: C - cold reset (clear RAM including GPS data and user configuration) W - warm reset (clear ephemeris only) H - hot reset (RAM data not cleared) F - factory reset (clear RAM and NVRAM including GPS data and user configuration) G - perform a graceful shutdown reset (store DR calibration data to NVRAM) x NVRAM (flash configuration) operation: 0 - no operation 2 - store user configuration to NVRAM 5 - erase user configuration in NVRAM (set to factory defaults) 7 - erase system configuration in NVRAM (set to factory defaults) 8 - erase DR calibration data in NVRAM Response to set format: $PTNLRRT,a*hh<CR><LF> Field Description a Status (A - success; V - failure) TP: Temperature Measurement This message queries the temperature measurement from a specific temperature source. Set is not supported. Not all listed temperature measurement sources are supported. Refer to the product specification for details. This message is output automatically if selected in the NMEA message output mask. If selected for automatic output, the temperature sensor is used as the source of temperature measurements. Query format: $PTNLQTP,a*hh<CR><LF> Field Description a Source of temperature measurement: T - temperature sensor G - gyroscope sensor A - accelerometer sensor P - pressure sensor 1 32 AARDVARK DR + GPS Receiver Reference Guide NMEA 0183 Protocol B Response to query format: $PTNLRTP,a,x.x,x.x*hh<CR><LF> Field Description a Source of temperature measurement (same as in Query) x.x Temperature (°C) x.x Temperature accuracy (°C) VR: Version Information This message queries version information. Set not supported. This messages allows to query versions of various product components. Not all component versions can be queried. Refer to a particular product's specification or software design document for a list of supported components for which version information can be queried. Query format: $PTNLQVR,a*hh<CR><LF> Field Description a Component ID for which to query the version: S - system (application firmware) version H - hardware version N - GPS / navigation software version D - DR library version C - common source code version Response to query format for all components other than the hardware (H): $PTNLRVR,a,a..a,xx,xx,xx,xx,xx,xxxx*hh<CR><LF> Field Description a Component ID (same as in Query format) a..a Component name (variable length character string) xx Major version number xx Minor version number xx Build number xx Month (1-12) xx Day (1-31) xxxx Year AARDVARK DR + GPS Receiver Reference Guide 133 B NMEA 0183 Protocol Response to query format for the hardware version (H): $PTNLRVR,H,xxxx,a..a,xxxxxxxx,xx,xx,xxxx,xx*hh<CR><LF> 1 34 Field Description xxxx Hardware code a..a Hardware ID (variable length character string) xxxxxxxx Serial number xx Build month (1-12) xx Build day (1-13) xxxx Build year xx Build hour (0-23) AARDVARK DR + GPS Receiver Reference Guide APPENDIX C Reference Circuit C In this appendix: Aardvark reference circuit diagram This appendix provides a brief overview of the Aardvark module reference circuit diagram. AARDVARK DR + GPS Receiver Reference Guide 135 A B C 5 DIRECTION_IN SPEED_IN 100K 100K R6 2 D2 SMF36ATIG 1 D1 SMF36ATIG 1 R2 1 2 2 R3 20K R7 20K C2 1N C4 1N VCC33 1 2 D 5 1 2 VCC33 A NC GND Q2 MMBTA42L 4 Y VDD 5 4 A NC GND Y VDD 5 4 SN74LVC1G14DCKR 2 1 3 U3 SN74LVC1G14DCKR 2 1 3 U1 4 R5 100K Q1 MMBTA42L R1 100K 1 2 AARDVARK DR + GPS Receiver Reference Guide C1 100N C3 100N VCC33 DIRECTION DIRECTION VCC33 SPEED SPEED 3 3 J1 1 SW1 1 2 RESET R4 10K VCC33 2 2 RF_IN VBACKUP 50 Ohm Line 1 1 36 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 U2 Date: Size B Title Aardvark DR+GPS GND Reserved FWD/REV SPEED UART TXD Reserved Reserved Reserved UART RXD PPS Reserved Reserved Vcc GND 28 27 26 25 24 23 22 21 20 19 18 17 16 15 VCC33 RXD PPS Monday, January 16, 2012 Document Number <Doc> 1 Sheet 1 of 1 DIRECTION SPEED TXD Aardvark DR+GPS Reference Design GND GND RF IN GND Reserved Vbackup Reserved Reserved Reserved Reserved Xreset Reserved Reserved GND 1 Rev A A B C D C Reference Circuit Aardvark reference circuit diagram This circuit diagram shows a reference design for embedding the Aardvark GPS + DR module in your system. The diagram shows a circuit design that can be used to protect the speed signal input (speed) and FWD/REV (direction) inputs from noise and power spikes in the vehicle system. It is not recommended to connect these types of inputs in a vehicle system directly into the Aardvark module. NORTH AMERICA Trimble Navigation Limited Corporate Headquarters 935 Stewart Drive Sunnyvale, CA 94085 +1-800-787-4225 +1-408-481-8258 EUROPE Trimble Navigation Europe Phone: +46-8-622-12-79 CHINA Trimble Navigation Ltd, China Phone: +86-10-8857-7575 KOREA Trimble Export Ltd, Korea Phone: +82-2-555-5361 www.trimble.com