|Documentation :||Hardware | Software | Tutorials||Wardrobe :||Jackets | Applications|
|Papers :||Notes | Proposals | Research||Administration :||Stock | Minutes | Progress|
The GPS interface board has been designed to act as an intelligent sensor in relation to the event driven device architecture of the new cyber-jacket. The device is primarily intended to interface with a Pharos i-GPS-180 receiver but with an additional cable can connect to any GPS receiver with an RS-232 NMEA output stream. The GPS receiver is interfaced to a PIC16F84 chip that decodes its output and communicates with the host computer via a shared TTL channel on the system bus. The interface also provides power (5 Volts) to the Pharos GPS receiver.
The device communicates with the host using a pseudo RS-232 protocol (TTL) on the system bus. Since the device has been designed to operate in conjunction with other sensors on the shared bus, contention issues are partially solved through the use of a status line on the system bus (wire 1). When a device wishes to send data it first checks this status line, if it is high (idle state) then it pulls the line low and transmits otherwise it polls the status line until it becomes high.
Communication between the host and the GPS interface is as follows:
Host to GPS Interface
aa = latitude degrees (0-89)
bb = latitude minutes (0-59)
ccc = latitude minute points (fraction)
d = 'N' or 'S'
eee = longtitude degrees (0-179)
ff = longtitude minutes (0-59)
ggg = longtitude minute points (fraction)
h = 'E' or 'W'
i = filter type 'I' specifies inside circle centred on position and 'O' is outside, 'P' requests present value (give immediate fix).
jjjj = circle radius in metres
GPS Interface to Host
This is a simple position fix with the fields as specified above.
The PIC will contain a simple multiplication routine (necessary for circle boundary detection) and so will convert from the NMEA format to a simple bounded range internally and then to normal deg/min/sec format for communication with the PC. The PIC will also be aware of wrap-around (equator / dateline) and handle the position masking appropriately. Only notifications for positions that are not masked by the last received filter will be sent, the PIC will only hold a single mask at a time.
At present only the "P" command has been fully implemented in firmware, the filtering aspect is in development >> please see AMOSS.
Please refer to schematic above.
ASM Code for PIC
The latest firmware for the GPS interface's PIC can be found here. This must be compiled using MPLAB (installed on Prawn).
GPS Interface board prototype.