[0001] The present invention relates to methods of transmitting data and apparatus for use
with such methods. For example, the invention relates to a method of validating transmitted
data and to a method of controlling a transmitter to transmit data at unique time
periods.
[0002] In a traditional central heating system, for example, a programmer or controller
for operating the boiler is hard wired to thermostats and other control means such
that the operation of the boiler can take into account ambient conditions. However,
the need for hard wiring makes the system difficult and expensive to install. It also
makes subsequent repositioning of thermostats, for example, difficult. It has been
proposed to use radio frequency transmission links in such circumstances, but it is
necessary to ensure the integrity of communication. In this respect, in a domestic
environment, for example, it may be required to communicate to a receiver, such as
a central heating programmer, with more than one transmitter, such as a thermostat.
[0003] Furthermore, it is important that transmitters and receivers for domestic use, for
example, can be produced in the same sort of sizes and at the same sort of costs as
traditional controls. This means that sophisticated and expensive systems to provide
for synchronous transmission and reception are not acceptable.
[0004] Where a receiver is to receive data from more than one transmitter there is a risk
that a number of transmissions from different sources will arise concurrently such
that none of them is understood by the receiver. The present invention seeks to address
this problem.
[0005] According to a first aspect of the present invention there is provided a method of
controlling a transmitter to transmit data at unique time periods to a receiver, wherein
the transmitter stores a random fixed data code, the method comprising the step of
determining the intervals between individual data transmissions of the transmitter
in dependence upon said random fixed data code of the transmitter.
[0006] The transmitter may be arranged to transmit identical individual data transmissions
a number of times. Preferably, in this case, the intervals between successive transmissions
is determined in dependence upon the random fixed data code of the transmitter.
[0007] Additionally and/or alternatively, the transmitter may be arranged to transmit a
data transmission, or a package of data transmissions, at intervals, for example once
every 5 or 6 minutes. The intervals between such individual transmissions, or such
packages thereof, may be determined in dependence upon the random fixed data code
of the transmitter.
[0008] Preferably, the random fixed data code provides an identification code for the transmitter.
[0009] In an embodiment, the or part of the identification code may comprises a random code
fixed in the transmitter on manufacture. In this respect, the random code may be stored
in the transmitter in any permanent memory device, or it may be fixed in a hardware
configuration. For example, a twelve bit pattern may be set for each transmitter at
the point of manufacture. This gives 4096 combinations.
[0010] To increase the combinations of the identification code further, the identification
code may also comprise a product type code, for example, identifying the transmitter
as a room thermostat, a tank thermostat, a temperature sensor or a remote control
unit. Thus, the identification code of the transmitter may be a code comprising both
the product type code and the random code.
[0011] In an embodiment, where the transmitter has a twelve bit identification code, selected
nibbles of the code may be used to determine different intervals between transmissions
to randomise the transmissions. For example, the least significant four bits may be
used to determine the interval between a first transmission and a first repeat thereof,
and the next four significant bits may be used to determine the interval between the
first repeat and a second repeat. The four most significant bits may be arranged to
determine the interval between that package of three repeated individual transmissions
and a succeeding package of three repeated transmissions.
[0012] According to the present invention there is also provided a transmitter arranged
to transmit data at unique time periods by the method defined above.
[0013] In another aspect, the present invention seeks to provide a simple method of data
tracking.
[0014] According to a further aspect of the present invention there is provided a method
of validating transmitted data, wherein the data transmitted is arranged in a data
stream having a start code followed by data bits, the method comprising the steps
of receiving said data stream and upon detection of said start code determining time
periods between the start code and selected transitions of said data bits and/or between
selected transitions, and validating data received if the respective time period determined
corresponds, within a preset tolerance, to one of a number of predetermined periods.
[0015] As is conventional, the data is represented by the data bits determined between successive
transitions of the data stream. With the present invention the period between successive
transitions may be determined to validate the data received.
[0016] For example, if the data rate is such that each data bit has a period of n mS, depending
upon what has gone before, a valid transmission will occur at:

[0017] Thus, with a method of the invention, the data will be accepted as valid if successive
transitions have the period given above and all other periods will be rejected as
invalid periods.
[0018] In a preferred embodiment, the preset tolerance is less than ±

, preferably, the tolerance is ±

.
[0019] Preferably, the data rate is a range 100Hz to 10kHz. Preferably, the data rate is
1kHz, that is each data bit has a period of lmS and the tolerance is ± 200µS.
[0020] The present invention also relates to a receiver arranged to validate transmitted
data by the method defined above.
[0021] According to a further aspect of the present invention there is provided a receiver
for validating transmitted data, said receiver having processor means, memory means
communicating with the processor means, and counting means, the receiver being arranged
to reset the counting means on detection of a start code of a data stream and to detect
selected data bit transitions whereby the count between selected transitions can be
determined and the data represented thereby stored in memory.
[0022] The count between selected transitions is chosen to be representative of the time
period therebetween. For example, the receiver may further comprise a clock and/or
timing means, and said counting means may be arranged to count elapsed time intervals
of said clock and/or timing means.
[0023] It is particularly convenient if said receiver is provided with timing means in the
form of a crystal oscillator.
[0024] In a preferred embodiment, each data stream comprises an individual encoded command
message including not only a start code but protocol and check bits.
[0025] In an embodiment, each said command message also includes an identification code
of the associated transmitter. For example, the or part of the identification code
may comprise a random code fixed in the transmitter on manufacture. In this respect,
the random code may be stored in the transmitter in any permanent memory device, or
it may be fixed in a hardware configuration. For example, a 12 bit pattern may be
set for each transmitter at the point of manufacture. It will be appreciated that
a 12 bit pattern gives 4096 combinations.
[0026] To increase the combinations of the identification code further, the identification
code may also comprise a product type code, for example, identifying the transmitter
as a room thermostat, a tank thermostat, a temperature sensor or a remote control
unit.
[0027] Where a receiver is to receive data from more than one transmitter there is a risk
that a number of transmissions from different sources will arise concurrently such
that neither is understood by the receiver. The present invention also seeks to address
this problem.
[0028] Embodiments of the present invention will hereinafter be described, by way of example,
with reference to the accompanying drawings, in which:
Figure 1 shows schematically one embodiment of a domestic central heating system using
wireless communications,
Figure 2 shows schematically the message protocol to be used in communications between
the elements of the system of Figure 1, and
Figure 3 illustrates bits in a data stream following a violation code and indicating
the data carried thereby.
[0029] The present invention relates to data transmission, and in particular to methods
of ensuring effective communication between a receiver and a number of transmitters.
As such, the invention is not limited to the uses to which the transmission techniques
may be put. However, to assist in understanding the invention it is described herein
below with reference to its use in a substantially conventional domestic central heating
system in which a boiler is used to heat water, the heated water not only providing
a supply of hot water but also heating the premises.
[0030] Figure 1 shows a simple control system for a conventional central heating system.
The control for a boiler and pump (not shown) comprises a programmer 2 communicating
with a receiver unit 4. The programmer 2 may be substantially conventional and will
store details of the times at which the central heating system is required to be on
or off, or at high or low levels. As is indicated in Figure 1, the receiver 4 has
a number of outputs for controlling the boiler and pump (not shown) of the central
heating system and for controlling visual and/or audible indicators and alarms. The
receiver 4 is in wireless communication with a room thermostat indicated at 6. This
thermostat 6 may be used to set the temperature in a particular room to be heated
by the system.
[0031] The thermostat 6 functions as a transmitter and is provided with an antenna indicated
at 10 which is arranged to be in wireless communication with an antenna 12 of the
receiver 4. Thus, the components 4 and 6 of the control system for the central heating
system have the advantage over existing systems that they do not need to be hard wired
together. This facilitates initial installation. The antennas 10 and 12 are each received
within the housing of the respective unit 6 and 4.
[0032] In the system illustrated in Figure 1 the receiver 4 is shown receiving information
from only a single transmitter, the thermostat 6. However, it will be appreciated
that it may be required to have a single receiver as 4 receiving transmissions from
a number of separate transmitters. For example, it may be preferred to have the programmer
2 as a separate hand held remote control unit, and to provide for transmissions to
the receiver from more than one thermostat. Furthermore, it is required that the receiver
unit not react to transmissions, for example, from neighbouring properties, or to
other transmissions received on the premises, for example to radio or television receivers,
or to other remote control devices. All this means that it is necessary to ensure
the highest integrity of communication between the receiver 4 and any transmitters,
as 6. The communication protocol is designed to ensure integrity and efficient data
transfer and a number of measures are taken.
[0033] At present, the chosen frequency for the transmissions is within the band 417.9 to
418.1 MHz for the United Kingdom, and 433.72 to 434.12 MHz for Germany. Each transmitter,
as 6, is arranged to transmit individual encoded command messages including the command
data. In this respect, it is preferred that each encoded command message be Manchester
encoded and incorporate various protocol and check bits. The format of each command
message 30 is illustrated in Figure 2.
[0034] As can be seen in Figure 2, each command message 30 commences with a stabilisation
code 32 of six bits. This is followed by a start code 34 which is a Manchester violation
code and is equivalent to two bits. On receipt of the start code the receiver 4 is
ready to receive data and the next data which arrives is a twelve bit product code
36 which acts as an individual identification code for the transmitter 6. This is
followed by a three bit type code 38 which also acts to identify the transmitter.
The next bit of the message 30, bit 39 is, when set, a learn bit. This learn bit 39
is followed by two bits 40 which are the status bits or command data. There is then
a single bit 41 which, if set, provides a low battery warning. This low battery warning
41 is followed by check sum or parity bits 42.
[0035] The number of bits for each code can, of course, be chosen as necessary. For example,
the number of command bits 40 may be increased if alternative and/or additional command
data is to be transmitted.
[0036] For integrity of communication it is required that a receiver 4 only act on command
data which is within a command message 30 transmitted by an identified transmitter,
as 6. In this respect, a respective product code 36 is transmitted by each transmitter
and is set on manufacture. It arises from a twelve bit pattern in the transmitter
and it will be appreciated that twelve bits provide 4096 possible combinations. Furthermore,
the transmitter, as 6, also provides the three bit type code 38 which identifies the
transmitter as a thermostat, cylinder thermostat, hand held remote control unit or
programmer for example. The type code 38 therefore also acts to provide identification.
[0037] The twelve bit product code 36, and if required, the three bit type code 38, are
fixed in the transmitter on manufacture. For example, these identification codes 36,
38 may be stored in any permanent memory device, such as a non-volatile memory. Alternatively,
the identification codes 36, 38 may be fixed in a hardware configuration. In the illustrated
embodiment, at least the twelve bit product code 36 is hard wired.
[0038] It is arranged that the receiver 4 only acts on command data received if it is contained
within a command message 30 which carries both a product code 36 and a type code 38
which are the same as codes stored in the receiver memory. It is preferably arranged
that the receiver unit 4 learn the identification of the or each transmitter 6 with
which it is to communicate during initialisation. Thereafter, the receiver 4 rejects
and fails to act on any spurious transmissions received from other sources.
[0039] In normal run mode, the or each transmitter 6 is arranged to transmit command messages
30 to the receiver unit 4 at regular intervals. In a preferred embodiment, each transmitter
6 sends three identical individual command messages 30 in succession at a first time
interval, and then sends a further set of three command messages 30 at a second time
interval which is preferably five or six minutes later than said first time interval.
Packages of three individual command messages 30 continue to be sent at five or six
minute intervals. It will be appreciated that if each command message 30 is repeated
three times there is redundancy in the information provided and this aids in the efficiency
of the data transfer.
[0040] If the transmitter 6 is adjusted, its existing normal run mode is interrupted and
is then replaced by a new normal run mode in response to the change of status. In
this respect, if the user adjusts the temperature required by the thermostat, for
example, it is clearly required that that new command be transmitted to the receiver
unit 4 substantially immediately rather than after a five or six minute interval as
might be the case if the information were to be transmitted by the normal run mode
in existence at the time of the adjustment. Thus, a new normal run mode is initiated
in response to any change of status of the transmitter 6 whereby a first package of
command messages is transmitted. Thereafter, packages of three individual command
messages 30 continue to be sent at five or six minute intervals.
[0041] It will be appreciated that there is a risk that the receiver 4 will receive command
messages 30 substantially concurrently from two different transmitters 6. To avoid
this, each transmitter 6 is arranged to randomise the timings of its transmissions.
In this respect, the twelve bit identification code 36 is used to effect the randomisation.
[0042] In one scheme, for example, where the transmitter is arranged to send three repeats
of an individual command message in succession, the identification code is employed
as follows.
[0043] The three repeats of the individual command message are to be sent in succession
and are to be spaced by at least a nominal 1 second. The actual spacing between the
first transmission and the first repeat or second transmission is set to be 1 second
plus a number of 16ths of a second, determined by the four least significant bits
of the transmitter identification code. The second repeat or third transmission occurs
1 second plus a number of 16ths of a second, determined by the four middle bits of
the identification code, after the first repeat. The next set of three repeated transmissions
are spaced from the preceding package of three transmissions by 5 minutes plus a number
of 16ths of a second, determined by the four most significant bits of the identification
code of the transmitter. Thus, transmission timings occur at:
[0044]
First message,
first package : T0
Second message,
first package :

Third message,
first package :

First message, :
next package :

[0045] Where,
- T0 =
- Start time
- I =
- Identification code 36
- ILS4 =
- 4 least significant bits of I
- IMS4 =
- 4 mid significant bits of I
- IHS4 =
- 4 highest significant bits of I
[0046] It will be appreciated that, given that each product code 36 is physically different
from another, and that there is only a one in 4096 chance of coincidence, then the
transmission scheme set out above will provide for transmissions from a number of
transmitters 6 to a receiver 4 without coincidence.
[0047] For a domestic environment, for example, it is required to keep the transmitter and
receiver technology as simple and sturdy as possible without expensive apparatus at
each end to provide the necessary synchronism between the transmitter and receiver.
However, it is, of course required to validate the data received, which data is determined
by the periods between negative going transitions. The data is Manchester encoded
and is provided in a data stream at a bit rate of 1kHz per second. This, of course,
means that each data bit has a lmS period and that the length of the data stream,
without the preamble and violation codes, is 28mS.
[0048] An acceptance tolerance band is used to determine if each received negative going
transition is valid. In this respect, the tolerance band needs to be less than ±

bit, and for 1mS bits it is preferred that the tolerance band is ± 200µS seconds.
This means that the time between negative edges will nominally be 1, 1.5, 2, or 2.5mS
and that all other time periods will be invalid.
[0049] Figure 3 shows the bits which might follow the violation code and illustrates how
the preceding bits determine the interval which is acceptable. Figure 3 also illustrates
graphically that the intervals 1, 1.5, 2, and 2.5mS are valid.
[0050] It will be appreciated that in asynchronous transmissions generally, the receiver
and transmitter are brought into coincidence by the arrival and detection of a start
code. However, thereafter any error between the timing of the transmitted signal and
that of the receiver can become cumulative. The present scheme is very simple, but
as it looks only at the interval between one negative going transition and the preceding
one, no accumulation of errors is set up.
[0051] The hardware configuration and software required to detect and assess the validity
of the data received are within the competence of any one skilled in the art and are
not further described herein except to say that to facilitate real time processing
the data is preferably stored in the receiver memory and is utilised after all of
the received data has been validated.
[0052] Variations and modifications to the embodiments described and illustrated may be
made within the scope of the present application.
1. A method of controlling a transmitter to transmit data at unique time periods to a
receiver, wherein the transmitter stores a random fixed data code, the method comprising
the step of determining the intervals between individual data transmissions of the
transmitter in dependence upon said random fixed data code of the transmitter.
2. A method as claimed in Claim 1, wherein the transmitter is arranged to transmit identical
individual data transmissions a number of times.
3. A method as claimed in Claim 2, wherein the intervals between successive transmissions
is determined in dependence upon the random fixed data code of the transmitter.
4. A method as claimed in any preceding claim, wherein the transmitter is arranged to
transmit a data transmission, or a package of data transmissions, at intervals, the
intervals between such individual transmissions, or such packages thereof, being determined
in dependence upon the random fixed data code of the transmitter.
5. A method as claimed in any preceding claim, wherein said random fixed data code provides
an identification code for the transmitter, and wherein the or part of the identification
code comprises a random code hard wired into the transmitter on manufacture.
6. A method as claimed in Claim 5, wherein the transmitter has a twelve bit identification
code, selected nibbles of the code being used to determine different intervals between
transmissions to randomise the transmissions.
7. A transmitter arranged to transmit data at unique time periods by a method as claimed
in any preceding claim.