Information
-
Patent Grant
-
6247994
-
Patent Number
6,247,994
-
Date Filed
Wednesday, February 11, 199826 years ago
-
Date Issued
Tuesday, June 19, 200123 years ago
-
Inventors
-
Original Assignees
-
Examiners
- Martin-Wallace; Valencia
- Nguyen; Kim T.
Agents
- Fulwider Patton Lee & Utecht, LLP
- Roston; Ellsworth R.
-
CPC
-
US Classifications
Field of Search
US
- 446 456
- 446 431
- 446 441
- 446 444
- 446 454
- 446 457
- 446 460
- 446 465
- 446 470
- 463 40
- 463 58
- 463 62
- 463 63
- 463 39
-
International Classifications
-
Abstract
A system and method for controlling toy vehicles has a plurality of pads coupled to a central station. Switches in the pads may be closed to select toy vehicles and the operation of motors for moving the vehicles forwardly, rearwardly, to the left and to the right and moving upwardly and downwardly a receptacle or bin for holding transportable elements (e.g. marbles). The pads may be set in a mode to allow sharing of a vehicle by more than one pad. The pads are connected by wires to the central station, and may be interrogated selectively, sequentially or simultaneously by the central station. The central station forms packets of signals representative of the switch closures of the interrogated pads, and transmits the packets over a modulated carrier frequency to receivers in the vehicles. Each of the packets includes a binary signal addressing the vehicle selected by the pad whose switch closures are represented by the packet of data. The central station prioritizes the transmission of the packets to improve vehicle control. An accessory, or a second central station, may be coupled to a smart port of the first central station. When the pads are interrogated by the central station, the signals from the pads are routed to the accessory or second central station. If the accessory is a smart accessory, the signals are processed by the smart accessory and then sent back to the first central station for transmission to the vehicles. The accessory may draw its operating power from a line connected to the smart port. The pads include a flashback feature that automatically selects a previously selected vehicle. The motors of the vehicles may be energized using pulse width modulation to control the speed of the motor. Signals received by the vehicle are asserted to the motors in the first part of a duty cycle. The vehicles monitor all packets, and decode packets addressed to the vehicle to execute the commands represented by signals contained within the packet. When a packet is determined to be invalid, the vehicle ignores the packet.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates generally to a system for pleasurable use by people of all ages with youthful minds in operating remotely controlled vehicles simultaneously in a somewhat confined area. More specifically, this invention relates to remotely controlled vehicles such as toy dump trucks that can be operated to mimic the operation of similar full-size vehicles having accessories for scooping up material, transferring the material to a hopper, and then automatically activating the hopper to dump the material. In addition, the system also includes a trailer hitch that can be remotely engaged or disengaged by controlling the position of the scooper.
2. Description of the Related Art
Various types of play systems exist, and have existed for some time, in which vehicles are moved on a remotely controlled basis. Examples of a vehicle in such a system are an automobile, airplane, truck or construction vehicle. In most such systems, however, the functions and activities that the vehicle is capable of are limited to moving along a floor or along the ground or in the air.
Other types of play systems involve the use of blocks for building structures. These blocks often include structure for providing an interlocking relation-ship between abutting blocks. In this way, elaborate structures can be created by users with creative minds. Such structures are generally built by hand.
Tests have indicated that there is a desirability, and even a need, for play systems in which vehicles are remotely operated to perform functions other than to move aimlessly along a floor or along the ground. For example, tests have indicated there is a desirability, and even a need, for a play system in which the remotely controlled vehicles can transport elements such as blocks to construct creative structures. There is also a desirability, and even a need for play systems in which a plurality of vehicles can be remotely controlled by switches in hand-held pads to compete against one another in performing a first task or to cooperate in performing a second task such as building a miniature community through the transport of miniature blocks or other suitably sized material.
Co-pending application Ser. No. 08/580,753 filed by John J. Crane on Dec. 29, 1995, for a “Remote Control System for Operating Toys” and assigned of record to the assignee of record of this application discloses and claims a play system for use by people of all ages with youthful minds. It provides for a simultaneous control by each player of an individual one of a plurality of remotely controlled vehicles. This control is provided by the operation by each such player of switches in a hand-held unit or pad, the operation of each switch in such hand-held unit or pad providing a control of a different function in the individual one of the remotely controlled vehicles. Each of the remotely controlled vehicles in the system disclosed an claimed in application Ser. No. 08/580,753 can be operated in a competitive relationship with others of the remotely controlled vehicles or in a co-operative relationship with others of the remotely controlled vehicles. The vehicles can be constructed to pick up and transport elements such as blocks or marbles and to deposit such elements at displaced positions.
When manually closed in one embodiment of the system disclosed and claimed in application Ser. No. 08/580,753, switches in pads control the selection of toy vehicles and the operation of motors for moving the vehicles forwardly, rearwardly, to the left and to the right and moving upwardly and downwardly (and rightwardly and leftwardly) a receptacle for holding transportable elements (e.g. marbles) or blocks.
When sequentially and cyclically interrogated by a central station, each pad in the system disclosed and claimed in application Ser. No. 08/580,753 sends through wires to the central station signals indicating the switch closures in such pad. Such station produces first binary signals addressing the vehicle selected by such pad and second binary signals identifying the control operations in such vehicle. Thereafter the switches identifying in such pad the control operations in such selected vehicle can be closed without closing the switches identifying such vehicle.
The first and second signals for each vehicle in the system disclosed and claimed in application Ser. No. 08/580,753 are transmitted by wireless by the central station to all of the vehicles at a common carrier frequency modulated by the first and second binary signals. The vehicle identified by the transmitted address demodulates the modulating signal and operates its motors in accordance with such demodulation. When the station fails to receive signals from a pad for a particular period of time, the vehicle selected by such pad becomes available for selection by another pad and such pad can select that vehicle or another vehicle.
A cable may couple two (2) central stations (one as a master and the other as a slave) in the system disclosed and claimed in application Ser. No. 08/580,753 so as to increase the number of pads controlling the vehicles. Stationary accessories (e.g. elevator) connected by wires to the central station become operative when selected by the pads.
Co-pending application Ser. No. 08/763,678, filed by William M. Barton, Jr., Peter C. DeAngelis and Paul Eichen on Dec. 11, 1996 for a “System For And Method Of Selectively Providing The Operation Of Toy Vehicles” and assigned of record to the assignee of record of this application discloses and claims a system wherein a key in a vehicle socket closes contacts to reset a vehicle microcontroller to a neutral state. Ribs disposed in a particular pattern in the key operate switches in a particular pattern in the vehicle to provide an address for the vehicle with the vehicle inactive but powered. When the vehicle receives such individual address from an individual one of the pads in a plurality within a first particular time period thereafter, the vehicle is operated by commands from such pad. Such individual pad operates such vehicle as long as such vehicle receives commands from such individual pad within the first particular period after the previous command from such individual pad. During this period, the vehicle has a first illumination to indicate that it is being operated.
When the individual pad of the system disclosed and claimed in application Ser. No. 08/763,678 fails to provide commands to such vehicle within such first particular time period, the vehicle becomes inactive but powered and provides a second illumination. While inactive but powered, the vehicle can be addressed and subsequently commanded by any pad including the individual pad, which thereafter commands the vehicle. The vehicle becomes de-activated and not illuminated if (a) the vehicle is not selected by any of the pads during a second particular time period after becoming inactivated but powered or, alternatively, (b) all of the vehicles become inactivated but powered and none is selected during the second particular period. The vehicle becomes de-activated and not illuminated. The key can thereafter be actuated to operate the vehicle to the inactive but powered state.
Co-pending application Ser. No. 08/696,263, filed by Peter C. DeAngelis on Aug. 13, 1996 for a “System And Method Of Controlling The Operation Of Toys” and assigned of record to the assignee of record of this application discloses and claims a system wherein individual ones of pads remotely control the operation of selective ones of vehicles. In each pad, (a) at least a first control provides for the selection of one of the vehicles, (b) second controls provide for the movement of the selected vehicle and (c) third controls provide for the operation of working members (e.g. pivotable bins) in the selected vehicle. Each pad provides a carrier signal, preferably common with the carrier signals from the other pads. Each pad modulates the carrier signal in accordance with the operation of the pad controls. The first control in each pad provides an address distinctive to the selected one of the vehicles and modulates the carrier signal in accordance with such address.
Each pad of the system disclosed and claimed in application Ser. No. 08/696,263 sends the modulated carrier signals to the vehicles in a pseudo random pattern, different for each pad, with respect to time. Each vehicle demodulates the carrier signals to recover the address distinctive to such vehicle. Each vehicle then provides a movement of such vehicle and an operation of the working members in such vehicle in accordance with the modulations provided in the carrier signal by the operation of the second and third controls in the pads selecting such vehicle. Each vehicle is controlled by an individual one of the pads for the time period that such pad sends control signals to such vehicle within a particular period of time from the last transmission of such control signals to such vehicle. Thereafter such vehicle can be selected by such pad or by another pad.
What has been needed, and heretofore unavailable, is a play system including vehicles that are capable of being remotely operated to accomplish tasks such as lifting, scooping, dumping, leveling and hauling suitably sized materials such as marbles or small blocks, thus providing a person having a youthful mind with opportunities for realistic play and enjoyment.
SUMMARY OF THE INVENTION
Briefly and in general terms, the present invention provides a new and improved play system for use by people of all ages with youthful minds. It provides for simultaneous control by each player of an individual one of a plurality of remotely controlled vehicles. This control is provided by the operation by each such player of switches in a hand-held unit or pad, the operation of each switch in such hand-held unit providing a control of a different function in the individual one of the remotely controlled vehicles. Each of the remotely controlled vehicles in the system of this invention can be operated in a competitive relationship with others of the remotely controlled vehicles or in a co-operative relationship with others of the remotely controlled vehicles. The vehicles can be constructed to pick up and transport elements such as blocks or marbles and to deposit such elements at displaced positions.
More specifically, when manually closed in one embodiment of the invention, switches in pads control the selection of toy vehicles and the operation of motors for moving the vehicles forwardly, rearwardly, to the left and to the right, and moving upwardly and downwardly a receptacle or bin for holding transportable elements (e.g. marbles).
The pads may be interrogated by a central station in either a sequential or parallel manner, the pads sending signals representative of switch closures in the pad to the central station over wires. The central station receives the signals from the pad, and forms packets of data to be transmitted over radio frequencies to receivers in the toy vehicles. The central station forms the packet to have a first binary signal addressing the vehicle selected by such pad and a second binary signal identifying the control operation in such vehicle.
The packets of data formed by the central station are transmitted by wireless to all of the vehicles at a common carrier frequency modulated by the first and second binary signals. The vehicle identified by the transmitted address demodulates the modulating signals and operates its motors in accordance with such demodulation. When the station fails to receive signals from a pad for a particular period of time, the vehicle selected by such pad becomes available for selection by another pad and such pad can select that vehicle or another vehicle.
The pads also include a switch to set the pad into a mode wherein a second pad may also select and control the vehicle selected by the first pad. Another novel aspect of the present invention is the inclusion of a flashback capability that may also be sensitive to the setting of the mode of a pad. When a pad has been de-selected because the central station has failed to receive commands from the pad for a particular period of time, pushing any button on the de-selected pad will cause the central station to attempt to select the last vehicle controlled by the pad. If this attempt fails because the vehicle is already selected by another pad, and that pad's mode is not set to allowing sharing of control of the vehicle, the central station attempts to select the second to last vehicle controlled by the de-selected pad. If this second attempt fails, the central station may automatically to attempt to select each of the toy vehicles in sequence until one such vehicle has been selected. When the mode switch of the pad of a vehicle that is already selected is set in the control sharing mode, the vehicle may be automatically selected by the de-selected pad.
When a vehicle has received no packets of data addressed to it for a particular time, the vehicle may enter a powered, but inactive state. The receiver of the vehicle may remain in the powered, but inactive state until it receives at least two identical commands addressed to the particular vehicle.
A novel aspect of the present invention is the wiring and programmable logic device used to couple the pad to the central station. All of the signals transmitted by the pads and central station between the pads and central station are transmitted over only three wires. The particular arrangement of wires allows all of the pads connected to the central station to be interrogated either simultaneously or sequentially, and for signals to be sent to the pads by the central station selectively. The programmable logic in the pads includes shift registers for shifting the status of switch closures to the central station over the three wires, and also for shifting signals received from the central station to a bank of light emitting diodes to update the status of the light emitting diodes.
In another aspect of the invention, the central station includes a smart port. In this arrangement, all of the signals from the pads may be routed through the smart port to an accessory connected to the smart port by a cable. In one embodiment, this accessory may be another central station, such that the second central station is a slave to the first central station to increase the number of pads controlling the vehicles. In another embodiment, this accessory may operate upon the signals received through the smart port before returning the altered signals to the central station to be transmitted to the vehicles. In this manner, the actions of one or more, and also all, of the switches of the pads may be reprogrammed to cause the vehicle or other toy selected by the pad to carry out actions different from the actions normally controlled by the pads. This allows for future upgrading of the toy vehicles or the use of other radio controlled toys, including changing the game environment to include other types of competitive or co-operative play, such as a hockey game without replacing the central station.
In a further aspect of the invention, the central station provides signals to an accessory connected to a smart port in a particular sequence. The central station is capable of determining whether a smart accessory capable of acting upon the signals, and returning the signals to the central station, is connected to the smart port. When the central station determines that a smart accessory is connected to the smart port, the central station expects to receive signals from the smart accessory, and transmits those received signals to vehicles controlled by the central station. When the central station determines that a dumb accessory is connected to the smart port, the central station provides signals to the dumb accessory in a particular sequence. The dumb accessory extracts selected signals from the particular sequence of signals and processes the extracted signals to provide an output.
In yet another aspect of the invention, the smart port of the central station comprises a plurality of lines for communicating signals between the central station and an accessory connected to the smart port. A selected one of the plurality of lines may communicate signals and also be maintained at a level sufficient to provide operating power to the accessory. The accessory extracts power from the selected line, and may reduce the voltage of the signals carried by the line so that the signals are at a voltage that will not cause damage to electrical or electronic components in the auxiliary accessory.
In another aspect of the invention, when one of the switches controlling the motion of one or more of the motors of a selected vehicle is actuated for a particular time, the motor will be controlled at a first speed upon actuation of the switch, and then at a second speed if the actuation exceeds the particular time. Actuating the switch even longer may energize the motor to run at a third speed. If another of the motors of the vehicle are energized by actuating a switch on the pad, the other motor will start up at the same speed as the motor that is already energized.
In another aspect of the present invention, the motors of the vehicle may be driven by pulse width modulated signals for a particular duty cycle. When such a motor is first energized, the pulse width modulation signal is asserted during a first portion of the duty cycle. This ensures that switch actuations on the pad to control the motion of the vehicle selected by the pad will be effectuated as rapidly as possible, thus enhancing the ability of a user to control the vehicle in tight positions.
In still another aspect of the present invention, the central station prioritizes the transmission of packets to the vehicles to reduce lag time between switch actuation and vehicle motion. In this aspect, the central station continuously and sequentially transmits packets to all of the vehicles, including packets having no signals. This stream of packets is interpreted by the receivers of the vehicle as representing a powered on state for the central station, even if no signals to control any of the motors of any of the vehicles is included in the packets. When a switch is actuated on a pad, the central station forms a packet of data to be transmitted to the vehicle representative of the state of the switch closures of such pad. This packet is inserted into the stream of continuously transmitted packets at the earliest possible time, even if the packet is inserted out of sequential order.
These and other features and advantages of the invention will become apparent from the following detailed description when taken in conjunction with the accompanying exemplary drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1
is a schematic diagram, primarily in block form, of a system constituting one embodiment of the invention;
FIG. 2
is a schematic diagram, primarily in block form, of the different features in a pad included in the system shown in
FIG. 1
;
FIG. 3
is a schematic diagram, primarily in block form of the different features included in a central station included in the system shown in
FIG. 1
;
FIG. 4
is a schematic diagram, primarily in block form, of the different features in a vehicle included in the system shown in
FIG. 1
;
FIG. 5
is a block diagram illustrating an arrangement of binary bits within a packet transmitted by the radio frequency transmitter of
FIG. 2
;
FIG. 6
is a schematic diagram illustrating a representative timing of a signal transition in (a) a bit having a value of binary 0 and (b) a bit having a value of binary 1 of bits in the packet shown in
FIG. 5
;
FIG. 7
is a schematic diagram, primarily in block form, showing the details of a plurality of signal lines connecting the pads to the central station;
FIG. 8
is a schematic diagram, primarily in block form, of a programmable logic device in the pads; and
FIG. 9
is a schematic diagram illustrating timing and transition of signals within the programmable logic device of
FIG. 8
;
FIG. 10
is a schematic diagram, primarily in block form, of a serial interface connecting an accessory to the central station of
FIG. 1
;
FIG. 11
is a schematic diagram illustrating timing and transition of signals within the serial interface of the
FIG. 10
; and
FIG. 12
is a table depicting an arrangement of binary bits within bytes of information communicated to an accessory by the microprocessor of the central station.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
The drawings will now be described in more detail, wherein like referenced numerals refer to like or corresponding elements among the several drawings. Moreover, reference may be made to U.S. patent applications Ser. No. 08/580,753, Ser. No. 08/763,678 and Ser. No. 08/696,263, which are hereby incorporated in their entirety.
Referring now to
FIG. 1
, one embodiment of a system
10
is generally depicted for controlling the selection and operation of a plurality of toy vehicles. Illustrative examples of toy vehicles constitute a dump truck generally indicated at
12
, a fork lift generally indicated at
14
, a skip loader generally indicated at
16
and another form of skip loader generally indicated at
17
. The toy vehicles such as the dump truck
12
, the fork lift
14
and the skip loaders
16
and
17
are simplified versions of commercial units performing function similar to those performed by the toy vehicles
12
,
14
,
16
and
17
. For example, the dump truck
12
may include a working or transport member such as a pivotable bin or container
18
; the fork lift
14
may include a working or transport member such as a pivotable platform or grasping arm
20
; the skip loader
16
may include a working or transport member such as a pivotable bin or container
22
disposed at the front end of the skip loader; and the skip loader
17
may include a working or transport member such as a pivotable bin or container
23
disposed at the rear end of the skip loader. The working or transport members such as the pivotable bin or container
18
, the pivotable platform
20
and the pivotable bins or containers
22
and
23
are constructed to carry storable and/or transportable elements such as blocks
24
or marbles
26
shown schematically in FIG.
1
.
It will be understood that the toy vehicles
12
,
14
,
16
and
17
are for illustration purposes only, and a variety of alternative forms are possible. Such alternative forms may be, for example only, and not limited to, various combinations of features. For example, a transport member such as the pivotable bin or container
22
, here shown as a scoop
27
, such as is disposed at the front end of the skip loader
16
may alternatively be disposed at the front end of a dump truck
25
such that the transport member or scoop
27
may pick up and/or transport storable and/or transportable elements and/or drop the storable and/or transportable elements into the pivotable bin or container
29
of the dump truck
25
.
Each of the toy vehicles
12
,
14
,
16
,
17
and
25
may also have a trailer hitch
19
mounted on the front or rear of the vehicle for hooking a hitch member of another vehicle, such as a trailer (not shown) to the hitch
19
of the vehicles
12
,
14
,
16
,
17
and
25
. The trailer hitch
19
may be remotely controlled in similar fashion to the working or transport member of the toy vehicle. Alternatively, the trailer hitch may be mechanically interconnected with the working or transport member such that remote control of the working or transport member also controls the trailer hitch
19
.
Each of the dump trucks
12
and
25
, the fork lift
14
and the skip loaders
16
and
17
may include a plurality of motors. For example, the dump truck
12
may include a pair of reversible motors
28
and
30
(
FIG. 4
) operable to move the dump truck forwardly, rearwardly, to the right and to the left. The motor
28
controls the movement of the front and rear left wheels and the motor
30
controls the movement of the front and rear right wheels.
When the motors
28
and
30
are simultaneously operated in one direction, the dump truck
12
moves forwardly. The vehicle
12
moves rearwardly when the motors
28
and
30
are moved in the opposite direction. The vehicle
12
turns toward the right when the motor
30
is operated without simultaneous operation of the motor
28
. The vehicle
12
turns toward the right when the motor
28
is operated without a simultaneous operation of the motor
30
.
The vehicle
12
spins to the right when the motor
30
operates to move the vehicle forwardly at the same time that the motor
28
operates to move the vehicle rearwardly. The vehicle
12
spins to the left when the motors
28
,
30
are operated in directions opposite to the operations of the motors in spinning the vehicle to the right.
Another reversible motor
32
in the dump truck
12
operates in one direction to pivot the bin
18
upwardly and in the other direction to pivot the bin downwardly. Alternatively, in the embodiment of the dump truck having a scoop
27
disposed at the front of the dump truck
25
, the reversible motor
32
operates to lift the scoop
27
upwardly and then rearwardly to lift, transport, and then spill the contents of the scoop
27
into the pivotable bin or container
29
of the dump truck
25
. Continued rotation of the motor
32
may also operate to then pivot the bin
29
upwardly to spill the contents of the bin
29
out of the rear of the bin
29
. In yet another embodiment, continued rotation of the motor
32
may cause the trailer hitch
19
to open. When the motor
32
is operated in the other direction, the trailer hitch
19
closes, the bin
29
pivots downwardly, and the scoop
27
pivots forwardly and downwardly. An additional motor
33
may operate in one direction to turn the bin
29
to the left and in the other direction to turn the bin
29
to the right.
The construction of the motors
28
,
30
,
32
and
33
and the disposition of the motors in the dump trucks
12
and
25
to operate the dump trucks are considered to be well known in the art. The fork lift
14
and the skip loaders
16
and
17
may include motors corresponding to those described above for the dump trucks
12
and
25
.
The system
10
may also include stationary plants or accessories. For example, the system
10
may include a pumping station generally indicated at
34
(
FIG. 1
) for pumping elements such as the marbles
26
through a conduit
36
. The system may also include a conveyor generally indicated at
38
for moving the elements such as the marbles
26
upwardly on a ramp
40
. When the marbles
26
reach the top of the ramp
40
, the elements such as the marbles
26
may fall into the bin
18
in the dump truck
12
or into the bin
22
in the skip loader
16
. For the purposes of this application, the construction of the pumping station
34
and the conveyor
38
may be considered to be within the purview of a person of ordinary skill in the art.
The system
10
may also include a plurality of hand-held pads generally indicated at
42
a
,
42
b
,
42
c
and
42
d
(FIG.
1
). Each of the pads
42
a
,
42
b
,
42
c
and
42
d
may have substantially identical construction. Each of the pads may include a plurality of actuatable buttons. For example, each of the pads may include a 4-way button
44
in the shape of a cross. Each of the different segments in the button
44
is connected to an individual one of a plurality of switches
46
,
48
,
50
and
52
in FIG.
2
.
When the button
44
is depressed at the segment at the top of the button, the switch
46
is closed to obtain the operation of motor
28
and
30
(
FIG. 4
) in moving the selected one of the vehicle
12
forwardly. Similarly, when the segment at the bottom of the button
44
is depressed, the switch
48
is closed to obtain the operation of motors
28
and
30
(
FIG. 4
) in moving the vehicle
12
rearwardly. The selective depression of the right and left segments of the button
44
cause the motors
28
and
30
to operate in turning the selected vehicle toward the right and the left.
It will be appreciated that pairs of segments of the button
44
may be simultaneously depressed. For example, the top and left portions of the button
44
may be simultaneously depressed to obtain a simultaneous movement of the vehicle
12
forwardly and to the left. However, a simultaneous actuation of the top and bottom segments of the button
44
will not have any effect since they represent contradictory commands. This is also true of a simultaneous depression of the left and right segments of the button
44
.
Each of the pads
42
a
,
42
b
,
42
c
and
42
d
may include a button
56
(
FIG. 1
) which is connected to a switch
57
(FIG.
2
). Successive depressions of the button
56
on one of the pads within a particular period of time cause different ones of the stationary accessories or plants such as the pumping station
34
and the conveyor
38
to be energized. For example, a first depression of the button
56
in one of the pads
42
a
,
42
b
,
42
c
and
42
d
may cause the pumping station
34
to be energized and a second depression of the button
56
within the particular period of time in such pad may cause the conveyor
38
to be energized. When other stationary accessories are include in the system
10
, each may be individually energized by depressing the button
56
a selective number of times within the particular period of time. When the button
56
is depressed twice within the particular period of time, the energizing of the pumping station
34
is released and the conveyor
38
is energized. This energizing of a selective one of the stationary accessories occurs at the end of the particular period of time.
A button
58
is provided in each of the pads
42
a
,
42
b
,
42
c
and
42
d
to select one of the vehicles
12
,
14
,
16
and
17
. The individual one of the vehicles
12
,
14
,
16
and
17
selected at any instant by each of the pads
42
a
,
42
b
,
42
c
and
42
d
is dependent upon the number of times that the button is depressed in that pad within a particular period of time. For example, one depression of the button
58
may cause the dump truck
12
to be selected and two sequential selections of the button
58
within the particular period of time may cause the fork lift
14
to be selected.
Every time that the button
58
is actuated or depressed within the particular period of time, a switch
59
(in
FIG. 2
) is closed. The particular period of time for depressing the button
58
may have the same duration as, or a different time than, the particular period of time for depressing the button
56
. An adder is included in the pad
42
to count the number of depressions of the button
58
within the particular period of time. This count is converted into a plurality of binary signals indicating the count. The count is provided at the end of the particular period of time. Each individual count provides for a selection of a different one of the vehicles
12
,
14
,
16
,
17
and
25
. The count representative of the selection of one of the vehicles
12
,
14
,
16
,
17
and
25
may be maintained in a memory, which may be located either in the pads
42
a
,
42
b
,
42
c
and
42
d
, or in the central station
64
.
Buttons
60
a
and
60
b
are also included on each of the pads
42
a
,
42
b
,
42
c
and
42
d
. When depressed, the buttons
60
a
and
60
b
respectively close switches
62
a
and
62
b
in FIG.
2
. The closure of the switch
62
a
is instrumental in producing an operation of the motor
32
in a direction to lift the bin
18
in the dump truck
12
when the dump truck has been selected by the proper number of depressions of the button
58
. In like manner, when the dump truck has been selected by the proper number of depressions of the switch
58
, the closure of the switch
62
b
causes the selective one of the bin
18
in the dump truck
12
, the platform
20
in the fork lift
14
and the bin
22
in the skip loader
16
and the bin
23
in the skip loader
17
to move downwardly as a result of the operation of the motor
32
in the reverse direction. Similarly, where the dump
25
includes a scoop
27
, actuation of switch
62
a
operates motor
32
in a direction to lift the scoop
27
upwardly and then rearwardly, and, where the scoop
27
and the bin
29
are interconnected, causes the bin
29
to pivot upwardly. In like manner, actuation of the switch
62
b
causes the bin
29
to move downwardly, and the scoop
27
to move forwardly and downwardly as a result of the operation of the motor
32
in the reverse direction.
It will be appreciated that other controls may be included in each of the pads
42
a
,
42
b
,
42
c
and
42
d
. For example, buttons
61
a
and
61
b
may be included in each of the pads
42
a
,
42
b
,
42
c
and
42
d
to pivot the bin
18
to the right or left when the vehicle
12
has been selected. Such movements facilitate the ability of the bin
18
to scoop elements such as blocks
24
and marbles
26
upwardly from the floor or ground or from any other position and to subsequently deposit such elements on the floor or ground or any other position. It will be appreciated that different combinations of buttons may be actuated simultaneously to produce different combinations of motions. For example, a bin in a selected one of the vehicles may be moved at the same time that the selected one of the vehicles is moved.
Switch
65
is provided in the pads
42
a
,
42
b
,
42
c
and
42
d
to select the mode of control sharing among the pads
42
a
,
42
b
,
42
c
and
42
d
. As will be described more fully below, when switch
65
is positioned in a first position to set, for example, pad
42
a
in a first mode, the toy vehicle that is selected and energized by the pad
42
a
may be controlled only by actuating the buttons on the pad
42
a
. No other pad, such as pads
42
b
,
42
c
or
42
d
may control the operation of the vehicle selected by pad
42
a
. If, however, the operator of pad
42
a
sets pad
42
a
in a second mode by switching switch
65
to a second position, the toy vehicle, for example dump truck
12
controlled by pad
42
a
may also be controlled by any or all of pads
42
b
,
42
c
or
42
d
. In this manner, the operator using pad
42
a
may grant the operators of any or all of pads
42
b
,
42
c
or
42
b
the ability to control the toy vehicle selected by
42
a
. The operator of pad
42
a
, however, may not control any toy vehicle selected by any other of pads
42
b
,
42
c
or
42
d
unless such other one, or all, of those pads is also set in the second mode by positioning the switch
65
of a particular pad in the second position.
Buttons
47
and
49
are also included on each of the pads
42
a
,
42
b
,
42
c
and
42
d
. When depressed, the button
47
closes switch
53
and button
49
closes switch
51
. The functions of switches
51
and
53
will be described more fully below.
A central station generally indicated at
64
in the
FIG. 1
processes the signals from the individual ones of the pads
42
a
,
42
b
,
42
c
and
42
d
and sends the processed signals to the vehicles
12
,
14
,
16
,
17
and
25
when the button
58
on an individual one of the pads has been depressed to indicate that the information from the individual ones of the pads is to be sent to the vehicles. The transmission may be on a wireless basis from an antenna
68
(
FIG. 1
) in the central station to antennas
69
on the vehicles.
The transmission may be in packets of signals. This transmission causes the selected ones of the vehicles
12
,
14
,
16
,
17
and
25
to perform individual ones of the functions directed by the depression of the different buttons on the individual ones of the pads. When the commands from the individual ones of the pads
42
a
,
42
b
,
42
c
and
42
d
are to pass to the stationary accessories
34
and
38
as a result of the depression of the buttons
56
on the individual ones of the pads, the central station processes the commands and sends signals through cables
70
to the selected ones of the stationary accessories.
FIG. 2
shows the construction of the pad
42
a
in additional detail. It will be appreciated that each of the pads
42
b
,
42
c
and
42
d
may be constructed in a substantially identical manner to that shown in FIG.
2
. As shown in
FIG. 2
, the pad
42
a
includes the switches
46
,
48
,
50
and
52
and the switches
51
,
53
,
57
,
59
,
62
a
,
62
b
,
63
a
,
63
b
and
65
. Buses
74
are shown as directing indications from the switches
46
,
48
,
50
,
51
,
52
,
53
,
57
,
59
,
62
a
,
62
b
,
63
a
,
63
b
and
65
to a microcontroller generally indicated at
76
in FIG.
2
. Buses
78
are shown for directing signals from the microcontroller
76
to the switches.
The microcontroller
76
is shown as including a read only memory (ROM)
80
and a random access memory (RAM)
82
. Such a microcontroller may be considered to be standard in the computing industry. However, the programming in the microcontroller and the information stored in the read only memory
80
and the random access memory
82
are individual to this invention.
The read only memory
80
stores permanent information and the random access memory stores volatile (or impermanent) information. For example, the read only memory
80
may store the sequence in which the different switches in the pad
42
a
provide indications of whether or not they have been closed. The random access memory
82
may receive this sequence from the read only memory
80
and may store indications of whether or not the switches in the particular sequence have been closed for each individual one of the pads
42
a
,
42
b
,
42
c
and
42
d.
The pads
42
a
,
42
b
,
42
c
and
42
d
are respectively connected to the central station
64
by cables
66
a
,
66
b
,
66
c
and
66
d
(FIG.
1
). These cables have, for example, five conductors or lines encased within an exterior protective sheath. It will be apparent that the structure of cables
66
a
,
66
b
,
66
c
and
66
d
, and the functions of that structure, are identical for each of the cables
66
a
,
66
b
,
66
c
and
66
d
. Thus, only the cable
66
a
, and its operation in conjunction with pad
42
a
and the central station
64
, will be described.
The central station provides a clock signal, SCLK to the pad
42
a
over line
86
of cable
66
a
. A second line, line
84
, in cable
66
a
, carries interrogation signals from the central station
64
to the pad
42
a
. The pad
42
a
transmits signals over line
88
(SDATA) of cable
66
a
to the central station
64
in response to a combination of the interrogation signal transmitted by the central station
64
to the pad
42
a
over line
84
and the clock signal transmitted to the pad
42
a
by the central station
64
over line
86
. Thus, only three lines in each one of cables
66
a
,
66
b
,
66
c
and
66
c
are used for interrogation of the pad
42
a
and communication of data by the pad
42
a
to the central station
64
. A more detailed description of the interrogation and data transmission process will be provided below.
A fourth line in cable
66
a
provides electrical power to the pad
42
a
from the central station
64
. A fifth line in cable
66
a
serves as a common ground connection between the pad
42
a
and the central station
64
.
The pad
42
a
in
FIG. 2
receives the interrogating signals from the central station
64
through line
84
. These interrogating signals are not synchronized by clock signals on line
86
. Each of the interrogating signals intended for the pad
42
a
may be identified by an address individual to such pad. When the pad
42
a
receives such interrogating signals, it sends to the central station
64
through line
88
a sequence of signals indicating the status of the successive ones of the switches
46
48
,
50
and
52
and the switches
51
,
53
,
57
,
59
62
a
,
62
b
,
63
a
,
63
b
and
65
. These signals are synchronized by the clock signals on the line
86
. It will be appreciated that the status of each of the switches
57
and
59
probably is the first to be provided in the sequence since these signals indicate the selection of the stationary accessories
34
and
38
and the selection of the vehicles
12
,
14
,
16
,
17
and
25
.
The pads
42
a
,
42
b
,
42
c
and
42
d
include an array of a plurality of light emitting diodes (LED) generally indicated at
93
. These light emitting diodes
93
provide a visual indication of which one of the vehicles
12
,
14
,
16
,
17
and
25
has been selected by the operator of a particular pad. The pads
42
a
,
42
b
,
42
c
and
42
d
may be connected to the central station
64
by plugging the end of the respective one of cables
66
a
,
66
b
,
66
c
and
66
d
into one of the ports on the central station
64
provided for that purpose. When the power is provided to the central station
64
and the system
10
is turned on, the start up state of the system
10
is such that none of the vehicles
12
,
14
,
16
,
17
and
25
is selected by any of the pads
42
a
,
42
b
,
42
c
and
42
d
. Accordingly, the array of light emitting diodes
93
on each of the pads
42
a
,
42
b
,
42
c
and
42
d
may provide an indication on each pad that no vehicle has been selected by the operator of that pad. Such an indication may be, for example, providing a signal to the first individual light emitting diode
93
in the array for a predetermined period of time to light the light emitting diode
93
, removing the signal, causing the lighted light emitting diode to be extinguished, and then providing the signal to the next individual light emitting diode
93
in the array. This process is continued, lighting each of the individual light emitting diodes
93
in turn until all of the light emitting diodes have been illuminated or until button
58
has been depressed, actuating switch
59
to select one of the vehicles
12
,
14
,
16
,
17
and
25
. If all of the light emitting diodes
93
in the array have been illuminated, and the button
58
has not been depressed by the operator, the first light emitting diode
93
in the array will again be illuminated, followed by the second light emitting diode, and so on as described above.
It may also happen that the system
10
is in use by one or more operators at the time an additional operator desires to also use the system, but not all of the pads
42
a
,
42
b
,
42
c
and
42
d
are connected to the central station
64
. Thus, one of the pads
42
a
,
42
b
,
42
c
and
42
d
may need to be connected to the central station while the system
10
is in use to accommodate the additional operator. One advantage of the present invention is that an additional one or more of the pads
42
a
,
42
b
,
42
c
and
42
d
may be connected to the central station
64
while the system
10
is in use without powering down the system
10
. The central station
64
is capable of detecting the additional one or more of the pads
42
a
,
42
b
,
42
c
and
42
d
when it is connected to the central station
64
, initialize the newly connected one or more of the pads
42
a
,
42
b
,
42
c
and
42
d
, and cause the light emitting diodes
93
of the newly connected pad to indicate that none of the vehicles
12
,
14
,
16
,
17
and
25
have been selected by the newly connected pad.
Alternatively, an operator may disconnect one of the pads
42
a
,
42
b
,
42
c
and
42
d
from the central station
64
while the system
10
is in use and others of the pads
42
a
,
42
b
,
42
c
and
42
d
are being used. When the pad is disconnected, the central station
64
automatically detects that the pad is disconnected and transmits a signal to the vehicle selected by the disconnected pad causing the vehicle to indicate that it is now available for selection by another one of the pads
42
a
,
42
b
,
42
c
and
42
d
that remain connected to the central station
64
. When a vehicle is being controlled by more than one pad, such as when one of the pads controlling the vehicle is in the second mode as described previously, disconnection of one of the pads will not affect the control of the vehicle by the remaining, connected pad.
As previously indicated, the pad
42
a
selects one of the vehicles
12
,
14
,
16
,
17
and
25
in accordance with the number of closings of the switch
59
. As the user of the pad
42
a
provides successive actuations or depressions of the button
58
, signals are introduced to a shift register
90
through a line
92
to indicate which one of the vehicles
12
,
14
,
16
,
17
and
25
would be selected if there were no further depressions of the button. Each one of the depressions of the button
58
causes the indication to be shifted to the right in the shift register
90
. Such an indication is provided on an individual one of the plurality of light emitting diodes (LED)
93
. The shifting of the indication in the shift register
90
may be synchronized with a clock signal on a line
95
. Thus, the illuminated one of the light emitting diodes
93
at each instant indicates at that instant the individual one of the vehicles
12
,
14
,
16
,
17
and
25
that the pad
42
a
has selected at such instant.
The central station
64
is shown in additional detail in FIG.
3
. It includes a microcontroller generally indicated at
94
having a read only memory (ROM)
96
and a random access memory (RAM)
98
. As with the memories in the microcontroller
76
in the pad
42
a
, the read only memory
96
stores permanent information and the random access memory
98
stores volatile (or impermanent) information. For example, the read only memory
96
sequentially selects successive ones of the pads
42
a
,
42
b
,
42
c
and
42
d
to be interrogated on a cyclic basis. The read only memory
96
also stores a plurality of addresses each individual to a different one of the vehicles
12
,
14
,
16
,
17
and
25
.
Since the read only memory
96
knows which one of the pads
42
a
,
42
b
,
42
c
and
42
d
is being interrogated at each instant, it knows the individual one of the pads responding at that instant to such interrogation. The read only memory
96
can provide this information to the microcontroller
94
when the microcontroller provides for the transmittal of information to the vehicles
12
,
14
,
16
,
17
and
25
. Alternatively, the microcontroller
76
in the pad
42
a
can provide an address indicating the pad
42
a
when the microcontroller sends the binary signals relating to the status of the switches
46
,
48
,
50
and
52
and the switches
51
,
53
,
57
,
59
,
62
a
,
62
b
,
63
a
,
63
b
and
65
to the central station
64
.
As an example of the information stored in the random access memory
98
in
FIG. 3
, the memory stores information relating to each pairing between an individual one of the pads
42
a
,
42
b
,
42
c
and
42
d
and a selective one of the vehicles
12
,
14
,
16
,
17
and
25
in FIG.
1
and between each individual one of such pads and a selective one of the stationary accessories
34
and
38
. The random access memory
98
also stores the status of the operation of the switches
46
,
48
,
50
and
52
for each pad and the operation of the switches
51
,
53
,
57
,
59
,
62
a
,
62
b
,
63
a
,
63
b
and
65
for each pad.
When the central station
64
receives from the pad
42
a
the signals indicating the closure (or the lack of closure) of the switches
46
,
48
,
50
and
52
and the switches
51
,
53
,
57
,
59
,
62
a
,
62
b
,
63
a
,
63
b
and
65
, the central station retrieves from the read only memory
96
the address of the individual one of the vehicles indicated by the closures of the switch
59
in the pad. The central station may also retrieve the address of the pad
42
a
from the read only memory
96
.
The central station
64
then formulates in binary form a composite address identifying the pad
42
a
and the selected one of the vehicles
12
,
14
,
16
,
17
and
25
and stores this composite address in the random access memory
98
. The central station
64
then provides a packet or sequence of signals in binary form including the composite address and including the status of the opening and closing of each of the switches in the pad
42
a
. This packet or sequence indicates in binary form the status of the closure of each of the switches
46
,
48
,
50
and
52
and the switches
51
,
53
,
57
,
59
,
62
a
,
62
b
,
63
a
,
63
b
and
65
.
Each packet of information including the composite addresses and the switch closure information for the pad
42
a
is introduced through a line
102
(
FIG. 3
) to a radio frequency transmitter
104
in the central station
64
. The radio frequency transmitter
104
is enabled by a signal passing through a line
106
from the microcontroller
94
.
When the radio frequency transmitter
104
receives the enabling signal on the line
106
and the address and data signals on the line
102
, the antenna
68
(also shown in
FIG. 1
) transmits signals to all of the vehicles
12
,
14
,
16
,
17
and
25
. The signals are transmitted to the vehicles
12
,
14
,
16
,
17
and
25
at the same frequency. In a preferred embodiment, the microcontroller
94
provides enabling signals to the radio frequency transmitter
104
causing the radio frequency transmitter
104
to transmit a continuous stream of packets
200
through the antenna
68
at all times that the central station
64
is powered up, including when none of the pads
42
a
,
42
b
,
42
c
and
42
d
has selected any of the vehicles
12
,
14
,
16
,
17
and
25
. However, the individual one of the vehicles
12
,
14
,
16
,
17
and
25
will only respond to packets of signals from the central station
64
having the address associated with that vehicle.
Referring now to
FIG. 5
, a typical packet or sequence
200
is described. As will described more fully below, the packet
200
is a sequence of signals in binary form that are transmitted by the central station
64
using radio frequencies to receivers included in each of the vehicles
12
,
14
,
16
,
17
and
25
. Each packet
200
of signals transmitted by the central station
64
includes a pair of start bits or signals
202
,
204
. These start bits
202
,
204
are a signal that the following 16 bits of information contain commands in binary form representative of the status of the closure of each of the switches
46
,
48
,
50
and
52
and the switches
51
,
53
,
59
,
62
a
,
62
b
,
63
a
, and
63
b
. Each packet
200
is thus defined by the start bits
202
,
204
, and includes all of the bits beginning with the first start bit
202
and terminating with the sixteenth and last data bit. The packet thus contains a total of eighteen bits. The packets are transmitted continuously by the radio frequency transmitter
104
while the central station is turned on. The first start bit
202
is transmitted immediately after the transmission of the sixteenth data bit. There is no time interval between the end of one packet and the beginning of the next packet transmitted.
One possible sequencing of the binary signals comprising the packet
200
is depicted in FIG.
5
. The first four bits of binary information following the start bits
202
and
204
, bits
206
,
208
,
210
and
212
, form a composite address identifying the selected one of the vehicles
12
,
14
,
16
,
17
and
25
. The four bits of binary information may be either a binary 1or a binary 0. Thus, in the embodiment of the invention using four bits
206
,
208
,
210
and
212
to compose unique vehicle addresses, sixteen unique combinations of binary information that may be used to identify as many as sixteen individual vehicles are possible.
Following the identification bits
206
,
208
,
210
and
212
are 11 bits of binary information that reflect the status of switch closures on the pad
42
a
. For example, when switch
46
is closed by an operator depressing button
44
to control the selected one of the vehicles
12
,
14
,
16
,
17
and
25
to move forward, bit
214
will be a binary 1. If the operator has released button
44
, or depressed button
44
in such a manner that switch
46
is no longer closed, bit
214
will be a binary 0. Similarly, actuating button
44
to close switch
48
results in bit
216
to be a binary 1; actuating switch
50
causes bit
218
to be a binary 1; actuating switch
52
causes bit
220
to be a binary 1. Actuating button
60
a
to lift a bin, for example bin
18
, closes switch
62
a
and causes the value of bit
222
to be a binary 1. Similarly, actuating button
60
b
to lower bin
18
closes switch
62
b
and causes the value of bit
224
to be a binary 1. Actuating button
61
a
to pivot bin
8
to the right, or close the grip of the fork lift
14
closes switch
63
a
and causes the value of bit
226
to be a binary 1. Actuating button
61
b
to pivot bin
18
to the left, or to open the grip of the fork lift
14
closes switch
63
b
and causes the value of bit
228
to be a binary 1.
One unique capability of the system of the present invention is the incorporation of a shift button
49
. When the “shift” button
49
is depressed, actuating switch
51
, in conjunction with the simultaneous depression of one of buttons
60
a
,
60
b
,
61
a
and
61
b
, the microcontroller
94
may interpret the simultaneous depressions of shift button
49
and one of the other buttons as a shifted command, and cause the value of bit
230
to be a binary 1. Similarly, simultaneous depression of button
47
, closing switch
53
, and any one of buttons
60
a
,
60
b
,
61
a
and
61
b
will be interpreted by the microcontroller
94
of the central station
64
as a second shifted command. The microcontroller will then set the value of bit
232
to a binary 1.
The final bit of the packet
200
is bit
236
. Unlike the other data bits in the packet
200
, bit
236
is reserved for use by an accessory connected to the smart port
115
. This bit may be set by the microcontroller in an accessory connected to the smart port
115
to control the microcontroller
94
of the central station
64
to cause an action to take place, such as energizing a sound board to simulate, for example, the firing of a gun or the sounding of a train whistle or a truck horn. As will be more fully described below, various accessories or another central station
64
b
may be connected to the central station
64
through the smart port or adaptor
115
. These accessories or additional central station may alter the processing of the signals received from the pad
42
a
by the microcontroller
94
of the central station
64
, such that the binary values of the bits of the packet
200
may be representative of commands to carry out different functions for the buttons of the pad
42
a
than have been described previously.
In its simplest embodiment, the packet
200
comprises a pair of start bits
202
,
204
followed by sixteen data bits, each data bit having a value of binary 0, that are repeatedly transmitted by the radio frequency transmitter at a predetermined frequency or rate. The interval of time between successive pairs of start bits
202
,
204
also determines the duration of the sixteen data bits within the packet. Thus, the bit duration of each of the sixteen data bits following the start bits
202
,
204
is a value equal to the interval of time between pairs of start bits
202
,
204
in the stream of packets
200
divided by sixteen, the number of data bits in each packet
200
.
Because the output of the radio frequency transmitter
104
is RF energy, it is necessary to encode the packet of energy comprising an individual packet
200
accordingly to represent the binary values of each of the individual ones of the bits comprising the packet
200
. In one encoding scheme, a binary 0 may be represented by a transition from low to high at a particular time within the bit duration. This is illustrated at
401
in
FIG. 6. A
binary 1 may be represented by causing the transition from high to low to take place at a different time within the bit duration. This is illustrated at
403
in FIG.
6
. Similarly, the start bits
202
,
204
may a transition from high to low that occurs at a specific time within the bit duration that is different from any other bit that may be transmitted by the radio frequency transmitter
104
of the central station
64
. Thus, the transmitter
104
may form packets
200
by simply transmitting a repetitive series of high to low transitions, substituting a pair of start bits
202
,
204
for the high to low transitions at a frequency equal to the packet duration.
The microcontroller
94
stores in the random access memory
98
the individual ones of the vehicles such as the vehicles
12
,
14
,
16
,
17
and
25
being energized at each instant by the individual ones of the pads
42
a
,
42
b
,
42
c
and
42
d
. Because of this, the central station
64
is able to prevent the interrogated one of the pads
42
a
,
42
b
,
42
c
and
42
d
from selecting one of the energized vehicles when the pad
42
that had previously selected the energized vehicle has been placed in the first mode by the operator by placing switch
65
in the first position. Thus, for example, if the vehicle
14
is being energized by one of the pads
42
a
,
42
b
,
42
c
and
42
d
at a particular instant, a first depression of the button
58
in the pad being interrogated at that instant will cause the vehicle
12
to be initially selected and a second depression of the button by such pad will cause the vehicle
14
to be skipped and the vehicle
16
to be selected. If, however, the operator of the pad
42
energizing a particular vehicle at a particular instant has been placed in the second mode by placing the switch
65
in the second position, a first depression of the button
58
in another pad being interrogated at that instant will cause the vehicle
12
to be initially selected, and the second depression of the button by such pad will not skip vehicle
14
, but will allow the pad to control vehicle
14
in concert with the pad that first energized vehicle
14
.
Furthermore, in the example above where the pad
42
a
has previously selected the vehicle
14
, the microcontroller
94
in the central station
64
will cause the vehicle
14
to be released when the pad
42
a
selects any of the vehicles
12
,
16
,
17
and
25
. Thus, while a single vehicle may be controlled by more than one of pads
42
a
,
42
b
,
42
c
and
42
d
at a particular instant, each one of pads
42
a
,
42
b
,
42
c
and
42
d
may only control one of the vehicles
12
,
14
,
16
,
17
and
25
at a single instant. When the vehicle
14
becomes released, it becomes available immediately thereafter to be selected by any one of the pads
42
a
,
42
b
,
42
c
and
42
d
. The release of the vehicle
14
by the pad
42
a
and the coupling between the pad
42
a
and a selected one of the vehicles
12
,
14
,
16
,
17
and
25
are recorded in the random access memory
98
in the microcontroller
94
.
It is advantageous to optimize the packets transmitted by the central station
64
so that each transmitted packet contains sufficient information to provide control of the vehicles and accessories in a pleasing manner, but not so much information that troublesome lag times adversely affecting the smooth control of the vehicles are introduced. To prevent such troublesome lag times, the central station
64
uses a variety of methods to prioritize interrogation of the pads
42
a
,
42
b
,
42
c
and
42
d
, data processing and transmission of the data in packets to the vehicles
12
,
14
,
16
17
and
25
.
In one approach, the microcontroller
94
provides packets of data for transmission to each vehicle in operation in a sequential, round-robin, fashion. In this approach, four packets of commands, each packet being associated with the binary address of each of the vehicles being controlled by individual pads
42
a
,
42
b
,
42
c
and
42
d
, are transmitted one after another until all four packets are transmitted. Thus the packet of commands addressed to a vehicle controlled by pad
42
a
may be transmitted first, followed by a packet of commands intended for the vehicle controlled by pad
42
b
, followed by a packet of commands intended for the vehicle controlled by pad
42
c
and followed by a packet of commands intended for the vehicle controlled by pad
42
d
. The sequence of packets would then be repeated. It is evident that this is just one possible sequencing of packets that may be transmitted; other sequences of packet transmission are possible, depending on the program commands stored in the read only memory
96
of the microcontroller
94
.
This round-robin transmission method may require, for example, 48 milliseconds to transmit for all four packets. In the case where eight vehicles are being controlled, a transmission cycle would require, for example, 96 milliseconds, or almost {fraction (1/10)}th of a second for all eight packets of command data to be transmitted. Even if the vehicles are traveling at the minimum speed the motors are capable of, the first vehicle may travel perhaps several inches between transmission of packets of commands by the central station
64
.
Another embodiment of the invention transmits packets of data only for vehicles that have been selected by users by pressing button
58
the required number of times within the predetermined time. In this manner, only data for vehicles actually under control of a user is transmitted.
In a preferred embodiment, the random access memory
98
maintains a record of the state of each of the pads
42
a
,
42
b
,
42
c
and
42
d
and the time since the state of the pads changed. One skilled in the art will understand that the actuation of any of the buttons
44
,
47
,
49
56
,
58
60
a
,
60
b
,
61
a
,
61
b
or
65
of the pad
42
a
results in a change in the state of the pad
42
a
. If none of the buttons of the pad
42
a
is actuated by the operator during the time between interrogations of the pad
42
a
by the central processor
64
, then the state of the pad
42
a
will not have changed.
Since the state of each of the pads
42
a
,
42
b
,
42
c
and
42
d
is maintained in the random access memory
98
of the central station
64
, the microcontroller
94
may further process the signals received from each of the pads
42
a
,
42
b
,
42
c
and
42
d
to determine if the state of the pad has changed even if an operator has actuated one of the buttons on the pad. For example, if an operator presses button
44
to command the vehicle energized by that pad to move forward, additional actuations of the button
44
without actuating any other of the buttons of the pad will not result in a change in the state of the pad, and a packet of commands need not be transmitted by the microcontroller
94
.
As described previously, the microcontroller
94
of the central station
64
may transmit a continuous stream of packets of commands in a sequential, round-robin, fashion to the vehicles controlled by the pads
42
a
,
42
b
,
42
c
and
42
d
. The microcontroller continues to transmit this sequential stream of packets even when none of the buttons on pads
42
a
,
42
b
,
42
c
and
42
d
have been actuated.
When, however, the microcontroller
94
of the central station
64
determines that the state of one of the pads
42
a
,
42
b
,
42
c
and
42
d
has changed, it responds by forming a packet of commands representative of the state of the pad and inserting the newly formed packet of commands into the stream of packets being continuously transmitted, even if the newly formed packet is inserted at a position in the sequence of packets different from the position a packet associated with that particular pad would normally have in the round-robin sequence of packets. If buttons on two or more of the pads
42
a
,
42
b
,
42
c
and
42
d
are actuated simultaneously, the microcontroller
94
may form packets of commands representative of the state of those pads and insert the packets in the stream of packets. In this case, the microcontroller
94
may insert the newly formed packets in the order in which they would have been sent in the round-robin sequence, except that the string of newly formed packets may be inserted in the continuous round-robin sequence out of order. For example, buttons on pads
42
a
and
42
c
may be actuated simultaneously and the microcontroller may form a string of packets representative of the state of the pads
42
a
and
42
c
such that the packet associated with pad
42
a
is transmitted before the packet associated with pad
42
c
. The microcontroller
94
may then insert this string of packets in the stream of packets at the next available instance, for example, after a packet associated with pad
42
c
but which is not representative of the change of state of pad
42
c
has been transmitted. In this manner, the microcontroller
94
employs an intelligent funneling of the data provided by each of the pads
42
a
,
42
b
,
42
c
and
42
d
during the interrogation process to form packets of commands to be transmitted to each of the vehicles energized by the pads
42
a
,
42
b
,
42
c
and
42
d.
The vehicles
12
,
14
,
16
and
17
are battery powered. As a result, the energy in the batteries in the vehicles
12
,
14
,
16
and
17
tends to become depleted as the batteries provide the energy for operating the vehicles. The batteries in the vehicles
12
and
14
are respectively indicated at
108
and
110
in FIG.
3
. The batteries
108
and
110
are chargeable by the central station
64
because the central station may receive AC power from a wall socket. The batteries are charged only for a particular period of time. This particular period of time is preset in the read only memory
96
. When each battery is being charged for the particular period of theme, a light
109
in a circuit with the battery becomes illuminated. The charging current to each of the batteries
108
and
110
may be limited by a resistor
111
. The light
109
becomes extinguished when the battery has been charged.
The central station
64
of the present invention, as mentioned previously, includes a microcontroller
94
, random access memory
98
and read only memory
96
. The central station
64
also includes a smart port
115
that is connected to the microcontroller
94
by lines
505
,
510
,
520
,
530
and
540
. The signals transmitted and received by the microcontroller
94
over the SDATA0, SDATA1, SDATA2 and the SDATA3 lines to the pads
42
a
,
42
b
,
42
c
and
42
d
may be provided to an accessory connected to the smart port
115
over a cable
114
. Using this configuration, all of the signals from the pads
42
a
,
42
b
,
42
c
and
42
d
may be rerouted through the smart port
115
before being processed by the microcontroller
94
. One principal advantage of this configuration of the central station
64
is that various accessories, including additional central stations, may be connected to the smart port
115
and alter signals received from the pads
42
a
,
42
b
,
42
c
and
42
d
and process the signals in a different manner than they would normally be processed by the microcontroller
94
. Accessories that may be attached to the smart port
115
may include additional microcontrollers
94
a
that may, for example, have information stored in a separate read only memory and random access memory that allow the second processor to remap the functions of the buttons
44
,
47
,
49
,
56
,
58
,
60
a
,
60
b
,
61
a
,
61
b
and
65
on the pads
42
a
,
42
b
,
42
c
and
42
d
. For example, a signal from pad
42
a
representative of the closure of switch
46
could be routed through the smart port
115
and over the cable
114
to be processed by the accessory microcontroller
94
a
. All signals rerouted to accessories connected to the smart port
115
are returned after processing by the accessory over the cable
114
to the microcontroller
94
. The microcontroller
94
then forms a packet
200
comprising data bits commanding the appropriate receiver to take action. For example, a signal from a pad may be interpreted by microcontroller
94
a
as a command to a toy hockey player to raise its arm, rather than the usual meaning for the command, such as to command a toy vehicle to move forward. The microcontroller
94
a
would then provide a signal over cable
114
to the microcontroller
94
. In this manner, each of the keys of the pads
42
a
,
42
b
,
42
c
and
42
d
may be reprogrammed to have different functions. This approach is particularly advantageous in that it allows for increased flexibility and future expansion of the capabilities of the central station. Thus, the central station could control a wide variety of games and activities without the need for costly changes in hardware or reprogramming the information stored in the read only memory
96
.
A particularly illustrative example of the advantages of the smart port
115
is where an additional central station
64
is connected to the first central station
64
. Each central station
64
may have the capabilities of servicing only a limited number of pads. For example, each central station
64
may have the capabilities of servicing only the four (4) pads
42
a
,
42
b
,
42
c
and
42
d
. It may sometimes happen that the users of the system may wish to be able to service more than four (4) pads. Under such circumstances, the microcontroller
94
in the central station
64
and a microcontroller, generally indicated at
94
a
, in the second central station corresponding to the central station
64
may be connected by cable
114
to the smart port
115
.
One end of the cable
114
may be constructed so as to connect to a ground
117
in the smart port
115
. This ground operates upon the central station to which it is connected so that such central station is a slave to, or subservient to, the other central station. For example, the ground
117
in the smart port
115
may be connected to the microcomputer
94
a
so that the central station including the microcontroller
94
a
is a slave to the central station
64
. When this occurs, the microcontroller
94
in the central station
64
serves as the master for processing the information relating to the four (4) pads and the four (4) vehicles in its system and the four (4) pads and the four (4) vehicles in the other system. The expanded system including the microcontrollers
94
and
94
a
may be adapted so that the address and data signals generated in the microcontroller
94
a
may be transmitted by the antenna
68
in the central station
64
when the central station
64
serves as the master station. The operation of the central station
64
a
may be clocked by the signals extending through a line
118
from the central station
64
to the adaptor
115
and through a corresponding line from the other central station to the adaptor.
Referring now to
FIG. 10
, the interface of the smart port
115
will be described in more detail. As described above, an accessory generally indicated at numeral
500
may be connected to the smart port
115
of the central station
64
. The accessory
500
may include a microcontroller
502
. The microcontroller
502
of the accessory
500
may also include a random access memory
544
and a read only memory
546
. As with the memories in the microcontroller
94
in the central station
64
, the random access memory
544
stores volatile or impermanent information and the read only memory
96
stores permanent information.
As shown in
FIG. 10
, the microcontroller
94
of the central station is connected to the smart port
115
using five signal lines, lines SK line
505
, SO line
510
, SI line
520
, ACCIO line
530
and ACCIO
2
line
540
and a ground line
117
. The ground line
117
provides a common electrical reference for the microcontroller
94
of the central station
64
and the microcontroller
502
of the accessory
500
. These lines are similarly shown in
FIG. 10
connecting the mirocontroller
94
with the smart port
115
.It will be apparent that the smart port
115
may be only a connector mounted on the central station
64
allowing the connection of the cable
114
. The cable
114
has one end connected to the accessory
500
, either directly or through an appropriate connector
503
as shown, and the other end terminating in a connector compatible with a corresponding connector forming the smart port
115
of the central station
64
.
In a preferred embodiment, each of the microcontrollers
94
and
502
includes a serial interface comprising inputs and outputs for connecting the lines
505
,
510
,
520
,
530
and
540
and various logical elements, such as input shift register
97
and output shift register
99
in the microcontroller
94
of the central station
64
and input shift register
542
and output shift register
543
in the microcontroller
502
of the accessory
500
. These serial interfaces enable the transfer of data between the microcontroller
94
of the central station
64
and the microcontroller
502
of the accessory
500
. As used in the present invention, the serial interface of the microcontroller
94
of the central station
64
is configured as a master and provides a shift clock signal over the SK line
505
to the SK input of the microcontroller
502
in the accessory
500
. Thus, the transfer of data over the serial interface to the microcontroller
502
is controlled by the microcontroller
94
of the central station. Moreover, while the input shift register
97
and output shift register
99
of the microcontroller
94
of the central station
64
and the input shift register
542
and the output shift register
543
of the accessory
500
are depicted and described as discrete devices, one skilled in the art will understand that the input shift register
97
and output shift register
99
could be combined into a single shift register of appropriate design, as could the input shift register
542
and output shift register
543
. Whether such shift registers are combined in either the microcontroller
94
or microcontroller
502
, or are discrete devices, or are separate devices from the microcontrollers
94
,
502
is a matter of design choice.
In the present invention, as depicted in
FIG. 10
, the SO output of the smart port
115
is connected to the SI input of the microcontroller
502
by line
520
. Similarly, the SO output from the microcontroller
502
of the accessory
500
is connected to the SI input of the microcontroller
94
of the central station
64
by line
510
. In this manner, data may be shifted out of the output shift register
99
of the microcontroller
94
of the central station
64
over the SO line
520
into the SI input of the microcontroller
502
into the input shift register
542
of the accessory
500
. Similarly, since the data transfer over the serial interface is bidirectional, as will be more fully described below, as data is shifted out of output shift register
99
of the microcontroller
502
into input shift register
542
of microcontroller
502
, data is shifted out of the output shift register
543
of the microcontroller
502
over the SI line
510
into the SI input of the microcontroller
94
and into input shift register
97
of microcontroller
94
of the central station
64
. Two additional lines, lines ACCIO line
530
and ACCIO
2
line
540
carry handshaking signals output by the microcontrollers
502
and
94
respectively, the ACCIO
2
line
540
carrying signals from the microcontroller
94
to the microcontroller
502
, and the ACCIO line
530
carrying signals from the microcontroller
502
to the microcontroller
94
.
Referring now to
FIGS. 10 and 11
, a typical timing sequence of data flow across the serial interface of the smart port
115
will be described. The microcontroller
94
in the central station
64
continuously provides the smart port
115
with sequences of signals representing the current state of the central station
64
. Such signals may be, for example, signals indicating the status of switch closures in the pads
42
a
,
42
b
,
42
c
, and
42
d
, signals representative of the values of various timing functions carried out by the microcontroller
94
of the central station
64
, such as signals indicating how much time remains before a vehicle will be provided with a signal to enter the powered, but inactive state because there has been no thumb pad activity, or signals indicating that a vehicle will be released from a particular one of the pads
42
a
,
42
b
,
42
c
and
42
d
because no switch on the particular pad had been activated for a prolonged period of time.
The microcontroller
94
monitors the state of the signal on line ACCIO
530
. When the signal on line
530
is high, which may be the normal state of the signal on the line
530
, the central station
64
assumes that either no accessory is connected to the smart port
115
, or that the accessory
500
is a “dumb” accessory which is incapable of modifying the signals provided by the microcontroller
64
through the smart port
115
. Examples of such “dumb” accessories may include devices that react to and process signals provided by the central station, but do not send any modified signals back to the central station, such as a sound device that produces a sound in response to a signal from the central station. When a “dumb” accessory, or no accessory at all, is connected to the smart port
115
, the microcontroller
94
of the central station continues to process data, for example, data received from the pads
42
a
,
42
b
,
42
c
and
42
d
, in a normal mode, acting upon the data stored in the random access memory
98
and causing signals to be sent to the receivers of the various vehicles through the radio frequency transmitter
104
(FIG.
3
). When the microcontroller
94
operates in this mode, the microcontroller
94
does not expect to receive any data from the “dumb” accessory.
The accessory may also be a so called “smart” accessory possessing the ability to process and modify the signals received from the smart port
115
, and then return the modified signals to the microcontroller
94
of the central station
64
through the smart port
115
. When a “smart” accessory is connected to the smart port
115
, the microcontroller
94
of the central station detects the presence of the “smart” accessory and enters a second operating mode. In this operating mode, the microcontroller is configured to receive modified data from the microcontroller
502
of the accessory
500
and store that modified data in its random access memory
98
. Depending on the programmed setup of the microcontroller
502
of the accessory
500
, all, or a selected portion, of the data stored in the random access memory
98
of the microcontroller
94
may be modified by the microcontroller
502
of the accessory
500
. Additionally, when a “smart” accessory is connected to the smart port
115
, the microcontroller
94
of the central station may not process any of the signals received from the pads
42
a
,
42
b
,
42
c
and
42
d
, but instead provide the signals unchanged to the smart port
115
for transmission to the microcontroller
502
of the accessory
500
. One important advantage of the present invention is the capability of the microcontroller
94
to dynamically alter the way it processes data in response to signals received from the microcontroller
502
of the accessory
500
. As will be described in more detail below, the microcontroller
94
may execute different program routines depending on the signals it receives from the microcontroller
502
. In this manner, a smart accessory may take over partial, or complete, control of the processes of the microcontroller
94
, vastly increasing the flexibility and usefulness of the central station
64
.
Whether an accessory is classified as a “smart” or “dumb” accessory depends on the ability of the accessory to return data back to the microcontroller
94
of the central station
64
. Either type of accessory, however, may incorporate functions that use data received from the microcontroller
94
of the central station
64
. For example, as depicted in
FIG. 10
, an accessory may include a sound output device
560
, or port for connecting a sound output device, a visual output device
562
, or port for connecting a visual output device, and/or an output port, such as a serial port using the well-known RS-232 protocol, incorporating an RS-232 translator
568
and an RS-232 connector
570
. The RS-232 connector
570
may be used to provide output signals to another device, such as a computer, or it may be used to connect the accessory to a computer network or the internet. When the accessory
500
is a “smart” accessory, the accessory may also receive signals from a computer, network or the internet through the RS-232 connector
570
that may interact with the microcontroller
502
of the accessory
500
to provide data and instructions to the microcontroller
94
of the central station
64
, thus allowing remote control and play of the vehicles controlled by the central stations
64
. Additonally, the “smart” accessory
500
may also have a connector
566
for connecting one or more pads, such as pads
42
a
,
42
b
,
42
c
and
42
d
to allow for an increased number of players.
As will be described in more detail below, the microcontroller
94
of the central station
64
continuously provides sequences of signals to the smart port
115
. The microcontroller
94
of the central station
64
detects when a smart accessory
500
is attached to the smart port
115
because the signal on line ACCIO
530
will be periodically pulled low by the microcontroller
502
of the “smart” accessory
500
, indicating that the accessory is ready to receive data from the microcontroller
94
of the central station
64
. Upon detecting the low level on line ACCIO
530
, the programming of microcontroller
94
causes the microcontroller
94
to begin sending data to the microcontroller
502
through the smart port
115
over the SO line
520
when the microcontroller determines it has data to send to the accessory. It will be apparent that since the microcontroller
94
of the central station
64
is the master, as described above, it is the microcontroller
94
that controls the flow of data over the serial interface to the accessory
500
. The microcontroller
502
of the accessory
500
may only be enabled to indicate that it is ready to receive data from the microcontroller
94
by drawing the ACCIO
530
line low.
As indicated by the timing diagram line
550
of
FIG. 11
, the transition of the signal level on ACCIO line
530
from high to low causes the output shift register
99
of the microcontroller
94
of the central station
64
to begin shifting data bits (assuming there is data to send) out of the output shift register
99
onto the SO line
520
. Because the SO line
520
is connected to the input shift register
542
of the microcontroller
502
of the accessory
500
, each bit shifted from the microcontroller
94
is shifted into the input shift register
542
of the microcontroller
502
. Because the shift registers
97
and
542
are serial input/output registers, shifting a bit of data out of the output shift register
97
into the input shift register
542
over the SO line
520
causes a bit to be shifted out of the output shift register
543
of the microcontroller
502
onto line
530
and into the input shift register
97
of the microcontroller
94
of the central station
64
.
The microcontroller
94
generates a shift clock signal, indicated as line
552
in FIG.
11
. Bits are shifted out of, and thus into, the shift registers
97
,
99
and
542
,
543
in response to the transition of the shift clock signal from high to low on the SK line
505
. The microcontroller
94
may be programmed to maintain a count of the number of shift clock signals provided since the first shift clock signal. When the count equals, for example, eight, indicating that eight shift clock signals have been provided to shift a total of eight bits out of the shift registers
97
and
542
, the microcontroller
94
may pull the signal on the ACCIO
2
line
540
low for a brief period of time, indicating to the microcontroller
502
of the accessory
500
that the microcontroller
94
has completed sending eight bits of data over the SO line
520
. When the signal on line ACCIO
2
is pulled low, the microcontroller
502
drives the signal on the ACCIO line
540
high, indicating to the microcontroller
94
of the central station that the microcontroller
502
is processing the data sent to it over the SO line
520
by the microcontroller
94
and is not ready at that instant to receive any additional data.
When the microcontroller
502
is again ready to receive data from the microcontroller
94
, such as, for example, when microcontroller
502
has completed processing the data received from the microcontroller
94
during the previous shift cycle, the microcontroller
502
pulls the signal on line ACCIO
530
low, indicating its state of readiness to the microcontroller
94
of the central station
64
. At this time, if the microcontroller
94
of the central station has data to send to the microcontroller
502
of the accessory
500
, the shift cycle is repeated. One advantage of this interface is that data flows to and from the microcontroller
94
of the central station
64
and to and from the microcontroller
502
of the accessory
500
simultaneously. This feature is particularly important since the routing of the signals from the central station
64
to the accessory
500
, and subsequent processing of those signals by the microcontroller
502
and retransmission back to the central station
64
requires additional time, and thus may impart unacceptable delay in the response of the vehicles
12
,
14
,
16
,
17
and
25
to actuations of buttons on the pads
42
a
,
42
b
,
42
c
and
42
d.
The microcontroller
94
of the central station
64
operates a continuous loop of major tasks required to control the operation of the central station
64
, pads
42
a
,
42
b
,
42
c
and
42
d
and vehicles. These tasks include gathering switch closure information from the pads
42
a
,
42
b
,
42
c
and
42
d
, making selection choices, forming and maintaining data structures, and providing control commands to the vehicles. The program comprising the steps set forth in Table A, and various other program routines that may be called by the program set forth in Table A, may be stored in the read-only-memory
96
of the microcontroller
94
. In one exemplary embodiment of the present invention, this loop is repeated fifty to one hundred times per second. In a preferred embodiment of the present invention, the microcontroller
94
loops through the following programmed steps, as illustrated in Table A, to perform the above mentioned major tasks.
TABLE A
|
|
MainHostLoop:
|
JSR
HostSyncCheck
|
JSR
Read ThumbPads
|
JSR
DebounceClosures
|
IFBIT
SA_EDIT_TPADS, RHMODEFLAGS ;
|
always clear if not in sync
|
JP
MHL_EditTPads
|
JSR
HostBroadcastTPads
|
JP
MHL_Done_TPads
|
MHL_EditTPads:
|
JSR
HostSAEditTPads
|
MHL_DoneTPads:
|
JSR
HostScanThumbPads
|
JSR
ProcessPadEvents
|
IFBIT
SA_SUPPRESS_SELECT, RHMODEFLAGS
|
JP
MHL_DoMinSE
|
JSR
ProcessSwitchEvents ;
|
vehicle selection & other logic
|
JP
MHL_DoneProcess
|
MHL DoMinSE:
|
JSR
EndOfReclac
|
MHL_DoneProcess:
|
IFBIT
SA_EDIT_SELECT, RHMODEFLAGS
|
JP
MHL_EditSelect
|
JSR
HostBroadcastSelect
|
JP
MHL_DoneSelect
|
MHL_EditSelect
|
JSR
HostEditSelect
|
MHL_DoneSelect:
|
JSR
SetLedIndexes
|
JSR
UpdateLEDS
|
JSR
CheckTimers
|
IFBIT
SA_PKT_INJECT, RHMODEFLAGS
|
JSR
HostCheckPktInject
|
JSR
HostReportLastPacket
|
JP
MainHostLoop
|
|
In a presently preferred embodiment, each cycle of the programmed loop of major tasks begins with a jump to subroutine HostSyncCheck, exemplary steps of which are set forth in Table B. The purpose of the HostSyncCheck subroutine is to determine if a smart accessory is connected to the smart port
115
and to determine if the microcontroller
502
of the smart accessory is in sync with the microcontroller
94
of the central station
64
. If the microcontroller
94
determines that the accessory is a smart accessory, and is in sync with the microcontroller
94
, then microcontroller
94
sets itself in a mode capable of receiving signals from the microcontroller
502
of the accessory.
TABLE B
|
|
HostSyncCheck:
|
Microprocessor sends:
Accessory Responds:
|
|
M_PRESYNC
nothing
|
M_SYNC
S_SYNC
|
M_READATTRIB
<SA Attributes>
|
M_READNOSELTIMEOUT
<TPads that should ignore deselection
|
timeout>
|
|
While executing the program steps of subroutine HostSyncCheck set forth in Table B, the microprocessor
94
sends a sequence of bytes to the smart port
115
. The first byte sent is the M_PRESYNC byte. Typical values for the bytes described herein are set forth in hexidecimal form in TABLE F below. On skilled in the art will immediately understand, however, that these hexidecimal values have been chosen solely for convenience, and that other values could be used, provided that each variable is assigned a unique value. Thus, when microcontroller
94
shifts the bits of this byte out of the output shift register
99
the M_PRESYNC byte is loaded into the input shift register
542
of the microcontroller
502
. The microcontroller
502
interprets the M_PRESYNC byte, and recognizes that it should load the binary value associated with a byte identified as the S_SYNC byte into the output shift register
543
. When the microcontroller
502
signals microcontroller
94
that it is ready to receive another byte of information, it pulls the level of ACCIO line
530
low, and microcontroller
94
sends the M_SYNC byte to the microcontroller
502
. As the bits comprising the M_SYNC byte are shifted out of output shift register
99
of the microcontroller
94
into input shift register
542
of microcontroller
502
, the bits comprising the S_SYNC byte are shifted out of output shift register
543
of the microcontroller
502
into input shift register
97
of microcontroller
94
. When the shift cycle is completed, microcontroller
94
determines whether the appropriate value of S_SYNC has been received. If the correct value of S_SYNC has not been shifted into input shift register
97
, the HostSyncCheck subroutine is terminated, and control is returned to the main program loop. In this manner, microcontroller
94
determines whether any accessory is connected to the smart port
115
, whether the accessory is a smart accessory, and whether the microcontroller
502
of the accessory is in sync with microcontroller
94
of the central station
64
.
When microcontroller
502
determines that the M_SYNC byte has been shifted into input shift register
542
, microcontroller
502
loads output shift register
543
with a sequences of bits making up the SA_ATTRIBUTE byte. The SA Attributes comprise bits 0-7 in a single byte, one possible arrangement of which is listed in TABLE C, below.
When the values for the bits of the SA Attribute byte are loaded into the output shift register
543
, the microcontroller
502
signals its readiness to provide data by drawing the ACCIO line
530
low, whereupon microcontroller
94
begins shifting the M_READATTRIB byte out of the output shift register
99
over the SO line
520
into input shift register
542
, causing the values of the bits of the SA Attribute byte to be shifted out of output shift register
543
into input shift register
97
of microcontroller
94
in the central station
64
over the SI line
510
.
TABLE C
|
|
Bit
Variable
SA wants
|
|
0
SA_SYNC
To sync with microprocessor 94
|
1
SA_NOTSYNC
Default is cleared by microprocessor
|
502 to indicate sync
|
1
SA_EDIT_TPADS
To see and/or modify TPad switch
|
closure information
|
2
SA_EDIT_SELECT
To see and/or modify vehicle selections
|
3
SA_SUPPRESS_SELECT
microprocessor 94 to skip unit selection
|
logic
|
4
SA_PKT_INJECT
Opportunities to inject outgoing radio
|
packets verbatim
|
5
SA_SUPPRESS_RADIO
microprocessor 94 to turn off radio
|
transmitter during cycle
|
6
SA_FILL_RF_NULL
microprocessor 94 to send a null packet
|
if a packet from the smart accessory is
|
not available
|
7
Available for custom programming
|
|
When all eight bits comprising the SA_ATTRIBUTES byte have been shifted out of output shift register
543
into shift register
97
, microcontroller
94
analyzes the values of the individual bits of the SA_ATTRIBUTES byte to determine what program subroutines should be called by the microcontroller
94
to carry out further processing. Each of the bits, as defined in TABLE C above, can have a value of “0” or “1”. Thus, the bits may act as switches or flags to identify how the microcontroller
94
should change its processing of information. For example, bit
0
, SA_SYNC is set to a value of “1” and SA_NOTSYNC has a value of “0” when microprocessor
502
is synchronized with microprocessor
94
. Since the default value of SA_NOTSYNC is “1”, if this value is not cleared to “0” by microprocessor
502
, microprocessor
94
understands that microprocessor
502
is not in sync, and returns to the main program loop. Similarly, the default value for each of the other bits is “0”. Where one of the bits, for example, SA_EDIT_TPADS, is set to “1”, this is a signal to the microprocessor
94
that the microprocessor
502
is should call the subroutine HostSAEditPads to receive signals from the microcontroller
502
representing modifications to one or more switch closure states for one or more of the pads
42
a
,
42
b
,
42
c
and
42
d.
When microcontroller
502
shifts the SA_ATTRIBUTES byte out of output shift register
543
, microcontroller
502
may load a byte which identifies which, if any, of pads
42
a
,
42
b
,
42
c
and
42
d
associated with the microcontroller
94
should ignore the deselection time limit. In this manner, the accessory may control the selections and automatic deselection of any or all of the pads
42
a
,
42
b
,
42
c
and
42
d
, and may allow a pad to remain selected even if the buttons on the pad are not operated for a period of time exceeding the predetermined deselection time. When microcontroller
502
again notifies microcontroller
94
that it is ready to receive data from microcontroller
94
by pulling the level of the ACCIO line
530
low, microcontroller
94
shifts the M_READNOSELTIMEOUT byte into input shift register
542
of microcontroller
502
. As each bit of the M_READNOSELTIMEOUT byte is shifted into input shift register
542
, the bits of Tpad deslection byte are shifted out of output shift register
543
into input shift register
97
of microcontroller
94
. At this point, the HostSyncCheck subroutine terminates and returns control to the main program MainHostLoop.
When program control is returned to MainHostLoop, the next step executed by microcontroller
94
is a call to the ReadThumbPads subroutine. The purpose of this subroutine is to read the state of the switch closures on each of the pads
41
a
,
41
b
,
41
c
and
41
d
, and store values for those switch closures in the RAM
98
. When all of the switch closure data has been received, control is again returned to MainHostLoop, which executes a call to the DebounceClosures subroutine. This subroutine allows the microcontroller to determine the most efficient manner to handle the switch closure data. The MainHostLoop program then checks to see if the value of SA_EDIT_TPADS has been set to “1” by microcontroller
502
of the accessory. If a smart accessory is detected, and the microprocessor
94
determines that the microprocessor
502
of the smart accessory is in sync, and if the microprocessor
502
of the smart accessory has set the value of SA_EDIT_TPADS to “1”, MainLoopHost jumps to subroutine MHL_EditTpads, which in turn calls the HostSAEditTPads subroutine, explemplary steps of which are set forth in Table D below, to pass pad switch closure data, hereinafter “TPad data,” to the smart accessory and to receive modified TPad data from the microprocessor
502
of the smart accessory in the same exchange. If SA_EDIT_TPADS has not been set to “1” by microcontroller
502
, MainLoopHost jumps to the HostBroadcastTPads subroutine, which will be described in more detail below.
TABLE D
|
|
HostSAEditTPADS:
|
Microprossor 94 sends:
SA responds:
|
|
M_EDIT_TPADS
SA_NULLCMD
|
TPAD byte 0
S_VFYEDIT (verifies receipt of byte 0)
|
<return if not verified>
|
TPAD byte 1
Modified TPAD byte 0
|
TPAD byte 2
Modified TPAD byte 1
|
. . .
|
TPAD byte 16
Modified TPAD byte 15
|
New Priority byte
Modified TPAD byte 16
|
M_EDIT_END
Modified New Priority byte
|
<return>
|
|
When MainLoopHost calls the HostSA_EditT_TPADS subroutine, microcontroller
94
loads the value of the M_EDIT_TPADS byte into the output shift register
97
. As stated previously, microcontroller
94
waits until it is signaled by microcontroller
502
that microcontroller
502
is ready to receive data. It will be understood that this process is repeated each time new data is to be transmitted by microcontroller
94
to microcontroller
502
, and no further mention need to be made in describing the operation of the present invention.
As the M_EDIT_TPADS byte is shifted into input register
542
of microcontroller
502
, a value for the SA_NULLCMD byte, previously loaded into output shift register
543
by the microcontroller
502
, is shifted into input shift register
97
of microcontroller
94
. Upon receiving this response from microcontroller
502
, microcontroller
94
loads a value for TPAD byte 0 into output shift register
99
, which microcontroller
94
then sends to input shift register
542
of microcontroller
502
during the next shift cycle. As the TPAD byte 0 is sent, the value for the S_VFYEDIT byte, previously loaded into the output shift register
543
by microcontroller
502
, is shifted into input shift register
97
of microcontroller
94
. The S_VFYEDIT byte informs microcontroller
94
that microcontroller
94
and microcontroller
502
are still in sync. If the value for S_VFYEDIT byte is not received by microcontroller
94
, microcontroller
94
terminates the HostSAEditTPADS subroutine, and control returns to HostMainLoop, where the MHL_DoneTPads subroutine is executed.
Provided that the correct value for the S_VFYEDIT byte is received, microcontroller
94
continues to shift TPAD byte data to microcontroller
502
. As is apparent from this sequence of commands set forth in Table D, sixteen bytes of TPAD data are exchanged between the microprocessor
94
and the microprocessor
502
of the smart accessory during each cycle. After sending the S_VFYEDIT byte, microcontroller
502
analyzes the received TPAD byte 0, and modifies according to the programming of microcontroller
502
. Microcontroller
502
then loads a modified value of TPAD byte 0 into output shift register
543
. When the next shift cycle occurs, microcontroller
94
sends TPAD byte 1 to input shift register
542
, and the modified value of TPAD byte 0 is shifted out of output shift register
543
into input shift register
97
of microcontroller
94
. This modified value of TPAD byte 0 is then used by microcontroller
94
as an input when it forms a packet of commands to be transmitted to vehicles being controlled by the central station
64
. The shift cycle is continued until TPAD byte 16 is sent to microcontroller
502
.
After TPAD byte 16 is sent, microcontroller
94
forms a value for a NEW_PRIORITY byte indicating which switch closures for which pads, if any, have changed from the previous shift cycle. For example, if none of the switch closure states of Tpad
1
(pad
42
b
) has changed, the value of bit
1
of the New Priority byte is “0”; if one or more switch closure states have changed since the last time the switch closure state was checked, the value of bit
1
of the New Priority byte would be set to “1”. As described previously, providing information on whether switch closure states have changed is useful in prioritizing the formation of RF packets and the transmission of those packets to the vehicles controlled by the central station
64
to provide for rapid response of the vehicles to operator commands.
When the NEW_PRIORITY byte is sent to microcontroller
502
, the modified value for TPAD byet 16 is shifted out of output shift register
543
into input shift register
97
of microcontroller
94
. Microcontroller
94
then shifts the M_EDIT_END byte to microcontroller
502
, which in turn shifts a modified NEW_PRIORITY byte out of shift register
543
into input shift register
97
of microcontroller
94
. When microcontroller
94
determines that it has recieved the modified NEW_PRIORITY byte, control is returned to MainHostLoop and MHL_DoneTPads is executed.
Each TPAD byte transmitted contains information regarding the closure state of a specific switch on each of the pads
42
a
,
42
b
,
42
c
and
42
d
connected to the central station
64
. The values for each TPAD byte of the sequence of bytes for one embodiment of the present invention is illustrated in FIG.
12
. As shown in
FIG. 12
, TPad byte 0 comprises bits
0
through
7
, with each bit indicating the closure state of the SEL button/switch on an individual pad. For example, bit
0
of TPad byte 0 indicates the closure state of the SEL switch on Tpad
0
, which could, for example, be pad
42
a
; bit
1
of byte 0 indicates the closure state of the SEL switch on Tpad
1
, which for example, could be pad
42
b
, and so forth. In the depicted embodiment, Tpads
0
,
1
,
2
and
3
are connected to the central station
64
, as, for example, pads
42
a
,
42
b
,
42
c
and
42
d
, and Tpads
4
,
5
,
6
and
7
are “virtual” pads created by the microprocessor of the smart accessory.
Referring to
FIG. 12
, a brief description of the various TPAD bytes that may be modified by the microcontroller
502
of a smart accessory
500
will be described. The bits of TPAD byte 0 are used to signify the state of the select switch closure on each individual pad. For example, when Tpad
1
, which may be, for example, pad
42
b
, is being used to control a vehicle, for example, vehicle
3
, bit
1
of TPAD byte 0 will have a binary value of “1”. If microcontroller
502
wants to change the vehicle selected by Tpad
1
, The microcontroller will return the modified TPAD byte 0 to microcontroller
94
with the value of bit
1
set to “1”. This will cause microcontroller
94
to increment the value of the vehicle being controlled by tpad
1
. Thus, Tpad
1
(pad
42
b
) may now control vehicle
4
. If the vehicle to be controlled is to remain unchanged, microcontroller
502
will set the value of bit
1
of the modified TPAD byte to “0”.
Similarly, TPAD byte 1 can be set to modify the closure state of the flashback switch
53
of button
47
(
FIG. 1
) on a pad. It should be immediately apparent that the advantage of this novel capability is that the closure state of any of the switches on any or all of the pads connected to the central station
64
, as recognized by microcontroller
94
, may be modified by microcontroller
502
of the smart accessory. Thus, the closure state of a switch may be modified so that microcontroller
94
transmits the modified switch closure to the selected vehicle, even if the actual switch on the pad has not been pressed or released. This is particularly advantageous when a vehicle is being controlled remotely, such as over a local area network or the internet.
In like manner, the settings of modified TPAD byte 2 may be used to change the closure state of the mode switch
65
of the various pads connected to the central station
64
, thus allowing or denying shared control of vehicles. TPAD bytes 5, 6, 7 and 8 may be used to modify the switch closure states of the forward, rear, right and left switches
46
,
48
,
50
and
52
of button
44
(
FIGS. 1 and 2
) of the pads respectively, thus allowing the smart accessory to control the movement of selected vehicles. TPAD bytes 9, 10, 11, and 12 may be used to modify the switch closure states of accessory switches
62
a
,
62
b
,
63
a
,
63
b
of buttons
60
a
,
60
b
,
61
a
,
61
b
respectively of the pads and TPAD byte 15 may be used to modify the closure state of the shift switch
51
of button
49
.
TPAD bytes 3, 13 and 14 in the current embodiment of the invention are reserved for future use. TPAD byte 16 is a spare, unusedbyte. These TPAD bytes 3, 13, 14 and 16 allow the capability of adding functions to the central station in the future, and also allows each of those functions to be controlled by a smart accessory. This capability is particularly advantageous in that it will not be necessary to purchase a new or upgraded central station
64
after several years of use, since the additional capabilities can be added to the central station
64
by providing suitable commands from a smart accessory. The value of the bits comprising the Is16SelPad byte shown in
FIG. 12
indicates if a particular pad has sufficient LED capacity to allow selection among 16 different vehicles.
Referring again to Table A, when a smart accessory is not detected by microprocessor
94
during the HostSyncCheck subroutine, or the accessory is out of sync with microcontroller
94
, the MainLoopHost program jumps to the HostBroadcastTPads subroutine. While performing this routine, the microprocessor sends the following sequence of bytes out of the smart port, and neither waits for a signal that the accessory is ready to receive data, as described above, nor expects to receive any data as each TPAD byte is shifted out of output shift register
99
.
TABLE E
|
|
HostBroadcastTPads:
|
|
|
M_BCAST_TPADS
|
TPAD byte 0
|
. . .
|
TPAD byte 16
|
New Priority Mask
|
M_BCAST_END
|
<return>
|
|
When being controlled by the steps of the HostBroadcastTPads subroutine, the microcontroller
94
sends a sequence of bytes to the smart port
115
, whether an accessory
500
is connected to the smart port
115
or not. The first byte sent to the smart port
115
is the M_BCAST_TPADS byte. When this byte has been shifted out of output shift register
99
, microcontroller
94
loads TPAD byte 0 into the output shift register
99
, and then shifts TPAD byte 0 to the smart port
115
. This process is continued until TPAD byte 16 has been shifted out to the smart port
115
. The microcontroller
94
then loads a NEW_PRIORITY byte into the output shift register
99
, and sends it to the smart port
115
, followed by a M_BCAST_END byte. Control of the program is then returned to MainHostLoop which then executes a jump to the MHL_Done_TPads subroutine.
An accessory lacking the ability to communicate with the microprocessor
94
, a so-called “dumb” accessory, connected to the smart port
115
must be capable of receiving the sequence of bytes sent by the microprocessor
94
. The ability to merely receive the sequence of bytes, however, is not sufficient to provide usable information to the “dumb” accessory, because the only usable information transmitted to the dumb accessory is contained in TPAD byte 0 through TPad byte 16. These TPAD bytes, as described above, are part of a sequence of bytes, and must be extracted by the “dumb” accessory from the sequence in order to be usable. Thus, the “dumb” accessory must be capable of, at a minimum, counting the number of bytes sent to it in each cycle by the microprocessor
94
, so that bytes such as the M_BCAST_TPADS byte may be recognized and subsequently ignored. As is well known by those skilled in the art, such recognition may be accomplished using a suitably programmed microprocessor, or through the use of counters and shift registers controlled either by the clock signals provided by the microprocessor
94
of the central station, or by clock signals provided by a source in the “dumb” accessory. The latter is less desirable as the “dumb” accessory will still need to adjust its timing so that it is in sync with the timing of the microprocessor
94
of the central station
64
.
Returning to Table C, the SA_ATTRIBUTES byte contains additional flags that may be interpreted by microcontroller
94
to further control the programming of microcontroller
94
allowing the accessory to control other aspects of the central stations functions. For example, if the SA_EDIT_SELECT bit of the SA_ATTRIBUTES byte is set to “1”, the MHL_doneProcess subroutine of MainLoopHost will execute a jump to a MHL_EditSelect subroutine to allow the selection of vehicles by the pads to be controlled by the accessory. Similarly, if the SA_SUPPRESS_SELECT bit of the SA_ATTRIBUTES byte is set to “1”, microcontroller
94
is instructed to jump to the MHL_DoMinSE subroutine which controls microcontroller
94
to ignore unit selection logic. By setting the SA_PKT_INJECT bit of the SA_ATTIBUTES byte to “1”, microcontroller
502
instructs microcontroller
94
to branch to the appropriate subroutine so that microcontroller
502
may inject packets containing sequences of bits to control the operation of vehicles and accessories into outgoing radio packets directly. Setting “SA_SUPPRESS_RADIO to “1” instructs microcontroller
94
to turn off the RF transmitter during the data shift cycle so that no packets of instructions are transmitted to the RF receivers in the vehicles. Setting “SA_FILL_RF_NULL to “1” instructs microcontroller
94
to transmit a null packet of data to the vehicles. Providing such null packets of data to the vehicles is advantageous in that it ensures that the RF receivers in the vehicles remain synced with the RF transmitter of the central station
64
in the event that, for whatever reason, no data is to be transmitted.
TABLE F
|
|
Exemplary Values For Variables
|
Variable Name
Value
|
|
M_BCAST_TPADS
0xC0
|
M_BCAST_SELECT
0xC1
|
M_BCAST_END
0xC2
|
M_EDIT_TPADS
0xC3
|
M_EDIT_SELECT
0xC4
|
M_EDIT_END
0xC5
|
M_VFYEDIT
0x80
|
M_PRESYNC
0xC6
|
M_SYNC
0xC7
|
M_READATTRIB
0xC8
|
S_SYNC
0x81
|
M_NOINS
0xC9
|
M_ASKINS
0xCA
|
M_READREPLY
0xCB
|
S_NOINS
0x82
|
S_WANTINS
0x83
|
M_READNOSELTIMEOUT
0xCC
|
M_HAVE RADIOPKT
0xCE
|
M_NORADIOPKT
0xCD
|
SA_NULLCMD
0x00
|
|
Yet another novel feature of the present invention is illustrated in FIG.
10
. As shown, the signal on the ACCIO
2
line
540
may be routed through a level translator circuit
572
. Typically, the voltage level of signals transmitted through the ACCIO
2
line
540
is +5 volts. In the present invention, the voltage level of the signal transmitted through the ACCIO
2
line
540
is raised to +9 volts by the level translator circuit
572
. Using this voltage, an accessory, either smart or dumb, may be provided with power to operate. Typically, the accessory will have a second level translator
574
that reduces the voltage of the signals received over the ACCIO
2
line
540
from +9 volts to +5 volts.
Since the level of the signals on the ACCIO
2
line will be periodically pulled low by microcontroller
94
to indicate to microcontroller
502
that microcontroller
94
is finished shifting bytes of data out of output shift register
99
into input shift register
542
, the accessory may also include a voltage regulation circuit
576
to smooth out the voltage level of the signals on the ACCIO
2
line
540
during the brief period the signal is pulled low to ensure that adequate voltage is always present to maintain the operation of the accessory. For example, a circuit including a capacitor
577
and diode
579
may be used to smooth the voltage level on the ACCIO
2
line
540
. During the very short time that the voltage level on the ACCIO
2
line is pulled low, the charge on capacitor
577
may provide sufficient energy to retard the fall-off of the line voltage.
The vehicle
12
is shown in additional detail in FIG.
4
. Substantially identical arrangements may be provided for the vehicles
14
,
16
,
17
and
25
. The vehicle
12
includes the antenna
69
for receiving from the central station
64
signals with the address of the vehicle and also includes a receiver
121
for processing the received signals. The vehicle
12
also includes the motors
28
,
30
,
32
and
33
. Each of the motors
28
,
30
,
32
, and
33
receives signals from an individual one of the transistor drivers
120
connected to a microcontroller generally indicated at
122
.
The microcontroller
122
includes a read only memory (ROM)
124
and a random access memory (RAM)
126
. As with the memories in the pad
42
a
and the central station
64
, the read only memory
124
may store permanent information and the random access memory
126
may store volatile (or impermanent) information. For example, the read only memory
124
may store information indicating the sequence of the successive bits of information in each packet for controlling the operation of the motors
28
,
30
,
32
and
33
in the vehicle
12
. The random access memory
126
stores information indicating whether there is a binary 1 or a binary 0 at each successive bit in the packet.
The vehicle
12
includes a plurality of switches
128
,
130
and
132
. These switches are generally pre-set at the factory to indicate a particular Arabian number such as the number “5”. However, the number can be modified by the user to indicate a different number if two central stations are connected together as discussed above and if both stations have vehicles identified by the numeral “5”. The number can be modified by the user by changing the pattern of closure of the switches
128
,
130
, and
132
. The pattern of closure of the switches
128
,
130
and
132
controls the selection of an individual one of the vehicles such as the vehicles
12
,
14
,
16
,
17
and
25
.
The pattern of closure of the switches
128
,
130
, and
132
in one of the vehicles can be changed when there is only a single central station. For example, the pattern of closure of the switches
128
,
130
and
132
can be changed when there is only a single central station with a vehicle identified by the numeral “5” and when another user brings to the central station, from such other user's system, another vehicle identified by the numeral “5”.
The vehicle
12
also includes a light such as a light emitting diode
134
. This diode is illuminated when the vehicle
12
is selected by one of the pads
42
a
,
42
b
,
42
c
and
42
d
. In this way, the other users can see that the vehicle
12
has been selected by one of the pads
42
a
,
42
b
,
42
c
and
42
d
in case one of the users (other than the one who selected the vehicle
12
) wishes to select such vehicle. It will be appreciated that each of the vehicles
12
,
14
,
16
,
17
and
25
may be generally different from the others so each vehicle may be able to perform functions different from the other vehicles. This is another way for each user to identify the individual one of the vehicles that the user has selected.
When the RF receiver
121
receives a stream of packets
200
that have been transmitted by the radio frequency transmitter
104
, the microcontroller
124
must decode the received packets to determine the values of each of the bits included in the packet
200
. The microcontroller
122
begins the decoding process by determining the duration between pairs of start bits
202
,
204
that have been received. If the duration between pairs of start bits
202
,
204
is not within a range of values stored in the read only memory
124
, or if the microcontroller
122
detects only one start bit
204
, the microcontroller
122
may determine that the packet
200
has been corrupted or is otherwise undecodable. The microcontroller continues to analyze the pairs of start bits
202
,
204
until the duration between successive pairs of the start bits
202
,
204
is within the range of values stored in the read only memory
124
.
The microcontroller determines a bit duration for each of the bits contained within the packet
200
by dividing the interval of time measured between two successive pairs of start bits by sixteen, the number of data bits in a valid packet
200
. In this manner, the microcontroller
122
determines the bit duration during processing, allowing for variation in bit duration that may be caused by variations in the transmitted stream of packets, and allowing the microcontroller
122
to synchronize the analysis of the values of the bits contained within the packet
200
. One advantage of determining the bit duration on the fly in this manner by analyzing the duration between pairs of start bits
202
,
204
is that the microcontroller may recover from a loss of synchronization caused by corrupted packets
200
having fewer or more than sixteen bits within one packet cycle. This rapid recovery of synchronization is advantageous in that it promotes efficient use of the radio frequency bandwidth by not requiring an excessive number of packet cycles for recovery, thus preventing annoying lags in the response of the vehicle to switch closures on the pads
42
a
,
42
b
,
42
c
and
42
d.
The capability of the microcontroller
122
to adapt to variations in the timing of the bits in the packets
200
provides the potential for future upgrades in the rate of transmission of the signals from the central station
64
while maintaining the usefulness of the microcontroller
122
in the vehicles. For example, future developments in the central station
64
may include increasing the transmission rate of the packets
200
, resulting in decreased packet and bit durations. The microcontroller
122
in the vehicles
12
,
14
,
16
,
17
and
25
may adapt to the decreased packet and bit durations because the microcontroller
122
synchronizes and decodes the packets
200
on the fly, thus ensuring that older vehicles continue to work with the upgraded central station
64
.
When the received packet
200
has been decoded by the microcontroller
122
, the microcontroller
122
enables a signal to the motors
28
,
30
,
32
and
33
according to the values of the bits in the packet
200
. The microcontroller may continue to enable the signal until the signal has been enabled for a period of time equal to a value stored in the read only memory
124
. For example, each motor enabling signal provided by the microcontroller
122
may be continued for 0.25 seconds, unless the microcontroller receives a command from a later received packet
200
to discontinue the motor enabling signal. One advantage of such a continuation of the enabling signal is that it promotes smooth movement of the vehicle where radio frequency noise in the operating environment results in the reception of spurious or corrupted packets
200
by the RF receiver
69
. Reception of such spurious or corrupted packets
200
without the continuation of the enabling signal may result in undesired discontinuous or jerky motion of the vehicle, or a degradation of the fine control of the vehicle necessary to allow the vehicle to maneuver in close quarters. Additionally, the continuation of the enabling signal allows the microcontroller
122
to overcome periods of lower than normal operating voltage caused when one of the motors
28
,
30
,
32
and
33
start up and the battery charge is low. The motors
28
,
30
,
32
and
33
require, for example, 80 milliamperes of current to operate when they are operating at full speed. These same motors, however, may require as much as 200 milliamperes to start up when they have not been operating. Thus current requirement may cause as much as a 0.5 volt voltage drop in the operating voltage of the vehicle for a period of up to 0.1 seconds. When the battery charge is low, which may occur after prolonged use of the vehicle or when the vehicle has been idle, but the battery has not been recharged for an extended period of time, this voltage drop may be sufficient to cause the operating voltage available to power the vehicle to fall below the minimum voltage required to power the RF receiver thus momentarily preventing the reception and decoding of packets
200
of data. Continuing the enabling signal provided to the motors
28
,
30
,
32
and
33
by the microcontroller
122
overcomes this problem by allowing the vehicle to continue to operate until the operating voltage increases as the motor comes up to speed and the RF receiver
121
recovers.
As previously indicated, the user of one of the pads such as the pad
42
a
selects the vehicle
12
by successively depressing the button
58
a particular number of times within a particular time period. This causes the central station
64
to produce an address identifying the vehicle
12
. When this occurs, the central station
64
stores information in its random access memory
98
that the pad
42
a
has selected the vehicle
12
. Because of this, the user of the pad
42
a
does not thereafter have to depress the button
58
during the time that the pad
42
a
is directing commands through the station
64
to the vehicle
12
. As long as the buttons on the pad
42
a
are depressed within a particular period of time to command the vehicle
12
to perform individual functions, the microcontroller
94
in the central station
64
will direct the address of the vehicle
12
to be retrieved from the read only memory
96
and to be included in the packet of the signals transmitted by the central station to the vehicle
12
.
The read only memory
96
in the microcontroller
94
at the central station
64
stores information indicating a particular period of time in which the vehicle
12
has to be addressed by the pad
42
a
in order for the selective coupling between the pad and the vehicle to be maintained. The random access memory
98
in the microcontroller
94
stores the period of time from the last time that the pad
42
a
has issued a command through the central station
64
to the vehicle
12
. When the period of time in the random access memory
98
equals the period of time in the read only memory
96
, the microcontroller
94
will no longer direct commands from the pad
42
a
to the vehicle
12
unless the user of the pad
42
a
again depresses the button
58
the correct number of times within the particular period of time to select the vehicle
12
.
The vehicle
12
also stores in the read only memory
124
indications of the particular period of time in which the vehicle
12
has to be addressed by the pad
42
a
in order for the selective coupling between the vehicle and the pad to be maintained. This period of time is the same as the period of time specified in the pervious paragraph. The random access memory
126
in the microcontroller
122
stores the period of time from the last time that the pad
42
a
has issued a command to the vehicle
12
.
As previously indicated, the button
58
in the pad
42
a
does not have to be actuated or depressed to issue the command after the pad
42
a
has initially issued the command by the appropriate number of depressions of the button. When the period of time stored in the random access memory
126
of the microcontroller
122
in the vehicle equals the period of time in the read only memory
124
, the microcontroller
122
issues a command to extinguish the light emitting diode
134
. This indicates to the different users of the system, including the user previously controlling the operation of the vehicle
12
that the vehicle is available to be selected by one of the users including the user previously directing the operation of the vehicle.
When one of the vehicles such as the vehicle
12
is being moved in the forward direction, the random access memory
126
records the period of time during which such forward movement of the vehicle
12
is continuously occurring. This period of time is continuously compared in the microcontroller
122
with a fixed period of time recorded in the read only memory
124
. When the period of time recorded in the random access memory
126
becomes equal to the fixed period of time recorded in the read only memory
124
, the microcontroller
122
provides a signal for increasing the speed of the movement of the vehicle
12
in the forward direction. If the vehicle continues to be commanded to be moved forward, the period of time since the speed was increased may again be recorded in the random access memory
126
and is again continuously compared in the microcontroller
122
with a fixed period of time recorded in the read only memory
124
. When the period of time recorded in the random access memory
126
becomes equal to the fixed period of time recorded in the read only memory
124
, the microcontroller
122
provides a signal to further increase the speed of the movement of the vehicle
12
. The microcontroller may continue the cycle of monitoring the time of movement and providing signals to increase the speed of movement of the vehicle up to a predetermined number of cycles, the number of which may be stored in the read only memory
124
. Similar arrangements are provided for each of the vehicles
14
,
16
and
17
. This increased speed may illustratively be twice, three times or more than that of the original speed.
As described above, each of the vehicles
12
,
14
,
16
,
17
and
25
has a plurality of motors
28
,
30
,
32
and
33
. When one of these motors is energized by the microcontroller
122
as described in the previous paragraph, the microcontroller
122
records a value representative of the speed of the motor in the random access memory
126
. If the microcontroller
122
receives a packet
200
of data from the central station
64
commanding the energization of a second or third one of the motors
28
,
30
,
32
and
33
, the microcontroller
122
provides a signal to the transistor driver
120
associated with that second or third one of the motors
28
,
30
,
32
and
33
to start and run that motor at the speed recorded in the random access memory
126
representative of the current operating speed of the first of the motors
28
,
30
,
32
and
33
to be energized. If both motors continue to be energized for a period of time exceeding the period of time stored in the read only memory
124
as described previously, the transistor drivers
120
associated with all of the motors energized at that instant receive signals from the microcontroller
122
to increase the speed of the motors to the next level.
The microcontroller
122
continuously monitors the RF receiver
121
for RF packets
200
transmitted by the central station
64
. While the central station is turned on, the RF transmitter
104
continuously transmits packets
200
of information regarding the status of the switch closures of the pads
42
a
,
42
b
,
42
c
and
42
d
, as well as any special commands that are required. The RF receiver of each of the vehicles
12
,
14
,
16
,
17
and
25
is responsive to the presence of RF packets
200
that carry the unique combination of identifier bits
206
,
208
,
210
and
212
assigned to a particular vehicle as described above. If the RF receiver
69
of a particular one of the vehicles does not receive a command for a predetermined period of time, the value of which is stored in the read only memory
124
, the microcontroller
124
infers that the vehicle is not being used by an operator, and places the vehicle in a powered, but inactive state.
When a vehicle is in the powered, but inactive state and the microcontroller
122
determines that a packet
200
addressed to the particular vehicle has been received, it stores the values of bits of the packet
200
in the random access memory
126
, and continues to monitor the output of the RF receiver
121
. If the microcontroller
122
detects another packet
200
addressed to it, it compares the newly received packet
200
with the stored packet. If the received and stored packets are identical, and the received packet has been detected within a predetermined period of time stored within the read only memory
124
, the microcontroller
122
recognizes that its vehicle has been selected by the operator of one of the pads
42
a
,
42
b
,
42
c
and
42
d
. The microcontroller
122
then enters a “powered and selected” state and causes the light emitting diode
134
to change from a blinking light to a constant light. The requirement that the microcontroller
122
detect two identical packets
200
addressed to it is advantageous in eliminating spurious “glitching” of the RF system of the vehicle. This is necessary because of the amount of RF “noise” present under even routine operating conditions, which can adversely impact the precise control of the vehicles necessary.
As will be discussed in more detail below, the microcontroller
122
also continuously monitors the received packets to determine if the packets are valid. For example, the microcontroller
122
may determine whether the packets comprise the correct number of non-conflicting data bits, with each bit having an allowed value. Once the microcontroller
122
has entered the powered and selected state, each valid packet of information received by RF receiver
121
and addressed to the vehicle is considered by the microcontroller
122
to be a valid command, and is acted on accordingly by the microcontroller
122
to control the motors
28
,
30
,
32
and
33
of the vehicle.
The identities of the last two vehicles selected by a pad are stored in a flashback queue stored in the random access memory
82
(FIG.
2
). If the pad is automatically deselected as described above because no buttons on the pad have been pushed during the predetermined interval stored in the read only memory
80
, the first actuation of any button on the deselected pad causes the central station
64
to attempt to automatically log onto the last vehicle selected by that pad. When the selected vehicle is already selected by another one of the pads
42
a
,
42
b
,
42
c
and
42
d
, the automatic log onto the vehicle will succeed only if switch
65
on the pad currently controlling the vehicle has been set in the second position to enable the second mode allowing control of the vehicle to be shared by other pads.
When the first automatic log on attempt is unsuccessful because the last vehicle controlled by the pad is already selected by another pad that is not set in the second mode, the central station attempts to log on to the second to last vehicle controlled by the pad. This second automatic log on attempt is also sensitive to the state of the mode setting of another pad already controlling the vehicle. If this second automatic log on attempt is unsuccessful, then the central station attempts to log on to each of the vehicles
12
,
14
,
16
,
17
and
25
in turn, beginning with the vehicle identified by the Arabian number “1” until a log on attempt is successful.
In order to optimize the transmission of packets, and also to conserve battery energy in vehicles that are in the powered, but inactive state, the microcontroller
94
of the central station may only execute the automatic log on attempt when a command signal is provided by the pad
42
a
,
42
b
,
42
c
and
42
d
. In other words, the automatic log on may only be attempted when one of the buttons
44
,
47
,
49
,
56
,
58
,
60
a
,
60
b
,
61
a
and
61
b
are actuated to command the movement of a vehicle. Actuation of button
65
, however, since button
65
does not control any of the motors
28
,
30
,
32
and
33
of the vehicles, may not initiate the automatic log on attempt.
An additional feature of the system of the present invention that utilizes the flashback queue may be activated when an operator presses button
47
on a pad
42
a
,
42
b
,
42
c
and
42
d
. Actuation of button
47
closes switch
53
and causes the pad to deselect the vehicle currently controlled by the pad, and attempt to log on to the last vehicle controlled by the pad before the current vehicle was selected by pressing button
58
the required number of times. This feature may also be sensitive to the state of the mode select switch
65
on a pad controlling the vehicle on which the automatic log on is attempted. If the vehicle is currently controlled by another of the pads
42
a
,
42
b
,
42
c
and
42
d
, then the automatic log on attempt after pressing button
47
will be successful only if the switch
65
on the other pad is set to enable the second, shared control, mode. As before, if the automatic log on attempt caused by pressing button
47
is unsuccessful, then an attempt will be made to log on to the second to last vehicle controlled by the pad. One difference between the automatic log on attempts made when the pad has been deselected and the attempts enabled by pressing button
47
is that the latter may make no further attempts to log on to any other vehicles if the second automatic log on attempt is unsuccessful.
One advantage of the arrangement of bits in the packet
200
is that the bits
214
,
216
,
218
and
220
are representative of switch actuations of the pads
42
a
,
42
b
,
42
c
and
42
d
that may be mutually exclusive. The bits
214
,
216
,
218
and
220
may be given values by the microcontroller
94
of the central station
64
that would normally be interpreted by the microcontroller
122
of the vehicles
12
,
14
,
16
,
17
and
25
as illegal commands. For example, the case where the value of bits
214
and
216
are both binary 1, representing switch actuations on one of the pads
42
a
,
42
b
,
42
c
and
42
d
to command a vehicle to simultaneously move in a forward and a backward direction would be interpreted by the microcontroller
122
as an illegal command, and would be ignored by the microcontroller
122
. This may occur, for example, where the vehicle identified by bits
206
,
208
,
210
and
212
is being controlled by two or more pads, as described previously. In such a case, the operator of one of the pads may push button
44
, for example, to actuate switch
46
to command the vehicle to move forward (FIG.
2
). At the same instant, the operator of the other pad controlling the vehicle may push button
44
to actuate switch
48
to command the vehicle to move backwards. The microcontroller
94
would form a packet
200
in response to these commands directed to the selected vehicle having a value of binary 1 in each of the bits
214
and
216
. As stated, the microcontroller
122
of the vehicle would interpret such a packet
200
as an illegal packet, and would not provide signals to the transistor drivers
120
of the motors
28
,
30
,
32
and
33
(
FIG. 4
) in accordance with the values of the bits
214
and
216
of the packet
200
. In one embodiment of the invention, such illegal commands could instead be used to signal the microcontroller
122
that the bits following the illegal command bits contain instructions to carry out a special command.
A particular sequence of otherwise illegal combinations of values of the bits
214
,
216
,
218
and
220
associated with a special command may be stored in the read only memory
124
. It will be understood that more than one illegal sequence of bits
214
,
216
,
218
and
220
is possible; thus the read only memory
126
may contain as many sequences representing special commands as there are illegal sequences of bits
214
,
216
,
218
and
220
. When the RF receiver
121
receives a transmitted packet
200
, the sequence of bits comprising the packet
200
is stored in the random access memory
126
. The microcontroller
122
compares the sequence of bits
214
,
216
,
218
and
220
stored in the random access memory to the sequences stored in the read only memory
126
, and if there is a match, the microcontroller
122
executes the special command associated with the sequence of bits
214
,
216
,
218
and
220
. Such special commands may include, by way of illustration and not limitation, commands to power down the vehicle, reset the microcontroller
122
or to immediately cause the microcontroller
122
to enter the “powered, but inactive” state.
If the microcontroller
122
determines that none of the sequences of bits
214
,
216
,
218
and
220
stored in the read only memory
124
matches the sequence of bits stored in the random access memory
126
, the microcontroller determines that the sequence of bits
214
,
216
,
218
and
220
stored in the random access memory
126
is an illegal sequence of bits not associated with any special command. The microcontroller
122
may then ignore the entire packet
200
or the microcontroller
122
may interpret and execute commands associated only with bits whose values represent legal commands.
Accessories connected to the smart port
115
of the central station
64
may also provide signals to the microcontroller
94
of the central station
64
to be transmitted to the vehicles
12
,
14
,
16
,
17
and
25
. While bit
236
of the packet
200
is normally used by the microcontroller in an accessory to instruct the microcontroller
94
of the central station
64
to perform some activity, such as sounding a horn, bit
236
may also be used to indicate that the values of the bits in the packet
200
should be interpreted as special commands, rather than their usual meanings. For example, where the accessory connected to the smart port
115
instructs the microcontroller
94
of the central station
64
to transmit a special command, the microcontroller of the accessory may set the value of bit
236
to a binary 1. When the packet containing this bit is received by the desired vehicle, the packet
200
of bits is stored in the random access memory
126
and the value of bit
236
instructs the microcontroller
122
of the vehicle to compare the values of the data bits
214
,
216
,
218
,
220
,
222
,
224
,
226
228
,
230
,
232
and
234
to sequences of bits stored in the read only memory
124
associated with special commands generated by the accessory connected to the smart port
115
of the central station
64
. If the microcontroller
122
then executes the special commands to control the motors
28
,
30
,
32
and
34
, or other auxiliary equipment or devices that may be in use that is associated with the vehicle or device identified by the bits
206
,
208
,
210
and
212
of the packet
200
.
Since the vehicle
12
is battery powered, various systems and processes are incorporated within the programming of the microcontroller
122
and the read only memory
124
to optimize the power utilization of the vehicle. For example, when the microcontroller
122
has not detected any packets addressed to the vehicle for the predetermined period of time stored in the read only memory
124
, the microcontroller automatically places the vehicle in the powered, but inactive state.
As described above, the central station
64
transmits a continuous stream of packets
200
when the central station is powered. If the central station is turned off, the microcontroller
94
of the central station
64
may, as it powers down the central station
64
, send a special command to the vehicles to enter a powered down state. Alternatively, the microcontroller
122
in the vehicle may cause the vehicle to automatically enter the powered down state if no RF packets
200
transmitted by the central station
64
are received for a predetermined period of time stored within the read only memory
124
. As mentioned previously, the normal operating environment may contain a high level of random RF “noise” that may be detected by the microcontroller
122
. Accordingly, the microcontroller may be programmed with the capability of filtering the signals received by the RF receiver
121
to eliminate spurious packets. The microcontroller
122
may determine that RF packets are being transmitted by the central station
64
only if a percentage of the packets received during a predetermined time are determined to be valid packets
200
. For example, fifty percent of the packets received during one second may be determined by the microcontroller
122
to be valid or the microcontroller will begin powering down the vehicle. Such a determination by the microcontroller
122
may, for example, include determining whether the received packet
200
contains the correct number of data bits.
If the microcontroller
122
determines that the vehicle should be powered down, it may provide a visual signal to the operators of the system by causing the light emitting diode
134
to blink at a rate obviously different from the blink rate identifying the powered, but inactive state. For example, the light emitting diode may blink at twice the rate for one minute. At the end of the predetermined time, if the microcontroller
122
has still not detected any valid RF packets, the microcontroller causes the vehicle to be completely powered down, and removes the power from the light emitting diode
134
, causing it to go dark.
Further energy optimization may be achieved by utilizing pulse width modulation techniques to energize the motors
28
,
30
,
32
and
33
. For example, the speed of the motors
28
,
30
,
32
and
33
may be controlled at three different levels by applying power to the motor for one third of a power cycle to achieve a first speed, for two thirds of power cycle to achieve a second speed, and continuously throughout the power cycle to achieve a third, maximum speed. Thus, a power cycle may typically have three time slices.
The microcontroller
122
may select which of the three time slices to apply power to the selected one of the motors
28
,
30
,
32
and
33
to achieve the desired speed. For example, the first speed may be achieved by applying power to the selected motor during any one of the three time slices, and the second speed may be achieved by applying power during any two of the three time slices, while the third speed is achieved by applying power during all three of the time slices.
In a preferred embodiment, the microcontroller
122
applies power to the selected one of the motors
28
,
30
,
32
and
33
in the first time slice available after the packet
200
of data containing the command to energize the motor is received and decoded. Selecting the first available time slice in this manner to provide power to the selected motor provides improved response of the vehicle to switch actuations on the pads
42
a
,
42
b
,
42
c
and
42
d
to enhance control and maneuverability of the vehicles
12
,
14
,
16
,
17
and
25
by the operator.
Referring now to
FIG. 7
, the interface between the microcontroller
94
of the central station
64
and the pads
42
a
,
42
b
,
42
c
and
42
d
is shown in more detail. As described previously, all of the data and control signals passing between the microcontroller
94
of the central station
64
and the pads
42
a
,
42
b
,
42
c
and
42
d
is conveyed over three lines.
In a preferred embodiment, the microcontroller
94
has nine input/output (I/O) lines
84
,
86
a
,
86
b
,
86
c
,
86
d
,
88
a
,
88
b
,
88
c
and
88
d
devoted to determining the status of the switch closures of the switches in switch matrix
43
of the pads
42
a
,
42
b
,
42
c
and
42
d
and for modifying the status of the light emitting diodes
93
of the pads (FIG.
2
). Line SEL%
84
is a common line connected to a corresponding input/output port on each of the pads
42
a
,
42
b
,
42
c
and
42
d
. There are four SCLK I/O lines
86
a
,
86
b
,
86
c
and
86
d
connected to corresponding I/O ports on the pads
42
a
,
42
b
,
42
c
and
42
d
. Specifically, SCLK line
86
a
is connected to I/O port SCLK
0
on pad
42
a
, SCLK line
86
b
is connected to I/O port SCLK
1
on pad
42
b
, SCLK line
86
c
is connected to I/O port SCLK
2
on pad
42
c
and SCLK line
86
d
is connected to I/O port SCLK
3
on pad
42
d
. Similarly, SDATA line
88
a
is connected to I/O port SDATA
0
on pad
42
a
, SDATA line
88
b
is connected to I/O port SDATA
1
on pad
42
b
, SDATA line
88
c
is connected to I/O port SDATA
2
on pad
42
c
and SDATA line
88
d
is connected to I/O port SDATA
3
.
This architecture allows the microcontroller
122
to read the status of the switch closures of switch matrix
43
from all four pads
42
a
,
42
b
,
42
c
and
42
d
simultaneously in parallel fashion, or alternatively, to read the status of an individual one of the pads
42
a
,
42
b
,
42
c
and
42
d
. As will be described in more detail with reference to
FIGS. 8 and 9
, the microcontroller
94
may read the status of the pads
42
a
,
42
b
,
42
c
and
42
d
by sending appropriate signals over the SEL% line
84
and the SCLK lines
86
a
,
86
b
,
86
c
and
86
d
. When the microcontroller
92
sends the appropriate signal over SEL% line
84
, and sends the identical appropriate signal over the SCLK lines
86
a
,
86
b
,
86
c
and
86
d
, the status of the switch closures of each of the pads
42
a
,
42
b
,
42
c
and
42
d
is read simultaneously by the microcontroller
94
over the SDATA lines
88
a
,
88
b
,
88
c
and
88
d
. Alternatively, the microcontroller
94
may provide the appropriate signal over a selected one or ones of the SCLK lines
86
a
,
86
b
,
86
c
and
86
d
. Thus, the microcontroller
94
reads the status of the switch closures only of the pads
42
a
,
42
b
,
42
c
and
42
d
receiving the signal over the selected one or ones of the SCLK lines
86
a
,
86
b
,
86
c
and
86
d
. In like manner, the microcontroller may provide the appropriate signals over the SEL% line
84
and the SCLK lines
86
a
,
86
b
,
86
c
and
86
d
to enable the pads
42
a
,
42
b
,
42
c
and
42
d
to receive signals to update the status of the light emitting diodes
93
(
FIG. 2
) over the SDATA lines
88
a
,
88
b
,
88
c
and
88
d
either simultaneously or selectively.
One advantage to using a common SEL% line connecting all of the pads
42
a
,
42
b
,
42
c
and
42
d
is that it eliminates three input/output lines, allowing the use of a less expensive microcontroller
94
. A further advantage is that the pads
42
a
,
42
b
,
42
c
and
42
d
are not connected in series. Thus, selected ones of the pads
42
a
,
42
b
,
42
c
and
42
d
may be either connected or disconnected from the central station without affecting the operation of microcontroller
94
or the central station
64
. As mentioned previously, the microcontroller
94
is capable of detecting whether a pad is connected to the central station
64
, and immediately recognize when a pad is connected or disconnected. In the event a pad is disconnected, the microcontroller
94
may discontinue sending signals over the SCLK lines
86
a
,
86
b
,
86
c
and
86
d
and the SDATA lines
88
a
,
88
b
,
88
c
and
88
d
associated with the disconnected pad to read the status of the pad or to update the status of the light emitting diodes
93
of the pad. When a pad is connected to a central station
64
that is already in use, the microcontroller
94
may immediately begin providing signals over the SCLK lines
86
a
,
86
b
,
86
c
and
86
d
and the SDATA lines
88
a
,
88
b
,
88
c
and
88
d
associated with the newly connected pad to read the status of the switch closures of the pad and to update the status of the light emitting diodes
93
of the pad.
Referring now to
FIGS. 8 and 9
, the operation of the logic used in each of the pads
42
a
,
42
b
,
42
c
and
42
d
to provide the status of the switch closures of the switch matrix
43
to the central station
64
will be described. In a preferred embodiment of the invention, the pads
42
a
,
42
b
,
42
c
and
42
d
include a programmable logic device, generally indicated at
290
, having the components illustrated in the block diagram depicted in FIG.
8
. While a programmable logic device
290
is depicted, it will be understood by those skilled in the art that the same functions may be carried out by a microcontroller
76
as shown in FIG.
4
.
As described previously, the switch matrix
43
comprises a plurality of switches, such as switches
46
,
48
,
50
,
52
,
62
a
,
62
b
,
63
a
,
63
b
,
51
,
53
,
57
,
59
and
65
. As depicted in
FIG. 8
, the switch matrix
43
may also contain additional switches that may be used to provide additional functions. Each of the switches in the switch matrix
43
is coupled to an input line of an input shift register
300
. An input buffer
302
is disposed between each switch of the switch matrix
43
and the corresponding input line of the input shift register
300
.
The input shift register
300
may be a parallel input/serial output shift register. In the embodiment of the invention depicted in
FIG. 8
, the input shift register
300
has sixteen input lines labeled IN
0
to IN
15
. The state of each of the input lines IN
0
-IN
15
determines the value of a single bit of the input shift register
300
. For example, closure of switch
59
results in the output of the input buffer
302
connected to switch
59
having a voltage increase that causes a binary 1 to be stored in the bit connected to input line IN
0
when the shift register
300
is triggered to load. Similarly, when switch
59
is open, the output of the input buffer
302
connected to input line IN
0
is low, resulting in a binary 0 being stored in the bit connected to input line IN
0
when the input shift register
300
is triggered to load. Since each switch of the switch matrix
43
is connected to a corresponding one of the input lines IN
0
-IN
15
of the input shift register
300
, the state of each of the switches of the switch matrix
43
may be captured simultaneously, or on a parallel basis, with the state of the other switches, by the input shift register
300
.
The SDATA line
88
may be driven by either the microcontroller
94
in the central station
64
or the programmable logic device
290
of the pad
42
a
,
42
b
,
42
c
and
42
d
. When the SEL%
84
line is driven by the microcontroller
94
of the central station
64
, it is driven with a signal that may be an alternating signal. This alternating signal is input into a Schmidt trigger
304
which results in a signal on line
308
having high and low states, as depicted in FIG.
9
. Similarly, the SCLK signal on line
86
is input into a Schmidt trigger
306
resulting in a signal on line
310
having alternating high and low states. While Schmidt triggers
304
,
306
are described, any input buffer may be used. The SDATA line
88
is enabled to be driven by the pad whenever the SEL% signal on line
308
is high (the read state); thus, the microcontroller
94
stops sending data signals over line SDATA
88
before providing a signal over line SEL%
84
to set line SEL%
308
high.
The sequence of operations comprising the determination of the status of the switch closures of the switch matrix
43
will now be described with reference to the block diagram of the programmable logic device depicted in FIG.
8
and the timing diagram generally indicated at
400
in FIG.
9
. As depicted on timing diagram line
402
of
FIG. 9
, the signal on line SEL%
308
is driven high while the signal on SCLK line
310
is low (timing diagram line
406
, FIG.
9
). The transition from low to high on line
308
is input into a clock-in line of a flip flop
312
that is responsive to line
310
being driven high to drive the prime signal on line
314
high. This transition is depicted at
420
in FIG.
9
. The high prime signal on line
314
is input to flip flop
316
which also receives a clock-in signal from SCLK line
310
. When the SCLK signal on line
310
is driven high (
FIG. 9
, timing diagram line
406
), the flip flop
316
causes the signal on the loadreg line
318
to go high (
FIG. 9
, transition
424
), asserting the loadreg signal to the shift register
300
. The signal on the loadreg line
318
is also input into the CLR input line of the flip flop
312
. The high level of the signal on the loadreg line
318
resets flip flop
312
, causing the signal on the prime line
314
to go low (
FIG. 9
, transition
426
).
The combination of a low signal on the prime line
314
and the next transition of the SCLK signal on line
310
from low to high causes the flip flop
316
to reset the signal on the loadreg line
318
to low (
FIG. 9
, transition
430
). The assertion of SCLK while loadreg is high causes the input shift register to capture the signals on the input lines IN
0
-IN
15
representative of the state of the switch closures of the switch matrix
43
in a parallel fashion. Each subsequent transition of the signal on the SCLK line
310
from low to high (
FIG. 9
, timing diagram line
406
) while the signal on the loadreg line
318
is low (
FIG. 9
, timing diagram line
408
) drives the shift register
300
to serially shift the one of the bits of data stored in the shift register
300
out of the shift register
300
through an output line
322
and an output enableable driver
326
onto the SDATA line
88
. As can be seen in
FIG. 8
, the SEL% line
308
is also connected to the enabler input
324
of the output enableable driver
326
. When the signal on the SEL% line
308
is high the output enableable driver
326
allows the signal on line
324
to pass through the output enableable driver
326
onto SDATA line
88
, which is being monitored by the microcontroller
94
of the central station
64
. The data signal on line
88
also passes through a Schmidt trigger input buffer
344
onto line
330
which is connected to the in line
332
of the shift register
90
. In this arrangement, the signal that is present on the SDATA line
88
, whether driven by the pad
42
a
or the central station
64
, is present on line
330
and at the in line
332
of the shift register
90
.
When the microcontroller
94
of the central station
64
has completed the interrogation cycle to read the status of the switch closures of the pads
42
a
,
42
b
,
42
c
and
42
d
, the microcontroller
94
sends a signal on line SEL%
84
to set the signal on line
308
low (
FIG. 9
, timing diagram line
454
). Setting the signal on line
308
low turns off the output enableable driver
326
, halting the flow of data onto the SDATA line
88
from line
322
. SDATA line
88
may now be driven by microcontroller
94
of the central station to send signals to the pad to update the status of the light emitting diodes
93
on the pad (FIG.
2
).
The operation of the programmed logic device
290
to update the status of the light emitting diodes
93
(
FIG. 2
) of the pads will now be described with reference to FIG.
8
and the timing diagram generally indicated at
450
in FIG.
9
. As shown in
FIG. 8
, the SCLK signal on line
310
is used to drive the input and CLR lines of the flip flop
328
. The SEL% signal on line
308
is used to drive the output of an invertor
340
to provide a clock signal to the clock-in port of the flip flop
328
. In this manner, when the SEL% signal on line
308
is high, the signal on line
350
will be low, and when the SEL% signal on line
308
is low, the signal on line
350
will be high.
The SEL% and SCLK signals on lines
350
and
310
are used to drive the output of an and gate
342
to provide a signal online
352
to the clock-in port
336
of the shift register
90
. In this arrangement, the signal on line
352
is high when the SCLK signal on line
310
is high and the inverted SEL% signal on line
350
is high. In this way, the signal on line
352
is high only when the microcontroller
94
in the central station
64
is not interrogating the pad to capture data from the input shift register
300
.
When the SCLK signal on line
310
is driven high when the signal on line
350
is high (SEL% line
84
being low), the flip flop
328
drives the signal on the outres line
338
high (
FIG. 9
, transition
472
). When the signal on line
310
transitions from high to low, the signal on the outres line
338
is driven low and is asserted to the reset line
334
of the shift register
90
(
FIG. 9
, transition
476
). Since the signal on line
350
is high as a result of the inversion of the low signal on line
308
by invertor
340
, each subsequent transition of the SCLK signal on line
310
from low to high satisfies the condition of the and gate
342
and is asserted to the clock-in line
336
of the shift register
90
. Each subsequent clock signal on line
352
while the signal on outres line
338
is low shifts the value of the SDATA signal on line
330
at in line
332
of the shift register
90
to be shifted into the output line out0 of the shift register
90
. Each successive clocking of the shift register
90
by a transition of the signal on line
352
from low to high shifts the data in each of the registers of the shift register
90
to the next higher output line. For example, the next clock signal on line
352
will shift the value on the out0 line to the out1 line and so forth. The output of the output lines of the shift register
90
are then utilized by the output drivers
354
to light the selected LED of the LED bank
93
(
FIG. 9
, timing diagram lines
452
,
458
).
It will be understood that the flow of data on line
88
is sequenced with the signals provided on the SEL% line
84
and the SCLK line
86
. For example, when a vehicle identified by the Arabian numeral “4” has been selected by the operator of pad
42
a
, the microcontroller
94
will drive the signal on the SEL% line
84
low while the signal on the SCLK line
86
is high, causing the flip flop
338
to drive the signal on the outres line
338
. Setting outres line
338
asserts a reset signal to the reset line
334
of the shift register
90
, and also disables the flow of data from the pad to the central station
64
.
When the signal on the SCLK line next transitions from high to low (
FIG. 9
, transition
476
), the signal on the outres line is driven low, enabling the shift register
90
to accept data on line
330
from the microcontroller
94
of the central station
64
. The microcontroller
94
sets the signal line SEL%
84
low. The next time the SCLK signal on line
86
is driven high by the microcontroller
94
, shift register
90
will shift the value of the SDATA line
330
(which is high) to the out0 register of the shift register
90
(
FIG. 9
, timing diagram lines
452
,
458
). The microcontroller
94
then drives the signal on the SDATA line
88
low, which drives the signal at the in line of the shift register
90
low. The microcontroller
94
then drives the signal on the SCLK line
86
from low to high and back to low four times, each time causing the signal on line
352
to transition from low to high and back to low, which results in the shift register
90
shifting the value of the out0 line to the out1 line, then to the out
2
line and lastly to the out3 line, which results in the fourth LED in the LED bank to be lit, indicating that the user of the pad
42
a
has selected the vehicle identified with the Arabian “4”. Because the signal on the SDATA line has been driven low, there is no data present at the in port
332
of the shift register
90
to shift into the output register out0 as the data in the output register out0 is shifted in the out1 register. Thus, each of the registers out0, out1 and out2 are set to binary 0, and the LED's associated with those registers are not lit.
The system and method described above have certain important advantages. They provide for the operation of a plurality of vehicles by a plurality of users, either on a competitive or a co-operative basis. Furthermore, the vehicles can be operated on a flexible basis in that a vehicle can be initially selected for operation by one user and can then be selected for operation by another user after the one user has failed to operate the vehicle for a particular period of time. The vehicles being operated at each instant are also visible by the illumination of the lights
134
on the vehicle. The apparatus and method of this invention are also advantageous in that the vehicles are operated by the central station
64
on a wireless basis without any physical or cable connection between the central station and the vehicles.
Furthermore, the central station
64
is able to communicate with the vehicles in the plurality through a single carrier frequency. The system and method of this invention are also advantageous in that the vehicles can selectively perform a number of different functions including movements forwardly and rearwardly and to the left and the right and including movements of a container or bin or platform on the vehicle upwardly and downwardly or to the left or the right. Different movements can also be provided simultaneously on a coordinated basis.
There are also other significant advantages in the system and method of this invention. Two or more systems can be combined to increase the number of pads
42
controlling the operation of the vehicles
12
,
14
,
16
and
17
. In effect, this increases the number of users capable of operating the system. This combination of systems can be provided so that one of the systems is a master and the other is a slave. This prevents any confusion from occurring in the operation of the system. The system is also able to recharge the batteries in the vehicles so that use of the vehicles can be resumed after the batteries have been charged.
The system and method of this invention are also advantageous in the provision of the pads and the provision of the button and switches in the pads. As will be appreciated, the pads are able to select vehicles and/or stationary accessories through operation of a minimal number of buttons and to provide for the operation of a considerable number of different functions in the vehicles with a minimal number of buttons. In co-operating with the central station, the pads are able to communicate the selection of vehicles to the central station without indicating to the station, other than on a time shared basis, the identities of the vehicles being selected. After selecting a vehicle, each pad does not thereafter have to indicate the identity of the vehicle as long as the pad operates the vehicle through the central station within a particular period of time from the last operation of the vehicle by the pad through the central station.
While several forms of the invention have been illustrated and described, it will also be apparent that various modifications can be made without departing from the spirit and scope of the invention. Accordingly, it is not intended that the invention be limited, except by the appended claims.
Claims
- 1. In combination,a plurality of accessories, an auxiliary accessory different from the accessories, a pad operative to provide an address for selecting an individual one of the accessories and to provide commands to the individual one of the accessories for controlling the operation of the individual one of the accessories in accordance with the commands, a central station connected to the pad, first means in the central station for receiving the address and the commands from the pad, a smart port for transmitting the commands from the central station to the auxiliary accessory, second means responsive in the auxiliary accessory to the address and commands from the central station for modifying the address and commands, third means responsive in the central station to a signal from the auxiliary accessory for determining whether the auxiliary accessory is a smart accessory or a dumb accessory, fourth means in the central station for transmitting the modified address and commands from the auxiliary accessory in a first relationship to the accessories in the plurality to provide a first pattern of binary indications when the central station determines that the auxiliary accessory is a smart accessory, the third means processing the address and commands in a second relationship different from the first relationship to provide a second pattern of binary indications when the central station determines that the auxiliary accessory is a dumb accessory, fifth means in the individual one of the accessories for operating the individual one of the accessories in accordance with the first pattern of the binary indications.
- 2. In a combination as set forth in claim 1,sixth means in the auxiliary accessory for providing to the central station the signal indicating that the auxiliary accessory is a smart accessory.
- 3. In combination as set forth in claim 2,the auxiliary accessory being operative in accordance with the address and commands from the central station when the auxiliary accessory is a dumb accessory.
- 4. In a combination as set forth in claim 1,seventh means in the auxiliary accessory for processing the second pattern of binary indications from the central station, when the auxiliary accessory is a smart accessory, to provide the modified address and commands for transmission to the central station, and eighth means for providing for the transmission of groups of commands from the central station to the auxiliary accessory, and groups of modified commands from the auxiliary accessory to the central station, when the auxiliary accessory is a smart accessory and for preventing the passage of each successive group of commands from the central station to the auxiliary accessory until the commands in the previous group have been processed by the auxiliary accessory.
- 5. In a combination as set forth in claim 1,seventh means connected between the central station and the auxiliary accessory for synchronizing the passage of the address and commands from the central station to the auxiliary accessory, and the passage of the modified address and commands from the auxiliary accessory to the central station, when the auxiliary accessory is a smart accessory.
- 6. In a combination as set forth in claim 1,a microcontroller in the central station, the fourth means including the microcontroller for processing the address and the commands from the pad and for providing for the transmittal of the address and commands to the auxiliary accessory, and for processing the modified address and commands from the auxiliary accessory and for providing for the transmittal of the modified address and commands to the accessories in the plurality when the auxiliary accessory is a smart accessory.
- 7. In a combination as set forth in claim 1, whereinthe auxiliary accessory is an additional central station and wherein an additional plurality of pads and an additional plurality of vehicles are associated with the additional central station and wherein the central station is the master of the additional central station when the additional central station constitutes a smart central station.
- 8. In combination for use in a system including a plurality of accessories each responsive, in a first relationship, to an individual address and to a plurality of commands for providing operations of the accessory in accordance with such commands,a plurality of pads each operative to provide an address for selecting an individual one of the accessories and each operative to provide a plurality of commands for operating such individual one of the accessories in accordance with such commands, a central station connected to the pads, a smart port connected to the central station, an auxiliary accessory constructed to be connected to the central station through the smart port, first means in the central station for passing the commands from the pads through the smart port to the auxiliary accessory, and second means responsive in the auxiliary accessory to the commands from the central station for passing modified commands through the smart port to the central station.
- 9. In a combination as set forth in claim 8,third means in the central station for determining whether the auxiliary accessory is a smart accessory, fourth means responsive in the central station to the modified commands from the auxiliary accessory for processing the modified commands in a first relationship when the central station determines that the auxiliary accessory is a smart accessory, and fifth means in the central station for transmitting the processed commands to the accessories when the central station determines that the auxiliary accessory is a smart accessory.
- 10. In a combination as set forth in claim 9,means in the central station for processing the commands from the pads in a second relationship different from the first relationship, when the central station determines that the smart port is not connected to the central station, to provide commands for operating the auxiliary accessory, the fourth means in the central station being operative to transmit the processed commands in the second relationship to the auxiliary accessory when the central station determines that the smart port is not connected to the central station.
- 11. In a combination as set forth in claim 10 whereinwherein the auxiliary accessory is an additional central station and wherein an additional plurality of pads and an additional plurality of accessories are associated with the additional central station and wherein the additional central station directs the additional central station to be a slave to the central station and wherein the central station transmits the processed commands in the second relationship to the additional plurality of accessories when the additional central station is a slave to the central station.
- 12. In combination,a central station, an accessory constituting either a smart accessory or a dumb accessory, means in the central station for providing a sequence of signals including first signals providing for a determination of whether the accessory is a smart accessory or a dumb accessory and including second signals providing an address and third signals providing commands, means in the accessory for responding to the first signals when the accessory is a smart accessory and for ignoring the first signals when the accessory is a dumb accessory, means in the accessory for extracting the second and third signals when the accessory is a dumb accessory, means in the accessory for providing the accessory with a particular address when the accessory is a dumb accessory, means in the accessory for activating the accessory when the second signals in the sequence provide the particular address and when the accessory is a dumb accessory, and means in the accessory for operating the accessory in accordance with the extracted third signals when the accessory has been activated and the accessory is a dumb accessory.
- 13. In a combination as set forth in claim 12, including,means responsive in the accessory to the first signals, when the accessory is a smart accessory, for modifying the second and third signals and for introducing the modified second and third signals back to the central station.
- 14. In a combination as set forth in claim 12,means responsive in the accessory to the first signals, when the accessory is a smart accessory, for providing for a synchronization of the operation of the accessory with the operation of the central station, and means responsive in the accessory to the synchronization in the operation of the accessory with the operation of the central station, when the central station is a smart accessory, for modifying the second and third signals to provide for the performance of functions, in accordance with the modified second and third signals, different from the functions represented by the second and third signals before the modifications.
- 15. In a combination as recited in claim 14,means in the accessory for modifying the second and third signals from the central station when the accessory is a smart accessory, means for sending the modified second and third signals to the central station when the accessory is a smart accessory, a plurality of additional accessories other than the first accessory, and means in the central station for sending the modified second and third signals to the plurality of additional accessories.
- 16. In a combination as set forth in claim 12 whereinthe accessory is a vehicle having an operable member and wherein the vehicle provides a movement of the vehicle and an operation of the member in accordance with the third signals when the vehicle is addressed by the second signals and the vehicle is a dumb accessory.
- 17. In a combination as set forth in claim 16,means responsive in the accessory to the first signals, when the accessory is a smart accessory, for providing for a synchronization of the operation of the accessory with the operation of the central station, and means responsive in the accessory to the synchronization in the operation of the accessory with the operation of the central station, when the accessory is a smart accessory, for modifying the second and third signals to provide for the performance of functions, in accordance with the modified second and third signals, different from the functions represented by the second and third signals before the modifications.
- 18. In a combination as set forth in claim 17,means for sending the modified second and third signals to the central station, a plurality of additional accessories other than the first accessory, and means in the central station for sending the modified second and third signals to the plurality of additional accessories.
- 19. In a combination as set forth in claim 17,means responsive in the central station to the modified second and third signals from the accessory for transmitting the second and third signals.
- 20. In combination,a central station, an accessory constituting either a smart accessory or a dumb accessory, means for providing a particular communication between the central station and the accessory when the accessory is a smart accessory and for failing to provide the particular communication between the central station and the accessory when the accessory is a dumb accessory, means responsive in the central station to the particular communication from the accessory for considering the accessory to be a smart accessory, and means responsive in the central station to the failure of the accessory to provide the particular communication with the accessory for considering the accessory to be a dumb accessory.
- 21. In a combination as set forth in claim 20,means in the central station for providing a plurality of commands, means responsive in the accessory to the commands from the central station, when the accessory is a smart accessory, for modifying the commands and for sending the modified commands to the central station, and means responsive in the accessory to the commands from the central station, when the accessory is a dumb accessory, for operating the accessory in accordance with such commands.
- 22. In a combination as set forth in claim 21,the particular communication between the central station and the accessory being periodic when the accessory is a smart accessory, means for simultaneously providing, when the accessory is a smart accessory, a communication of the commands from the central station to the accessory and a communication of the modified commands from the accessory to the central station.
- 23. In a combination as set forth in claim 22,means responsive to the particular communication periodically between the central station and the accessory, when the accessory is a smart accessory, for synchronizing the communication of the commands from the central station to the accessory and the communication of the modified commands from the accessory to the central station.
- 24. In a combination as set forth in claim 21,a plurality of additional accessories, and means responsive in the central station to the modified commands from the accessory for transmitting the modified commands to the additional accessories to obtain an operation of the additional accessories in accordance with the modified commands when the accessory is a smart accessory.
- 25. In a combination as set forth in claim 20,means for communicating commands from the central station to the accessory, means in the accessory for modifying the commands from the central station, when the accessory is a smart accessory, and for transmitting the modified commands to the central station, and means responsive to the particular communication between the central station and the accessory, when the accessory is a smart accessory, for synchronizing the communication of the commands from the central station to the accessory and the communication of the modified commands from the accessory to the central station.
- 26. In a combination as set forth in claim 25,a plurality of accessories, means responsive in the central station to the modified commands from the accessory for transmitting the modified commands to the accessories in the plurality when the accessory is a smart accessory.
- 27. In combination,a central station, an accessory constituting either a smart accessory or a dumb accessory, means for providing command signals at the central station and for transmitting such command signals to the accessory, means for modifying at the accessory the command signals from the central station when the accessory is a smart accessory, and means for simultaneously providing a synchronized transfer of the command signals from the central station to the accessory, and of the modified command signals from the accessory to the central station, when the central station is a smart accessory, and means responsive at the accessory, when the accessory is a dumb accessory, to the command signals from the central station for operating the accessory in accordance with the commands.
- 28. In a combination as set forth in claim 27,the means for providing the synchronized transfer being responsive to the transfer of the command signals from the central station to the accessory to provide a synchronization in the transfer of the modified command signals from the accessory to the central station and the transfer of the command signals from the central station to the accessory.
- 29. In a combination as set forth in claim 28,a plurality of additional accessories each having an individual address and each being responsive when addressed by address signals from the central station with the individual address and each being operative in accordance with command signals from the central station when addressed by the individual address, and means responsive in the central station to the modified command signals from the accessory for transmitting the addresses of the additional accessories and the modified commands to the additional accessories.
- 30. In a combination as set forth in claim 27,means for providing interrogation signals from the central station to the accessory and for transmitting interrogation signals from the central station to the accessory in a sequence with the command signals, means in the accessory for providing particular communications to the central station in response to the interrogation signals from the central station when the accessory is a smart accessory and for failing to provide the particular communications to the central station in response to the interrogation signals when the accessory is a dumb accessory, thereby indicating to the central station whether the accessory is a smart accessory or a dumb accessory.
- 31. In a combination as set forth in claim 30,means at the accessory for extracting the command signals from the sequence when the accessory is a dumb accessory, and means responsive at the accessory to the extracted command signals, when the accessory is a dumb accessory, for operating the accessory in accordance with such command signals.
- 32. In a combination as set forth in claim 31,the means for providing the synchronized transfer being responsive to the transfer of the command signals from the central station to the accessory to provide a synchronization in the transfer of the modified command signals from the accessory to the central station and the transfer of the command signals from the central station to the accessory.
- 33. In a combination as set forth in claim 27,means responsive at the accessory to command signals from the central station, when the accessory is a dumb accessory, for operating the accessory in accordance with the command signals.
- 34. In combination as set forth in claim 27,a plurality of additional accessories, means responsive in the central station to the modified command signals from the accessory for transmitting the modified command signals to the additional accessories, the additional accessories being constructed to operate in accordance with the modified command signals transmitted by the central station to the accessories.
- 35. In combination,a plurality of first accessories each having an individual address, a plurality of pads each constructed to provide signals including an individual address and commands for operating one of the first accessories identified by such individual address, an additional accessory constituting either a smart accessory or a dumb accessory, a central station operatively coupled to the pads to send to the first accessories the signals provided by the pads when the additional accessory is a dumb accessory and to send to the additional accessory signals provided by the pads when the additional accessory is a smart accessory, means at the central station for reacting with the additional accessory to determine whether the additional accessory is a smart accessory or a dumb accessory, means responsive at the additional accessory to the signals from the central station, when the additional accessory is a smart accessory, for modifying the signals and for transmitting the modified signals to the central station, means at the central station for transmitting the signals to the first accessories when the additional accessory is a dumb accessory, and means responsive at the first accessories to the signals transmitted from the central station for operating the first accessories in accordance with the packets of signals addressed to the first accessories when the additional accessory is a dumb accessory.
- 36. In a combination as set forth in claim 35,means for providing a communication to the central station from the additional accessory when the additional accessory is a smart accessory and for preventing such a communication when the additional accessory is a dumb accessory, the means at the central station for reacting including means for determining whether the communication is being provided to the central station from the additional accessory.
- 37. In a combination as set forth in claim 35,means at the central station for sending bytes of the signals to the additional accessory, means at the additional accessory for modifying the signals in the bytes from the central station and for transmitting the bytes of the modified signals to the central station simultaneously with the transmission of the bytes of the signals from the central station to the additional accessory and when the additional accessory is a smart accessory, means for synchronizing the transmissions of the bytes of the signals from the central station to the additional accessory and the transmission of the bytes of the modified signals from the additional accessory to the central station when the additional accessory is a smart accessory.
- 38. In a combination as set forth in claim 35,the first accessories constituting vehicles and the commands providing for a movement of the vehicles when the additional accessory is a dumb accessory, and the operating means for the first accessories being responsive to particular ones of the signals transmitted from the central station for moving the first accessories addressed by the signals from the central station.
- 39. In combination,a plurality of operative members, a plurality of pads, each individual one of the pads including first and second pluralities of switches each having first and second operative relationships, the first switches having the second operative relationship in a pattern providing an address to select an individual one of the operative members and the second switches having the second operative relationship in a pattern providing for a controlled operation of the individual one of the operative members, a central station having first and second states of operation, the central station being responsive in the first state of operation of the central station to the individual pattern of the first switches in the second state of operation of the first switches for producing a plurality of signals representing the address of an individual one of the vehicles and being responsive in the first state of operation to the individual pattern of the second switches in the second state of operation of the second switches for producing a second plurality of signals providing a first controlled operation of the individual one of the operative members, the central station being responsive in the second state of operation of the central station to the individual pattern of the second switches in the second state of operation of the second switches for producing a third plurality of signals for providing a second controlled operation of the individual one of the operative members different from the first controlled operation of the individual one of the operative members.
- 40. In a combination as set forth in claim 39,means for sending to the operative members the first and second pluralities of signals in the first state of operation of the central station and the first and third pluralities of signals in the second state of operation of the central station.
- 41. In a combination as set forth in claim 39,the central station being operable on the first and second signals for each pad for modifying such signals to produce, for the operative member selected by the pad, commands represented by the modified first and second signals for such pad.
- 42. In combination for use in a system including a plurality of accessories, each individual one of the accessories being responsive in a first relationship to an individual address and to commands for providing operations of the individual one of the accessories in accordance with such commands, the system including, in a second relationship, an auxiliary accessory for receiving commands,a plurality of pads each operative to provide an address for selecting an individual one of the accessories and to provide commands to such individual one of the for operating such individual one of the accessories in accordance with such commands and each operative to provide an additional command indicating whether or not the individual one of the accessories or the auxiliary accessory is to be operated, a central station connected to the pads, first means in the central station for interrogating the pads to determine the address and the commands and the additional command provided by such pads, second means in the central station for receiving the address and the commands and the additional command from each of the pads, third means responsive in the central station to the additional command from the pads for determining from the additional command whether or not the commands from the pads are intended for the accessories or for the auxiliary accessory, fourth means in the central station for directing the commands from the pads to the additional accessory when the central station determines from the additional command that the commands are intended by the pads for the additional accessory, and fifth means in the central station for processing the address and commands from the pads in a first relationship to provide a first pattern of binary indications when the central station determines from the additional command from the pads that the commands from the pads are not to be directed to the additional accessory and for processing the commands in a second relationship different from the first relationship to provide a second pattern of binary indications when the central station determines from the additional command from the pads that the commands are to be directed to the auxiliary accessory, and sixth means in the central station for transmitting the first and second patterns of the binary indications to the accessories and the second patterns of the binary indications to the auxiliary accessory.
- 43. In a combination as set forth in claim 42,microcontroller means, the fifth means including the microcontroller means for processing the address and the commands in the first relationship to provide the first pattern of binary indications when the central station determines from the additional command from the pads that the commands from the pads are not to be directed to the auxiliary accessory, the fifth means including the microcontroller means for processing the commands in the second relationship to provide the second pattern of the binary indications when the central station determines from the additional command from the pads that the commands are to be directed to the auxiliary accessory.
- 44. In a combination as set forth in claim 42,the fifth means in the auxiliary accessory modifying the commands transmitted to it from the central station and transmitting the modified commands to the central station, and means in the central station for transmitting the modified commands to the accessories in the plurality.
- 45. In a combination as set forth in claim 44,means in the auxiliary accessory for synchronizing the transmission of the commands from the central station to the auxiliary accessory and the transmission of the modified commands from the auxiliary accessory to the central station.
- 46. In a combination as set forth in claim 44,means in the central station for transmitting the commands to the auxiliary accessory in successive groups, means in the auxiliary accessory for modifying the commands in the successive groups from the central station, means in the auxiliary accessory for instructing the central station to delay the transmission of the commands in each group until the auxiliary apparatus has modified the commands in the previous group, and means in the central station for transmitting the commands in each group after the auxiliary accessory has modified the commands in the previous group.
- 47. In combination,a plurality of accessories, an auxiliary accessory different from the accessories, a pad operative to provide an address for selecting an individual one of the accessories and to provide commands to such individual one of the accessories for operating such individual one of the accessories in accordance with such commands and to provide an additional command indicating whether or not such individual one of the accessories is to be operated or the auxiliary accessory is to be activated, a central station connected to the pad, first means in the central station for receiving the address and the commands and the additional command from the pad, second means responsive in the central station to the additional command from the pad for determining from such additional command whether or not the commands from the pad are intended for the individual one of the accessories or for the auxiliary accessory, third means in the central station for directing the commands from the pad to the auxiliary accessory when the central station determines from the additional command that the commands are intended to activate the additional accessory, fourth means in the central station for processing the address and commands in a first relationship to provide a first pattern of binary indications when the central station determines from the additional command in the pad that the commands from the pad are not to be directed to the auxiliary accessory and for processing the commands in a second relationship different from the first relationship to provide a second pattern of binary indications when the central station determines from the additional command in the pad that the commands are to be directed to the auxiliary accessory, fifth means in the central station for transmitting the first and second patterns of the binary indications to the accessories and the auxiliary accessory, sixth means in the individual one of the accessories for operating the individual one of the accessories in accordance with the first pattern of the binary indications, and seventh means in the auxiliary accessory for activating the auxiliary accessory in accordance with the second pattern of the binary indications.
- 48. In a combination as set forth in claim 47,microcontroller means, the fourth means including the microcontroller means for processing the address and the commands in the first relationship to provide the first pattern of binary indications when the central station determines that the commands from the pads are not to be directed to the auxiliary accessory, the fourth means including the microcontroller means for providing the commands in the second relationship to provide the second pattern of the binary indications when the central station determines that the commands are to be directed to the auxiliary accessory.
- 49. In a combination as set forth in claim 47 whereinthe central station is a first central station and the plurality of pads constitute a first plurality and the plurality of accessories constitute a first plurality and wherein the auxiliary accessory is a second central station and wherein a second plurality of pads and a second plurality of accessories are associated with the second central station and wherein the binary indications in the second pattern direct the second central station to be a slave to the first central station in activating the accessories in the second plurality.
- 50. In combination for use in a system including a plurality of accessories, each individual one of the accessories being responsive, in a first relationship, to an individual address and to a plurality of commands for providing operations of such individual one of the accessories in accordance with such commands, the system including, in a second relationship, at least one auxiliary accessory for receiving commands,a plurality of pads each operative to provide an address for selecting one of the accessories and each operative to provide commands for operating such selected one of the accessories in accordance with such commands, a central station connected to the pads, a smart port constructed to be connected to the central station, first means in the central station for interrogating the pads to determine if the smart port is connected to the central station, second means associated with the central station for processing the commands from the pads in a particular relationship, when the central station determines that the smart port is connected to the central station, to provide commands for operating the auxiliary accessory, and third means in the central station for transmitting the commands in the particular relationship through the smart port to the auxiliary mechanism when the central station determines that the smart port is connected to the central station.
- 51. In a combination as set forth in claim 50,the particular relationship constituting a first particular relationship, means in the central station for processing the commands from the pads in a second particular relationship different from the first particular relationship, when the central station determines that the smart port is not connected to the central station, to provide commands for operating the individual one of the accessories, the third means in the central station being operative to transmit the processed commands in the second particular relationship to the accessories when the central station determines that the smart port is not connected to the central station.
- 52. In a combination as set forth in claim 50 whereinthe auxiliary accessory is an additional central station and wherein an additional plurality of pads and an additional plurality of accessories are associated with the additional central station and wherein the additional central station is connected through the smart port to the central station to be a slave to the central station.
- 53. In a combination as set forth in claim 52 whereinthe additional central station processes the commands in the particular relationship and transmits the processed commands to the central station and wherein the central station transmits the processed commands to the accessories in the additional plurality.
- 54. In a combination as set forth in claim 53 whereinthe central station synchronizes the operation of the additional central station with the operation of the central station.
- 55. In combination for use in a system including a plurality of accessories, each individual one of the accessories being responsive in a first relationship to an individual address and to a plurality of commands for providing operations of such individual one of the accessories in accordance with such commands, the system including, in a second relationship, at least one auxiliary accessory for receiving commands,a central station, first means in the central station for determining whether the auxiliary accessory is a smart accessory or a dumb accessory, a plurality of pads each operative to provide an address for selecting an individual one of the accessories and to provide commands to such individual one of the for operating such individual one of the accessories in accordance with such commands and each providing an address and commands to operate the auxiliary accessory when the auxiliary accessory is a dumb accessory, the central station being connected to the pads, second means in the central station for processing the addresses and commands from the pads to obtain an operation of the accessories in accordance with such addresses and commands, third means in the central station for operating the auxiliary accessory in accordance with the address and commands from the pad when the central station determines that the auxiliary accessory is a dumb accessory, and fourth means in the auxiliary accessory for modifying the commands from the pads and for transmitting the modified commands to the central station for transmission by the central station to the accessories, the auxiliary accessory is a smart port.
- 56. In a combination as set forth in claim 55,fifth means in the auxiliary accessory for indicating to the central station a processing of the commands transmitted from the central station, and for indicating the completion of the processing, when the auxiliary accessory is a smart accessory, and sixth means in the central station for delaying any further transmission of commands from the central station to the auxiliary accessory, when the auxiliary accessory is a smart accessory, until the auxiliary accessory has completed the processing of the commands previously transmitted from the central station to the auxiliary accessory.
- 57. In a combination as set forth in claim 55 whereina smart port is connected to the central station and the auxiliary accessory and wherein the signals transmitted from the central station to the auxiliary accessory pass through the smart port.
- 58. In a combination as set forth in claim 55,means for synchronizing the transmission of the commands from the central station to the auxiliary accessory, and the transmission of the modified commands from the auxiliary accessory to the central station, when the auxiliary accessory is a smart accessory.
- 59. In combination for use in a system includinga plurality of accessories, each individual one of the accessories being responsive in a first relationship to an individual address and to a plurality of commands for providing operations of such individual one of the accessories in accordance with such commands, the system including, in a second relationship, an auxiliary accessory for receiving commands, a central station including first microcontroller means, a plurality of pads each operative to provide an address for selecting an individual one of the accessories and to provide commands to such individual one of the accessories for operating such individual one of the accessories in accordance with such commands and each providing an address and commands to obtain an operation of the auxiliary accessory, second microcontroller means in the auxiliary accessory, first means in the central station for processing the addresses from the pads for determining whether such addresses are intended for the accessories or the auxiliary accessory, second means in the central station including the first microcontroller means for processing the address and commands for operation of the accessories when the central station determines that the addresses and the commands are intended for the accessories and for introducing the addresses and commands to the auxiliary accessory when the central station determines that the addresses and commands from the pads are intended for the auxiliary accessory and the auxiliary accessory is a dumb accessory, third means including the second microcontroller means for processing the addresses and commands from the central station to provide commands for operating the auxiliary accessory when the addresses and commands from the pads are intended for the auxiliary accessory and the auxiliary accessory is a dumb accessory, and fourth means including the second microprocessor means for modifying the addresses and commands from the central station and for transmitting the modified addresses and commands to the central station when the auxiliary accessory is a smart accessory.
- 60. In a combination as set forth in claim 59,fifth means in the central station for transmitting the processed addresses and commands from the first microcontroller to the accessories when the central station determines that the addresses and commands from the pads are intended for the accessories and for transmitting the addresses and commands to the third means when the central station determines that the addresses and commands from the pads are intended for the auxiliary sixth means including the first microcontroller means for receiving the modified addresses and commands from the auxiliary accessory when the auxiliary accessory is a smart accessory and for transmitting the modified addresses and commands to the accessories.
- 61. In a combination as set forth in claim 59,the first microcontroller means being operative to pass the addresses and the commands from the pads to the auxiliary accessory when the central station determines that the commands are intended for the auxiliary accessory, the second microcontroller means being operative to receive and process the commands from the first microcontroller means simultaneously with the passage of the modified commands from the second microcontroller means to the first microcontroller means, and to pass the processed commands from the second microcontroller means to the first microcontroller means during the passage of the commands from the first microcontroller means to the second microcontroller means, when the auxiliary accessory is a smart accessory.
- 62. In a combination as set forth in claim 59,the first microcontroller means being operative to pass successive groups of commands to the second microcontroller means when the central station determines that the commands are intended for the auxiliary accessory, the second microcontroller means being operative to receive and process the commands from the first microcontroller means simultaneously with the passage of commands from the first microcontroller means to the second microcontroller means when the auxiliary accessory is a smart accessory, the first microcontroller means being responsive to the passage of the processed commands in each group from the second microcontroller means to the first microcontroller means for passing the commands in the next one of the successive groups from the first microcontroller means to the second microcontroller means for processing by the second microcontroller means when the auxiliary accessory is a smart accessory.
- 63. In a combination as set forth in claim 59,means responsive in the auxiliary accessory to the address and commands from the central station for operating the auxiliary accessory in accordance with such commands when the auxiliary accessory is a dumb accessory and the address from the central station is the address of the auxiliary accessory.
US Referenced Citations (34)
Foreign Referenced Citations (2)
Number |
Date |
Country |
4219780 |
Dec 1993 |
DE |
2285225 |
Dec 1993 |
GB |