manufacturer of I/O-rich SBCs, operator interfaces, handheld instruments, and development tools for embedded control low cost single board computers, embedded controllers, and operator interfaces for scientific instruments & industrial control development tools for embedded control order our low cost I/O-rich embedded control products embedded controller manufacturer profile single board computers & embedded controllers development tools & starter kits for your embedded design operator interfaces with touchscreens and graphical user interface plug-in expansion modules for digital & analog I/O C language & Forth language integrated development tools, IDE single board and embedded computer accessories embedded controller enclosures, bezels, environmental gaskets

Table of Contents

GPS Overview

The Garmin GPS Subsystem

GPS Wildcard Hardware

Connecting To the Wildcard Bus

Selecting the Wildcard Address

Mosaic GPS Driver Software

Driver Functions Extract GPS Data from NMEA Sentences

Overview of the Mosaic GPS Software Device Driver Functions

GPS Service Loop Is Best Placed In Its Own Task

Demo Program Prints Formatted GPS Data

Installing the Mosaic GPS Wildcard Driver Software

Using the Mosaic GPS Driver Code with C

Using the Mosaic GPS Driver Code with Forth

Glossary of GPS Driver Functions

Glossary Quick Reference

GPS_STRUCT Definition

Glossary Entries

C Demonstration Program

Forth Demonstration Program

Hardware Schematics

The GPS Wildcard User Guide


The GPS Wildcard enables your instrument to know where it is, how fast it is moving, the direction it is moving, and the current time and date.  Latitude, longitude, altitude, speed, course heading, universal (Greenwich) and local time and date, position error estimates, GPS fix quality, and the number of satellites in view and in use are all available to your application program.  The Wildcard incorporates a GPS subsystem made by industry leader Garmin, and includes a connection for a remote-mounted active antenna for good signal reception. This tiny 2” by 2.5” board is a member of the Wildcard™ series that connects to Mosaic controllers.

This document describes the capabilities of the GPS Wildcard, tells how to configure the hardware, and presents an overview of the GPS driver software that runs on the Mosaic controller.  A glossary of the Mosaic software device driver functions, demonstration program source code, and hardware schematics are presented.

GPS Overview

The Global Positioning System (GPS) relies on more than two dozen GPS satellites orbiting the Earth.  Each satellite transmits signals including a very precise clock plus satellite position information that allows a GPS receiver to determine its location, speed and direction. A GPS receiver calculates its position by measuring the distance between itself and three or more GPS satellites.  Because the signal from the GPS satellite travels at a known speed, measuring the time delay between transmission and reception of each GPS radio signal allows the receiver to calculate the distance to each satellite. By determining the position of, and distance to, at least three satellites, the receiver can compute its position.  GPS receivers typically do not have perfectly accurate clocks and therefore track one or more additional satellites to correct the receiver’s clock error.

The GPS signal is circularly polarized with a typical center frequency of 1.575 gigahertz.  For best results, an “active antenna” amplifies the signal before delivering it via a coaxial cable to the GPS receiver.  The GPS antenna should be mounted in a position that has a clear view of the sky so that the satellite signals can be received.  GPS receivers typically do not work inside buildings, and may have trouble in vehicles or areas where the view of the sky is obstructed by tall buildings or dense foliage. Operating in urban areas can confuse the receiver due to signal reflections off buildings that result in “multipath” effects that lengthen the time it takes for a signal to reach the receiver, causing errors in the reported position.

Some GPS receivers have a built-in “Wide Area Augmentation System”, or “WAAS”, that improves accuracy using a network of ground stations to provide additional information to the GPS receiver.  The Garmin GPS-15 receiver on the GPS Wildcard is not WAAS enabled.

When a GPS receiver is first turned on, it must go through an “acquisition” process to locate and lock onto the satellite signals.  The more initial information the GPS has about its location and time, the faster the acquisition process.  A “warm” acquisition occurs when the initial receiver location, time, and satellite location (ephemeris) data is known. A “cold” acquisition occurs when the initial receiver location, and time is known, but the satellite location data is unknown.  If even less information is known, a “sky search” is required to complete the acquisition process and obtain a position “fix”.

The Garmin GPS Subsystem

The Garmin GPS subsystem specifications are summarized in Table 1‑1.

Table 1‑1      Garmin GPS-15 subsystem specifications.




12 channel receiver computes and updates position information

Current Draw

75 mA + antenna draw; 200 mA for entire Wildcard, drawn from +5V supply

Warm Acquisition

About 15 seconds

Cold Acquisition

About 45 seconds

Sky Search Acquisition

5 minutes

Update Rate

One NMEA-0183 frame (6 or 7 sentences) per second at 4800 baud

Position Accuracy

< 15 meters, 95% typical

Velocity Accuracy

0.1 knot RMS steady state


999 knots (only limited at altitude > 60000 feet), 6g acceleration, <6g jerk

Required Active Antenna

10-40 dB gain, MCX male connector, total noise < 7 dB, powered from +3.3V GPS supply

The key component of this Wildcard is the GPS-15 subsystem manufactured by Garmin, the industry leader in GPS instrumentation. It implements a 12-channel GPS receiver, and includes a rechargeable backup battery to maintain the contents of the subsystem’s clock and memory for up to 21 days in the absence of external power.  The battery recharges whenever power is applied to the unit.  The GPS subsystem outputs standard NMEA (National Marine Electronics Association) ASCII strings, called “sentences”, using the NMEA 0183 Version 2.20 protocol.  Each sentence reports information about one or more GPS parameters such as location, speed, heading (direction), time, or position error estimates.  A “frame” of 6 to 7 sentence types is output each second at 4800 baud by the subsystem.  The NMEA sentence format is explained in more detail below.

This Garmin GPS subsystem is encased in a shielded metal enclosure, and includes a female MCX connector for an active GPS antenna.  Mosaic sells a mating antenna with a male MCX connector that can be mounted in a location that provides a good view of the sky for optimal operation. 

The Garmin GPS subsystem performs a "warm" satellite acquisition in about 15 seconds, and a "cold" acquisition in about 45 seconds. These relatively fast acquisitions rely on initial position and time data that is stored in the battery-backed RAM in the subsystem.  If the stored information has been lost or is not correct (for example, if the internal backup battery is discharged or the receiver has been transported to a new location since it was last used), then a "sky search" acquisition is performed, requiring up to 5 minutes to acquire a fix.

The position accuracy of the GPS-15 subsystem is better than 15 meters 95% of the time.  The velocity accuracy is 0.1 knot if the receiver is moving at a steady speed.  A "knot" is a nautical mile per hour, equal to 1.152 miles per hour (MPH).  The maximum reportable speed is 999.9 knots.

| Next>>

Home|Site Map|Products|Manuals|Resources|Order|About Us
Copyright (c) 2006 Mosaic Industries, Inc.
Your source for single board computers, embedded controllers, and operator interfaces for instruments and automation