APPARATUS AND METHODS FOR UNIDIRECTIONAL DATA
COMMUNICATION
Field of the Invention
This invention relates to data communication. More particularly, the invention relates to apparatus and methods for unidirectional data communication over signal conduction media.
Description of the Prior Art
Systems deploying multiple sensing devices that share the same transmission media to transmit their status back to central receiving devices, have traditionally used various means to coordinate the signals for coherent reception. Some existing systems are known to use timing from a master synchronization source, so that signals from each sensor do not coincide in time. This approach requires two-way communication between the transmitters and the receiver. In another known approach, each transmitter is coupled to a time division multiplexer through which the transmitter transmits it signal packet. This approach requires that each transmitter transmit on an assigned channel to avoid collisions among signal packets from different transmitters. Thus, this approach requires multiplexing hardware in the transmitters.
These systems and methods are useful for systems that require timely
reporting of sensor status, since they guarantee reception of a valid status at a particular time. For applications where timeliness of status is not required, however, the complex and costly hardware needed to deploy these systems and methods make them inefficient. In such applications, there is a need in the art for systems and methods that reduce the complexity and cost of the hardware needed to communicate status from a plurality of transmitters to a receiver. The present invention addresses this need in the art.
Summary of the Invention
The above described need in the art is satisfied by the apparatus and methods of the claimed invention wherein each transmitter transmits status messages to a single receiver based on a random time interval.
A method according to the present invention for communicating over a signal conduction medium, comprises the steps of coupling one or more communication devices to the signal conduction medium and storing a digital message packet in a memory in each communication device. Depending on the application, the signal conduction medium can be an alternating current power line carrying a voltage waveform, an audio conductor carrying an audio waveform, an electromagnetic link carrying an electromagnetic waveform, etc. In a preferred embodiment, each communication device is coupled to a monitored appliance associated therewith. The communication device measures at least one parameter representative of the monitored appliance. Each digital message packet comprises a field representing at least one measured parameter representative of the associated monitored appliance.
The inventive method includes defining N channels of a waveform, where the N channels constitute a frame. N is defined according to the present invention based on the number of said communication devices. Preferably, N is defined to be about 1.4 times the number of communication devices. Each of the N channels has a channel period based on the nominal frequency of the waveform and on the message length of the message packet. Preferably, the duration of the channel period is based on a time between zero-crossings of the waveform. For each frame of the waveform, a channel is randomly selected from among the N channels constituting the frame and the digital message packet is transmitted over the signal conduction medium on the selected channel. Preferably, the
step of randomly selecting a channel comprises the steps of assigning an identification number to the communication device and randomly selecting a channel based on the identification number via a pseudorandom number generator seeded with said identification number. For each bit in the digital message packet, if the bit is a high bit, a first tone is transmitted for one bit period. Similarly, if the bit is a low bit, a second tone is transmitted for one bit period. A bit period is no greater than the time between successive zero-crossings of said waveform. Thus, a channel period comprises a plurality of bit periods. Preferably, a receiver is also coupled to the signal conduction medium and to a central repository. The receiver receives the digital message packets from the communication devices, encodes a system status message representing a current status of each monitored appliance, and delivers the system status message to a central repository. A communication device according to the present invention comprises a memory that stores the digital message packet, a control processor, and a line interface that couples the control processor to the signal conduction medium. The control processor defines the N channels on the waveform, randomly selects a channel from among the N channels, reads the digital message packet from memory, and transmits the digital message packet over the signal conduction medium on the selected channel. Preferably, the communication device comprises a pseudorandom number generator that randomly selects the selected channel based on an identification number stored in memory. The communication device optionally comprises a parameter meter that measures at least one measured parameter representative of the monitored appliance associated with the communication device.
Brief Description of the Drawings
The foregoing summary, as well as the following detailed description of the preferred embodiments, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, there is shown in the drawings an embodiment that is presently preferred, it being understood, however, that the invention is not limited to the specific methods and apparatus disclosed. In the drawings:
FIG. 1 is a block diagram of a system according to the present invention;
FIG. 2 depicts a waveform on which a plurality of channels is defined according the present invention;
FIG. 3 is a detailed block diagram of a preferred embodiment of a system according to the present invention;
FIG. 4 is a flowchart of a method according to the present invention;
FIG. 5 is a functional block diagram of a communication device according to the present invention;
FIG. 6 is a detailed block diagram of a remote terminal unit; FIG. 7 is a plot of response time versus number of channels for a system having 100 communication devices;
FIG. 8 is a plot of response time versus number of channels for a system having 50 communication devices; and
FIG. 9 is a plot of response time versus number of channels for a system having 25 communication devices.
Detailed Description of the Preferred Embodiments
As shown in FIG. 1, a system 100 according to the present invention comprises a plurality of communication devices, or remote sensor modules (RSMs) 102 and a remote terminal unit (RTU) 104. Each RSM 102 is coupled to an associated monitored appliance 106 and to signal conduction medium 108. RTU 104 is coupled to signal conduction medium 108 and to a central repository 112.
System 100 can be deployed in numerous applications. Several examples are provided herein for clarification only and in no way limit the scope of the claimed invention. For example, system 100 can be deployed to monitor the electrical energy consumed by monitored appliances 106. In this example, monitored appliances 106 can be outdoor lighting fixtures or any other electrical load, and signal conduction medium 108 can be an alternating current (AC) power line carrying a voltage waveform to the fixtures. In another example, system 100 can be deployed to monitor the volume of fluid contained within monitored appliances 106. In this example, monitored appliances 106 can be fuel tanks and signal conduction medium 108 can be an AC power line carrying a
voltage waveform to the tanks, or to a point near the tanks. In still another example, system 100 can be deployed to monitor the audio output of monitored appliances 106. In this example, monitored appliances 106 can be speakers in a public address system and signal conduction medium 108 can be an audio conductor carrying an audio waveform to the speakers. Similarly, signal conduction medium 108 can be a microwave or other electromagnetic link carrying an electromagnetic waveform. Other similar applications will be apparent to those skilled in the art.
Periodically, each RSM 102 measures at least one parameter representative of its associated monitored appliance 106. For example, if monitored appliance 106 is an outdoor lighting fixture, RSM 102 can be adapted to measure current, voltage, power, etc. If monitored appliance 106 is a fuel storage tank, RSM 102 can be adapted to measure, for example, the volume of fuel in the storage tank. If monitored appliance 106 is an audio speaker, RSM 102 can be adapted to measure, for example, the audio output from the speaker. In general, RSM 102 can be adapted to measure any measurable parameter representative of its associated monitored appliance 106. Other such parameters include, for example, pressure, temperature, strain, etc.
According to the present invention, each RSM 102 transmits over signal conduction medium 108 to RTU 104 a digital message packet comprising a digital representation of the measured parameters). RTU 104 receives the digital message packets from the plurality of RSMs 102 and transmits a system status message over telephone network 110 to a central repository 112, where the system status message represents the current status of each monitored appliance 106.
In a preferred embodiment, RSMs 102 comprise transmitters and do not receive messages. Preferably, RTU 104 is a receiver only and does not send messages over signal conduction medium 108. This provides a significant benefit to the user because the hardware costs associated with installation and maintenance of system 100 are considerably lower than with prior art systems.
Each digital message packet comprises a plurality of digitally encoded fields. In a preferred embodiment, a digital message packet comprises: a Start of Header (SOH) field, an Address Identification Number (ALN) field, a data field, and a Cyclic Redundancy Check (CRC) field. The SOH field is a predefined sequence of bits that
identifies the start of a new digital message packet. In a preferred embodiment, the SOH field is one byte (0x55). The ABSf is stored in memory 130 and uniquely identifies the RSM 102. The ALN field should be long enough so that every RSM 102 in system 100 can have a unique address. In a preferred embodiment, the ALN field is four bytes. The data field comprises a digital representation of the measured parameter(s). Thus, the data field can be of any length. In a preferred embodiment in which the RSM is used to monitor a lighting fixture, the data field is four bytes in length - one byte each representing current, voltage, phase angle, and miscellaneous information regarding the monitored lighting fixture. The CRC field provides a sequence of checkbits to verify the integrity of the message packet when it is received. In a preferred embodiment, the CRC field is four bytes in length. Thus, in a preferred embodiment, a digital message packet has a message length of 11 bytes, or 88 bits.
Signal conduction medium 108 carries a waveform having a nominal frequency. FIG. 2 depicts a waveform 500 on which a plurality of channels 502 are defined according to the present invention. Each channel 502 has a channel duration, or period, T, based on the nominal frequency of waveform 500 and the message length of the digital message packet. More specifically, each channel period, T, comprises a plurality of bit periods, t. The number of bit periods, t, constituting a channel period equals the number of bits in the digital message packet. Thus, in an embodiment in which the message length is 88 bits, channel period, T = 88*t. In a preferred embodiment, a bit period, t, is no greater than the time between successive zero crossings 506 of waveform 500. The frequency at which zero crossings 506 occur is proportional to the nominal frequency of waveform 500. Thus, channel period, T, is based on the message length (in bits) divided by the nominal frequency of waveform 500. A bit is represented on signal conduction medium 108 as an audio tone of a certain frequency that is superimposed on waveform 500 for a bit period, t. Although the frequency of the tone used to transmit the bits is immaterial to the inventive method, in a preferred embodiment, an 80 kHz tone is used to represent a "1" bit and a 76 kHz tone is used to represent a "0" bit. Similarly, the duration of the tones is immaterial to the inventive method. In a preferred embodiment, however, bits are transmitted between consecutive zero-crossings 506 of waveform 500. In a preferred embodiment in which
signal conduction medium 108 is an AC power line, for example, waveform 500 is an alternating current voltage waveform. Typically, the nominal frequency of such a waveform is either 60 Hz (as in North America, for example) or 50 Hz (as in Europe, for example). A sinusoidal voltage waveform having a nominal frequency of 60 Hz has zero- crossings at a rate of 120 Hz. In a preferred embodiment, these zero-crossings are used as the baseline of timing (i.e., each bit is synchronized with a zero crossing). Thus, one bit period, t, is 1/120 Hz, or 8.33 ms. In a preferred embodiment in which a digital message packet has a message length of 88 bits in length, and in which each bit period, t, is about 8.33 ms, channel period, T, is about 733 ms (88 b x 8.33 ms/b). In a preferred embodiment, N channels constitute a frame 508. The number of channels, N, is immaterial and, for reasons described below, is preferably about 1.44 times the number of RSMs 102 in system 100. For example, in a system according to the present invention in which about 90 RSMs are deployed, it is preferred that frame 508 comprise about 130 channels (-1.44 x 90). Each channel is designated by an integer, n, where n ranges from 1 to N, and has a channel period, T. A frame, therefore, has a frame period of (N x T). Thus, the frame period in this example is approximately 95 seconds (130 channels x 733 ms/channel).
RTU 104 decodes a bit for each zero-crossing 506. When RTU 104 detects an SOH field as described above, RTU 104 begins to verify whether a digital message packet has been received. Once an SOH has been detected, RTU 104 stores a bitstream corresponding to one digital message packet (i.e., 88 bits in the example above) and applies a cyclic redundancy check to the bitstream. If the CRC is successful, RTU 104 understands that a valid digital message packet has been received. Thus, RTU 104 can receive message packets from RSMs 102 without the need for a common frame or channel timing synchronization scheme between RSMs 102 and RTU 104.
To illustrate the use of the apparatus and methods of the present invention, an installation in which outdoor lighting is being monitored will be described (i.e., a system 100 in which monitored appliances 106 are lighting fixtures), although it should be readily apparent to one skilled in the art that the claimed methods and apparatus are in no way limited to such an installation. As shown in FIG. 3, a communication device, or RSM, 102 is coupled to each monitored appliance, or lighting fixture, 106. Each RSM
102 is coupled to signal conduction medium, or AC power line, 108 via a main power distribution panel 82. Main power lines 84 distribute electrical energy from power main, or transformer, 86 to main distribution panel 82. Each RSM 102 is electrically coupled to a branch circuit 80 emanating from main power distribution panel 82. RTU 104 is coupled to main power lines 84 via AC power line 108. In an embodiment in which system 100 monitors lighting fixtures fed by more than one transformer 86, an RTU 104 can be coupled to each transformer feed.
Each RSM 102 uses method 400, described below in connection with FIG. 4, to measure the current, voltage, and phase angle associated with lighting fixture 106, and to transmit these data in a digital message packet to RTU 104. RTU 104 performs a calculation to determine the power consumed by each monitored lighting fixture 106 and communicates this information to central repository 112 over telephone network 110. Central repository 112 can include, for example, a computer 112b (e.q., a desktop PC) or a FAX machine 112a. The reporting style for transmitting status can be configured by the central station software. Preferably, the application software in computer 112b allows the user to configure the location of the RSMs 102 and RTUs 104, to configure the reporting style and frequency of the RTUs 104, to generate status reports for all monitored locations, to view history logs, and to cross-reference RSM address to actual field location and general appliance information like fixture type, bulb type, and installation instructions.
FIG. 4 is a flowchart of a preferred embodiment of a method 400 according to the present invention. At step 402, RSM 102 measures at least one measured parameter representative of its associated monitored appliance 106 and encodes a digital message packet comprising a field representing the measured parameter(s). RSM 102 stores the digital message packet in memory 130 until RSM 102 is ready to transmit.
At step 404, RSM 102 randomly selects a selected channel, k, from among the N channels constituting frame 508. Selected channel, k, is the channel on frame 508 on which RSM 102 will eventually transmit the digital message packet over signal conduction medium 108 to RTU 104. In a preferred embodiment, selected channel, k, is selected by pseudorandom number generator (PRNG) seeded with the ALN. Using a unique seed for each
RSM guarantees that, even if a large number of RSMs (all using the same PRNG program) are energized at the same time, the probability that any two will be locked together in the same random number sequence will be negligibly small.
At step 406, a channel counter in RSM 102 is started (i.e., n is set to 1) at the start of each frame 508. At this point, the channel counter begins to count channels (i.e., incrementing n once every T seconds). The channel counter tracks the current channel, n, at step 408 until current channel, n, equals selected channel, k. When n = k at step 408, at step 410 RSM 102 reads the digital message packet from memory 130 and transmits the digital message packet over signal conduction medium 108 on selected channel, k. RSM 102 continues to count channels at step 412 until the entire frame has passed (i.e., until n = N). After all N channels have passed (i.e., the frame period for the current frame has elapsed), the process begins again at step 402 for the next frame. A new channel, k, is randomly selected each frame. Thus, randomly selected channel, k, on which RSM 102 transmits the digital message packet corresponding to its associate monitored appliance 106 varies, in general, from frame to frame.
Consider, once again, a preferred embodiment in which system 100 is used to monitor electrical consumption of outdoor lighting fixtures. When a monitored appliance, or lighting fixture, 106 is energized, the associated RSM 102 is activated. RSM 102 waits a short period of time to allow the current to stabilize and then measures the current and phase angle for the lighting fixture 106. The measured current and phase angle are then digitally encoded in preparation for transmitting over signal conduction medium 108. As long as monitored appliance 106 is energized, RSM 102 will continuously perform method 400. If monitored appliance 106 should fail (e.g., a bulb burns out), current flow will decrease. RSM 102 will measure this reduced current and send this information to RTU 104.
FIG. 5 shows a functional block diagram of a communications device, or remote sensor module (RSM) 102 according to the present invention. RSM 102 comprises the following elements: a logic and control processor 120; a line interface 122 that couples RSM 102 to signal conduction medium 108; a pseudo-random number generator (PRNG) 124, a zero-crossing voltage detector 126 used to provide optional bit synchronization, an oscillator 128 used to provide timing to processor 120 for logic and
control; memory 130; and a channel counter 132. Preferably, RSM 102 also includes the following elements (not shown in FIG. 5): a non-isolated power supply used to power the RSM electronics, a line driver with three conductors used to couple RSM 102 to conductors on signal conduction medium 108 and, if necessary, to monitored appliance 106, and transient over-voltage protection used to protect RSM 102. RSM 102 can also include a parameter meter 132 that measures and digitally encodes the parameter(s) representative of monitored appliance 106.
Preferably, RSM 102 is programmed with the following algorithms: a pseudo-random number generator algorithm that randomly selects selected channel, k; a check bit algorithm for generating check bits; a channel counter algorithm to count channels and frames; a check sum algorithm to create a check sum; and a modulator algorithm to generate a carrier and modulate it with a message.
Preferably, RSM 102 is packaged in a durable, weather proof enclosure. For example, in a preferred embodiment, each RSM 102 comprises a printed circuit board assembly (PCBA) packaged in a custom epoxy resin enclosure. It is anticipated that RSM 102 will be less than about 3.9" long, 1.7" wide, and 1.4" high. Of course, as the physical dimensions of the constituent electronics become smaller, so will preferred embodiments of RSM 102.
FIG. 6 shows a preferred embodiment of remote terminal unit (RTU) 104. RTU 104 comprises a host digital signal processor (DSP) 140 and a slave DSP 142. Slave DSP 142 is preferably an ANALOG DEVICES ADSP-2181 and comprises a shared memory 156 that can be accessed by both master DSP 140 and slave DSP 142. Slave DSP 142 functions as a frequency shift keying (FSK) receiver that demodulates, decodes, and validates the integrity of the digital message packets received from the RSMs 102. Slave DSP 142 stores the demodulated, decoded, validated messages in shared memory 156. Master DSP 140 is also preferably an ANALOG DEVICES ADSP-2181. Master DSP 140 retrieves the decoded messages from shared memory 156, calculates parameters of interest (such as power or volume) from the data contained in the messages, and determines from the parameters of interest changes in the state of the monitored appliances. Master DSP 140 also boots and downloads executable code into slave DSP 142 on powerup and controls slave DSP 142 with respect to communicating with the host
PC. Master DSP 140 uploads and downloads status configuration and program information and also logs messages in nonvolatile, or flash, memory 152.
RTU 104 comprises a line interface 144 via which RTU 104 can be coupled to signal conduction medium 108. Line interface 144 can be configured to couple RTU 104 to any signal conduction medium 108 carrying any waveform. In an embodiment in which signal conduction medium 108 is an AC power line, for example, it is anticipated that signal conduction medium 108 will be either a single phase or three phase power line carrying a known voltage such as, for example, 120, 208, 240, 277, or 480 volts. RTU 104 also comprises a telephone network interface 146 via which RTU 104 can be coupled to telephone network 110 and through which RTU 104 can transmit system status messages to central repository 112. A modem 148 is included to modulate the system status messages before RTU 104 transmits them over telephone network 110. Preferably, RTU 104 also includes a serial interface 150 such as, for example, a universal asynchronous receiver-transmitter (UART). Serial interface 150 converts parallel data output from master DSP 140 into a serial bitstream input to modem 148. Serial interface 150 can also be connected to an external serial communications device (e.g., a wireless modem). Preferably, RTU 104 also comprises a power supply 154.
As discussed above, in a preferred embodiment, each transformer-fed AC supply uses a single RTU 104. Whenever monitored appliances 106 are activated, RTU 104 receives digital message packets from the plurality of RSMs 102 installed on that transformer feed. It is anticipated that a single RTU 104 will handle up to 90 RSMs 102.
Occasionally, appliance status messages from multiple RSMs 102 will collide and RTU 104 will be unable to decode the received messages. This is acceptable in accordance with the invention because RSMs 102 continuously retransmit and it is unnecessary for RTU 104 to receive every transmission. The probability of successfully transmitting data without a collision has been calculated. As will be explained below, this probability can be improved by employing various known forward error correction codes.
For the following discussion, assume that a number, M, of RSMs 102 is communicating with a single RTU 104. When an RSM 102 is active, it transmits for a duration of T seconds (i.e., the channel period). Each RSM 102 will be active once during a frame, where a frame has a duration of N*T seconds and N is the number of channels
constituting a frame. At the beginning of a frame, each RSM 102 randomly selects a channel, k, on which to transmit. Each RSM 102 has an equal probability of selecting any one of the channels. If two or more RSMs 102 are active at the same time (i.e., they have both chosen the same channel on which to transmit), a collision occurs and the transmissions will be invalid. Let P represent the probability of receiving at least one valid message from each RSM 102 while the system operates for Q frames. It takes Ttot seconds to transmit Q frames of information. Thus:
M
1 M-l
P = 1 - 1 - 1 1 - -
N- 0)
Rewriting (1) in terms of Q yields:
Multiplying both sides of (2) by N*T yields:
Thus, (3) describes how long it will take to get at least one valid transmission from each of the M RSMs with a probability of success of P. FIG. 7 shows response time, Ttot, as a function of N, where N ranges from
135 to 155, for M = 100, T = 0.2 seconds, and P=0.99.
FIG. 8 shows response time, Ttot, as a function of N, where N ranges from
70 to 75, for M = 50, T = 0.2 seconds, and P=0.99.
FIG. 9 shows response time, Ttot, as a function of N, where N ranges from 33 to 39, for M = 25, T = 0.2 seconds, and P=0.99.
By comparing FIGs. 7-9, it is shown that for a given number of RSMs, M, there is an optimum number of channels, N, that provides for a minimum time, Ttot, to get at least one good message from all the transmitters. As shown in FIGs. 7-9, the optimum value of N is about 1.44 * M.
Table 1 shows response times versus confidence values for different quantities of RSMs. This example is based on 128 channels per frame, 64 bit messages, and 1 / 120 Hz bit time. The optimum response time is when the number of channels is 1.44 times the number of sensors. This example does not use any forward error correction code.
Table 1. Response Time versus Confidence Value
Those skilled in the art will appreciate that numerous changes and modifications may be made to the preferred embodiments of the invention and that such changes and modifications may be made without departing from the spirit of the invention. It is therefore intended that the appended claims cover all such equivalent variations as fall within the true spirit and scope of the invention.