A Performance Analysis System for the Sport of Bowling

A Performance Analysis System for the Sport of Bowling A Performance Analysis System for the Sport of Bowling

cs.hbg.psu.edu
from cs.hbg.psu.edu More from this publisher
01.06.2015 Views

However, testing revealed that there are also multiple "false" activations per shot, which occur before release of the ball and from the ball return mechanism handling the ball. These activations typically accumulate 10-15 seconds of additional run time, accounting for another 25-35 mAmp-seconds per shot. Therefore, the actual battery usage works out to be ~40 mAmp-seconds per ball. For a 200 mAmp-hour coin cell, this yields a battery life of 18,000 shots (about 1000 games). The bowler could use the module up to 20 games a week for a year without having to replace the battery. A lower capacity battery could also be specified, reducing the cost, weight, and height of the module. 2.9 FUTURE WORK The prototype SMARTDOT module was developed to serve three functions: first, as a proof-of-concept; second, as a data collection device to capture and characterize the ambient light waveform that the module was being developed to record; and third, to serve as the initial hardware platform upon which to develop and test the embedded software for the commercial SMARTDOT module. Recall that the nature of the light waveform was unknown at the start of this project. Much knowledge has been gained since then from actually being able to observe and analyze the captured data. This knowledge will be put to use in future iterations of the module's embedded software. Also, in the time since the design and construction of the SMARTDOT module prototype, component technology has improved tremendously. Upgrading the module with these advanced components will allow for significant improvements in the capabilities of both the hardware and the embedded software, as well as in reductions in the cost, size, and weight of the module. 2.9.1 Microprocessor Microprocessor technology in the 8-bit arena has changed quite dramatically in the last few years. Cygnal Integrated Products just recently introduced a true system-on-a-chip 8051-based microprocessor (C8051F300x). The 'F300x contains 8K bytes of on-board flash memory (which can be used for both program and data), 256 bytes of RAM, an advanced serial UART, advanced power-management functions, on-board ultra-low power comparators, a low-power analog-to-digital converter (ADC), on-board programmable oscillator, and reset circuitry, all in a package that measures 3mm by 3mm. With this microprocessor, the TSL25x light sensor, LED's and a small amount of passive components, the module can be redesigned to be smaller, cheaper and more powerful than the current design. It will even be possible to upgrade the module's embedded software via the infrared interface while the module remains in the ball. The 'F300x also makes certain software improvements possible. Since it contains both an on-board comparator and a hardware UART, it will be possible to feed the TSL251 output to the comparator and then to the reception port of the UART. In addition, the transmission port of the UART can directly drive the transmit LED's, allowing for much higher transmit baud rates. This will be an issue with the much higher serial EEPROM densities now available (see "Sample Memory" below). These improvements also eliminate the software UART, freeing up a significant amount of code space. 34

The 'F300x can write to any portion of its flash memory "on the fly". Therefore, flash memory that is not used for code space is available as sample memory. If the code can be limited to 2K bytes, as it is in the prototype, 5.5K of on-board flash memory is available for data space (the high-order 512 bytes are reserved for factory use). A scheme for compressing the sample data is proposed in the "Data Compression" section that allows for the recording of an entire game's worth of data (up to 21 shots) for most bowlers. Using the excess on-board flash memory as the sample memory eliminates the need for an external serial EEPROM chip, which results in cost savings and reductions in PCB space and the overall weight of the module. The 'F300x provides additional advantages. Where as the Philips 87C752 has an instruction rate that is 1 / 12 of the clock frequency, the 'F300x's average instruction rate is one-half that of the clock frequency, executing instructions at six times the rate of the '752. Faster instruction execution means more time can be spent in the IDLE mode. The 'F300x also has an on-board ADC that samples at a rate 10 times faster than the '752, again cutting down on time spent out of IDLE mode. In addition, the 'F300x has the ability to switch its internal clock frequency, meaning that it can slow down when it's not processing data, and speed up when it has work to do. Once again, this results in a reduction in current draw. These additional power reductions could result in an average current draw of one-eighth to one-quarter that of the current SMARTDOT prototype, allowing the use of a smaller, cheaper, lighter-weight battery. 2.9.2 Communications Since it is very easy to inject noise into an IR connection, the module should issue a checksum after each grouping of bytes so that the MASTER program can verify the contents of the data. The module should also send a fixed terminating character to indicate that the transmission is complete. This character won't be unique to the transmission since the data can take any of the 256 values, but it will be positioned at a fixed location in the transmit stream. These were oversights in the current version of the embedded software. Ultimately, it would be beneficial to implement a limited IrDA (InfraRed Data Association) protocol stack. Using one of the standard IrDA protocols would facilitate communication with just about any PDA-type device, all of which utilize various IrDA protocols to "beam" information back-and-forth. Unfortunately, implementing an IrDA stack in an 8-bit device is a fairly complex task, which also consumes a fair amount of code space. For now, it is something that will remain on the backburner. 2.9.3 Sample Memory and Multiple Waveforms As the prototype is currently designed, the SMARTDOT module can only record one shot at a time. This has proven to be highly inconvenient and time-consuming. Much more desirable is the ability to record multiple shots, preferably at least an entire game's worth of data, between uploads. In addition, the effectiveness of the waveform discrimination and validation routine is severely impacted by the limited amount of scratch pad memory in the prototype. If the module had more time (meaning more space) to record data while deciding the source of a waveform, it could perform this task much more reliably. In the time since the SMARTDOT module prototype was assembled, serial EEPROM memory densities have increased dramatically. Using the assumptions previously presented (a 4 second maximum sampling time at a 120 Hz sample rate), the amount of data memory required to store the data for a single game can now be determined. It is 35

However, testing revealed that <strong>the</strong>re are also multiple "false" activations per shot, which<br />

occur be<strong>for</strong>e release <strong>of</strong> <strong>the</strong> ball and from <strong>the</strong> ball return mechanism handling <strong>the</strong> ball.<br />

These activations typically accumulate 10-15 seconds <strong>of</strong> additional run time, accounting<br />

<strong>for</strong> ano<strong>the</strong>r 25-35 mAmp-seconds per shot. There<strong>for</strong>e, <strong>the</strong> actual battery usage works out<br />

to be ~40 mAmp-seconds per ball. For a 200 mAmp-hour coin cell, this yields a battery<br />

life <strong>of</strong> 18,000 shots (about 1000 games). The bowler could use <strong>the</strong> module up to 20<br />

games a week <strong>for</strong> a year without having to replace <strong>the</strong> battery. A lower capacity battery<br />

could also be specified, reducing <strong>the</strong> cost, weight, and height <strong>of</strong> <strong>the</strong> module.<br />

2.9 FUTURE WORK<br />

The prototype SMARTDOT module was developed to serve three functions: first, as a<br />

pro<strong>of</strong>-<strong>of</strong>-concept; second, as a data collection device to capture and characterize <strong>the</strong><br />

ambient light wave<strong>for</strong>m that <strong>the</strong> module was being developed to record; and third, to<br />

serve as <strong>the</strong> initial hardware plat<strong>for</strong>m upon which to develop and test <strong>the</strong> embedded<br />

s<strong>of</strong>tware <strong>for</strong> <strong>the</strong> commercial SMARTDOT module.<br />

Recall that <strong>the</strong> nature <strong>of</strong> <strong>the</strong> light wave<strong>for</strong>m was unknown at <strong>the</strong> start <strong>of</strong> this project.<br />

Much knowledge has been gained since <strong>the</strong>n from actually being able to observe and<br />

analyze <strong>the</strong> captured data. This knowledge will be put to use in future iterations <strong>of</strong> <strong>the</strong><br />

module's embedded s<strong>of</strong>tware.<br />

Also, in <strong>the</strong> time since <strong>the</strong> design and construction <strong>of</strong> <strong>the</strong> SMARTDOT module prototype,<br />

component technology has improved tremendously. Upgrading <strong>the</strong> module with <strong>the</strong>se<br />

advanced components will allow <strong>for</strong> significant improvements in <strong>the</strong> capabilities <strong>of</strong> both<br />

<strong>the</strong> hardware and <strong>the</strong> embedded s<strong>of</strong>tware, as well as in reductions in <strong>the</strong> cost, size, and<br />

weight <strong>of</strong> <strong>the</strong> module.<br />

2.9.1 Microprocessor<br />

Microprocessor technology in <strong>the</strong> 8-bit arena has changed quite dramatically in <strong>the</strong> last<br />

few years. Cygnal Integrated Products just recently introduced a true system-on-a-chip<br />

8051-based microprocessor (C8051F300x). The 'F300x contains 8K bytes <strong>of</strong> on-board<br />

flash memory (which can be used <strong>for</strong> both program and data), 256 bytes <strong>of</strong> RAM, an<br />

advanced serial UART, advanced power-management functions, on-board ultra-low<br />

power comparators, a low-power analog-to-digital converter (ADC), on-board<br />

programmable oscillator, and reset circuitry, all in a package that measures 3mm by<br />

3mm. With this microprocessor, <strong>the</strong> TSL25x light sensor, LED's and a small amount <strong>of</strong><br />

passive components, <strong>the</strong> module can be redesigned to be smaller, cheaper and more<br />

powerful than <strong>the</strong> current design. It will even be possible to upgrade <strong>the</strong> module's<br />

embedded s<strong>of</strong>tware via <strong>the</strong> infrared interface while <strong>the</strong> module remains in <strong>the</strong> ball.<br />

The 'F300x also makes certain s<strong>of</strong>tware improvements possible. Since it contains both an<br />

on-board comparator and a hardware UART, it will be possible to feed <strong>the</strong> TSL251<br />

output to <strong>the</strong> comparator and <strong>the</strong>n to <strong>the</strong> reception port <strong>of</strong> <strong>the</strong> UART. In addition, <strong>the</strong><br />

transmission port <strong>of</strong> <strong>the</strong> UART can directly drive <strong>the</strong> transmit LED's, allowing <strong>for</strong> much<br />

higher transmit baud rates. This will be an issue with <strong>the</strong> much higher serial EEPROM<br />

densities now available (see "Sample Memory" below). These improvements also<br />

eliminate <strong>the</strong> s<strong>of</strong>tware UART, freeing up a significant amount <strong>of</strong> code space.<br />

34

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!