4.1 Hardware Subsystems
The hardware subsystems include the LCD Display Module and the GPS Receiver. The
operation of these systems is critical to the operation of the unit and had to be tested thoroughly.
4.1.1 LCD Display Module Testing
The LCD display module uses an 8-bit data bus with six control lines for data transmission. The
unit has a 128x64 memory that is used to display each individual pixel. Testing of this module
consisted of writing data to this memory and confirming that the display behaved appropriately.
These tests consisted of writing all zeros to all the pixels to clear the display, writing all ones to
turn all of the pixels on, and displaying characters in every position to verify that they are
displayed properly with no overlap. The character display test used a 8x8 pixel character format
giving a 16x8 display format with 128 possible character positions. The results of these tests are
shown in the table below.
Table 1 – LCD module test results
Clear Display Pass
All Pixels On Pass
Character Display Pass
Figure 1 below shows the normal operation of the LCD Display Module.
Figure 4.1 – LCD Module Operation
4.1.2 GPS Receiver Testing
The GPS receiver’s RS-232 communication with the PSoC, ability to obtain a fix, and accuracy
were tested to ensure that it was operating correctly. First, the RS-232 communication was tested
by receiving a GPRMC sentence and then displaying the information on the LCD display. The
LCD displayed the latitude and longitude correctly ensuring that the receiver was transmitting
information. A UART module with a baud rate of 4800 was used on the PSoC for the data
transfer. The GPS receiver’s output is a RS-232 compatible format of +6V (Logic High) to -6V
(Logic Low). A sample transfer was monitored on the oscilloscope and is shown in Figure 2
Figure 4.2 – GPS Receiver Serial Transfer
The RS-232 output was not compatible with the PSoC’s UART module and had to be converted
to CMOS levels of +5V (Logic High) to 0V (Logic Low). A SP202ECP chip was used to
accomplish this and the CMOS transfer is shown in Figure 3 below.
Figure 4.3 – CMOS Levels of GPS Receiver Transfer
The test for the GPS receiver’s ability to obtain a fix was very simple. The device was taken
outside and the LCD module was programmed to display the part of the GPRMC which tells if
there is a fix. The receiver responded with a fix in about thirty seconds which is within the 45
second specification for a cold start. Finally, the GPS receiver’s accuracy had to be tested. The
test consisted of taking the receiver and a proven GPS unit outside and placing them side by side.
The Garmin 15L displayed <enter coords> and the proven unit displayed <enter coords>. This
gives an error of <enter error>.
4.1.3 PSoC to PC Serial Interface
The PSoC to PC serial data transmissions were accomplished using a UART module for the PSoC
which was set to 38400 baud. The PSoC outputs CMOS levels of +5V to 0V. A sample data
transfer is shown by the oscilloscope in Figure 4 below.
Figure 4.4 – PSoC to PC Serial Data Transfer (CMOS Levels)
This signal had to be converted to RS-232 levels of +6V to -6V using a SP202ECP chip. This
transfer is shown in Figure 5. Notice how the signal is an inverted image of Figure 4.
Figure 4.5 - PSoC to PC Serial Data Transfer (RS-232 Levels)
4.2 Software Test
A number of tests were performed on the PC software to insure compatibility across major
operating systems, as well as correct operation of the core features of the software.
4.2.1 Compatibility Test
The PC GUI software was tested for compatibility across three major operating systems,
Microsoft Windows Vista, Apple OSX Leopard, and Ubuntu 7.10. For each operating system,
correct operation of the PC software was verified. Screenshots of the GUI in each operating
system can be seen below.
Figure 4.6 – PC GUI in Microsoft Windows Vista
Figure 4.7 – PC GUI in Apple OSX Leopard
Figure 4.8 – PC GUI in Ubuntu 7.10
4.2.2 Course Creation Test
A test course consisting of 20 waypoints was created using GPS coordinates around the Starkville
area obtained from Google Maps. The course was saved to the user's PC and opened using the
PC software to insure correct operation.
4.2.3 Upload Course Test
The upload course functionality of the PC software was tested using a representative sample
course from the course creation test of section 4.2.2. The integrity of the signal between the
PSoC and PC was verified in the PSoC to PC serial interface test in section 4.1.3. Furthermore,
during transmission the data sent to the PSoC was echoed back to the PC and printed to a console
to verify that the correct data was transferred and received.
4.2.4 Download Event Data Test
The download event data functionality of the PC software was tested using data captured by the
bike rally device after visiting the waypoints of a sample course. The integrity of the signal
between the PSoC and PC was verified in section 4.1.3. All data sent to the PC from the PSoC
was printed to a console to verify that correct data was received.
4.2.5 Graphing Event Data Test
Representative event data taken from the test in section 4.2.4 was used to insure that the PC
software correctly graphed the user's event times versus the course's goal times.
4.3 System Test
In order to verify that the prototype is working properly, a couple of tests involving the PC to
microcontroller communication and tracking accuracy are performed.
A communication between the PC and microcontroller is established by determining that the
signal outputted is correct. A java program is written for the microcontroller at a baud rate of
38400 and connected to an oscilloscope. The oscilloscope displays the expected signal to insure
the program is correct. Provided by Cypress Semiconductors, a program called PSoC Designer,
made especially for PSoC microcontrollers, is written at a baud rate of 38400 and connected to an
oscilloscope. The oscilloscope also displays the expected signal.
Next the microcontroller and PC are connected to each other with an LCD as the output. The
java program is written with a command, data, and stop bit. The microcontroller is programmed
to receive each bit and output a special character to show that it is receiving correct data. When
the two are running simultaneously the output on the LCD is proven to be correct.
To determine that the GPS accuracy is not affected by other components placed coincided with
the device, the device is taken to a remote place that can be determined by Google Maps. Google
Maps provide a GPS location and the device is taken to the location is able to output the
coordinates to within 5 meters.