Patent Description:
Magnetic field sensors can be used in various types of devices to measure and monitor properties of systems in a wide variety of different applications. For example, sensors have become common in products that rely on electronics in their operation, such as motor control systems and automobile control systems. In automotive applications, a Hall-based or magneto-resistive sensor is used in combination with a ring magnet to monitor and measure the wheel speed, detect direction of rotation, and provide other information to the car's electronic control unit (ECU). The ECU, in turn, may use these data for passive monitoring and display or for active control as part of an anti-lock braking system (ABS), parking assist (e.g. automatic parallel parking), and other such systems. In this connection, <FIG> shows a known system for detecting rotation of a wheel. An ABS sensor rotor includes a magnetic position encoder (e.g. a magnetic rubber strip) around its circumference. The ABS wheel-speed sensor includes a semiconductor sensing element and an active drive circuit. As the wheel turns, alternating north and south magnetic poles are presented to the sensor, which forwards pulses to the ECU as shown in <FIG>. By timing these "speed pulses", the ECU can determine the angular speed of the wheel. Although <FIG> shows that a rectangular pulse is sent for each identical (e.g. North) magnetic pole, other systems send pulses when opposite (e.g. North and South) poles are presented to the sensor, thereby doubling the reporting speed of data to the ECU.

Wheel speed sensors may communicate with the ECU through a two-wire, digital, current level protocol; that is, the two wires providing power to the wheel speed sensor are used to communicate data to the ECU by varying the current level according to discrete thresholds. <FIG> shows a single message in a widely-used current level protocol called the "AK-protocol". Each message is generally composed of a high-current speed pulse to indicate target speed, followed by medium or low-current, semantically-fixed bits of data; see <CIT> and <CIT> for detailed information on the meaning of each data bit. The speed pulse has a width tp = <NUM> (microseconds), and there are gaps of tp/<NUM> = <NUM> between the speed pulse and surrounding data bits. Each data bit, in turn, uses tp = <NUM> of time. As shown in the Figure, a data bit having a central falling edge is read as having the value "<NUM>" while a data bit having a central rising edge is read as having the value "<NUM>". In the AK-protocol, a "standstill" message is generated every duration of <NUM> (milliseconds) that no speed pulses are generated, to indicate that the wheel is at a standstill.

The most common type of wheel speed system uses simple resolution, which means two speed pulses with associated messages are sent per magnetic period (i.e., per ring magnet pole pair). <FIG> shows several messages from a wheel speed sensor to the ECU in a vehicle. If the vehicle accelerates, the magnetic poles on the wheel rotor are presented to the wheel speed sensor with increasing frequency, and the gap between the speed pulses (and their subsequent data messages) decreases as time progresses, while if the vehicle decelerates, the gap between the speed pulses increases. <FIG> shows a vehicle undergoing acceleration.

However, higher data resolution is required with the adoption of advanced driver-assistance systems (ADAS) and Society of Automotive Engineers (SAE) standards for autonomous driving. This can be achieved either using a ring magnet with a higher number of pole pairs, or a sensor that can generate a higher number of output pulses. In either case, higher output resolution leads to more speed pulses per unit time. This increase in data frequency can lead to truncation of data bits on the AK-protocol, losing most of the information transmitted on the data bits. As shown in <FIG>, data truncation already occurs in simple resolution systems at high wheel speed (i.e., high magnetic stimulus frequency), and occurs even in high resolution systems. When the ECU receives truncated data, it has less information to apply to computations relating to vehicle safety, and the latter is correspondingly diminished.

<CIT> discloses an integrated circuit (IC) that includes a sensor. <CIT> discloses a wheel information transmission device, a wheel information transmission method and a vehicle with a wheel information transmission device. <CIT> discloses a signal generator that comprises a signal provider and a signal processing unit.

According to a first aspect of the invention, there is provided a method of transmitting packets of data that pertain to a target as defined in any of claims <NUM> to <NUM>.

The manner and process of making and using the disclosed embodiments may be appreciated by reference to the drawings, in which:.

<FIG> shows a packet of data having digital electrical pulses according to a first embodiment of the concepts, techniques, and structures disclosed herein. Data packets are encoded as follows. Each packet of data starts with a header providing three consecutive, uninterrupted electrical pulses each having a pulse half-width (tp/<NUM>, illustratively <NUM>), followed by eight data bits numbered Bit <NUM> through Bit <NUM> each having a full pulse width (tp, illustratively <NUM>). In the embodiment shown in <FIG>, the first half-width pulse encodes the magnitude of a sensed property, such as a magnetic field strength, current level, or other measurable characteristic of a physical target. The second and third header pulses use two or more different current levels to indicate additional, programmable values. For purposes of clarity, the second and third header pulses are described in what follows to indicate (a) a sign or direction that is associated with the sensed property (i.e. if the property has a signed magnitude), and (b) an error indicator. However, it is appreciated that other sensed values may be substituted for a direction and error indicator in other embodiments.

The remaining Bits <NUM> to <NUM> of a data packet following the header may be encoded to represent other data. The semantics of these Bits may differ in various embodiments, but illustratively they may represent the following information. Bit <NUM> may represent a message address or message selector, to enable the protocol to transmit messages on different logical channels or with respect to different sensed properties. Bits <NUM> and <NUM> may be programmed by a customer, and accordingly may be computationally unused by the protocol as described herein. Bits <NUM> through <NUM> may be used to encode message data. And Bit <NUM> may be used to provide parity information for the entire data packet, using techniques known in the art.

In embodiments, the first pulse of the header may encode a magnitude using an electrical characteristic of the pulse itself, such as its current level. Alternately, the current level may be held fixed, and the first pulse may encode the measured magnitude as a function of the timing between data packets, as in the illustrative wheel speed sensor shown and described in connection with <FIG>.

It is appreciated that the physical target may be any object or system having measurable properties; however, for purposes of concise disclosure, further discussion of embodiments will focus on wheel speed sensors. Example sensed properties can include, but are not limited to, position, direction, vibration, pressure, temperature, light, and/or sound. Sensor types suitable to detect and measure target properties can include a variety of sensing elements such as magnetic field sensing elements, pressure sensing elements, temperature sensing elements, light sensing elements, and/or acoustic sensing elements. In the case of magnetic field sensing elements, In the area of magnetic field sensors, example sensor types include angle sensors that senses an angle of a direction of a magnetic field, current sensors that senses a magnetic field generated by a current carried by a current-carrying conductor, magnetic switches that senses proximity of a target, rotation detectors that senses passing target features, for example, magnetic domains of a ring magnet or a ferromagnetic target (e.g., gear teeth) where the magnetic field sensor is used in combination with a back-biased or other magnet, and a magnetic field sensor that senses a magnetic field density of a magnetic field.

<FIG> shows a packet of data having digital electrical pulses according to a second embodiment of the concepts, techniques, and structures disclosed herein. It is appreciated that some vehicle ECUs synchronize a clock used for sensor data processing on the speed pulse (i.e. the pulse shown at <NUM> mA), and that these ECUs may be unable to process a header that does not include a tp/<NUM> gap following the speed pulse as shown in <FIG>. Thus, the embodiment of <FIG> provides a tp/<NUM> gap after the speed pulse, with the second and third pulses of the header encoded as standard data bits and Bits <NUM> through <NUM> encoded as described above. A packet of data encoded this way accordingly provides the benefits of the encoding of <FIG>, but may be used advantageously with existing ECUs.

Illustratively, embodiments according to either <FIG> or <FIG> generate second and third pulses of the header having the smallest average power output. In connection with automotive wheel speed sensor embodiments, ordinary operation of the automobile favors rotation in the forward direction over the reverse, and error conditions occur less frequently than an error-free condition. Thus, in these embodiments, a second pulse indicating a forward direction of rotation uses less average power than a pulse indicating a reverse direction, and a third pulse indicating no error uses less average power than a pulse indicating that an error has occurred. In some embodiments, power savings is achieved using lower current levels, while in other embodiments this is done using shorter pulse widths. The particular technique may be adjusted to the control system (e.g. an automobile's ECU). It is appreciated that these techniques are merely illustrative, and power savings in embodiments may be achieved in other ways not expressly listed herein.

<FIG> (collectively, "<FIG>") shows pulses according to an embodiment having the header of <FIG>, combining three pulses to encode information about magnitude, sign or direction, and the presence or absence of an error. Illustratively, the three pulses each have a duration of <NUM> microsections (µs) and different current levels are used to indicate direction and error status. It is appreciated that embodiments may use shorter durations to enable higher data rates. As described above, each combination of three pulses begins with a first half-width pulse as shown.

If a wheel is rotating in the forward direction (i.e. its speed has a positive sign) and no error has occurred, then the two lowest current levels are used and the combination of pulses appears as in <FIG>. If the wheel is rotating in the forward direction but an error has occurred, then the second pulse uses the lowest current level but the third pulse uses a higher current level as shown in <FIG>. It is appreciated that the higher current level need not be the same as (and especially as high as) that of the first pulse, to provide power savings.

Likewise, if the wheel is rotating in the reverse direction (i.e. its speed has a negative sign) and no error has occurred, then the higher current level is used for the second pulse and the lowest current level is used for the third pulse as shown in <FIG>. And if the wheel is rotating in the reverse direction and an error has occurred, then the higher current level is used for both the second and third pulses as shown in <FIG>.

An encoding of the header according to <FIG> according to the smallest average power output principles of <FIG> and discussed above should be apparent to a person having ordinary skill in the art.

Errors may be detected from any of a number of error sources or sensors that are coupled to the target being sensed. For example, and without limitation, in the case of an automobile tire an error may be generated by a tire pressure sensor if the pressure is too high or too low. Moreover, multiple error sources may be joined together (e.g. using a logical OR) so that an error indicated by any source results in the protocol encoding an error indication in the third pulse. With a dedicated time slot reserved in the header for an error indicator, an ECU is immediately notified in case of internal error and can react accordingly (e.g., cause the vehicle to decelerate). As vehicle speed is reduced, data packets triggered by wheel rotation speed become less frequent and cease being truncated, and the corresponding error code will be available by reading the data bits. Alternately, when an error occurs, the wheel speed sensor may transmit a forced standstill message, as described below in connection with <FIG>.

<FIG> shows average current as a function of target signal (e.g. speed pulse) input frequency in accordance with an embodiment. In this Figure, three curves are plotted: one power curve for a prior art protocol, and two curves for the embodiments of <FIG> and <FIG>. Each curve shows a linear trend of increasing power consumption until truncation begins; that is, until bits at the end of each data message fail to transmit due to increased message frequency, as discussed above in connection with <FIG>. The failure of a data bit to transmit results in a reduced average power consumption, indicated by a downward-sloping portion, after which the current increases again as transmission frequency increases due to increased wheel speed. It may be appreciated that each curve contains <NUM> "peaks", representing (from left to right) loss of data Bit <NUM> down to loss of data Bit <NUM>. The final upward trend at the right of each curve indicates that only the initiating pulse (e.g. the speed pulse) is being transmitted. It is appreciated that different numbers of peaks may occur in different embodiments under different conditions (e.g. a target wheel is rotating backwards rather than forwards, or different numbers of bits are used in the protocol).

The prior art protocol demonstrates the highest power consumption and worst data loss characteristics. This protocol messages as shown in <FIG> have a pulse width tp = <NUM> and take <NUM> + <NUM>*<NUM> = <NUM> to transmit. Therefore message truncation beginning with Bit <NUM> occurs at approximately <NUM> signal (i.e. speed pulse) frequency. Assuming a magnetic sensor with <NUM> pole pairs, <NUM> pulses per cycle, and a tire circumference of <NUM> meters, this corresponds to vehicle speed of only <NUM>/h (<NUM> mph) as indicated in <FIG>. The average current (Icc) when this occurs is just under <NUM> mA.

By contrast, embodiments that combine the initial target pulse with the first data bit (Bit <NUM>) as a message header, as described above in connection with <FIG> and <FIG>, save one data bit worth of time for each message sent. Rather than the speed pulse and Bit <NUM> taking <NUM> to transmit as in the prior art protocol, a header as shown in <FIG> takes only <NUM> to transmit. So embodiments only lose Bit <NUM> due to truncation at the target frequency for which the prior art protocol is already losing Bit <NUM>; disclosed embodiments lose Bit <NUM> when the prior art protocol is losing Bit <NUM>, and so on. As a result, the "peaks" that represent bit loss are shifted to higher frequencies that represent higher wheel speeds, as shown in <FIG>. Moreover, as discussed in connection with <FIG> and <FIG> below, embodiments may split data over multiple messages using Bit <NUM> through Bit <NUM>, so data is only truly lost due to truncation after Bit <NUM> is lost, as indicated.

The two curves labeled "Forward" and "Reverse" correspond to current usage when communicating headers according to <FIG> and <FIG>, respectively. It should be noted that, as described above, vehicles preferentially rotate their wheels in a forward direction rather than the reverse direction, and thus the current profile of <FIG> has a lower Icc than the current profile of <FIG>. This difference is seen in <FIG>-the "Forward" curve has a lower Icc than the "Reverse" curve, and it is expected that wheel speed sensors using an embodiment will spend most of their time communicating data using the current of the "Forward" curve. It is appreciated, of course, that embodiments used for sensing properties other than wheel speed will be modified according to those other properties, and that a person having ordinary skill in the art will know how to make these modifications without undue experimentation.

In some embodiments, the pulse width tp may be shortened if the ECU (or other signal processing device) is capable of discriminating pulses at increased rates. For example, if tp is reduced from <NUM> to <NUM>, then the truncation frequencies (and corresponding vehicles speeds) are doubled. For example, in such an embodiment the loss of Bit <NUM> (and thus, actual information loss) may occur only at vehicle speeds exceeding <NUM>/h (<NUM> mph), well above the normal vehicle operational speed. In any event, decreasing the pulse width by a factor f will advantageously cause an increase of the data truncation frequencies by the same factorf.

It is appreciated that automotive ECUs may use the speed pulse to synchronize their own internal clocks, and therefore pulse widths may be limited in how short they may be made. Indeed, many ECUs may expect pulse widths specified by prior art protocols, and modifying such ECUs to synchronize on a combined header may be cost prohibitive. Such ECUs nevertheless may be modified in accordance with other aspect of embodiments disclosed herein, such as those described in <FIG> and <FIG> through <FIG>.

The combination of the initial target pulse with Bit <NUM> decreases the amount of time that current is flowing to transmit a message, advantageously resulting in reduced power use and average current Icc. This is shown in <FIG> as well, with a drop in power use of up to about <NUM>% in the vehicle normal operating range of speeds.

In the plotted embodiment, the current levels are <NUM> mA, <NUM> mA, and <NUM> mA. It is appreciated that the power use may be further advantageously decreased if the ECU is configured to detect lower current levels. Thus, another embodiment may use <NUM> mA, <NUM> mA, and <NUM> mA. Other embodiments may use other current levels according to other design constraints according to the concepts, techniques, and structures disclosed herein.

<FIG> illustrates a method according to an embodiment of concatenating two messages having different message addresses to form a long message. In this embodiment, the protocol uses a multiplexing principle to transfer more information/data bits through the use of multiple output messages sent in a sequence, with the leading information (e.g. Bit <NUM>) being a message identifier or address. Information from multiple messages may be combined to increase possible code combinations, using one or more bits to encode the message number and keep track of which message is generated. The message address code increments once the message is completely transmitted to transmit the following message. It is appreciated that the method shown in <FIG> may be used in conjunction with the embodiments shown in <FIG>.

Thus, in <FIG>, message <NUM> and message <NUM> are both <NUM> bits. Of these, Bit <NUM> may be viewed as part of the header described in connection with <FIG> and <FIG>. Bit <NUM> is the address bit, which distinguishes the two messages. Bits <NUM> and <NUM> are fixed, in the sense that they may be programmed by the end user and thus their values are not used by the protocol now being described. Bits <NUM> through <NUM> are the data bits to be concatenated. In this illustrative Figure, message <NUM> bits <NUM> through <NUM> contain the most significant bits (MSB) <NUM> of an <NUM>-bit value, while message <NUM> bits <NUM> through <NUM> contain the least significant bits (LSB) <NUM> of the value. In each message, bit <NUM> is a parity or check bit.

The electronic sensor circuit transmits message <NUM> to the ECU, then message <NUM>. The ECU extracts the address bit (Bit <NUM>) from each incoming message. If the address bit is a <NUM>, then the ECU knows that the data payload represents the MSB of an <NUM>-bit value; if the address bit is a <NUM>, then the ECU knows that the data payload represents the LSB of an <NUM>-bit value. Thus, when the ECU has both the MSB and LSB of the value, it concatenates them as indicated to recover the full value, namely <NUM>.

It is appreciated that data values of any length may be transmitted using this technique. Concretely, <FIG> shows transmission of an <NUM>-bit data value. To transmit a <NUM>-bit data value, the electronic sensor circuit may sequentially transmit two <NUM>-bit messages having address value <NUM>, then two <NUM>-bit messages having address value <NUM>. The ECU concatenates data from all sequential messages having address <NUM>, then all sequential messages having address <NUM>. When a subsequent message having address <NUM> is again encountered, the ECU recognizes that its data payload belongs to a new data value, and begins the cycle again.

In this connection, <FIG> illustrates a method according to an embodiment of splitting data between messages during message truncation. In <FIG>, the same <NUM>-bit value <NUM> as in <FIG> is to be transmitted to the ECU; however, message truncation is occurring and only bits <NUM> through <NUM> of each message are being transmitted. To handle truncation, the multiplex concept encodes the missing bits (truncated bits) into following packets. To do so, the message address does not change until the entire message content has been delivered, using as many packets as necessary, such that it is possible to reconstruct the entire (non-truncated) message. Additionally, embodiments may force a low current state once the last truncated bit has been delivered to the ECU, to facilitate decoding. It is appreciated that the method shown in <FIG> may be used in conjunction with embodiments shown in <FIG>, and with the method shown in <FIG>.

Thus, in <FIG> message <NUM> is divided into two packets. The first packet of message <NUM> contains the first two MSB <NUM>, and the second packet contains the second two MSB <NUM>. Likewise, message <NUM> is divided into two packets. The first packet of message <NUM> contains the first two LSB <NUM>, and the second packet contains the second two LSB <NUM>. The ECU receives four packets. As the first two packets have the same message address <NUM>, the ECU concatenates them to recover message <NUM>, the MSB data <NUM>. Similarly, the ECU concatenates the two packets having the same message address <NUM> to recover message <NUM>, the LSB data <NUM>. Finally, the ECU concatenates the two messages to recover the full <NUM>-bit value <NUM>, as desired.

It is appreciated that the above illustration is not limiting, and the multiplex concept disclosed herein can be extended to using more messages, adding message address bits, using more bits in each message, decreasing or increasing the number of bits to be concatenated, or replacing the fixed message bits with bits to be concatenated.

<FIG>, and <FIG> (collectively, "<FIG>") show improved fault handling according to disclosed embodiments. In particular, <FIG> illustrates a malfunctioning behavior resulting in a hazardous event, <FIG> illustrates a corrective principle according to an embodiment, and <FIG> illustrates a method according to an embodiment of transmitting a second packet of data in response to receiving a signal indicative that a fault has occurred. It is appreciated that the method shown in <FIG> may be used in conjunction with embodiments shown in <FIG>, <FIG>, and <FIG>.

A problem with existing data communications protocols is that errors are not timely encoded to resolve fast faults. That is, a fault in the target (e.g. the wheel being sensed) may occur at any time, and must be resolved within a Fault Tolerant Time Interval (FTTI) or a hazardous event will result, as shown in <FIG>. However, error data are encoded either on a normal message triggered by receipt of a speed pulse (which is itself determined by the target being sensed), or on a standstill message that is emitted during idle periods (which are, in the case of some protocols, at intervals of <NUM> milliseconds, i.e. <NUM>,<NUM>). If an automobile tire has a critically low pressure, for example due to a puncture, waiting any significant length of time to take corrective action could have serious or fatal consequences.

To address this problem, some embodiments of the concepts, techniques, and structures disclosed herein determine to detect and resolve faults within a Fault Handling Time Interval (FHTI) that is less than the FTTI, as shown in <FIG>. The FHTI may be included in industry standards, such as the Automotive Safety Integrity Level (ASIL) defined by the International Organization for Standardization (ISO). For example, the FHTI may be between <NUM> and <NUM> milliseconds, and may depend on a sensor safety level.

The FHTI has two parts: a Fault Detection Time Interval (FDTI), which is a period between fault occurrence and fault detection, and a Fault Reaction Time Interval (FRTI), which is a period after fault detection during which the system (e.g. the automobile) is transitioned to a safe state using a safety mechanism. Faults may be detected during the FDTI using a variety of measures known in the art, including fault detection diagnostic circuitry that is beyond the scope of this disclosure.

<FIG> illustrates a method of responding to a detected fault within the FHTI, namely by transmitting a second packet of data in response to receiving a signal indicative that a fault has occurred. In this Figure, a magnetic direction sensor detects a transition between a south-facing and a north-facing magnetic field, and transmits an "S" data message. This "S" data message may be formatted and transmitted in accordance with the above discussion of <FIG>.

During transmission of the "S" data message, a fault occurs, as indicated by the arrow. The timing of the fault and the standard definition of the FHTI determine the indicated interval in which the system must respond to the fault and enter a safe state. Note that this FHTI expires well before the next target-determined "N" data message is due to be transmitted, because the target is not changing state quickly enough (e.g. an automobile is moving at a relatively slow speed for which an accident would nevertheless be dangerous). Note also that the fault was after transmission of the header of the "S" data message, which could have indicated presence of an error. In this situation, known protocols would wait until the following speed pulse (or the elapse of <NUM>, whichever is less) to transmit the error, increasing reaction time.

To meet the required FHTI, the embodiment transmits a second, forced data packet having a message that indicates the fault or error condition immediately. That is, as soon as the "S" data message is finished being transmitted, the electronic sensor circuitry emits a "standstill" data packet. This data packet may be identified as abnormal by an initial pulse that has a current level that is different than the current level that would be emitted for a typical speed pulse (or otherwise differs from what the ECU is "expecting" from a normal data message, e.g. has a longer duration). Thus, whether by its timing or the contents of its message (or both), the error data packet may indicate that the electromagnetic property of the target was not sensed, or that the electronic sensor circuitry has detected an internal fault. The ECU will receive this message and recognize its abnormality, then immediately take corrective action such as slowing the vehicle, thereby satisfying the FHTI timing requirement as shown. Note that the ECU does not need to receive the entire standstill message to determine that corrective action is required.

The particular type of error or fault may be encoded in the extra message. The ECU may parse these encoded data in parallel with performing the "all-faults" corrective action described above. Then, based on the particular type of fault, the ECU may take further, fault-specific corrective action such as illuminating an indicator lamp or other action (including, without limitation, other automatic actions for controlling the system or the sensed target).

It is appreciated that informing an ECU of the type of fault is important to ensuring safety. However, it is also appreciated that informing the ECU of the ongoing operation of the sensed target is equally, if not more important. Therefore, in some embodiments, the speed pulse message takes transmission priority over any forced fault message. That is, when the next regular data message should be sent, the electronic sensor circuit interrupts any fault message transmission to instead send the regular data message.

<FIG> shows digital pulses according to an embodiment that uses an additional current level to increase the data rate. Some prior art protocols transmit data messages using three current levels, i.e. <NUM> mA, <NUM> mA, and <NUM> mA as shown in <FIG>. The value of <NUM> mA indicates receipt of a speed pulse, while the value of <NUM> mA is a current floor at which all data pulses begin and end to indicate proper operation of the electronic sensor circuit. However, illustrative embodiments may use additional current levels to increase the amount of information that is conveyed using each pulse.

Thus, in <FIG> is shown a packet of data in which a sensed signed magnitude of an electromagnetic property of the target is encoded according to a first current level, and the message is encoded according to at least three other levels. The first current level, denoted "Icc level <NUM>", may be <NUM> mA as currently used, or some other current level. One of the other levels may be the current floor (denoted "Icc floor", e.g. <NUM> mA as currently used). The other current levels may be intermediary to the maximum and minimum current levels, and may be <NUM> mA (denoted "Icc level <NUM>") and <NUM> mA (denoted "Icc level <NUM>"), or other convenient current levels. Embodiments may reduce any of these current levels to decrease power consumption.

It is appreciated that the use of a separate current level to encode only the sensed signed magnitude of the electromagnetic property of the target may be advantageous to facilitate a data consumer to synchronize on its timing and to detect truncation of data messages. It is further appreciated, however, that such reserved use of this first current level does not limit the number of other current levels that may be used to encode message data. While <FIG> shows only three additional current levels (i.e. Icc floor, Icc level <NUM>, and Icc level <NUM>), it is contemplated that embodiments may use more than three additional current levels to further increase the amount of information that can be conveyed by the waveform of each pulse.

Encoding of different patterns of data bits is now explained with reference to <FIG>. In illustrative embodiments, each message pulse encodes two bits of information, rather than only one bit as in other protocols. Thus, a "<NUM>" or "zero" encoding is accomplished by a falling edge from level <NUM> to the current floor; a "<NUM>" or "one" encoding uses a rising edge from the current floor to level <NUM>; a "<NUM>" or "two" encoding uses a falling edge from level <NUM> to the current floor; and a "<NUM>" or "three" encoding uses a rising edge from the current floor to level <NUM>. It is appreciated that other encodings may be used in different embodiments, and thus that the particular encoding shown in <FIG> should not be understood as limiting.

Note that the waveform of each pulse begins and ends at the current floor, to indicate proper operation of the electronic sensor circuit as known in the art. A person having ordinary skill in the art should appreciate how to extend the encoding principle shown in <FIG> to embodiments having more than three additional current levels.

If the requirement to transmit current only from or to the current floor is relaxed, then even more information may be communicated by each pulse. In this connection, <FIG> shows digital pulses according to an embodiment that uses the additional current levels to further increase the data rate. In this Figure, three bits of information are communicated with each pulse. As before, the "zero" encoding uses a falling edge from level <NUM> to the current floor; however, with this protocol, "zero" now represents the three bits "<NUM>" as indicated. Likewise, "one" is encoded using a rising edge from the current floor to level <NUM>, "two" uses a falling edge from level <NUM> to the floor, and "three" uses a rising edge from the floor to level <NUM>.

Additional information may be transmitted in each pulse using rising and falling edges between the two additional current levels, rather between the current floor and one of the additional current levels, and by a lack of edges entirely. Thus, "four" or "<NUM>" may be encoded as a rising edge between level <NUM> and level <NUM>; "five" or "<NUM>" may be encoded as a falling edge between level <NUM> and level <NUM>; "six" or "<NUM>" may be encoded as a fixed transmission (no rising or falling edge) at level <NUM>; and "seven" or "<NUM>" may be encoded as a fixed transmission at level <NUM>.

It is appreciated that embodiments of <FIG> and <FIG>, or either of them, may be used in conjunction with embodiments shown in <FIG>, <FIG>, <FIG>, and <FIG>.

Referring to <FIG>, a magnetic field sensor <NUM> includes at least one magnetic field sensing element <NUM> configured to generate a magnetic field signal, and differential magnetic field signals 160a, 160b, indicative of a magnetic field associated with a target <NUM>. Sensing elements <NUM> can take a variety of forms, such as the illustrated GMR yokes as may be arranged in one or more bridge or other configurations in order to generate one or more single-ended or differential signals indicative of the sensed magnetic field. Two differential magnetic field signals 160a, 160b are shown with their corresponding processing channels. It is appreciated that the sensing elements <NUM> may produce more or fewer differential magnetic field signals in various embodiments, and thus that the depiction of exactly two such channels in <FIG> is not limiting.

Each of the magnetic field signals 160a, 160b is coupled to a respective processing channel that can include an amplifier (i.e., front end amplifier) 200a, 200b and an analog-to-digital converter (ADC) 220a, 220b. Output signals 180a, 180b of the amplifiers 200a, 200b can be adjusted for gain and/or offset. The ADCs 220a, 220b may take various forms and may include one or more filters, such as a low pass filter and/or notch filter, and as may take the form of a sigma-delta modulator to generate respective digital magnetic field signals 240a, 240b.

Digital magnetic field signals 240a, 240b can be coupled to a digital controller <NUM> for processing. Digital controller <NUM> processes the digital magnetic field signals 240a, 240b to determine the speed, position, and/or direction of movement, such as rotation of target <NUM>. Controller <NUM> can combine this information with fault or other diagnostic information in some embodiments to output one or more digital signals <NUM> to output signal generator <NUM>. Output signal generator <NUM> encodes the information provided by controller output <NUM> (e.g., speed and/or direction information) to provide the sensor output signal <NUM>.

Output signal generator <NUM> can provide the sensor output signal <NUM> in various formats, such as a so-called two-wire format as illustrated, in which the output signal is provided in the form of current pulses on the power connection to the sensor (i.e., on a VCC connection at terminal <NUM> which can be compared to a GND connection at terminal <NUM>) or a three-wire format in which the output signal is provided at a separate dedicated output connection. Formats of the output signal <NUM> can include a variety of formats, for example a pulse-width modulated (PWM) signal format, a Single Edge Nibble Transmission (SENT) format, a Serial Peripheral Interface (SPI) format, a Local Interconnect Network (LIN) format, a CAN (Controller Area Network) format, an Inter-Integrated Circuit (I<NUM>C) format, or other similar signal formats.

The digital controller <NUM> may be configured to function as a detector to generate the sensor output signal <NUM> based on a comparison of the digital magnetic field signal 240a, 240b to a threshold value. More particularly, the controller output signal <NUM> includes transitions occurring at switch points having a predetermined relationship with respect the digital magnetic field signal crossing the threshold value. The controller output signal <NUM> can be a binary, two-state signal that has transitions or can be pulses occurring at the switch points for example. Movement speed of the target <NUM> can be detected in accordance with the frequency of the binary signal or pulses as applicable (i.e., speed pulses).

A direction of rotation of the target <NUM> can be determined in embodiments containing multiple sensing elements <NUM> and respective processing channels as shown, which processing channels are configured to generate phase separated magnetic field signals 240a, 240b (as are sometimes referred to as channel signals). The direction of rotation can be determined based on a relative phase or relative time difference (e.g., lag or lead) of a particular edge transition of detector output signals associated with the phase separated magnetic field signals 240a, 240b.

Additional elements of the sensor <NUM> can include a memory device, as may take the form of an EEPROM <NUM>, an oscillator <NUM>, and a diagnostics circuit <NUM>. An ESD protection circuit <NUM> can be coupled between the power terminal <NUM> and ground terminal <NUM>. A regulator <NUM> can provide power to circuitry of the sensor.

Target <NUM> can have a variety of forms, including, but not limited to a gear having gear teeth 28a-28c or a ring magnet having one or more pole pairs. Also, linear arrangements of ferromagnetic objects that move linearly are possible. Magnetic field sensor <NUM> may take the form of a rotation detector to detect passing gear teeth, for example, gear teeth 28a-28c of a ferromagnetic gear or, more generally target object <NUM>. A permanent magnet <NUM> can be placed proximate to the gear <NUM>, resulting in fluctuations of a magnetic field proximate to the gear as the gear rotates so as to form a so-called "back-bias" arrangement.

As used herein, the term "magnetic field sensing element" is used to describe a variety of electronic elements that can sense a magnetic field. The magnetic field sensing element can be, but is not limited to, a Hall effect element, a magnetoresistance element, or a magnetotransistor. As is known, there are different types of Hall effect elements, for example, a planar Hall element, a vertical Hall element, and a Circular Vertical Hall (CVH) element. As is also known, there are different types of magnetoresistance elements, for example, a semiconductor magnetoresistance element such as Indium Antimonide (InSb), a giant magnetoresistance (GMR) element, for example, a spin valve, an anisotropic magnetoresistance element (AMR), a tunneling magnetoresistance (TMR) element, and a magnetic tunnel junction (MTJ). The magnetic field sensing element may be a single element or, alternatively, may include two or more magnetic field sensing elements arranged in various configurations, e.g., a half bridge or full (Wheatstone) bridge. Depending on the device type and other application requirements, the magnetic field sensing element may be a device made of a type IV semiconductor material such as Silicon (Si) or Germanium (Ge), or a type III-V semiconductor material like Gallium-Arsenide (GaAs) or an Indium compound, e.g., Indium-Antimonide (InSb).

As is known, some of the above-described magnetic field sensing elements tend to have an axis of maximum sensitivity parallel to a substrate or in the plane of the substrate that supports the magnetic field sensing element, and others of the above-described magnetic field sensing elements tend to have an axis of maximum sensitivity perpendicular to a substrate that supports the magnetic field sensing element. In particular, planar Hall elements tend to have axes of maximum sensitivity perpendicular to a substrate, while metal based or metallic magnetoresistance elements (e.g., GMR, TMR, AMR) and vertical Hall elements tend to have axes of maximum sensitivity parallel to a substrate.

As used herein, the term "magnetic field signal" is used to describe any signal that results from a magnetic field experienced by a magnetic field sensing element.

As used herein, the term "magnetic field sensor" or simply "sensor" is used to describe a circuit that uses one or more magnetic field sensing elements, generally in combination with other circuits. The magnetic field sensor can be, for example, a rotation detector, a movement detector, a current sensor, or a proximity detector. A rotation detector can sense rotation of an object, for example, advance and retreat of magnetic domains of a ring magnet or advance and retreat of gear teeth of a ferromagnetic gear. The term "movement detector" can be used to describe either a rotation detector or a magnetic field sensor that can sense different movement, e.g., linear movement, of a ferromagnetic object, for example, linear movement of magnetic domains of a ring magnet or linear movement of gear teeth of a ferromagnetic gear.

Magnetic field sensors are used in a variety of applications, including, but not limited to an angle sensor that senses an angle of a direction of a magnetic field, a current sensor that senses a magnetic field generated by a current carried by a current-carrying conductor, a magnetic switch that senses the proximity of a ferromagnetic object, a rotation detector (or movement detector) that senses passing ferromagnetic articles, for example, magnetic domains of a ring magnet or a ferromagnetic target (e.g., gear teeth) where the magnetic field sensor is used in combination with a back-bias or other magnet, and a magnetic field sensor that senses a magnetic field density of a magnetic field. The circuits and techniques described herein apply to any magnetic field sensor capable of detecting a magnetic field.

As used herein, the terms "processor" and "controller" are used to describe elements that perform a function, an operation, or a sequence of operations. The function, operation, or sequence of operations can be hard coded into an electronic circuit or soft coded by way of instructions held in a memory device. The function, operation, or sequence of operations can be performed using digital values or using analog signals. In some embodiments, the processor or controller can be embodied in an application specific integrated circuit (ASIC), which can be an analog ASIC or a digital ASIC, in a microprocessor with associated program memory, in a discrete electronic circuit which can be analog or digital, and/or in special purpose logic circuitry (e.g., a field programmable gate array (FPGA)). Processing can be implemented in hardware, software, or a combination of the two. Processing can be implemented using computer programs executed on programmable computers/machines that include one or more processors, a storage medium or other article of manufacture that is readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device and one or more output devices. Program code can be applied to data entered using an input device to perform processing and to generate output information. A processor or controller can contain internal processors or modules that perform portions of the function, operation, or sequence of operations. Similarly, a module can contain internal processors or internal modules that perform portions of the function, operation, or sequence of operations of the module.

While electronic circuits shown in figures herein may be shown in the form of analog blocks or digital blocks, it will be understood that the analog blocks can be replaced by digital blocks that perform the same or similar functions and the digital blocks can be replaced by analog blocks that perform the same or similar functions. Analog-to-digital or digital-to-analog conversions may not be explicitly shown in the figures but should be understood.

It should be understood that a so-called "comparator" can be comprised of an analog comparator having a two-state output signal indicative of an input signal being above or below a threshold level (or indicative of one input signal being above or below another input signal). However, the comparator can also be comprised of a digital circuit having an output signal with at least two states indicative of an input signal being above or below a threshold level (or indicative of one input signal being above or below another input signal), respectively, or a digital value above or below a digital threshold value (or another digital value), respectively.

As used herein, the term "predetermined," when referring to a value or signal, is used to refer to a value or signal that is set, or fixed, in the factory at the time of manufacture, or by external means, e.g., programming, thereafter. As used herein, the term "determined," when referring to a value or signal, is used to refer to a value or signal that is identified by a circuit during operation, after manufacture.

In the foregoing detailed description, various features of embodiments are grouped together in one or more individual embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claims require more features than are expressly recited therein. Rather, inventive aspects may lie in less than all features of each disclosed embodiment.

Claim 1:
A method of transmitting packets of data that pertain to a target, the method comprising:
sensing a first signed magnitude of an electromagnetic property of the target;
transmitting a first packet of data, the first packet of data having a first header that encodes the first signed magnitude, followed by first payload pulses that encode a first portion of a message associated with the target;
sensing a second signed magnitude of the electromagnetic property of the target; and
transmitting a second packet of data, the second packet of data having a second header that encodes the second signed magnitude, followed by second payload pulses that encode a second portion of the message associated with the target.