"The hardware subsystems include the LCD Display Module and"
4. EVALUATION 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 Test Result 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 below. 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.