|Publication number||US6873642 B1|
|Application number||US 09/830,516|
|Publication date||Mar 29, 2005|
|Filing date||Oct 13, 1999|
|Priority date||Oct 27, 1998|
|Also published as||DE19849408A1, DE59914472D1, EP1125406A1, EP1125406B1, WO2000025490A1|
|Publication number||09830516, 830516, PCT/1999/7684, PCT/EP/1999/007684, PCT/EP/1999/07684, PCT/EP/99/007684, PCT/EP/99/07684, PCT/EP1999/007684, PCT/EP1999/07684, PCT/EP1999007684, PCT/EP199907684, PCT/EP99/007684, PCT/EP99/07684, PCT/EP99007684, PCT/EP9907684, US 6873642 B1, US 6873642B1, US-B1-6873642, US6873642 B1, US6873642B1|
|Inventors||Wolfgang Fey, Ling Chen|
|Original Assignee||Continental Teves Ag & Co. Ohg|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (12), Non-Patent Citations (1), Referenced by (4), Classifications (12), Legal Events (4)|
|External Links: USPTO, USPTO Assignment, Espacenet|
The present invention generally relates to signal encoding methodologies and more particularly relates to a method and a device for conditioning a received signal that carries with it coded data.
Where the objective is to condition and decode a received signal which contains coded data, defined conditions must be known at the receiving end, on the basis of which coding was effected (included) at the transmitting end so that decoding is quickly and reliably possible. For example, the coding method must be known to the receiving end (e.g. edge-coded, binary, PWM, AM, FM). Because coded data are usually transmitted time-serially, certain coding methods, such as edge-coded, binary signals or in PWM (pulse width modulation), necessitate that the time base be known on the basis of which coding is carried out to permit correct decoding at the receiving end.
Publication DE 196 50 935 A1, for example, discloses the configuration of a signal that carries data originating at the transmitting end. This configuration is employed in vehicle manufacture, and it especially concerns the transfer of data from an active wheel sensor to a primary control unit. A system of this type is represented in
The system in
The signal produced in the active sensor 107 and transferred to the device 104 of the present invention by way of line 105 can be configured as described in DE 196 50 935. The signal may look like shown in FIG. 2. The signal produced by sensor 107 includes different pulses, i.e., a wheel pulse 201 followed by data pulses 203 with pulse pauses 202, 204 of different significance in between them. The first pulse pause 202 can be adjusted at the transmitting end and serves for a time delay before the transfer of coded data after the wheel pulse 201. The pulse pauses 204 are data pulse pauses which, exactly as the data pulses 203, indicate amplitude-coded binary data which were coded with a time clock tp that corresponds to the ideal width of the wheel pulse 201. The data pulses 203 and data pulse pauses 204 also have the ideal width tp. The pulse pause 202 has a width of tp/2 to permit sampling of the data pulses 203 and data pulse pauses 204 in the interval of tp after the end of a wheel pulse 201. The time ratios between wheel pulse, data pulse, and pulse pause must be known at the receiving end so that the data can be conditioned and decoded correctly. The time base tp is either known at the receiving end or can preferably be obtained in the conditioning operation by time measurement, e.g. measuring the pulse width.
Preferably, the wheel pulse 201 has a higher amplitude than the data pulses 203. In
In the applicant's former application DE 198 08 575.3 entitled ‘Method and device for conditioning a received signal that transmits coded data’, a method and a device for conditioning data coded in the way described hereinabove is disclosed. In this application, the width tm of a received wheel pulse, which corresponds to tp in the optimal case, is determined as a time base, and the data pulses are subsequently sampled in regular intervals tm. However, as the edges of the transmitted pulses are not infinitely steep, which would be ideal, but have a finite rise (and the said rise can be different from pulse to pulse, especially from wheel pulse to wheel pulse due to environmental influences), an error in the determination of the time base may occur so that this base no longer corresponds to the width of the data pulses. This is a shortcoming in the above-mentioned former application because this error may cumulate in data conditioning so that the maximum number of data which can be conditioned reliably between two wheel pulses is limited.
The above problem was described with respect to an application in vehicle manufacture. It may occur, however, also in other applications.
An object of the present invention is to provide a method and a device for conditioning a signal that transmits coded data which permit a reliable decoding of the transmitted data and do not limit the number of data to be transmitted.
Before embodiments of the present invention will be described in detail, a coding method according to the present invention is explained with reference to FIG. 3.
An ideal signal originating from sensor 107 can have a corresponding shape. The binary data are not amplitude-coded, but edge-coded therein. The signal includes a wheel pulse 301 and data pulses 305 with data edges 303, the width of the wheel pulse 301 in turn being tp and the data being coded with the time clock tp, i.e., the data edges 303 have ideally a distance of tp one to the other. Preferably the same facts as in
The sequence of a wheel pulse 301 and data pulses 305 is periodical as the signal sequence in FIG. 2. The wheel rotational speed may then be determined from the distance between consecutive wheel pulses 301. An appropriate number of data pulses 305 with the above-mentioned information is transmitted between consecutive wheel pulses 301 in dependence on the interval between the wheel pulses 301.
In this case, too, it is necessary that time ratios between wheel pulse, data pulse and pulse pause be known at the receiving end. When the transmitter is employed in a rough environment (as described above) so that the signal edges, especially the wheel pulse edges, are differently steep due to varying environmental influences, the time clock on the basis of which coding is carried out can be determined only with insufficient accuracy at the receiving end. This is a problem. Further, the time clock itself may be exposed to variations due to the rough environment. A fixed time base cannot be assumed then. The time clock will rather vary so that it must be advised to the receiver from case to case.
According to the present invention, along with the transmitted signal an information about the time clock, also referred to as coding clock pulse, is transmitted on the basis of which coding was effected. ‘Coding clock pulse’ refers to the clock at which the data bits appear in succession. This need not be the working clock of a coding circuit, nor the working clock of a circuit for the conditioning of data, but can be chosen in accordance with such a circuit clock. This information relating to the coding clock pulse is determined as a time constant at the receiving end. Further conditioning of the received signal is performed in accordance with the said time constant.
In accordance with the time constant, a time or a time window is set for which or in which a first signal part which has a first edge is conditioned. Further, a second time or a second time window is set in accordance with the time constant and in dependence on the time of the first edge, for which or in which a second signal part is conditioned. A time window is a time range where the detection of edges or, in general, signal conditioning is permitted. Another time window is respectively set based on a signal edge detected in a previous time window, and the time of the commencement and the width of the time window depends on the time constant. When another edge is detected in this time window, this edge can be taken as a new basis for another time window. One advantage involves that an edge which appears sooner or later than expected can be detected because edge detection is possible within a time range which bounds the time an edge is expected. Another advantage is that the error in determining the time constant is not cumulative due to the fact that a new edge detection range is determined based on the actual time of an edge. This advantage also gives rise to the additional benefit of allowing an unlimited number of data which can be conditioned with certainty between two wheel pulses is not limited.
Preferably, the transmission of the information relating to the coding clock pulse is carried out at the beginning of data transfer. The time constant also can then be established at the commencement of the conditioning operation so that the respectively latest information can be used for conditioning of the following data. In ‘frequently’ recurrent sequences of signals, however, a time constant obtained in an earlier cycle may also be used for a following cycle. The time constant obtained can correspond to a bit duration or, e.g., in edge-coded data to the time interval between two data edges in the received signal, or at least permit inferring therefrom that binary coding was effected, for example, by way of a proportional correlation. The time constant obtained can designate an average pulse duration or similar items in pulse width modulation.
The grey ranges are time windows 403 which encompass the data edges 402 being conditioned. The bright ranges in between contain intermediate edges 404 which must not be taken into account in data conditioning because they do not carry data information. Only an edge which lies within a time window 403 may and can be detected as a data edge 402. The time window 403 must be chosen accordingly to this end.
In accordance with the time constant tm, two durations t1 and t3 are determined, the first duration t1 determining the opening of a time window 403 and the third duration t3 determining the closing of a time window 403. An opened time window 403 will be closed after the third duration t3, starting from an edge 402 detected in this time window 403. A next time window 403 will be opened after a first duration t1 starting from the edge 402 detected in the previous time window 403. In this arrangement, ‘opening’ of a time window 403 means the beginning and ‘closing’ of a time window 403 means the end of a time where edge detection is allowed.
Thus, the time of detection of a data edge 402 in a time window 403 determines the time for closing of the instantaneous time window 403 and opening of the next time window 403 in which another data edge 402 is expected. It is favorable, but not imperative, that closing of the one time window and opening of the following time window 403 is based upon the same edge or on the last edge detected. It is assumed that the data edges ideally have the same distance from one another because coding was effected with a fixed coding clock pulse. Accordingly, the durations t1 and t3 and, thus, the time windows 403 were set. The first duration t1 must be so determined that the time window 403 will only be opened after a possible intermediate edge 404 has appeared. Further, a time window 403 must be closed before an intermediate edge 404 appears. If a data edge 402 in a time window 403 arrives too early or too late, this will not have negative effects on the detection of the following data edges 402 because the time windows 403 are set adaptively in dependence on respectively one previous data edge 402, preferably the last one detected, and are thus not determined invariably according to a fixed time pattern. Therefore, a wrong determination of the time constant tm will not either have great effects because this error has equal effects for each time window and will not cumulate. The fact that conditioning does not take place at defined times but at any time within a longer period of time (time window), there is the possibility of detecting also data edges which appear too early or too late, and the time window may only be chosen to be so wide that the intermediate edges 404 are not detected.
When data are not edge-coded but e.g. amplitude-coded and shall be conditioned at defined times, a point of time in accordance with the time constant tm can be determined for data conditioning instead of the time window, and the said time is set in dependence on the time of a signal edge.
The signal of the present invention is preferably composed of distinguishable pulses, and the pulses are preferably current pulses, but may also be voltage pulses. The amplitude of the wheel pulse is preferably higher than the second threshold value SW2 and lower than a third threshold value SW3. This permits distinguishing the wheel pulse from the other pulses, the amplitude of which is preferably higher than the first threshold value SW1 but lower than the second threshold value SW2. When a pulse amplitude is higher than the third threshold value SW3, it can be detected as an error. Likewise, when an amplitude which is lower than the bottom threshold value SW0 it can also be detected as an error condition. Thus, five amplitude ranges can be distinguished in this embodiment: a faulty range I0 below SW0, a range IG between SW0 and SW1, in which the signal minimum is on a level which represents the energy supply of the active sensor 107, a range IH,D between SW1 and SW2 in which the amplitudes of the data pulses 305 lie or those of an auxiliary pulse which will be described in detail hereinbelow, a range IR between SW2 and SW3 for the amplitude of a wheel pulse 301 and a top faulty range IF above SW3.
When the wheel moves very slowly or stands still, the wheel pulse 401 is replaced by an auxiliary pulse 501 as shown in FIG. 5. Because an auxiliary pulse 501 preferably has almost the same amplitude as a data pulse 405, it must distinguish from the said in a different way. The maximum number AB of data bits to be transmitted between two wheel pulses, for example, is known at the transmitting end and the receiving end. Preferably, AB=9. At the receiving end, a fifth duration t5 may then be determined in accordance with the time constant tm within which the maximum number AB of data bits are transmitted, starting from the end of a previous, preferably the last wheel pulse or auxiliary pulse. The end of a wheel pulse or auxiliary pulse can be the point where a value drops below the first threshold value SW1. Duration t5 is then waited for until a pulse which has an amplitude in the range IH,D will be detected at the earliest as an auxiliary pulse 501 rather than as a data pulse 305, provided no wheel pulse 401 has meanwhile appeared. The duration t5 can be an integral multiple n of the time constant tm, and n>AB+1, preferably n=AB+2. The auxiliary pulse, too, has preferably the same width tm as the wheel pulse 401 and can, thus, carry the information about the coding clock pulse.
An embodiment of the device 104 of the present invention is shown in FIG. 6. Device 104 receives the signal pulses from the sensor 107 by way of line 105. The signal pulses can be sent to several units within the device 104. They are evaluated by a pulse detection unit 601. To this end, the pulse detection unit 601 includes a threshold value comparison unit 602 which compares the signal pulses with the threshold values SW0, SW1, SW2, and SW3 illustrated in
When the pulse detection unit 601 has detected a wheel pulse 401 or auxiliary pulse 501, a first counter 606 of a first determining unit 605 is reset and started. The first counter 606 is stopped when the wheel pulse 401 or auxiliary pulse 501 has halted below the first threshold value SW1. The first determining device 605 determines from this the time constant tm which it submits to a time window setting unit 607 and to the pulse detection unit 601.
The time window setting unit 607 includes a second determining unit 608 which determines the first t1, third t3, and a sixth duration t6 that determine opening and closing of a time window 403, and relays corresponding values, which have been designated by t1, t3, and t6 for the sake of clarity, to a first duration comparison unit 610. The count of a second counter 609 is compared with the values t1, t3, and t6 in the first duration comparison unit 610. The time window setting unit 607 opens or closes a time window 403 in dependence on the result of this comparison. Details will be described hereinbelow with respect to FIG. 7. The output of the time window setting unit 607 is connected to an edge detection unit 611, an error detection unit 612, and a memory unit 613 to advise to the respective units at what time a time window 403 is open.
The pulse detection unit 601 includes a third determining unit 603 which determines a duration t5 and relays a corresponding value, which will be referred to as t5 in the following for the sake of clarity, to a second duration comparison unit 604. The count of a third counter 617 is compared with t5 therein. When it counted until t5, the third counter 617 can be stopped, or can continue counting. When the count of the third counter 617 is higher than, or equal to t5, the pulse detection unit 601 recognizes a pulse in the range IH,D as an auxiliary pulse 501, otherwise as a data pulse 405. The time window setting unit 607 is provided with a message from the pulse detection unit 601 when the third counter 617 has counted until t5 so that the time window setting unit 607 will not open a new time window 403.
The count 502 of the third counter 617 is plotted against an exemplary signal variation in FIG. 5.
The third counter 617 is reset and restarted when a wheel pulse 401 or auxiliary pulse 501 has dropped below the first threshold value SW1.
When the edge detection unit 611 has detected an edge in an opened window, it will relay the result to the memory unit 613 where the detected data bit is stored in a data memory 614. When an edge is detected in the time window, the edge detection unit 611 will submit a signal to the time window setting unit 607 and to the error detection unit 612. The error detection unit 612 is connected to the pulse detection unit 601 and learns e.g. from it whether a wheel pulse 401 exists. When the error detection unit 612 detects an error, it will inform the time window setting unit 607 so that the latter will not open a new time window 403. Depending on whether the error detection unit 612 detects an error in a time window, the validity setting unit 615 sets a validity bit in the validity memory 616, and e.g. a set ‘1’-bit can indicate a valid data bit and a set ‘0’-bit can indicate a faulty and, thus, invalid, data bit. By way of line 112, the data bits and validity bits can be read out and sent to a decoding unit 103 according to FIG. 1.
In the event that an edge appears late or not at all in an opened time window 403 c, the procedure will be as shown in the bottom part of
The durations t1, t3, and t6 are preferably defined as follows:
t 1 =t m/2+Dt,
t 3 =t m/4,
The positive fourth duration Dt is e.g. determined in dependence on the duration of the trailing edge of the wheel pulse 401 or auxiliary pulse 501 and/or the data edges 402 (leading or trailing) and/or the time constant tm. In the optimal case, when tm is equal to the coding clock pulse, Dt=tm/4 preferably applies.
In the absence of detection of an edge in a time window 403 c, the error detection unit 612 detects an error. Further potential errors which can be detected by the error detection unit 612 are illustrated in FIG. 8. The time window 403 d,e is respectively reviewed in
The same applies to the case illustrated in
When the error detection unit 612 detects an error, data conditioning is discontinued and all subsequent data bits are not conditioned until a wheel pulse 401 or auxiliary pulse 501 has appeared again. This is shown by the example of a non-appearing edge in a time window 403 in FIG. 5. No edge is detected therein in time window 403 f and, thus, the further conditioning of data is terminated in that no further time window 403 is opened. The subsequent data pulses 405 are quasi ignored.
Preferably, each data bit itself represents a single information such as brake wear or brake temperature. For example, this is a yes/no or OK/not-OK information. Thus, a logical 1 can indicate an allowed brake temperature and a logical 0 can indicate an inadmissible brake temperature. Other information, e.g. analog signals, can be represented also by a combination of several data bits. The data bits preferably include one priority. The first data bit is the most important one which carries the most important information and should be transferred as frequently as possible, and the last data bit has the lowest priority because said indicates a less important information. Hence, it is acceptable that the rear bits are not conditioned in the event of a faulty transfer or at high wheel speeds. It is preferred that a parity bit is transmitted as the last bit. The definition of the parity bit, e.g. even or odd parity, must be agreed upon between transmitter and receiver. In a failfree transfer, data conditioning is terminated when the maximum number AB of data bits to be conditioned was conditioned, i.e., no time The circuit 52 further includes an analog multiplexer (MUX) 64 which allows the differential value corresponding to a selected one of the pixels to be passed through to a charge transimpedance amplifier (CTIA) 66 which can have a variable gain. The amplified differential signal is stored by another sample-and-hold circuit 68 and is provided to a summing node 70. The summing node 70 also receives signal from a calibration network 72 which uses reference voltages VREF2, VREF3. The output of the summing node 70 is provided to a analog-to-digital converter (ADC) 74 which uses a reference voltage (VREF1). One of more latches 76 store the digital bits and can be enabled to transmit the bits to the bus 54 window 403 will be opened until a new wheel pulse 401 or auxiliary pulse 501 has appeared.
The data memory 614 can be rated so that it can receive exactly the maximum number AB of data bits to be conditioned, that is, preferably 9 bits. However, it can also be larger in order to store still further information bits. The validity memory 616 is preferably so designed that it contains a corresponding validity bit for each data bit. However, it could also indicate only starting from which data bit the data bits are invalid, or it could have a different design. The validity setting unit 615 will set in this case at least one validity bit, preferably, however, one validity bit for each data bit to be conditioned.
Before the arrival of either a wheel pulse 401 or an auxiliary pulse 501, the circuit is in the inactive state 1000 (State 0). It neither receives data nor takes special actions. As soon as a leading edge is detected (because the amplitude exceeds the first threshold value SW1), the circuit changes over in state 1002 (State 2) in which measuring of an auxiliary pulse 501 is started. When the second threshold value SW2 also is exceeded in the further course, transition to state 1001 (State 1) is made in which the pulse width of the wheel pulse 401 is measured. Also, the case may occur that the pulse rise is so quick that the exceeding of the first threshold value SW1 cannot be perceived separately of the exceeding of the second threshold value SW2. Then, a direct transition from state State 0 1000 to the state State 1 1001 is made. When the value falls below the first threshold value SW1 again, transition to the state 1003 (State 3) is made in which conditioning of the received data edges 402 is started. When this operation is terminated, transition to the state State 0 1000 is made again. These state transitions consequently occur mainly in accordance with the threshold value decisions.
After measuring of an auxiliary pulse (in the state State 2) or a wheel pulse (in the state State 1) there is a transition into the state State 3 1003 and, thus, the third counter 502 is started. Conditioning of the data can now take place. The second counter 609 will be reset and restarted for the opening of the first time window 403 after detection of a wheel pulse 401 or auxiliary pulse 501 when e.g. the wheel pulse 401 drops below the second threshold value SW2 or the auxiliary pulse 501 drops below the first threshold value SW1 because it is preferred to terminate the measurement of the pulse width tm at that moment. Subsequently, the second counter 609 is reset and restarted again when the second counter 609 has counted to t6, and t6=tm in this embodiment, or when the second counter has counted at least to t1 and an alternation of the signal IH,D from logical 0 to logical 1, or vice-versa, i.e., an edge in an opened time window 403, is detected in the second logic 904. The first logic 903 is informed by the output signal 905 of the second logic 904 at what time it shall reset the second counter 609.
The values t1 and t3 for opening and closing a time window 403 are determined in the second determining unit 608 (to which the first counter 606 forwards a value which corresponds to the time constant tm and, for reasons of simplicity, is also referred to by tm) and relayed to the second logic 904. The second logic 904 receives from the first counter 606 also the value tm and compares the count of the second counter 609 with the values t6=tm, t1, and t3. The sixth duration t6 equals the time constant tm and, therefore, need not be determined by the second determining unit 608. However, the sixth duration can also be determined as another value like in FIG. 6.
The detected edge is stored as a data bit in the data memory 614, depending on the coding, and a corresponding validity bit is stored in the validity memory 616. This latter operation can e.g. be carried out after closing of a corresponding time window 403 in order that error detection can be performed while the window 403 is opened and the corresponding validity bit can be set thereafter. The data bits and validity bits can be read out by way of line 112.
The conditioning operation is carried out until e.g. the third counter 502 has counted until the duration t5 or a new wheel pulse 401 is detected. Transition into the state State 0 1000 is made in the first case and into the state State 2 1002 in the second case.
When the data are amplitude-coded as in
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5012467||Oct 10, 1989||Apr 30, 1991||3Com Corporation||Method and apparatus for collision detection in a local area network transceiver|
|US5315299||Feb 8, 1993||May 24, 1994||Nissan Motor Co., Ltd.||Multiplex data communicating apparatus applicable to automotive vehicle|
|US5459751||Jan 6, 1994||Oct 17, 1995||Mitsubishi Denki Kabushiki Kaisha||Demodulation circuit of communication control system|
|US5621758||Jan 25, 1996||Apr 15, 1997||Mitsubishi Electric Semiconductor Software||PWM Communication system|
|US5633898 *||Dec 21, 1994||May 27, 1997||Matsushita Electric Industrial Co., Ltd.||Automatic frequency control apparatus for FSK receiver and FSK receiver including the same|
|US5790603||Oct 23, 1995||Aug 4, 1998||Nippondenso Co., Ltd.||Communication apparatus with collision detection and edge detection for transmitting and receiving data|
|US6148025 *||Apr 17, 1998||Nov 14, 2000||Lucent Technologies, Inc.||System and method for compensating for baseline wander|
|DE19605643A1||Feb 15, 1996||Feb 13, 1997||Mitsubishi Elec Semiconductor||Pulsbreitenmodulations-Übertragungssystem|
|DE19643410A1||Oct 21, 1996||Jun 4, 1998||Bosch Gmbh Robert||Digital signal decoding method|
|DE19650935A1||Dec 7, 1996||Jun 10, 1998||Teves Gmbh Alfred||Verfahren und Schaltungsanordnung zur Übertragung von Drehzahlinformationen und Zusatzdaten|
|DE19808575A1||Feb 28, 1998||May 27, 1999||Itt Mfg Enterprises Inc||Signal processing method for encoded data|
|FR2725091A1||Title not available|
|1||Search Report of the German Patent Office for Application No. 198 36 693.0.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US9537956 *||Dec 11, 2015||Jan 3, 2017||Uber Technologies, Inc.||System for acquiring time-synchronized sensor data|
|US9596666||Dec 11, 2015||Mar 14, 2017||Uber Technologies, Inc.||System for processing asynchronous sensor data|
|US9785150||Dec 11, 2015||Oct 10, 2017||Uber Technologies, Inc.||Formatting sensor data for use in autonomous vehicle communications platform|
|US20160142080 *||Nov 5, 2015||May 19, 2016||Infineon Technologies Ag||Receiver, sender, method for retrieving an additional datum from a signal and method for transmitting a datum and an additional datum in a signal|
|U.S. Classification||375/342, 375/238|
|International Classification||H04L25/06, B60T8/00, H04L25/493, H03M5/08, H04L25/48, H04L25/49|
|Cooperative Classification||H04L25/069, H04L25/493|
|European Classification||H04L25/493, H04L25/06G|
|Jul 30, 2001||AS||Assignment|
Owner name: CONTINENTAL TEVES AG & CO. OHG, GERMANY
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FEY, WOLFGANG;CHEN, LING;REEL/FRAME:012034/0925
Effective date: 20010531
|Aug 28, 2008||FPAY||Fee payment|
Year of fee payment: 4
|Sep 5, 2012||FPAY||Fee payment|
Year of fee payment: 8
|Sep 19, 2016||FPAY||Fee payment|
Year of fee payment: 12