Datasheet

advertisement
.co.uk
Designer
Systems
PRODUCT DESIGN AND MANUFACTURING
Global Positioning System
(GPS) Shield for Arduino and Raspberry-PI
™
™
Technical Data
DS-GPM.S
Firmware version 1







Description
TM
Arduino UNO Shield
standard form factor for
simple integration into any
Arduino project.
I2C interface for simple connection to Arduino or Raspberry-PI
Give your robot the ability
to know where it is, how fast
its moving and in what direction*.
Fast 56-channel position acquisition with battery backup for fast < 1 second hot
start and < 30 second warm
start.
Simple register based data
retrieval of latitude, longitude, heading, altitude,
speed, time, date & satellites
in view.
Integral low power antenna.
Built in fully programmable
4 line IO and 8 bit ADC input port for local sensors.
The Designer Systems DS-GPM.S
is a highly integrated Global Positioning System allowing your robotic application to determine its
location on the earth’s surface.
Specifically targeted at the Arduino UNO board user [MEGA
and NANO boards also supported]
and the Raspberry-PI the GPM.S
features I2C communication to
leave the serial [TX/RX] port free
for other functions eg. wireless
communication.
Applications
GPS data received by the DSGPM.S is stored within internal
registers which are updated once
per second and include:







Latitude (i.e. vertical)
Longitude (i.e. horizontal)
Altitude (metres)
Time & date (UTC)
Heading (True & Magnetic)
Speed (kilometres per hour)
Satellites detected
The DS-GPM.S has many applications in robotics, security
and timing. For example the
module could be used to send a
rover to a particular position or
be used to form a vehicle security solution in-conjunction
with an embedded controller
and GSM modem. Application
notes for the UNO controller
are provided.
In addition the DS-GPM.S features an on-board fully configurable four line programmable IO and
analogue input port with automatic
measurement.
Selection Guide
Description
Global Position System Shield
Part Number
DS-GPM.S
* Note: GPS information cannot be collected without a clear view of the sky.
Raspberry-PI, Arduino, UNO, NANO, UNO & MEGA are trademarks
© 1997-2013 Designer Systems
COMMS23.04.11 Revision 1.03
Page 1 of 8
COMMS MODULES
Features
GPS basics
The heart of the DS-GPM.S is a Global Positioning System receiver module
and antenna that receive signals from
satellites orbiting the earth.
There are 32 of these satellites, each
sending its own unique signal to the
earth’s surface for pickup by any GPS
receiver, which searches the sky for
available satellites.
Upon detecting the satellites in view
and their current position the receiver
uses the satellites with highest signal
strength to calculate, using triangulation, the receiver’s latitude, longitude
& altitude** (position).
Latitude is measured in degrees and
minutes either North or South of the
equator.
Longitude is measured in degrees and
minutes either West or East of an imaginary line drawn vertically through
Greenwich in the UK.
Altitude is measured in metres above
sea level.
For example the offices of Designer
Systems in Truro, UK are located 50
degrees, 15.817 minutes North latitude
and 5 degrees, 3.549 minutes West
longitude.
Should the receiver also be moving,
speed in kilometres per hour, and
heading, in degrees true north and
magnetic north, can also be determined.
To gain the best reception the GPM
should be used outside with a good
view of the sky. Trees and buildings
will cause the GPS signals being
received to degrade and positional/speed information may be lost. To
greatly improve reception the GPM
should be mounted above a metal
base.
** LLA format to WGS-84 ellipsoid.
Operation
When power is applied to the GPM
the unit immediately starts to search
for satellites. The GPM can start in
one of three (3) modes, as follows:
Cold start mode:
This mode only applies when the
GPM has been powered-up for the
first time after being removed from
its packaging. As the GPM does not
know where it is on the earth’s surface, it starts to hunt for groups of
satellites to determine its location.
This process may take up to 30
minutes before positional information is available; it is suggested
that a battery be connected and the
© 1997-2013 Designer Systems
COMMS23.04.11 Revision 1.03
unit left in the open air until the
STATUS indicator starts to flash.
Warm start mode:
This mode applies to a GPM that
has already been ‘cold-started’ and
whose location has not changed significantly when powered up again or
has been powered down for at least
one (1) hour. Positional information
is normally available again within
45 seconds of power re-application.
Hot start mode:
This mode applies when the GPM
has been powered off for less than
60 minutes. Positional information
is normally available again within 110 seconds of power re-application.
The warm and hot start power-up
modes are possible due to an internal backup battery which powers the
Real Time Clock (RTC) and almanac memory when external power is
removed.
STATUS indication…
The STATUS indicator is used to
provide visual feedback of the current GPM condition. There are three
(3) conditions as follows:
IO port
The DS-GPM.S features a fully programmable four line CMOS input/output or 8bit Analogue to Digital Converter port ‘I/O’ ‘1’ to ‘4’.
Each IO is configurable as an output, an input or an analogue input by
configuring the registers R0-3.
When an IO is configured for a
normal input the applied voltage 0
or 5V is read and stored in an input
register which can be read by the
connected I2C device. When an IO is
configured as an output the output
state will be 0 or 5V dependant on
the output register contents written
by the connected I2C device.
When an IO is configured for analogue input** it is automatically
updated every 100mS from an external input voltage of 0 - 5V and
the result stored in internal registers
which can be read by the connected
I2C device (see register details further on in this datasheet). The port
also incorporates a ground and Vin
bus that allows sensors to be directly
connected (see Fig. 3.0)
Warning: These inputs are not overvoltage protected and should not be
subjected to voltages over 5V.
I2C connection
2
ON Steady
Flashing slowly
Flashing fast
Power applied and
no positional information.
Positional information received.
GPM in motion.
These conditions will change as the
GPM moves around its location and
under objects that may block the
satellite signals.
Power requirements
The DS-GPM.S takes the power
necessary for operation (approx. 3090mA) from an external battery or
power adaptor or power from the
Arduino UNO board.
The GPM provides three PCB pads,
two marked ‘GND’ and one marked
‘Vin’ in the same format as that present on the UNO board, which
should be connected to negative and
positive battery/power supply terminals respectively. The input voltage
range is 7 - 16VDC with the internal
circuitry being protected against
power supply reversal.
The I C connections are marked
‘SDA’ and ‘SCL’ and allow connection to the Arduino UNO board
‘ANALOG IN’ pins 4 and 5 or the
Rasperberry-PI GPIO port pins 3
and 5 (see Fig. 2.0) or another I2C
Master device.
The DS-GPM.S is fitted with pullup jumpers that can be configured to
provide the source current necessary
for I2C communication. The following jumpers should normally be set
when using the UNO board, as long
as the I2C bus does not have existing
pull-up’s provided by another device. These jumpers MUST be removed when using the RaspberryPI:
SDA
SCL
PULL UP
I2C communication
Up to four DS-GPM.S modules may
be connected to the same UNO /
Raspberry-PI board or I2C bus and
Page 2 of 8
accessed individually using their
own individual address.
The address is configured with the
following jumpers:
ADDRESS
A0
A1
The following table shows how the
jumpers are placed for the different
binary addresses:
Address xx
00 (default)
01
10
11
A0
ON
OFF
ON
OFF
A1
ON
ON
OFF
OFF
The binary address (xx) above is
used in conjunction with the device
ID 11010xxD to form the complete
device address i.e. if both jumpers
are left connected (default) then the
device address would be
1101000Dbinary.
The ‘D’ bit determines if a read or a
write to the GPM is to be performed.
If the ‘D’ bit is set ‘1’ then a register
read is performed or if clear ‘0’ a
register write.
To access individual registers a device write must be undertaken by the
I2C Master which consists of a Start
condition, device ID (‘D’ bit
cleared), register to start write, one
or more bytes of data to be written
and a stop condition (see Figure 1.0
for I2C write protocol).
There are 3 individual registers that
can be written within the GPM that
control local IO port setup and output as follows:
N7
N6
N5
N4
N3
GPM I2C address
1.
1
1
0
1
0
XX = Address select pins A1 & A0
N2
X
Register address
2.
U
U
U
U
U
U
B..B = 0 to 2
U..U = unused on this implementation
N1
X
B
Local I/O port direction register
R0
U
U
U
U
X
X
X
X = 1 or 0 (1 = I/O is input, 0 = I/O is output)
U..U = unused on this implementation
N0
0
N7
N6
N5
N4
GPM Address
1.
1
1
0
1
XX = Address select pins
0
N2
X
N1
X
Years thousands register
R10
X
X
X
X
Y..Y = Thousands of years
X..X = not used
Years hundreds register
R11
X
X
X
X
Y..Y = Hundreds of years
X..X = not used
Y
Y
X
Y
Y
Y
Y
D
D
D
D
D
D
M
M
M
M
M
M
M
M
M
M
M
M
M
Latitude degrees tens register
R14
X
X
X
X
D
D..D = Tens of degrees
X..X = not used
Latitude degrees units register
R15
X
X
X
X
D
D..D = Units of degrees
X..X = not used
Latitude minutes tens register
R16
X
X
X
X
M
M..M = Tens of minutes
X..X = not used
Latitude minutes units register
R17
X
X
X
X
M
M..M = Units of minutes
X..X = not used
Latitude minutes tenths register
R18
X
X
X
X
M
M..M = Tenths of minutes
X..X = not used
Latitude minutes hundredths register
R19
X
X
X
X
M
M
M..M = Hundredths of minutes
X..X = not used
Latitude minutes thousandths register
R20
X
X
X
X
M
M
M..M = Thousandths of minutes
X..X = not used
M
M
Longitude degrees hundreds register
R23
X
X
X
X
X
X
D..D = Hundreds of degrees
X..X = not used
M
M
Longitude degrees tens register
R24
X
X
X
X
D
D..D = Tens of degrees
X..X = not used
S
S
S
Longitude degrees units register
R25
X
X
X
X
D
D..D = Units of degrees
X..X = not used
S
S
S
Longitude minutes tens register
R26
X
X
X
X
M
M..M = Tens of minutes
X..X = not used
X
X
D
D
Longitude minutes units register
R27
X
X
X
X
M
M..M = Units of minutes
X..X = not used
D
D
D
D
Longitude minutes tenths register
R28
X
X
X
X
M
M..M = Tenths of minutes
X..X = not used
X
X
M
M
Longitude minutes hundredths register
R29
X
X
X
X
M
M
M..M = Hundredths of minutes
X..X = not used
M
M
M
M
Longitude minutes thousandths register
R30
X
X
X
X
M
M
M..M = Thousandths of minutes
X..X = not used
X
X
Y
Y
Longitude minutes ten thousandths register
R31
X
X
X
X
M
M
M
M..M = Ten thousandths of minutes
X..X = not used
Y
Y
Y
Y
Longitude direction character
R32
X
D
D
D
D
D
D
D..D = ASCII Character (W = West, E = East)
X..X = not used
Seconds units register
R5
X
X
X
X
S
S..S = Units of seconds (UTC time)
X..X = not used
Month units register
R9
X
X
X
X
M..M = Units of months
X..X = not used
Y
Latitude direction character
R22
X
D
D
D
D
D
D
D..D = ASCII Character (N = North, S = South)
X..X = not used
Seconds tens register
R4
X
X
X
X
X
S..S = Tens of seconds (UTC time)
X..X = not used
X
Y
H
Minutes units register
R3
X
X
X
X
M
M
M..M = Units of minutes (UTC time)
X..X = not used
Month tens register
R8
X
X
X
X
M..M = Tens of months
X..X = not used
1
Years units register
R13
X
X
X
Y..Y = Units of years
X..X = not used
X
Latitude minutes ten thousandths register
R21
X
X
X
X
M
M
M
M..M = Ten thousandths of minutes
X..X = not used
Minutes tens register
R2
X
X
X
X
X
M
M..M = Tens of minutes (UTC time)
X..X = not used
Day of month tens register
R6
X
X
X
X
D..D = Tens of day of month
X..X = not used
N0
Years tens register
R12
X
X
X
Y..Y = Tens of years
X..X = not used
H
Hours units register
R1
X
X
X
X
H
H
H
H..H = Units of hours (24 hour clock UTC time)
X..X = not used
B
Local I/O port output data register
R2
U
U
U
U
X
X
X
X
X = 1 or 0 (1 = output pin is high, 0= output pin is low)
U..U = unused on this implementation
N3
Hours tens register
R0
X
X
X
X
X
H
H
H..H = Tens of hours (24 hour clock UTC time)
X..X = not used
Day of month units register
R7
X
X
X
X
D..D = Units of day of month
X..X = not used
Local I/O port input type register**
R1
U
U
U
U
Y
Y
X
X
X = 1 or 0 (1 = input pair is ana, 0= input pair is level)
Y = 1 or 0 (1 = Input pair is ana, 0 = Input pair is level)
U..U = unused on this implementation
© 1997-2013 Designer Systems
COMMS23.04.11 Revision 1.03
To read individual data and status
registers a device write then read
must be undertaken by the OOPic /
I2C Master.
The write consists of a Start condition, device ID (‘D’ bit clear), register to start read and a Stop condition.
This is followed by a read, which
consists of a Start condition, device
ID (‘D‘ bit set), followed by data
from the register specified and terminated with a Stop condition. The
GPM also auto increments the register specified for every additional
read requested by the Master I2C
device, which allows more than one
register to be read in one transaction.
This allows for example Register 0
to Register 5, current UTC time, to
be read in one transaction (see Figure 1.1 for I2C read protocol).
There are 112 individual registers
that can be read within the GPM as
follows:
M
D
D
D
D
D
D
D
D
D
M
M
M
M
M
M
M
M
M
M
M
M
M
M
D
Page 3 of 8
GPS quality indicator
R33
X
X
X
X
X
X
D
D..D = 0 - 2 (0 = No GPS, 1 = GPS, 2 = DGPS)
X..X = not used
Satellites in use tens register
R34
X
X
X
X
X
X
S
S..S = Tens of satellites in use
X..X = not used
Satellites in use units register
R35
X
X
X
X
S
S..S = Units of satellites in use
X..X = not used
HDOP tens register
R36
X
X
X
H..H = Tens of HDOP
X..X = not used
HDOP units register
R37
X
X
X
M..M = Units of HDOP
X..X = not used
X
H
S
H
S
H
D
S
S
Speed units register
R54
X
X
X
X
S
S
S..S = Units of kilometres per hour
X..X = not used
Speed tenths register
R55
X
X
X
X
S
S
S..S = Tenths of kilometres per hour
X..X = not used
HDOP tenths register
R38
X
X
X
X
M..M = Tenths of HDOP
X..X = not used
H
H
H
H
H
Altitude metres tens of thousands register
R39
X
X
X
X
X
X
X
A = Tens of thousands of metres
X..X = not used
Altitude metres thousands register
R40
X
X
X
X
A
A..A = Thousands of metres
X..X = not used
Altitude metres hundreds register
R41
X
X
X
X
A
A..A = Hundreds of metres
X..X = not used
Altitude metres tens register
R42
X
X
X
X
A..A = Tens of metres
X..X = not used
Altitude metres units register
R43
X
X
X
X
A..A = Units of metres
X..X = not used
A
A
A
A
A
Satellite 1 ID number tens register
R59
X
X
X
X
X
S..S = Tens of satellite ID number
X..X = not used
A
A
Satellite 1 ID number units register
R60
X
X
X
X
S
S..S = Units of satellite ID number
X..X = not used
Heading degrees (true North) units register
R46
X
X
X
X
H
H
H
H..H = Units of degrees
X..X = not used
Heading degrees (true North) tenths register
R47
X
X
X
X
H
H
H
H..H = Tenths of degrees
X..X = not used
© 1997-2013 Designer Systems
COMMS23.04.11 Revision 1.03
Satellite 2 ID number units register
R64
X
X
X
X
S
S..S = Units of satellite ID number
X..X = not used
Satellite 2 signal level tens register
R65
X
X
X
X
L
L..L = Tens of satellite signal level
X..X = not used
Satellite 2 signal level units register
R66
X
X
X
X
L
L..L = Units of satellite signal level
X..X = not used
S
S
S
S
S
L
L
L
L
L
L
X
S
S
S
S
S
L
L
L
L
L
L
X
S
S
S
S
S
H
Satellite 3 ID number tens register
R67
X
X
X
X
X
S..S = Tens of satellite ID number
X..X = not used
H
Satellite 3 ID number units register
R68
X
X
X
X
S
S..S = Units of satellite ID number
X..X = not used
Satellite 3 signal level tens register
R69
X
X
X
X
L
L..L = Tens of satellite signal level
X..X = not used
Satellite 3 signal level units register
R70
X
X
X
X
L
L..L = Units of satellite signal level
X..X = not used
Satellite 4 ID number tens register
R71
X
X
X
X
X
S..S = Tens of satellite ID number
X..X = not used
Satellite 4 ID number units register
R72
X
X
X
X
S
S..S = Units of satellite ID number
X..X = not used
L
L
X
S
L
L
S
S
L
L
S
S
S
Satellite 4 signal level tens register
R73
X
X
X
X
L
L..L = Tens of satellite signal level
X..X = not used
S
X
H
Heading degrees (Magnetic North) tenths register
R51
X
X
X
X
H
H
H
H
H..H = Tenths of degrees
X..X = not used
S
S
A
Heading degrees (Magnetic North) units register
R50
X
X
X
X
H
H
H
H
H..H = Units of degrees
X..X = not used
Speed tens register
R53
X
X
X
X
S
S..S = Tens of kilometres per hour
X..X = not used
S
A
Heading degrees (Magnetic North) tens register
R49
X
X
X
X
H
H
H
H
H..H = Tens of degrees
X..X = not used
S
S
A
Heading degrees (Magnetic North) hundreds register
R48
X
X
X
X
X
X
H
H
H..H = Hundreds of degrees
X..X = not used
Speed hundreds register
R52
X
X
X
X
X
X
S..S = Hundreds of kilometres per hour
X..X = not used
S
A
Heading degrees (true North) hundreds register
R44
X
X
X
X
X
X
H
H
H..H = Hundreds of degrees
X..X = not used
Heading degrees (true North) tens register
R45
X
X
X
X
H
H
H
H..H = Tens of degrees
X..X = not used
S
A
Satellite 2 ID number tens register
R63
X
X
X
X
X
S..S = Tens of satellite ID number
X..X = not used
A
X
H
Satellite 1 signal level units register
R62
X
X
X
X
L
L..L = Units of satellite signal level
X..X = not used
A
S
H
Satellite 1 signal level tens register
R61
X
X
X
X
L
L..L = Tens of satellite signal level
X..X = not used
A
S
H
Satellites in view units register
R58
X
X
X
X
S
S..S = Units of satellites in view
X..X = not used
H
S
GPS Mode character
R56
X
D
D
D
D
D
D
D
D..D = ASCII character (A = Autonomous Mode, D =
Differential Mode, E = Estimated (dead reckoning)
Mode, M = Manual Input Mode, S = Simulated Mode, N
= Data Not Valid
Satellites in view tens register
R57
X
X
X
X
X
S..S = Tens of satellites in view
X..X = not used
X
S
S
L
L
L
Satellite 4 signal level units register
R74
X
X
X
X
L
L..L = Units of satellite signal level
X..X = not used
Satellite 5 ID number tens register
R75
X
X
X
X
X
S..S = Tens of satellite ID number
X..X = not used
Satellite 5 ID number units register
R76
X
X
X
X
S
S..S = Units of satellite ID number
X..X = not used
Satellite 5 signal level tens register
R77
X
X
X
X
L
L..L = Tens of satellite signal level
X..X = not used
Satellite 5 signal level units register
R78
X
X
X
X
L
L..L = Units of satellite signal level
X..X = not used
Satellite 6 ID number tens register
R79
X
X
X
X
X
S..S = Tens of satellite ID number
X..X = not used
Satellite 6 ID number units register
R80
X
X
X
X
S
S..S = Units of satellite ID number
X..X = not used
Satellite 6 signal level tens register
R81
X
X
X
X
L
L..L = Tens of satellite signal level
X..X = not used
Satellite 6 signal level units register
R82
X
X
X
X
L
L..L = Units of satellite signal level
X..X = not used
Satellite 7 ID number tens register
R83
X
X
X
X
X
S..S = Tens of satellite ID number
X..X = not used
Satellite 7 ID number units register
R84
X
X
X
X
S
S..S = Units of satellite ID number
X..X = not used
Satellite 7 signal level tens register
R85
X
X
X
X
L
L..L = Tens of satellite signal level
X..X = not used
Satellite 7 signal level units register
R86
X
X
X
X
L
L..L = Units of satellite signal level
X..X = not used
Satellite 8 ID number tens register
R87
X
X
X
X
X
S..S = Tens of satellite ID number
X..X = not used
Satellite 8 ID number units register
R88
X
X
X
X
S
S..S = Units of satellite ID number
X..X = not used
Satellite 8 signal level tens register
R89
X
X
X
X
L
L..L = Tens of satellite signal level
X..X = not used
Satellite 8 signal level units register
R90
X
X
X
X
L
L..L = Units of satellite signal level
X..X = not used
Satellite 9 ID number tens register
R91
X
X
X
X
X
S..S = Tens of satellite ID number
X..X = not used
Satellite 9 ID number units register
R92
X
X
X
X
S
S..S = Units of satellite ID number
X..X = not used
Satellite 9 signal level tens register
R93
X
X
X
X
L
L..L = Tens of satellite signal level
X..X = not used
Satellite 9 signal level units register
R94
X
X
X
X
L
L..L = Units of satellite signal level
X..X = not used
L
L
L
X
S
S
S
S
S
L
L
L
L
L
L
X
S
S
S
S
S
L
L
L
L
L
L
X
S
S
S
S
S
L
L
L
L
L
L
X
S
S
S
S
S
L
L
L
L
L
L
X
S
S
S
S
S
L
L
L
L
L
L
Page 4 of 8
Satellite 10 ID number tens register
R95
X
X
X
X
X
S..S = Tens of satellite ID number
X..X = not used
D..D = 0 to 255 (Analogue input value for AN1 input)
D = 0 if IO line is configured for a normal input
X
Satellite 10 ID number units register
R96
X
X
X
X
S
S
S..S = Units of satellite ID number
X..X = not used
Satellite 10 signal level tens register
R97
X
X
X
X
L
L..L = Tens of satellite signal level
X..X = not used
L
Satellite 10 signal level units register
R98
X
X
X
X
L
L
L..L = Units of satellite signal level
X..X = not used
Satellite 11 ID number tens register
R99
X
X
X
X
X
S..S = Tens of satellite ID number
X..X = not used
Satellite 11 ID number units register
R100
X
X
X
X
S
S..S = Units of satellite ID number
X..X = not used
Satellite 11 signal level tens register
R101
X
X
X
X
L
L..L = Tens of satellite signal level
X..X = not used
X
Satellite 12 ID number units register
R104
X
X
X
X
S
S..S = Units of satellite ID number
X..X = not used
Satellite 12 signal level tens register
R105
X
X
X
X
L
L..L = Tens of satellite signal level
X..X = not used
Satellite 12 signal level units register
R106
X
X
X
X
L
L..L = Units of satellite signal level
X..X = not used
S
Local analogue input AN2 value
R109
D
D
D
D
D
D
D
D
D..D = 0 to 255 (Analogue input value for AN2 input)
D = 0 if IO line is configured for a normal input
S
S
Local analogue input AN3 value
R110
D
D
D
D
D
D
D
D
D..D = 0 to 255 (Analogue input value for AN3 input)
D = 0 if IO line is configured for a normal input
L
L
S
L
S
S
S
S
L
L
L
L
L
X
S
S
S
S
S
L
L
L
L
L
L
D
D
Example.
To read the complete time from registers 0 to
5 (Current time = 14:32:56, Device address =
default) write:
DS-GPM.S Status
R112
U
U
B
A
V
V
V
V
V..V = Firmware version number 1-15
A = Position found bit (0 = Not found, 1 = Found)
B = Motion bit (0 = Standstill, 1 = Moving)
‘Point to register 0
Byte 1 (GPM Adr)
11010000binary
Byte 2 (Set register) 0decimal, 00hex
L
Local analogue input AN0 value
R107
D
D
D
D
D
D
D
D
D..D = 0 to 255 (Analogue input value for AN0 input)
D = 0 if IO line is configured for a normal input
Local analogue input AN1 value
R108
D
D
D
D
D
This time format replaced Greenwich Mean Time (GMT) in 1986
and is of the same value. Time zones
relative to GMT should add or subtract a standard value to gain the
correct time.
Local I/O port input value
R111
X
X
X
X
D
D
D
D
D = 1 or 0 (1 = input pin is high, 0= input pin is low)
D = 0 if IO line is configured for analogue input
Registers R0 to R106 may contain invalid data until
satellite information has been gained and stored.
Satellite 11 signal level units register
R102
X
X
X
X
L
L
L..L = Units of satellite signal level
X..X = not used
Satellite 12 ID number tens register
R103
X
X
X
X
X
S..S = Tens of satellite ID number
X..X = not used
S
** Note: Analogue inputs can only be configured in
pairs IO1&2 and IO3&4.
Register restoration…
All received data is formatted into
decimal units (i.e. hundreds, tens &
units) and stored in individual registers to facilitate either value or character restoration.
Value restoration can be undertaken
by multiplying the required register
by its multiplier e.g. to restore the
value of register R0 ‘Hours tens’ the
register contents are multiplied by
ten (10).
Character restoration, to allow the
output to a PC via. RS232 or display
of data on a LCD panel etc., can be
undertaken by the addition of the
constant value 48decimal, 30hex.
UTC Time format…
The standard GPS time coordinate
system is called Universal Coordinated Time or UTC.
‘Read register 0 - 5
Byte 1 (GPM Adr)
Byte 2 Hours tens
Byte 3 Hours units
Byte 4 Minutes tens
Byte 5 Minutes units
Byte 6 Seconds tens
Byte 7 Seconds units
11010001binary
1decimal, 01hex
4decimal, 04hex
3decimal, 03hex
2decimal, 02hex
5decimal, 05hex
6decimal, 06hex
Battery replacement
The DS-GPM.S backup battery
needs replacing if the real time clock
resets to the year 2006 or time to
first fix is significantly long.
The CR1220 type lithium battery
can be replaced by removing the
four screws in the base of the module, removing the cover, sliding out
the old battery, sliding in a new battery [positive uppermost] and replacing the cover and screws.
Please dispose of the exhausted battery responsibly.
See the website at
www.designersystems.co.uk for
sample Arduino and Raspberry-PI
applications.
D
Electrical Characteristics (TA = 25oC Typical)
Parameter
Minimum
Supply Voltage (7-16V)
7
Supply Current
30
I2C speed
I2C pull-up resistance
GPS positional accuracy
1
GPS frequency band
GPS channels
ADC input voltage
0
ADC measurement cycle
IO line output voltage
0.3
IO line output current
IO line input voltage
0
Maximum
16
90
400
4700
2.5
1575.42
56
Vcc
100
Vcc-0.8V
20
Vcc+0.3V
Units
V
mA
kHz

Metres
MHz
Maximum
+18
Units
V
Notes
1
4
3
2
V
mS
V
mA
V
Absolute Maximum Ratings
Parameter
Supply Voltage (7-16V)
© 1997-2013 Designer Systems
COMMS23.04.11 Revision 1.03
Minimum
-0.5
Page 5 of 8
Environmental
Parameter
Operating Temperature
Storage Temperature
Humidity
Dimensions
Weight
Immunity & emissions
Minimum
Maximum
Units
o
0
70
C
o
-10
80
C
0
80
%
Length 56.25mm, Width 53.5mm, Height 20mm
28g
See statement on page 11
Notes:
1. Supply voltage is supply rail from Arduino board or any other 7-16V supply.
2. L1 frequency, C/A code (Standard Positioning Service)
3. Value given is to Vcc when activated with appropriate jumpers.
4. Maximum value is only during initial acquisition.
ACK
ACK
ACK
1 1 0 1 0 A1 A0
DATA
BYTE
STOP
REGISTER
ADDRESS
GPM ADDRESS
R / W=0
START
Figure 1.0 (I2C write protocol)
Multiple bytes may be written before the ‘STOP’ condition. Data is written into registers starting at ‘REGISTER ADDRESS’, then ‘REGISTER ADDRESS’ +1, then ‘REGISTER ADDRESS’ +2 etc.
Each byte transfer is acknowledged ‘ACK’ by the GPM until the ‘STOP’ condition.
NACK
ACK
R / W=1
STOP
DATA
BYTE 2
ACK
ACK
DATA
BYTE 1
GPM ADDRESS
1 1 0 1 0 A1 A0
ACK
1 1 0 1 0 A1 A0
START
REGISTER
ADDRESS
GPM ADDRESS
R / W=0
START
Figure 1.1 (I2C read protocol)
‘DATA BYTE 1 & 2’ are register values returned from the GPM. Each byte written is acknowledged ‘ACK’ by the GPM , every byte read is acknowledged ‘ACK’ by the I2C Master. A Not-acknowledge ‘NACK’ condition is generated by the I2C Master when it has finished reading.
Figure 2.0 (Connection Schematic for Arduino UNO or Raspberry-Pi I2C communication)
P1
Raspberry Pi
(c) 2010 Designer Systems
3
4
2
GND Vin I/O
RESET
3V3
© 1997-2013 Designer Systems
COMMS23.04.11 Revision 1.03
A0
GND Vin
ADDRESS
5
A1
ANALOG IN
2 3 4
SDA
1
SCL
0
Global Positioning
System Module
PULL-UP
POWER
5V Gnd Vin
DS-GPM Shield
1
STATUS
www.arduino.cc
SDA SCL
Page 6 of 8
Figure 3.0 (I/O connections)
3
4
GND Vin I/O
A0
A1
SDA
SCL
Global Positioning
System Module
ADDRESS
1
STATUS
PULL-UP
DS-GPM Shield
2
IO1
IO2
IO3
IO4
IO / Analogue
Port
SDA SCL
GND Vin
Mechanical Specifications – Units millimetres
53.50
(c) 2010 Designer Systems
SDA SCL
4
3
1
GND Vin I/O
20.00
A0
ADDRESS
A1
SDA
SCL
GND Vin
PULL-UP
Global Positioning
System Module
2
STATUS
DS-GPM Shield
56.25
Revision History:
1.00 Release version
1.01 Release version (Updated IO registers and HDOP registers, added battery recycling statement)
1.02 Release version (Added UNO board)
1.03 Release version (Added Raspberry-PI information)
© 1997-2013 Designer Systems
COMMS23.04.11 Revision 1.03
Page 7 of 8
WEEE Consumer Notice
This product is subject to Directive 2002/96/EC of the European Parliament and the Council of the European Union on Waste of Electrical and Electronic Equipment (WEEE) and, in jurisdictions adopting that
Directive, is marked as being put on the market after August 13, 2005, and should not be disposed of as
unsorted municipal/public waste. Please utilise your local WEEE collection facilities in the disposition and
otherwise observe all applicable requirements. For further information on the requirements regarding the disposition of
this product in other languages please visit www.designersystems.co.uk
RoHS Compliance
This product complies with Directive 2002/95/EC of the European Parliament and the Council of the European Union on the Restriction of Hazardous Substances (RoHS) which prohibits the use of various
heavy metals (lead, mercury, cadmium, and hexavalent chromium), polybrominated biphenyls (PBB) and
polybrominated diphenyl ethers (PBDE).
Battery Recycling
The DS-GPM features an internal lithium coin cell that must be recycled at end of life. To access the cell
remove the four (4) screws in the bottom of the product and lift off the plastic cover. Using the end of a
paper clip, screw driver or other form of pointed tool slide the coin cell from its holder. To preserve natural resources, please recycle the battery properly.
Declaration of Conformity
Copyright  1997-2010 by Designer Systems Ltd
Apparatus name / model number DS-GPM.S
Manufacturer Designer Systems, 11 Castle Street, Truro, Cornwall
Conformity via
Generic Standard EN50081-1
TR1 3AF, United Kingdom
Generic Standard EN50082-1
Description of apparatus Robotic interface peripheral
Conformity criteria For use only within commercial, residential and light industrial applications
We certify that the apparatus identified above conforms to the requirements of Council Directive 2004/108/EC & 2006/95/EC
Signed.
Date 14/5/10
Having made this declaration the CE mark is affixed to this product, its packaging, manual or warranty.
The information appearing in this data sheet is believed to be accurate at the time of publication. However, Designer Systems assumes no responsibility arising from the use of the information supplied. The applications mentioned herein are used solely for the purpose of illustration and Designer Systems makes no warranty or representation that such applications will be
suitable without further modification, nor recommends the use of its products for application that may present a risk to human life due to malfunction or otherwise. Designer Systems reserves
the right to alter its products without prior notification.
© 1997-2013 Designer Systems
COMMS23.04.11 Revision 1.03
Page 8 of 8
Download