What is Timing System?

The Timing System uses the TWR-MCF52259, TWR-SER, TWR-LCD and a custom PCB. The whole system fits into a box. An SD Card with the FatFS file system is used for storage (see as well FatFs with Kinetis). For precise timing a DS3232 realtime clock with super-cap is integrated. The PCB it provides a wireless link using the MC13201 2.4 GHz transceiver. The power is provided through USB, so either a notebook, a battery pack or a USB wall power supply can be used.

Figure 1. Timing System in a Lunch Box

Timing System in a Lunch Box

The main CPU runs a Processor Expert based USB stack: it reads in data from a USB Laser Bar-code scanner. The Bar-code scanner is used to register the runner number after they have passed the finish line. To trigger the finish line time, several options can be used: push button switches or multiple laser light barriers.

The firmware for the Timing System is implemented with Processor Expert components using the Eclipse based CodeWarrior for MCU v10.x, in two projects: one for the main CPU (as the figure FreeRTOS running the Timing System shows) and second for the LCD subsystem (as the figure Tower LCD Subsystem Components with FreeRTOS shows). Both subsystems and all remote systems runs with FreeRTOS.

Figure 2. FreeRTOS running the Timing System

FreeRTOS running the Timing System

Figure 3. Tower LCD Subsystem Components with FreeRTOS

Tower LCD Subsystem Components with FreeRTOS

The FSShell is used to access to all commands plus reports that status of the operating system with all the tasks, as the following figure shows:

Figure 4. Shell Output with FreeRTOS Tasks and Performance

Shell Output with FreeRTOS Tasks and Performance

With the transparency of the box you can read easily the LCD output. For example, the TWR-LCD display shows the list of finishers with index, running time, running number and the name of the athlete plus overall status, as the following figure shows:

Figure 5. TWR-LCD for Timing System

TWR-LCD for Timing System

The same information (and more) can be displayed on a terminal window if a notebook is attached. The serial link or the wireless link synchronizes with an Microsoft Access data base. That database can be local or remote and can be used to print the output.