Note: Descriptions are shown in the official language in which they were submitted.
6279/6279Z
6~579
SPORTS TEC~INIQUE AND REACTION TRAINING SYSTEM
.
lC The present invention relates generally to a
Sports Technique And Reaction Training ( START) system which
is a highly sophisticated training system with programming
capabilities designed particularly for improving,
progressing, and testing the development pattern of skilled
motor functions(engrams) in sports, rehabilitation, and
health and fitness. In the field of rehabilitation in
particular, the subject invention should prove valuable and
have particular utility in providing measured objective
evidence of recovery from an injury. This is particularly
useful in professional sports in gauging the ability of an
injured player to perform under competitive situations, and
also has utility in legal situations involving compensation,
for example, in cases involving an injured employee or
worker.
In the fields of sports, rehabilitation, health
and fitness, a person frequently performs particular motor
movements to achieve a specific purpose, such as for example
the motor movements performed during execution of a backhand
stroke in tennis. It is primarily in the sensory and
sensory association areas that the athlete experiences the
.. . ..
- ' ' ' ' ' ',
12~9
effects of such motor movements and records "memories" of
1 the different patterns of motor movements, which are called
sensory engrams of the motor movements. When the athlete
wishes to perform a specific act, he presumably calls forth
one of these engrams, and then sets the motor system of the
brain into action to reproduce the sensory pattern that is
~ engrained in the engram.
Even a highly skilled motor activity can be
performed the very first time if it is performed extemely
slowly, slowly enough for sensory feedback to guide the
movements through each step. However, to be really useful,
many skilled motor activities must be performed rapidly.
This is capable of being achieved by successive performance
of the skilled activity at game speed using the START system
of the present invention until finally an engram of the
skilled activity is engrained in the motor system as well as
in the sensory system. This motor engram causes a precise
set of muscles to perform a specific sequence of movements
required for the skilled activity.
Most types of Inter partes competitive athletic
performance involve predetermined patterns of sequenced
muscle performance, usually in response to an act of an
opponent, and the proficiency level of such performance is-
usually dependent, at least in large part, upon the reaction
time required to initiate a predetermined pattern of
sequenced muscle performance in response to an opponent's
act and the rapidity with which such predetermined pattern
is carried out. A corollary of the foregoing is the
physical conditioning of the various muscles and other
interrelated body components involved in each such
predetermined pattern of muscle performance to minimize, if
,,
not substantially avoid, injury in the performance thereof.
The following U.S. patents are considered somewhat
pertinent to the present invention as disclosing concepts
related in some respects to the subject START system.
However, none of the cited prior art discloses a system
having the versatile attributes of the sports technique and
reaction training system as disclosed herein.
Goldfarb et al. U.S. Patent 3,933,354 discloses a
marshall arts amusement device having a picture, such as a
display of a combatant, which is adapted to be struck by a
participant, a series of lights mounted behind the picture,
preferably each located at a different key attack or
defensive position on the body of the combatant. The
display detects when the picture is struck in the vicinity
f a light and is responsive to the detection for
illuminating one of the lights and for controlling which
light in the series is next illuminated when the picture is
hit. In order to demonstrate high performance or win
against an opponent, the participant must rapidly extinguish
each light in the series by touching or hitting the picture
at the illuminated light. The lights are illuminated in a
pseudo-random order which the participant cannot anticipate,
and therefore his relaxation, coordination, balance and
speed are tested much the same as they would be in combat in
determining the quality of his performance.
Hurley U.S. Patent 4,027,875 discloses a reaction
training device which includes a pair of spaced apart,
electrically connected stands, each being provided with
electrical switch boxes. Each of the switch boxes is
3 provided with an external plunger, with the plunger being
~ 47 ~
eonneeted to electrical eircuitry and acting as a switch. A
1 timer is eonnected to the electrieal circuitry, such that
that the time required for a person to activate the timer by
touching the plunger on one switeh box and stop the timer by
touching the plunger on the other switch box ls reeorded.
Groff U.S. Patent 4,493,6555 diseloses a radio
~ - controlled teaching system in which a portable,
self-powered, radio-eontrolled teaehing device is provided
for each student of a classroom, such that the teacher
maintains a high level of student alertness by remaining in
radio contact with each and every student during seleeted
periods of the classroom day. A teaching device
electronieally transmits teaeher-selected data to eaeh
student whieh, in turn, requires individual student
responses to the data without the neeessity of wired
eonneetions between the teacher and students. The teaching
deviee is used to instan~ly and extemporaneously test the
students in the class on a selected subject area.
Bigelow et al. U.S. Patent 4,534,557 diseloses a
reaetion time and applied foree feedback training system for
sports whieh includes at least one sports training device,
and a stimulus indicator located near and associated with
the sports training device. The stimulus indieator
generates a plurality of ready signals at random time
intervals, and a sensor in the sports training deviee is
reeeptive of a force applied to the sports training device
for generating an electrieal signal having a magnitude
proportional to the magnitude of the applied force. A
eontrol unit eontrols the emanation of the ready signals,
-
~265~7~
and determines and displays the reaction time from emanation
1 Of the ready signal to sensing the applied force, along with
the magnitude of the applied force.
In summary, none of the aforementioned prior art
provides an integrated system for technique and accelerated
reaction training having the general applicability and
versatility of the subject invention ~Jith its many
significant attributes as described in greater detail
hereinbelow.
Accordingly, it is a primary object of the present
invention to provide a training system which will enhance
and improve the reflex capabilities of amateur and
professional athletes with a unique training program that
advances the state of the art in athletic training.
The START system of the present invention trains
an individual in actual game situations using the identical
movements that are necessary and at the same speed required
by the sport. By training the actual movements necessary
for the sport, the specificity of training is tremendously
improved in the following areas: quicker reaction to
outside stimulus and response with proper technique;
aerobic-anaerobic fitness; strength; power; agility; balance
and endurance. The specificity of training is very high
because the athlete is motivated by competing against an
audible feedback at the end of a measured period of time to
perform at maximum levels on each movement in order to
perform within the measured time period, which is analagous
to a victory over an opponent.
3o
~2~i0~9
The present invention may be briefly described as an
improved method and apparatus for improving predetermined
patterns of sequenced muscle performance, and in reducing the
reaction time for the initiation thereof. In its broader
aspects, the subject method includes the provision of a plurality
of individually available external stimuli in the form of a
cyclically repetitive sequence of available action signals, each
of which requires a particular pattern of sequenced muscle
performance in response thereto, in association with what
normally appears to the participant to be a random energization
of a single stimulus or action signal from the available
plurality thereof. However, in some applications of the present
invention, such as in physical therapy and rehabilitation, the
order of energization of the external stimuli is repetitive and
is known to the person undertaking the program. In its narrower
aspects, the subject inventioll includes effecting the apparent
random energization of particular stimuli signals by the act or
sensed position of the performer and the provision of a
performance rating signal indicative of the nature of the
participants time and/or spatial response to the stimulus.
In accordance with a preferred commercial embodiment which
has been designed, the subject invention provides a system for
technique and accelerated reaction training of a person by a
training program in which an array of lights is positioned
visibly in front of the person, with each light signifying a
different particular movement pattern to be executed by the
person in a given amount of time. A microprocessor based
control system selectively eneryizes one light of the array at a
time, signifying a particular movement pattern to be executed, in
a sequence of lighting of the array of lights unknown to the
person undertaking the training program. In this program, the
sequence of lighting of the array appears to he random, such that
the person waits for an unknown light to be energized, and must
then react in a measured time period with the particular movement
pattern to be executed in response to that particular light, and
~2~;~9
the person then waits for the next unknown light to be energized,
and must then react in a measured time period with the particular
given movement pattern to be executed in response to that
particular light. Moreover, the control system is programmable
to enter a different individual time period of response for each
different light, and then times each individual time period of
response. Additionally, an audible feedback is supplied to the
person by an acoustic transducer which is activated by the
control system at the end of each individual time period of
response to audibly signal, as by a beep, to the person the end
thereof, such that the person in the program works to complete
the particular movement pattern to be executed prior to hearing
the audible signal or beep.
In accordance with a further embodiment of the present
invention there is provided a method of accelerated reaction
training by improving predetermined patterns of sequenced muscle
performance for participants in athletic endeavors, comprising
the steps of defining a plurality of discrete predetermined
movement patterns relative to a base position, each including a
discrete predetermined pattern of sequenced muscle performance;
positioning a participant at the base position; providing a
plurality of lights each indicative of a predetermined pattern of
movement from the base position; randomly activating one of the
plurality of lights to initiate performance o~ the discrete
movement pattern indicated by the activated light signal by the
participant; and indicating the time period within which an
initiated pattern of performance is to be completed by an audible
signal which is generated after every light signal to provide an
audible timing signal to the participant for every light signal
In a preferred embodiment, the array of lights comprises an
array of six lights arranged in top and bottom horizontal rows of
three lights, with the top and bottom rows being aligned
vertically with respect to each other. The array of lights can
represent movements in 360, forward lateral and backward
movements as they pertain to upper and
s~g
lower body movements. Moreover, the START system is
1 preferably constructed and provided in a portable carrying
case, wherein the array of ligh~s is mounted in the top
portion of the carrylng case, and the control system
therefor is located in the bottom portion.
A preferred embodiment of the present invention
has been developed wherein the control system is a
microprocessor programmed and operated control system. In
this embodiment, the microprocessor is coupled to an address
bus, a control bus, and a data bus, and each of the array of
lights, as well as additional controlled features, is
coupled to and controlled by the microprocessor by signals
issued on the address bus, the control bus, and the data
bus.
The training program is stored in an external
memory mounted in a cartridge which is insertable into a
port in the bottom portion of the carrying case. The
cartridge has stored in memory a sequence of lighting of the
particular lights in the array, along with different
individual time periods of response for each light, and the
2~ pause duration time period between the end of one individual
time period of response and the beginning of the next
individual time period of response, such that different
training programs can be used in the system merely by
changing program cartridges. Moreover, each cartridge
preferably contains several different training programs
stored in memory with different sequences of lights and
different individual time periods of response. For
instance, a cartridge can have stored in memory at least a
..
~2~
g
beginner training program, an intermediate training program,
1 and an advanced training program.
Advantageously, a cartridge can be programmed with
a weakness drill program wherein at least one particular
light in the array of lights is energized more frequently
than other lights, with that particular light signifying a
weakness movement pattern to be executed by the person, such
that the program works on strenthening a particular weakness
movement pattern~ The system is also preferably programmed
to provide a warm-up program which is run prior to the
training program and a cool-down program which is run after
the training program.
Moreover, in a preferred embodiment the
microprocessor operated control system is programmable by a
keypad entry array of keys in the bottom portion of the
carrying case, which includes a keypad entry display for
displaying the entries being made into the system. In this
system, the individual time periods of response for each
- light stored in memory are changeable and reprogrammable by
operation of the keypad entry array, particularly to suit
the development and training of the person undertaking the
training program. Advantageously, a percentage faster key
is provided on the keypad entry array to actuate a routine
to change the time periods of response in the program to
make them a given percentage of time faster, and a
percentage slower key is also provided to actuate a routine
to change the time periods of response in the program to
make them a given percentage of time slower.
In a preferred embodiment, at least one transducer
3o
-
S79
is coupled to the control system which is activated by the
1 person at the end of the particular movement pattern being
executed, and the control system measures the actual period
of time taken by the person to activate the transducer, and
stores each measured time period of actual response in
memory. Moreover, preferably a separate pressure touch pad
~ transducer is provided for each light to be energized in the
training program, and the control system measures the actual
period of time taken by the person to touch each pressure
pad, and stores each measured time period of actual response
in memory.
One advantageous feature of the present invention
is the ability to obtain a print out from the computer
memory of the performance of the person in the program. The
print out can include the individual measured response
times, averages thereof, plotted curves thereof, and
additional displays of the response data stored in memory.
A preferred embodiment Or the subject invention
also incorporates therein voice synthesizer circuits for
instructing the person on correct operation of the system,
and also during the training program.
The present invention also provides a training mat
which has been developed particularly for use in conjunction
with the START system, particularly for rehabilitation
programs and in the measurement of timed responses. The
training mat has on the upper surface thereof marked areas
of position and marked areas of response. The training mat
is generally rectangular in shape, and the marked areas of
response are arranged in a pattern around the periphery
3o
ii7~
thereof, with the marked areas of position being marked
1 integrally with the marked areas of response. In this
design, the pressure touch pads can be positioned at
different marked areas of response on the mat or constructed
integrally therein, such that a person orients himself with
respect to a marked area of position, and then reacts to
~ input stimulus signals to execute particular movement
patterns, at the end of which the person touches a marked
area of response on the training mat. Moreover, in a
preferred embodiment the training mat preferably has a
generally square shape, and the marked areas of response
include a plurality of contiguous square areas positioned
around the periphery thereof. Each side of the training mat
is preferably between four and ten feet in length, most
preferably six feet, and includes six square areas of
response arranged contiguously along the length thereof. A
central square area is thereby delineated on the central
area of the training mat inside the square marked areas of
_ response, and is adapted to receive one of several different
central mat sections to be selectively placed centrally on
the training mat.
Among the advantages of the subject invention is
the provision of an improved method for accelerated reaction
training to improve predetermined patterns of sequenced
muscle performance and the reaction times therefor that can
be utilized in diverse enviroments within the broad field of
physical bionics, such as, for example, in basic aerobic
and anerobic training exercises, and in the obtaining of
enhanced reaction time performances, and also in specific
3o
5~9
athletic training for enhancement of performance in sports
1 such as tennis, football, basketball, hockey, baseball and
the like.
Another advantage of the subject invention is the
enhancement of performance and results obtainable in a
physical therapy program designed particularly for athletes
desirous of returning to competitive activity following an
injury or other physical disablement, as well as for
enhanced general physical conditioning. Still other
advantages of the practice of the subject invention are the
development of improved cardio-vascular fitness, improved
reaction times, improved balance, agility and speed, as well
as an enhanced resistance to injury in the performance of
athletic functions, and enhanced recovery from injury
resulting from athletic or related physical endeavors.
The foregoing objects and advantages of the
present invention for a sports technique and training system
may be more readily understood by one skilled in the art,
with reference being had to the following detailed
description of several preferred embodiments thereof, taken
in conjunction with the accompanying drawings wherein like
elements are designated by identical reference numerals
throughout the several views, and in which:
Figure 1 is a schematic perspective view
illustrating the employment of the methods of the subject
invention in the training of tennis players;
Figure 2 is a schematic circuit diagram for the
stimuli battery depicted in Figure l;
.
3o
-
1~
-13-
.
Figure 3 is an elevational view of a stimuli
1 battery for providing a visual indication of a desired type
of movement by a subject;
. Figure 4 is a schematic perspective view
illustrating the employment of the programs of the present
invention in the training of more advanced tennis players;
Figure 5 is a side elevational view of a
photosensor assembly;
Figure 6 is a side elevational view of a light
source for use t~ith the photosensors of Figure 5;
Figure 7 is a schematic circuit diagram for a
stimuli battery of the type illustrated in Fiyure 3;
Figures 8 and 9 illuctrate a preferred commerical
embodiment of the present invention designed as a portable
unit the size of a small carrying case, with Figure 8
illustrating a display panel of six high intensity lamps
mounted on the inside of the top portion of the portable
case, and Figure 9 illustrating the control keypad and
control display panel mounted on the inside of the bottom
portion of the portable case;
Figure 10 is a plan view of a preferred embodiment
of an exercise mat developed for use in association with the
START system;
Figure 11 is a block diagram of the major
components of a preferred embodiment of a microprocessor
controlled START system;
Figures 12 through 33 are logic flow diagrams
illustrating the primary logic flow steps of the program for
the microprocessor, in which:
3o
3~
6al579
-14-
Figures 12 through 16 illustrate the programming
1 steps involved in the initialization of the unit after it is
initially turned on;
. Figure 17 illustrates the programming sequence of
the main operationa~. running loop which allows an operator
to select a drill and set up the parameters governing the
- operation thereof, and the middle of Figure 17 refers to the
four state routines of the system, the three more
complicated of which are illustrated in Figures 25 through
27, and the right side of Figure 7 refers to thirty-one
different routines, the more complicated of which are
illustrated in Figures 28 through 35;
Figure 18 illustrates handling of the interrupt
and backgrount routines which are performed every .01
seconds;
1~ Figures 19 through 24 illustrate the interrelated
logic flow diagrams of the interrupt and background routines
perfomed every .01 seconds; in which
Figure 19 illustrates the logic flow diagram of
the input and output subroutine which keeps track of all
inputs and outputs of the system;
Figures 20 and 21 are logic flow diagrams of the
timing functions and counters of the processor;
Figure 22 is a logic flow diagram of the LED
display drive and keyboard matrix scanner operations;
Figures 23 and 24 illustrate the logic flow
diagrams of the key detection and debouncing routines;
Figures 25 through 27 illustrate the logic flow
diagrams of the three state routines of the system,
~l%~ 51759
including the numeric display routine of Figure 25, the
- modify display routine of Figure 26, and the drill running
routine of Figure 27, t~hich state routines are illustrated
in the central portion of the main operational loop of
Figure 17; and
Figures 28 through 35 illustrate the logic flow
diagrams of the more complicated o~ the thirty-one routines
shown on the right portion of the main operational loop of
Figure 17, including the start routine of Figure 28, the
program routine of Figure 29, the beginner routine of Figure
30, the number of routine of Figure 31, the modify routine
of Figure 32, the duration routine of Figure 33, the cancel
warm-up routine of Figure 34, and the enter routine of
Figure 35.
1, Most competitive atheletic performances against an
opponent, such as for example in tennis, football, soccer,
basketball, hockey and baseball involve a specific
repertoire of a relatively few basic patterns of movement,
the rapidity of initiation and performance Oc which are
2~ significant factors in an athlete's competitive
e'fectiveness. Each such pattern of movement normally
involves a predetermined pattern of sequenced muscle
performance to attain the desired result. For example, it
has been observed that successful tennis players have
developed a specific repertoire of movement patterns, each
comprised of a few basic and very rapid movements and shots
which place the player and the ball precisely where they can
be most competitively effective. It has been observed
further that the basic movement patterns are remarkably
3o
~2~679
similar among the top successful tennis players. Similar
1 movement patterns are also ascertainable for particular
participants in other competitive sports endeavors.
Instances where pronounced patterns of movement are readily
ascertainable include football players, and particularly
defensive backs, goalies and defensemen in hockey,
basketball players, and baseball players, where good
fielders have always been recognized as those who "get a
good jump on the ball".
The methods hereinafter described are generally
directed to accelerated reaction training, and in particular
to the training of athletes to adopt and become increasingly
proficient in such basic movement patterns through the
utilization of randomly generated stimuli signals coupled
with movement pattern responsive indicia to provide
immediate positive or negative reinforcement for properly or
improperly e,Yecuted movements or patterns thereof.
Figure 1 is illustrative of the practice of the
- present invention in enhancing the performance of an athlete
in a basic side to side movement pattern such as is commonly
employed in tennis. Such side to side movement involves a
predetermined pattern of sequenced muscle performance. In
order to enhance both a player's reaction time and the
rapidity of performance, there is provided a stimuli
battery, generally designated 10, positioned on the court
center line and in view of the player 12. The stimuli
battery 10 contains three lamps 14, 16 and 18 mounted in
horizontal array on a support 20. As shown in Figure 2, the
lamps 14, 16 and 18 are adapted to be sequentially and
3o
~2~
-17~
repetitively individually energized by a continuously
1 operating cyclic switch 22 included in the energized
circuits therefor. However, such lamps will remain in an
unlit condition due to the presence of a normally open and
remotely operable switch 24 in the power circuit.
In the practice of the present invention, an
~ athlete 30 positions himself on the baseline 32 in generally
straddle relationship with the center line 34. In a simple
version thereof, the athlete 30 may initiate the drill by
manual operation of a trigger transmitter of the type
conventionally employed to trigger garage door opening
devices. A receiver element 40 is associated with the
switch 24 and, upon receipt of a signa] from the trigger
transmitter, operates to close the switch 24. Vpon such
remotely initiated closure of the switch 24, the power
circuit is completed and the particular lamp whose
energizing circuit is then closed or is the next to be
closed by the operation of the cyclically operable switch 22
will light. As will now be apparent, however, activation by
the trigger transmitter by the player 30 will result in a
purely random selection of one particular lamp to be lit,
thus precluding conscious or subconscious anticipation of a
movement direction by the player.
In the above described example, the athlete 30
initiates the drill by activation of the transmitter
trigger. The stimuli battery 10 responds immediately to the
trigger signal by illuminating a randomly selected one of
the plurality of lights 14, 16 or 18. The outermost lights,
for example 14 and 18, correspond to different movement
3o
-18-
pattern directions, for example, movement pattern to the
1 left and movement pattern to the right. There is preplaced
in each such direction a mark 42 and 44 upon a ground
surface located a finite distance from the centerline
starting position 34. When, for example, light 18
illuminates, the athlete 30 moves through a predetermined
pattern of movement to mark 44 and upon there arriving,
immediately reverses direction and returns to the starting
position. If desired, the lamp energizing circuits may be
designed to maintain lamp illumination for a predetermined
but selectable period of time within which the particular
movement pattern should be completed.
As will now be apparent, use of the transmitter
trigger by the athlete 30, although providing for random
light selection, permits the athlete to train at his own
pace. On the other hand, the transmitter trigger could also
be held by an instructor, who can then control the pace of
the drill as well as observe, and correct where necessary,
the rr~ovement patterns being employed by the player during
the drill. Repetitive drills in accord with the foregoing
will improve both the athlete's reaction time and rapidity
of performance by the particular movement pattern through
enhanced sequenced muscle performance and, in addition, will
function to condition the muscles involved therein.
If desired, the transmitter trigger may be
dispensed with and the stimuli battery 10 actuated by a
photosensor unit 46. Such photosensor unit 46 may be placed
behind the baseline 32 coaxially with the centerline 34. In
this instance, the athlete 30 initiates the drill by
3o
:a26~5~79
, , .
physical interposition in the path of the photocell sensor
1 beam. Operation is as described hereinabove except that the
system automatically recycles each time the athlete 30
retuEns to the base line starting position.
Referring now to Figure 4, there is illustratively
provided a preferred multipurpose stimuli battery, generally
~ designated 110, in the form of a plurality of lamps 112,
114, 116, 118, 120 and 122 mounted in a generally
rectangular array on a support structure 124 above a base
126. Included within the base 126 is a power supply 128
connectable to any convenient source of electricity, not
shown, through a line plug 130. Also included within the
base 126 is a normally open and remotely operable switch 132
disposed intermediate the power supply 127 and a
continuously operating cyclic switch 134 which sequentially
completes individual energizing circuits for the lamps 112,
114, 116, 118, 120 and 122. In the operation of the
described unit, the continuously operating cyclic switch 134
selectively and sequentially completes the energizing
circuits for the lamps. However, such lamps will remain in
an unlit condition due to the presence of the normally open
and remotely operable switch 132. Activation of the switch
132 may be effected, for e~ample, by a manually operable
trigger transmitter 136, such as a transmitter of the type
conventionally employed to trigger garage door opening
?5 devices or by a photocell response or the like. Upon such
remotely initiated operation of the switch 132, a power
circuit is completed between the power supply 128 and the
particular lamp whose energizing circuit is either then
3o
S~9`
-20-
closed or is the next to be closed by the operation of the
1 cyclically operable switch 134. As will be apparent,
activation of the trigger transmitter 136 results in a
purely random selection of one particular lamp to be lit,
dependent upon the status of the cyclic switch 134 at the
time of transmitter activation.
As will now be apparent, the stimuli battery
illustrated in Figure 4 can provide a plurality of randomly
selected action signals. For example, and assuming the user
is facing the battery 110, ignition of lamp 116 can initiate
a predetermined movement pattern to the right as indicated
by the arrow 116a, Fisure 3. Similarly, selective ignition
of lamps 118 and 122 can be emploved to initiate diagonal
movement patterns, while selective ignition of lamps 114 and
120 can be employed to initiate backward and forward
1~ movement patterns respectively. As will now also be
apparent, elevation or jumping patterns could also be
initiated by single or combinational lamp energization.
- Figure 4 illustrates another and more complicated
tennis drill employing the stimuli hattery shown in Figure 3
and described above. In this drill, the stimulis battery
means 110 comprises the previously described six lights 112,
114, 116, 118, 120 and 122, again placed within view of the
athlete on the far side of the court. Stimuli battery means
110 is here electronically coupled to a plurality of
photosensor means 220, 222, 224, 226, and 228, and to an
electronic clock 232. The athlete 30 can initiate the drill
by serving the ball and moving netward through the zone of
focus 229 of a first photosensor means 220, with the zone of
3o
-21-
focus 229 being proximate to and substantially parallel to
1 the usual location of the tennis court service line 293
along the central segment therof. The stimuli battery 110
responds to the movement of the athlete through the second
zone of focus 234 by selecting and illuminating one light of
the available plurality therof. In this embodiment lamps
~ 118 and 122 ~ould direct movement toward additional focus
zones 236 and 238, respectively. Each light corresponds to
one of a plurarity of additional zones of focus, i.e., light
120 for moving forward, light 114 for moving back, etc.
Each of such additional zones of focus 236, 238, and 239 is
located in a different direction from each other with
respect to the second zone 234. The athlete responds to the
stimuli battery 110, for example, the illumination of lamp
118, by moving rapidly towards and through the zone
corresponding to the illuminated light, for example 238.
When the athlete moves through the zone, for example 238,
his motion causes the digital clock to stop and display the
_ time elapsed from his motion through the first zone.
Figure 5 is a side elevation of a photosensor
assembly 240 such as is used in the drills described in
Figures 12 and 13. It includes a photosensor 241, a support
means 242, and a tripod base 244. Photosensor means 241 is
a conventional photocell with appropriate means to provide a
signal in response to a change in marginal light thereon.
Connector 246 electrically connects photosensor means 241 to
a remotely located control unit not shown.
Figure 6 shows a light source designed to provide
illumination for photosensor 241 of Figure 5 in marginal
3o
s~
light conditions. This light source, generally designated
1 247, comprises a lamp 248, a support 250, a tripod base 252,
and a power cord 254 leading to a power source, not shown.
Figure 7 schematically depicts an electrical
control circuit for use with the stimuli battery means 110
of the type shown in Figure 3. As shown, a signal from a
trigger transmitter 136 is received by a resistor 137 and
transmitted to a cyclic switch 134. The cyclic switch 134
can be in the form of a cyclic generator providing six
discrete output signals at a frequency of approximately 10
KHz. The cyclic switch 134 is connected through lines 140
to individual one shot trigger circuits 142, 144, 146, 148,
150 and 152, each of which is adapted to provide an output
signal of predetermined duration when triggered by a signal
from the cyclic switch 134. The output signals are utilized
to effect ignition of the lamps 112, 114, 116, 118, 120 and
122, respectively. Each of the one shot trigger circuits
includes means, such as the illustrated adjustable resistor,
to provide for user control of the time duration of the
output signals from the one shot triggers, and hence the
duration of lamp ignition. The termination of the output
signal from the one shot trigger circuits is utilized to
activate an audio signal, indicating that the period during
which a predetermined movement pattern should have been
completed has expired. Desirably the circuit also includes
means such as logic circuit 156 to provide for user
controlled disablement of particular lamps in accord with
the nature of the movement patterns being utilized for
training.
;75~
A preferred commercial embodiment of the present
1 invention has been designed to have general applicability to
many training programs in different sports, or in
rehabilitation and general health and fitness. The
preferred embodiment is designed as a portable unit which
unfolds, similar to a traveling case, into an upper section
300, Figure 8, having a top display panel, which may or may
not be separable from the bottom section 302, Figure 9, of
the unit with appropriate electrical connections thereto.
The unit is microprocessor controlled and programmable, as
described in greater detail hereinbelow. The top display
panel provides an array of six (6) high intensity lamps 304
that are strobed on/off in a pre-programmed sequence as
dictated by the program number indicated by the
documentation, and selected via a numeric data entry keypad,
and a loudspeaker 306. The time that each lamp is
illuminated, as well as the pause time between lamp strobes
is also a pre-programmed parameter set for the selected
program number, but these parameters can be changed and
reprogrammed as described in greater detail hereinbelow.
The control system, which is microprocessor
controlled and programmable is mounted in the bottom section
302, Figure 9, along with a control and programming keypad
308 of control keys, three (alternative embodiments might
incorporate four or more) LED seven segment digit displays
310, an external ROM (XROM) memory cartridge port 312, a
microprocessor expansion port 314, a volume control 316, an
external speaker (horn) switch 318, a remote advance unit
and pocket therefor 320, a battery charger unit and pocket
~ ,
)S79
therefor 322, an XROM cartrdige storage pocket 324 wherein
l several XROM program cartridges can be stored, and a
screwdriver 326 for assistance in ser~icing the unit, such
as in changing fuses or bulbs.
The keypad 308 allows the user to vary the on/off
times as well as the pause times in any selected program
drill for any individual or multiple numbers of lamps by
simply entering the desired times. This feature allows the
user to custom tailor each pre-programmed training drill to
the individual talents/progress of the person in training.
The design of the unit accomodates the development
environment as well as the end user environment. The
development environment is enhar.ced by allowing the system
training program developers to set the various sequences of
drills as well as default timing periods that are used to
generate the final programs that are contained in response
training drill cartridges. The user enviroment allows the
selection of these program sequences via the keypad, and
_ allows for selective alteration and reprogramming of the
default lamp/pause timing periods by the user.
The base system is equipped with the basic
response training programs in an external ROM (XROM) memory
memory cartridge plugged into port 312, and is also designed
with an expansion port 314 that allows the user to plug in
subsequently developed program and/or feature enhancements
as offered by the manufacturer. These subsequent programs
and/or feature enhancements will be available in cartridge
type devices that will simply plug into the expansion port
314.
3o
~Z6~?S79
Some of the programs and/or feature enhancements
1 that can be made available through the expansion port
include the following:
. 1. Drill sequence cartridges- drill cartridges
that contain pre-programmed drill sequences that are
specifically designed for a particular sport, function
~ within a sport, weakness correction, rehabilitation
exercise, etc. For example, individual cartridges may be
offered that offer specific movements to improve a weakness
in a particular type of commonly required movement for a
sport, such as a deep baseline backhand in tennis, etc.
2. Timing measurement and plotting- a slave
microprocessor controlled device may be added via the plug-
in expansion port. Pressure sensitive mats, photoelectric
beams, motion detection sensors, etc., measure the actual
time that an athlete takes to per^orm the required movement.
These reaction times are stored for subsequent retrieval,
computer analysis, charting, etc. to enhance and/or revise a
training pro~ram based upon the available performance
analysis.
3. Voice enhanced coaching- voice synthesis, in
addition to the basic voice systhesis that is part of the
base system, can be added via the expansion port to provide
prompting, tutoring, coaching, etc. to the user during the
execution of the drill sequences. For example, if a common
mistake during the performance of a particular movement is
the incomplete turning of the hips to properly prepare for a
tennis backhand, the start system could remind the user
(much the same way as a personal coach would) to perform the
~IL260~79 ~`
movement using the correct technique. This feature would be
1 implemented via the voice synthesis module, under program
control.
The manufacturer developed sequences, as well as
the applications software are stoxed in volatile memory, and
allow for o~er-writing in the operation of the
mlcroprocessor.
All user interaction with the system is by the
keypad/display module illustrated in detail in Figure 9.
The elements of the unit, which are primarily elements of
this module and their major functions are as follows.
1. Numeric display 310 this is a three or four
disit display that indicates the numeric entries as entered
by the con-trol keys on the keypad.
a) The selected preprogrammed drill sequence
number (00-99) that is presently being run by the unit.
b) The drill duration time, which includes the
~arm-up, exercise, and cool-down times.
- c) The timing associated with the lamp strobe-
on time, or the lamp strobe off (pause) time. The pause
time is a global parameter that is valid for all pauses, and
is not individually selectable per lamp.
2. START/STOP- This key alternately initiates and
terminates the automatic pre-programmed or user modified
drill sequence.
3. LA~lP- This key allows the user to select the
lamp or lamps whose strobe time is to be modified via the
TIMER key and the numeric data entry keys, or via the 5%
faster/5~ slower keys, the lamp(s) selected for timing
3o
~2~i~57~
-27-
modification are indicate~ by -the nfmeric display.
l 4. PR~G (program)- This key allows the user to
select the pre-programmed sequence in the XROM that is to
entered via the numeric date entry keys. Each XROM
cartridge contains approximately thirty separate sequence
drills in memory.
5. PAUSE- This key allows the user to set the
global pause time (the off time of each lamp in a sequence).
6. TIMER- This key when used in the proper
sequence with the lamp select (LA~5P) key allows the user to
alter the on (strobe) time of the lamp(s) selected for
odification, when used with the DUR key allows the
selection of duration time, and when used with the PAUSE key
allows selection of the global pause time. The times are
entered via the numeric data entry keypad. The least
significant digit provides resolution to l/lOOth of a
second.
8. E~TER- This key is used subsequent to any
numeric entry to confirm the entry into the microprocessor.
9. ~LEAR- This key is used to erase any numeric
data entry (prior to entry) and/or to edit an erroneous
selection.
10. Lamp Field- The lamp array provides six (6)
high intensity lamps 304 that will blink as indicated by the
program drill selected for training.
11. f~udio Output- The volume control 316 controls
an internally located speech/sound synthesis system
including an amplifier, a speaker 306, a speech synthesis
processor, and speech/sound PROM containing digitally
3o
~26~79
encoded speech/sound data, with the circuit chips being
1 connected together in6a standard fashion as is well known
and developed in the voice synthesizer arts to provide the
following functions.
a) Generation of a tone in synchronism with the
off (pause) time of each sequenced lamp, thereby providing
- the user with instant audible feedback to determine if the
particular movement was performed within the program alloted
time. It has been observed that an additional benefit to
the tone feedback is the stimulation of game situation
reactions. The user, tending to positive feedback and
reinforcement, is challenged by the system in much the same
way as in an actual game situation.
- b) Speech synthesized prompting of the user to
indicate, for example:
(1) System status, diagnostic failures;
(2) Operator error in selecting or entering
the parameters for setting up or running a drill sequence;
_ (3) Next expected key entry;
(4) Notification of the start or completion
time of various program segments that comprise a complete
drill.
12. 5%F (5% faster)- This key causes either all of
the lamps in a sequence, the selected lamp(s), or the pause
timer to run at a five (5) percent faster rate. Multiple
operations of this key will increment the timing reduction
by 5% for each key operation.
13. 5%S (5% slower)- The same as above (~12)
except that the sequence will run slower.
3o
-29-
7~
14. DUR Idu ~ nI- This key allows the user to
1 specify the time duration of the particular training program
drill selected by the user.
15. MOD (modify)- This key is used in conjunction
with several other keys to alert the system that the user
wishes to modify certain parameters of the training program.
16. FO (BEG) (beginner)- This is a function key
which initially sets the selec~ted training program from the
XROM memory to the beginner level.
17. Fl (INT) (intermediate)- This is a function
key which initially sets the selected training program to
the intermediate level.
18. F2 (ADV) (advanced)- This is a function key
which initially sets the selected training program to the
advanced level.
19. All LAMPS- This key allows the user to specify
all lamps for timing modification, as opposed to individual
lamps via the LAMP key.
20. CANCEL WARM UP- This key allows the user to
cancel the warm up period for timing modification/entry.
210 POWER ON- This switch applies power to the
circuitry of the unit, after which the processor then
maintains control over power to the system.
22. POWER OFF- This switch terminates power to the
unit, and is a separate switch because of the processor
control over the power.
23. REMOTE- This switch allows the user to step
the selected program via the wireless remote advance coaches
module or a wire connected foot switch.
-30-
~L2~
The START system provides the following basic
1 features in an external ROM (XROM) module plugged into port
31~:
1. Seven random lamp sequences that can be
selected as pre-programmed sequence drill numbers 01-10.
The number of lamps used in each sequence will correspond to
the sequence number with the exception of 07 e.g. Seq. ~02
will use two lamps that will flash in a random pattern. The
07 drill number will be an alternate five lamp pattern.
2. Forty four or more preprogrammed sequences
that are selected by entering the numbers via the numeric
keypad. The program drill corresponds to those nomenclated
on the training documentation and will run from 11 to 50.
3 . A preprogrammed time period (approx. 15
secs.) that delays the start of any user selected drill
until the timer has expired, thereby affording the user the
opportunity to position him/herself prior to the start of
the drill.
~. A preprogrammed warm-up and cool-down
sequence that precedes and follows, respectively, each
selected sequence. As noted above, the warm-up period is
cancellable by the user.~ The warm-up and cool-down
durations are automatically set by the system in direct
relationship to the drill duration (DUR) time set for the
-- particular selected program.
- 25 Figure 10 is a plan view of a preferred embodiment
of an exercise mat 340 developed for use in association with
the START system, particularly for rehabilitation programs
and in the measurement of timed responses. The training mat
-
-31-
~6~5~
has the upper surface thereof marked with areas of position
l 342 and areas of response 344. The training mat is
generally rectangular in shape, and is prefereably square,
and the marked areas of response 344 are arranged in a
pattern around the periphery thereof, with the marked areas
of position 342, being marked integrally therein. In this
design, touch pads 345 can be positioned beneath different
marked areas of response on the mat, or can be integrally
constructed therein, such that a person orients himself with
respect to a marked area of position, and then reacts to
~ input stimulis signals to execute particular movement
patterns, at the end of which the person touches a marked
area of response on the training mat. Moreover, in a
preferred embodiment each side of the training mat is
preferably between four and ten feet in length, most
preferably six feet, and includes a minimum of four, a
maximum of sixteen, and in one preferred embodiment six
square areas of response 344 arranged contiguously along the
length thereof. A central square area 346 is thereby
delineated on the central area of the training mat inside
the square marked areas of response, and is adapted to
receive one of several different central mat sections, with
one mat section being illustrated in phantom in the drawing,
to be selectively placed centrally on or in the training
mat.
Figure ll is a block diagram of the major
components of a preferred embodiment of a microprocessor
controlled START system. Referring thereto, the START
system includes the following major functional elements, a
3o
..
-32-
~2~579
power supply 350, a microprocessor 352 with address 354,
1 control 356, and data 358 busses, a remote advance and
coaches module 360, lamp drivers 362 and lamps 364, speech
synthesis chips including a processor chip 366 and a speech
PROM chip 368, a keyboard 308 and LED digit displays 310, an
external ROM cartridge 370 and an expansion port 372,
- decoder/latches 374 and bus interfaces 376.
GENERAL ARCHITECTURE
The microprocessor contains both PROM memory that
provides the program execution instructions as well as
certain data constants, and RA~1 memory that contains
variables, registers, etc. that enable various processing
steps and modifications.
The various system devices (lamps, speech
processor, keyboard and displays, etc.) are peripherals to
the microprocessor, whose selection are controlled by the
microprocessor address bus and control bus. Each peripheral
has its own uni~ue address, stored as permanent data in the
_ microprocessor memory. The control bus maintains a read
(RD) function, which is used by the microprocessor to
transfer data to a peripheral device. The data bus 358 is a
bidirectional bus which contains, under program control, the
data that is read from or written to a selected peripheral
device.
To enable a particular function to be energized,
the microprocessor determines the address of the device, and
configures the address bus, which includes placing the
proper address thereon, to perform the device selection.
The data that is to be placed on the data bus is provided by
3o
-33-
6~
the microprocessor for a write function and by a peripheral
1 for a read function. A read or write strobe then causes the
data to be accepted by the appropriate device
~microprocessor or peripheral). In this manner, a number of
bits equal to the data bus size (8) is transferred between
the microprocessor and the peripheral.
So~e devices require all eight (8) bits of data
(e.g. speech synthesis phrase selection), while some require
less than eight (8) bits (e.g. lamps require one bit for
on/off.)
OPERATION
The microprocessor, via the stored program control
logic as described herinbelow, determines the functions to
be performed, the timing requirments, the processing
required, etc.
LAMP CONTROL
When the microprocessor program determines that a
lamp is to be turned on for a specific period of time, it
determines the address of the particular lamp required,
configures the address bus 354, places the appropriate data
on the data bus 358, and issues a write command. The data
is then latched in the decoder latch 374, which turns on the
lamp driver 362 and lamp 364. The microprocessor then
performs the timing function required to accurately time the 25 -lamp on state. When the time expires, the microprocessor
re-addresses the lamp, but now configures different data on
the data bus, which causes the lamp driver/lamp to enter the
opposite, off, state.
-
-34-
~2~ g
SPEECH SYNTHESIS CONTROL
1 When the microprocessor program determines that
the speech processor is to output a tone, a word, or a
phrase, it determines the location in memory of the word(s)
required, configures the address bus 354 to select the
speech processor, places the word location on the data bus
358, and then issues a write command. The speech processor
366 receives and stores the selected word(s) location, and
intereacts with the speech memeory PROM 368 to provide an
analog output that represents the speech data. The PROM 368
contains the Linear Predictive Coded (LPC) speech data as
well as the frequency and the amplitude data required for
each speech output. The filter and amplifier section of the
circuit provides a frequency response over the audio
spectrum that produces a quality voice synthesis over the
loudspeaker 306 and possibly over a remote speaker (HORN).
In one designed embodiment the speech synthesis
technology utilized well known designs incorporating the
National Semiconductor MM54104 DIGITALKFR speech synthesis
processor and INTEL CORP 2764 EPROMS for speech memory
storage.
KEYBOARD SCAN AND DISPLAY INTERFACE
The displays 310 are common cathode seven segment
LED displays that are driven by a decoder driver. The
decoder driver takes a BCD input, and provides an 25 appropriate output configuration to translate this input to
the proper segment drives to display the required character.
These outputs apply a high current drive to all necessary
segments, and the circuit is completed (and displays lit) by
~26~3~79
pulling the common cathode to ground.
1 The keyboard is an XY matrix, which allows a
particular crosspoint to be made when that position on the
matrix is depressed by the operator.
The microprocessor combines the energizing of the
displays with the scanning of the keyboard for operator
input. The displays and keyboard are constantly scanned by
the microprocessor to provide a power saving multiplexing~of
the displays and a continuing scanning of the keyboard for
operator input.
The common cathode of the display is provided ~Tith
the same address as the X (row) location of the keyboard
matrix. Therefore, energizing a display member also results
in energizing the X (row) number of the keyboard.
For any particular scan, the microprocessor
determines the address of the display to be energized (which
is the same X (row) on the keyboard), and determines the
data to be written on that display. The common display
- decoder driver latch address is determined, the address
placed on the address bus 354 , and the data to be displayed
is placed on the data bus 358. A write (WR~ strobe is then
issued which causes this data to be written and stored in
the latch. To energize the LED displays (complete the
circuit), the microprocessor determines which digit display
is to be energized, places that address on the address bus,
places the data to be writen on the data bus, and issues a
write strobe. This causes the selected common cathode to be
energized and latched, as well as the scan input to the
selected X (row) of the keyboard.
3o
-36~
- 12~0579
To determine if a key has been depressed, the
1 microprocessor reads the column (~') output of the keyboard
via the bus interface and places this on the address bus
354. This is decoded and the column data selected for
application to the bidirectional data bus 358. The
microprocessor 352 then issues a read (RD) command which
causes this data to be stored in a bus memory location.
Analysis of this bit pattern allows the microprocessor to
determine if a keyboard crosspoint was made, corresponding
to an operator selector. This scanning operation is
performed at a sufficiently high rate to detect normal
keystrokes as well as to provide a multiplexed output that
is bright and appears nonflickering to the human eye.
EXTERNAL ROM
The e~ternal ROM (XROM) contains the preprogrammed
drill sequence data used to run an operator selected drill.
This design approach provides great fle~ibility in setting
up drills while using the resources of the microprocessor
controlled peripheral devices. The XROM is programmed with
data, in sequence, that allows the microprocessor to perform
the following tasks:
(1) select a lamp;
(2) select a speech synthesizer word/phrase;
(3) select a tone output.
The XROM also contains default timing data for the
following which is used in the exercise program when the
operator does not select and enter aIternative times:
(1) lamp-on time; and
(2) pause time.
3o
~2~
It can be readily seen that by properly encoding
1 the XROM data, the microprocessor can execute numerous types
of drill sequences which can combine the above mentioned
parameters. It can also be observed that the use of plug-in
cartridge XROMS allows a variety of sequence drills to be
developed, equipped and executed with little if any
~ - progra~ning by the user. A variety of plug-in cartridges
can be developed for specific sports, weakness drills,
rehabilitation programs, etc.
When the microprocessor 352 determines that the
user has selected the START/END key, and is thereby
requesting the initiation of a drill sequence, it obtains
the address of the present step to be executed in the XROM,
and places this address on the system address bus 354. The
XROM is then activated, and places the selected data on the
15 data bus 358. The microprocessor 352 then issues a read
command, which causes this data to be stored in the
microprocessor register for interpretation and processing.
_ The XROM storage formats are fixed, so that if a lamp-on
command is read from the XROM, the microprocessor knows that
the next sequential address contains the lamp-on operation
time.
The microprocessor continues the execution of the
XROM instructed drill sequence until the drill operation
time has expired, or until the user stops the drill
manually. It should be noted that each drill sequence is
comprised of a limited finite number of steps (locations) in
the XROM memory. The microprocessor continually cycles
through the steps to perform the drill. However, to achieve
3o
126~)S79
a truly random nature for a drill, the microprocessor does
1 not always start each sequence at the intitial step
(location), but rather starts at some randomly indexed
namable location, as explained further hereinbelow with
reference to figure 18.
The START system preferably is controlled and run
by a single chip microprocessor, and in one embodiment the
particular microprocessor used was the P8749H type chip from
the Intel Corporation which contains an 8-bit Central
Processing Unit, 2Kx8 EPRO~I Program Memory, 128x8 RAM Data
Memory, 27 I/O lines, and an 8-bit Timer/Event Counter.
Details of the architecture and use of this chip are
described in detail in numerous publications by the
manufacturer, including a manual entitle INTEL MCS-48 FAMILY
OF SINGLE CHIP ~lICROCOMPUTERS USER'S MANUAL.
PROGRAM OVERVIEW
Referring to Figures. 12 through 33, the logic
flow charts illustrated therein reveal the major steps of
the program, which is stored in the microprocessor
non-volatile memory, for controlling the operation of the
processor. A program listing of the instruction for the
control of the particular instrument being described herein
is attached to this patent application as an EXHIBIT and
forms a part thereof.
The resident firmware that controls the operation
of the unit can, for the purposes of explanation, be divided
into four major categories. These are: the foreground
task, the background task, the utility subroutines, and the
data tables. It should be noted that although the word
3o
-
12~79
"task" is intermixed throughout this firmware description
1 with the word "program", indeed no true task structure
associated mechanism (i.e. task switching/scheduling) has
been implemented.
The foreground task has as its responsibilities,
hardware and software initialization, start-up device
~ diagnostics, user interaction (including input error
checking and feedback), drill selection and modification,
drill execution, and overall device state control (e.g.
running/paused/idle). This portion of the program performs
its duties by both interacting with the free-running
background task to interface with the hardware environment,
and tracks all time dependent functions as well as calling
upon the various subroutines that exist to carry out their
predetermined assignments.
The functions of these subroutines include:
reseeding of the pseude-random drill index, fetching and
executing selected drill data from the external ROM (XROM),
_ general purpose muliplication by ten, binary to decimal
conversion, speech processor invocation, computation of
"warm-up" and "cool-down" times, user preparation prompting,
crosspage jump execution, service SVC request flag
manipulation (both setting and checking for completion), and
local/remote mode determination. As these routines are
called solely by the foreground program, they can be thought
of as an extension thereof which have been demarcated for
the purpose of saving Program Memory as well as to allow for
their independent development/testing.
The background task, which is functionally
3o
5~
described in greater detail hereinbelow, has as its
l responsibilities, event timer control, I/O execution/timing
control, LED display refreshing, and keyboard scanning and
debouncing.
The data tables, which are located on a special
"page" of Program Memory to maximize look-up speed and
- efficiency, supply sythesized speech address and script
information, keyboard matrix translation information,
present-to-next state transition data, and
warm-up/cool-down duration ratios.
OVERALL OPERATION
In operation, the foreground program is activated
upon power-up, at which time it initializes (Figures 12
through 16) both hardware and software environments to a
known condition. A diagnostic test of the device (LED
display, YROM interface, clock circuitry, speech synthesizer
ans associated filters/amplifier/speaker) is then performed.
Any detected failure causes the user to be notified and the
device to be powered-off barring further unpredictable
operation. If all is operating properly, the program enters
a loop awaiting either the expiration of a watchdog timer
that serves to preserve battery power if the device is left
unattended, or the inputtins of drill selection/modification
commands by the user via the front panel mounted keyboard.
Once a selected drill is running, the foreground task
retrieves the drill steps from the XROM, formulates the
necessary SVC requests, and passes them to the background
task for execution.
At a frequency of lkHz, an interrrupt is generated
-
_al _
~2~0~7~ ~
by the timer/counter circuitry causing suspension of the
1 foreground program and activation of the background program
to check for outstanding or in progress I/O requests, event
timer expiration, keyboard entry, and updating of the LED
displays. Coordination of the two programs is achieved
through the use of the service (SVC) request flags and
shared buffers.
The detection of any event (an expired timer,
keystroke, etc.) by the background task results in the
examination of the current machine state by the foreground
program and the subsequent table-driven change to the next
appropriate state. Referring to Figure 17, the four
possible machine states are O IDLE, 1 ENTRY, 2 MODIFY, and 3
DRILL, which together with the three drill state definition
of WARM-UP, NORk~L, and COOL-DOWN and the five entry mode
classifications of PROGRAkl, MODIFY, DURATION, LAklP and
TIMER serve to keep the foreground program informed at all
times of the ongoing activity as well as the correct
- next-state progression.
This entire process is repeated for each step of
the active drill. In addition, the EXECUTE subroutine will
not, if Remote Operation has been selected, return to the
caller until detection of a Remote Advance signal from the
wireless transmitter/receiver pair.
Modification of the drill duration, lamp (either
individually or all) on-time duration or inter-lamp pause
duration on either an absolute (as entered via the numeric
keypad) or percentage (+/- 5~) basis is handled by the
foreground task by the manipulation of RAM-based timer
registers.
3o
S79
INTERRVPT CLOCK
1 Referring to Figure 18, the interrupt clock is
managed by two routines: the clock initialization and the
interrupt handler. The initialization code sets the clock
interrupt interval and starts the clock. This function is
performed only upon power-up/restart. The clock interrupt
routine is called each time an interrupt is generated by the
real-time clock. The interrupt handler immediately (after
context switching from foreground background) reinitializes
the clock to allow for the generation of the next clock
7 pulse. The interrupt handler then passes control to the
background program via a call to the SYSTEM subroutine.
BACKGROUND TASK - EVENT TIMING
Referring to Figures 19 and 20, once activated by
the interrupt handler, the background program starts its
time management duties by checking the SVC control word for
an outstanding 30 second multiple timing request (e.g.
drill warm~up duration timer). If found, an additional
check is made to determine if this is an initial or a
subsequent request. In the case of the former, the
associated first pass flag is cleared in the SVC control
word, and the .01, 1.0, and 30 second cascaded timers are
initialized. In the case of the latter, the .01, 1.0, and
30 second prescalers are updated (in modulo-N manner) and a
check is made for overall timer expiration. If detected, the
~5 associated request flag is cleared in the SVC control word,
signalling to the foreground program that the event timer
has expired and appropriated action should be taken.
BACKGROUND TASK - I/O CONTROL
IL2~i~S75~
-43-
Referring to Fig~s~~r~ an~ ~1, the background
1 program then assess what (if any) I/0 control is required by
checking the SVC control word for an outstanding pause,
beep, or lamp request. If one (they are mutually exclusive)
is found, an additional check is made to determine if this
is an initial or a subsequent request. In the case of the
- former, the associated first pass flag is cleared in the SVC
control word and the .01 second I/0 prescaler is
initialized. A further test is made to determine if the
request was for a pause which, although treated in a
identical manner up to this point as a beep or lamp request,
requires no actual hardware manipulation and would free the
background task to perform its display and keyboard scanning
functions. A beep or lamp request would instead cause the
background task to interface to the appropriate decoders to
turn the requested device on, skipping the display/keyboard
scznning function in this pass. In the case of the latter
(subsequent request), the .01 second I/0 prescaler is
- updated and checked for expiration. If not yet expired, no
further I/0 control is perfomed, and the background program
continues with its display/keyboard duties. Upon
expiration, the associated request flag is cleared in the
SVC control word as a signal to the foreground program that
the I/0 is completed. In addition, if the request was for a
beep or lamp, the background program simultaneously
interfaces to the appropriate decoders to turn off the
requested device. In any case (pauselbeep/lamp), the
background task advances to the display/keyboard scanning
function.
3o
-44-
0~79
BACKGROUND TASK - DISPLAY CONTROL
1 Referring to Figure 22, the algorithm for driving
the display uses a block of internal RAM as display
registers, with one byte corresponding to each character of
the display. The rapid modifications to the display are
made under .he control of the microprocessor. At each
~ - periodic interval the CPU quickly turns off the display
segment driver, disables the character currently being
displayed, and enables the next character. This sequence is
performed fast enough to ensure that the display characters
seem to be on constantly, with no appearance of flashing or
flickering. A global hardware flag is employed as a "blank
all digits" controller, while individual digits may be
blanked by the w~iting of a special control code into the
corresponding display register.
BACKGROUND TASK - KEYBOARD SCANNING
Referring to Figure 22, as each character of the
dis?lay is turned on, the same signal is used to enable one
row of the keyboard matrix. Any keys in that row which are
being pressed at the time will pass the signal on to one of
several return lines, one corresponding to each column of
the matrix. By reading the state of these control lines and
knowing which row is enabled, it determines which (if any)
keys are down. The scanning algorithm employed requires a
key be down for some number of complete display scans to be
acknowledged. Since the device has been designed for "one
finger" operation, two-key rollever/N-key lockout has been
implemented. When a debounced key has been detected, its
encoded position in the matrix is placed into RAM location
3o
-45-
~2~)5~
"KEYIN". Thereafter the foreground program need only read
1 this shared location repeatedly to determine when a key has
been pressed. The foreground program then frees the buffer
by writing therein a special release code.
MORE DETAILED EXPLANATION OF FIGURES 12-35
Referring to Figure 12, the hardware
initialization as set forth in the top block is performed
automatically upon power-up reset. The system components in
the second block are then initialized. The third block
represents a pause of 500 milliseconds. The last block on
Figure 12 and the top of Figure 13 represents a routine to
light each of the six lamps in turn for 50 milliseconds.
After that, the LED displays are initialized to display a 9,
and the speech synthesizer simultaneously voices "nine" for
~5 seconds. The lower section of Figure 13 represents a
routine wherein that same function is repeated for 8, 7,
etc. until the digit O is reached.
Referring to Figure 14, the LED displays are then
- disabled, and the byte at a given set location in the XROM
cartridge is read out, which byte should correspond to a
test byte pattern. If so, the location in XROM is
incremented for a second test byte pattern. If both test
patterns match, the logic flow continues to Figure 15. If
either of the test patterns do not match, a speech
subroutine is called to vocalize "error", and the system
power is shut off.
Referring to Figure 15, the top blocks therein
represent a routine for proceeding through fourteen
sequential XROM test instructions, after which the remote
3o
input is checked to determine if remote control is
1 indicated. If local control is indicated by the switch on
the control panel, the blink counter is set to 10, and if
remote control is indicated, the blink counter is set to 11.
The routine at the top of Figure 16 causes a
blinking of the LED displays for 250 milliseconds and the
successive decrementing of the blink counter to 0. At that
time, the speech synthesizer is invoked to voice "START is
ready", and the diagnostics are now completed. The system
is then prepared for operation by initializing all flags and
starting the idle counter, which is a power-saving counter
to shut the system off after 10 minutes if no input
commands, such as pressing the START key, are received.
The system then enters the main program loop of
Figure 17, which allows an operator to select a particular
drill and set up all selected parameters of the drill, after
which the operator presses the START key. The top of Figure
17 represents the speech synthesizer being invoked to enable
a key "click" to be heard after each entry, and the idle
counter is reset after each entry.
The right portion of Figure 17 represents 32
different routines corresponding to the possible keystrokes,
the more complicated of which routines are illustrated in
Figures 28 through 35. The middle left of Figure 17
represents four state routines of the system, the 1, 2 and 3
states of which are illustrated in Figures 25, 26 and 27.
The 0 state routine is an idle state, during which the idle
counter is running. The 1 state routine, Figure 25, is a
numeric state routine in which a selected numeric mode is
displayed in accordance with each key entry. The 2 state
3G
-47-
~iL2~i~357~
routine, Figure 26, is a time modify display routine, and
l the 3 state routine Figure 27, is a drill running routine.
After completing one of the four state routines, the routine
of Figure 17 is repeated.
Figure 18 is a high level overview of the
background tacks, and represents the background clock
interrupt routine which serves as the entry and exit
mechanism to the background tasks. Upon receipt of the
real-time clock interrupt (every millisecond) the present
state of the system is stored in memory for later
restoration by selecting alternating sets of registers. The
clock is reloaded with the necessary divisor for subsequent
interrupt generation, and a call is made to the "system"
subroutine to perform all timekeeping functions, keyboard
scanning, LED refreshing and any outstanding I/O.
Upon return from the "system" subroutine, the
clock interrupt routine re-seeds the psudo-random number
generator for use as the starting drill index into the XROM,
- effectively giving the drill program its random nature.
The state of the system is then restored to the
same state as prior to executing the clock interrupt
routine, and the program then returns from the background
tasks of Figure 18, to the main loop of Figure 17.
Figures 19 through 24 represent background tasks
which are performed approximately once every millisecond,
and the logic flow diagrams of Figures 19 through 24 are all
interconnected as shown throughout those Figures, such that
the actual operation of the logic flow is dependent entirely
on the state of the overall system.
3o
-48-
~2~579
Referring to Figure 19, if a timer is on, the
1 system proceeds to the timing routine of Pigure 20, and then
returns back to Figure 19 on input B3 to the same logic
point in Figure 19 as when no timer is on. The routine then
checks if any pause, beep or lamp has been requested, and if
not, proceeds to the keyboard scanning function and LED
display refresh routine of Figure 22. If a request was
present, a check is made as to whether this a first request,
and if not, it proceeds to the Input/Output (I/O) pass
routine of Figure 21. If the request is a first request, a
first pass flag of the requested I/O is cleared so that
subsequent passes merely decrement the associated timer
until time expires. If the I/O request was for a pause, the
routine proceeds to the keyboard scanning and LED refresh
routine of Figure 22, and if not, the data bus is configured
to activate the lamp or beep as requested, and the routine
then exits from the background task routine.
Figure 20 represents the logic flow diagram for a
.01 second counter, a 1.0 second counter, and a 30 second
counter. The microprocessor described herein is an eight
bit machine, and accordingly contiguous bytes are utilized
to obtain the necessary timing resolution. In this routine,
if this is a first pass for the timing request, the
first pass flag is cleared and the .01 sec., 1.0 sec., and
30 sec. prescalers are initialized. The prescalers are then
incremented as shown in this routine, which is fairly
standard in the art.
Figure 21 represents an I/O pass routine for
generally checking the state of the light times, and more
3o
-49-
lZ~579
particularly on resetting the I/0 prescalers, clearing the
1 I/0 request flags, and configuring the data bus to turn off
a lamp or beep as requested, and also is a straiyht forward
routine.
Figure 22 represents the LED display refresh and
keyboard matrix scanner which are interdependent as
~ described hereinabove. In this routine, the n digit display
data is initially obtained, and the inhibit display flag is
then checked. If it is set (i.e. inhibit requested~, the
digit segement display data is replaced by a special "null
data" code which forces the LED decoder driver to turn all
segments off on the selected digit. If not set, the address
bus, control bus and data bus are configured to drive the
LED digit cathode and keyboard row, and then read and
interpret the output from that row of the keyboard. If a
key was depressed, the program proceeds to the key detect
and debouncing routine of Figures 23 and 24, which again is
a fairly standard routine in the art. If a key was
_ depressed, the key row and column are encoded and a scan
flag is set as an indicator that the debounce counter should
be reinitialized upon exit from the background task.
The routine then proceeds to the key detect and
debouncing routine of Figures 23 and 24, depending upon
whether the same key had been p~eviously detected as being
pressed on either inputs G3 or E3 as shown. The key
detecting and debouncing routine of Figures 23 and 24 is a
fairly standard routine, and accordingly is not described in
detail herein. At the end of the routine of Figure 24, the
background routines of Figures 19 through 24 is exited. As
3o
-50-
l~C)S79
noted hereinabove, these background routines are repeated
1 every .001 seconds.
Figures 25, 26 and 27 represent the 01 numeric
display routine, the 02 modify display routine, and the 03
drill running state routines of Figure 17. In the 01
numeric display routine, the number to be displayed is
~ converted into 3 bit decimal numbers, which are then decoded
and drive the LED displays. In the 02 modify display
routine, the modify byte at the modify index is mulitplied
by five, the resultant number is converted into 3 bit
decimal numbers which are then decoded and drive the LED
displays. In the 03 drill running state routine, the status
of a run flag is checked, if it is not set to run, the
routine exits. In re~iew, each XROM cartridge contains a
number of drills, each of which consists of a number of
sequential commands to the end. At the end, a new random
command (Figure 18) is selected, so the drill starts at some
random state in the middle thereof and then proceeds to the
_ end, after which a new random command is entered, etc.,
until the expiration of the drill time period.
Referring to Figures 28 to 38 which represent the
processing of the corresponding keystrokes, an example will
serve to illustrate how the users' requestes to select,
modify, run, pause, and stop a drill are satisfied.
Vpon system initialization (Figures 12-16) the
following default parameters exist: mode-idle, run flag =
running, drill state = warm up, skill level = beginner,
drill duration = 1 minute, and drill # = 1. The user
3o
~:60S79
presses the "advanced" key which is detected, debounced, and
1 passed to the foreground program main loop (Figure 17) by
the background task (Figures 19-24) . A key-jump table
"KEYJTB" causes program execution to resume at "ADV" which
merely changes the skill level to "advancedt' (=2). It can
readily be seen that all of the skill level modifers -
~ - beginner/intermediate/advanced - cause similar
re-assignments of the skill level flag "skill", which serves
to change the SROM index at run time.
The user then decides to forfeit the warm-up
period and does so by pressing the CANCEL WARM-UP KEY
causing the main loop (Figure 17) to direct the program to
cancel the ~arm-up. (Figure 29, case Xl9). A test is then
made for the valid modes, idle or drill, which permit the
cancellation of the warm-up drill by changing the drill
state from "warm-up" to "normal".
Next the user decides to select drill $4 from the
XRO~I which he does by first depressing the "program" key
forcing an exit from the main program loop to the "prog"
routine . A test is then made for the valid current mode of
"idle", which permits the "prog" routine to prepare for
subsequent entry of the drill ~ as follows. The minimum and
maximum drill X limits are set, the program mode is changed
from "idle" to "entry", the entry type flag is set to
"program", and the temporary digit entry number is set to 0.
The user then enters the digit ~ from the keyboard, causing
~L26~79
execution to resume at the numeric processor "four", which
1 like its counterparts "zero...nine", change the temporary
digit entry number and test for the valid mode of "entry".
Numeric entries of more than one digit would simply cause
the previous entry to be adjusted through multiplication by
ten and the result added to ~he entered digit. In this
manner a maximum of three digits may be processed, with a
digit counter incremented upon receipt of each digit, and
the background task displaying the running total (in the
example "004") via the routine in Figure 22.
The user must then terminate his numeric entry by
depressing the "enter" key, forcing the main loop to pass
control to the "enter" program. A test is made for the
valid "entry" mode, which if satisfied causes an additional
limit check of the entered value as per the minimum and
maximum numbers mentioned above. Pinally, the "enter"
program decides which field (drill/lamp/ duration/timer) is
to be replaced with the entered value based on the flag
- previously set to "program". The mode is then reset to
"idle", and the LED inhibit flag set before the main program
loop is re-entered. Note that at any time prior to pressing
the "enter" key the user can delete the current numeric
entry by pressing the "clear" key which invokes the "clear"
routine to reset the temporary digit entry number to zero.
Next the user decides he would like to extend the
"on time" of all the lamps in the selected drill by 10~.
This is done by first pressing the "modify" key, causing the
3o
126~
main loop to transfer control to the "modify" routine. This
1 routine checks that the current mode is "idle" and changes
it to "modify". Depressing the "all lamps" key transfers
control to the all lamps routine, which points the modify
index to the "all lamps" field. It can be seen that the
time/pause/lamp modifier keys work in similar manner...
manipulating the modify index appropriately. The 10%
adjustment can then be made by successive depressions of the
"+5%" key. A test is made for the valid "modify" mode and,
if passed, the "all lamps" field pointed to by the modify
index is incremented twice for later adjustment of the
lamp-on times. The "-5%" mechanism is identical, except
that it succesively decrements the addressed field.
Continuing our hypothetical example, the user then
decides to start the selected drill (~4) by pressing the
"start/stop" key causing the main loop to branch to the
"start" routine. Here a test is made to see if the mode is
already set to "drill" in which case the request would have
been interrpreted as "stop" and the mode changed to "idle".
Since it is not, the "start" routine computes the XROM drill
pointers based upon drill ~ and skill level and adjusts the
starting step index based upon the random number seed. The
mode is then changed to "drill" and the run/pause flag
is set to "run". The system commands contained in the XROM
are then executed to allow for introductory speech,
instructions, etc. and the user is given an opportunity to
3o
-54-
579
position him/herself by virtue of an audible countdown
1 followed by the words "ready, set, go". The selected drill
is now executed, step by step, as shown in Figure 27. The
user may elect to temporarily suspend the drill by pressing
the "pause" key, invoking the "pause" routine causing the
run flag to be toggled from "run" to "pause" (and
subsequently backi to "run"), which informs the drill running
routine of Figure 27 to forego execution of the next drill
step. The drill then continues running in this manner until
stopped by the user as mentioned above, or upon expiration
of the timer as shown in Figure 17.
While several embodiments and variations of the
present invention for a system for technique and accelerated
reaction training are described in detail herein, it should
be apparent that the disclosure and teachings of the present
1~ invention wi~l suggest many alternative designs to those
skilled in the art.
3o