Patent Description:
In one aspect, a system includes an electronic control unit (ECU) and an integrated circuit (IC). The IC configured to transmit, to the ECU, absolute data on a message line at a first rate; and transmit, to the ECU, incremental data on an index line at a second rate. The second rate is faster than the first rate and the incremental data includes data associated with changes in the absolute data.

The preceding aspect above may include one or more of the following features. The IC may be a first IC and the index line may be a first index line; and the system may further include a second IC configured to transmit, to the ECU, incremental data on a second index line at a third rate, and the third rate may be faster than the first rate. The second rate and the third rate may be equal. The second rate and the third rate may not be equal. The second IC may transmit absolute data on the message line to the ECU. The index line may be a first index line, and data redundant to the incremental data may be transmitted on a second index line from the IC to the ECU. The IC may be a first IC and the system may further include a second IC configured to transmit, to the ECU, absolute data on the message line and to transmit, to the ECU, incremental data on the index line at a third rate, wherein the third rate may be faster than the first rate. The message may be transmitted by the IC using a unidirectional signal format. The message may be transmitted by the IC using a bidirectional signal format. The IC may transmit incremental data on the index line using two states. The IC may be a device providing sensing information received from an external sensor. The IC may be a sensor. The absolute data may be an angle of a target and the incremental data may be a change in the angle of the target. The absolute data may be a position of a target and the incremental data may be a change in the position of the target. If the message line is broken, then the ECU may use the index line to confirm a constant position change and/or may calculate a speed of the change. If the index line is broken, then the ECU may receive a position signal from the message line.

The system may include an electronic control unit (ECU) and a plurality of ICs. Each IC is configured to transmit, to the ECU, absolute data on a first line at a first rate and incremental data on a corresponding second line at a second rate. The IC may be a device providing sensing information received from an external sensor. The IC may be a sensor.

The system may include an electronic control unit (ECU) and a plurality of integrated circuits (IC) configured to transmit, to the ECU, primary data on a respective index line at a first rate, and to transmit, to the ECU, redundant and/or diagnostic data on a message line at a second rate. The second rate is slower than the first rate and the redundant data comprises primary data.

The aspect above may include one or more of the following features. The IC may be a device providing sensing information received from an external sensor. The IC may be a sensor. A start and stop of transmitting the primary data may correspond with a start and stop of transmitting the redundant and/or diagnostic data. The index line may be a first index line and data redundant to the primary data may be transmitted by the ICs to the ECU on a respective second index line.

The foregoing features may be more fully understood from the following description of the drawings. The drawings aid in explaining and understanding the disclosed technology. Since it is often impractical or impossible to illustrate and describe every possible embodiment, the provided figures depict one or more illustrative embodiments. Accordingly, the figures are not intended to limit the scope of the broad concepts, systems and techniques described herein. Like numbers in the figures denote like elements.

Described herein are various techniques for a master component and one or more slave components to communicate with each other. The techniques described herein use an additional line (called herein an "index line") that enables incremental data to be provided to the master component that allows for a faster updating of data than traditional techniques.

Referring to <FIG>, a system <NUM> includes an electronic control unit (ECU) <NUM> (sometimes referred to as a "master component") and an integrated circuit (IC) <NUM> (sometimes referred to as a "slave component"). In one example, the IC <NUM> is a sensor such as, for example, a current sensor, a speed sensor, an angle sensor, a magnetic field sensor, a temperature sensor, a pressure sensor, a chemical sensor, a motion sensor, a rotational direction sensor, a linear position sensor and so forth. In other examples, the IC <NUM> may be a device providing sensing information received from an external sensor.

A message line <NUM> connects the ECU <NUM> to the IC <NUM> and an index line <NUM> connects the ECU <NUM> to the IC <NUM>. In one example, the IC <NUM> provides absolute data to the ECU <NUM> using the message line <NUM>, and the IC <NUM> provides incremental data using the index line <NUM>. In some examples, a unidirectional format (e.g., Single-Edge Nibble Transmission (SENT) format) may be used by the IC <NUM> to transmit data to the ECU <NUM> on the message line <NUM>. In other examples, a bidirectional format (e.g., a triggered SENT or Manchester format) may be used by the IC <NUM> to transmit data to the ECU <NUM> on the message line <NUM> after receiving a request from the ECU <NUM>. In one example, the transport on the index line is synchronized with the pre-determined point inside of the message on the data line (e.g. end of the synchronization nibble).

In one example, the index line <NUM> has two states (e.g., a high state and a low state). In one example, the IC <NUM> may go from a high state to a low state back to a high state to indicate an incremental change has occurred in the absolute data. In another example, the IC <NUM> may go from a low state to a high state back to a low state to indicate an incremental change has occurred in the absolute data.

In another example, a rising edge (e.g., a transition from a low state to a high state) may be used to indicate an incremental change has occurred in the absolute data. In this example, the high state may be kept constant.

In another example, a falling edge (e.g., from a high state to a low state) may be used to indicate an incremental change has occurred in the absolute data. In this example the low state may be kept constant.

In some examples, the IC <NUM> may use index lines <NUM> to indicate direction by using three-level pulses. For example, pulses above a reference level will indicate a clockwise direction and pulses below the reference level will indicate a counterclockwise direction; or vice versa.

In some examples, the IC <NUM> may use index lines <NUM> to indicate direction by using a pulse width or the time between pulses. For example, a pulse width of <NUM>-microsecond indicates a clockwise direction while a two-microsecond pulse indicates a counterclockwise direction.

In some further examples, only the directional change is detected which may be done, for example, by a long signature pulse (e.g., a pulse that is longer than the other pulses). For example, a series of <NUM>-microsecond pulses are received indicting a clockwise rotation. The <NUM>-microsecond pluses are followed by a <NUM>-microsecond pulse indicating a change in direction. The <NUM>-microsecond pulse is followed by <NUM>-microsecond pulses indicating a counterclockwise direction.

The IC <NUM> provides incremental data using the index <NUM> at a faster rate than the IC <NUM> provides absolute data using the message line <NUM>. For example, some of the fastest SENT messages are sent on the message line <NUM> every <NUM> microseconds while the data sent on the index line <NUM> may be sent less than every <NUM> microseconds. The system <NUM> allows a faster response time to detect changes in the absolute data than traditional techniques that only use a message line.

In one particular example, the absolute data is a degree measurement (e.g., <NUM>°) and the IC <NUM> sends incremental data using the index line <NUM> each time there is, for example, an incremental change (e.g., a <NUM>-degree change) from the absolute data. In one particular example, the absolute data is a magnetic field intensity (e.g., <NUM> Oersted (Oe)) and the IC <NUM> sends incremental data using the index line <NUM> each time there is, for example, an incremental change (e.g., a <NUM>-Oe change) from the absolute data.

The system <NUM> may be configured to allow the IC <NUM> to notify the ECU <NUM> of errors on the index line <NUM>. For example, the IC <NUM> will pull the index line <NUM> to a low state. In another example, the IC <NUM> will pull the index line <NUM> to a high state.

In one example, if the message line <NUM> is broken, then the ECU <NUM> may use the index line <NUM> to confirm a constant position change and/or calculate a speed of the change. In another example, if the index line <NUM> is broken, then the ECU <NUM> may receive a position signal from the message line <NUM>.

Referring to <FIG> and <FIG>, another example of sending absolute data and incremental data is a system <NUM>. The system <NUM> includes an ECU <NUM>, a first IC 204a and a second IC 204b. In one example, the IC 204a, 204b may be sensors such as, for example, a current sensor, a speed sensor, an angle sensor, a magnetic field sensor, a temperature sensor, a pressure sensor, a chemical sensor, a motion sensor, a rotational direction sensor, a linear position sensor and so forth. In other examples, the ICs 204a, 204b may be a device providing sensing information received from an external sensor.

The IC 204a, 204b may be the same type of sensor (e.g., each are magnetic field sensors) or the IC 204a, 204b may be different types of sensors (e.g., one is a temperature sensor and the other is a magnetic sensor). The IC 204a, 204b may be monitoring the same or separate events.

A message line <NUM> connects the ECU <NUM> to the ICs 204a, 204b. An index line 208a connects the ECU <NUM> to the IC 204a and an index line 208b connects the ECU <NUM> to the IC 204b. In some examples, the message line <NUM> is similar to or the same as the message line <NUM> (<FIG>). In some examples, the index lines 208a, 208b are similar to or the same as the index line <NUM> (<FIG>).

In one particular example, in the system <NUM>, each IC 204a, 204b sends their respective absolute data using the message line <NUM> taking turns to the ECU <NUM>. The IC 204a provides incremental data to the ECU <NUM> using the index line 208a and the IC 204b provides incremental data to the ECU <NUM> using the index line 208b.

In some examples, the index lines 208a, 208b have two states (e.g., a high state and a low state). In some examples, the ICs 204a, 204b send incremental data to the ECU <NUM> in a similar manner as the IC <NUM> (<FIG>). The ICs 204a, 204b transmit incremental data on the index lines 208a, 208b faster to the ECU <NUM> than the ICs 204a, 204b transmit absolute data on the message line <NUM> to the ECU <NUM>. In some examples, the ICs 204a, 204b transmit incremental data on the index lines 208a, 208b at the same rate. In other examples, the ICs 204a, 204b transmit incremental data on the index lines 208a, 208b at a different rate from each other.

In another particular example, the ICs 204a, 204b may use their respective index line 208a, 20b to provide primary data to the ECU <NUM>. The ICs 204a, 204b may use the message line <NUM> to provide redundant data to the primary data that was provided on the respective index line 208a, 208b and/or diagnostic data.

Referring to <FIG>, in another example similar to <FIG>, each IC 204a, 204b sends their respective data to the ECU <NUM> using the message line <NUM> taking turns. The IC 204a provides data to the ECU <NUM> using the index line 208a and the IC 204b provides data to the ECU using the index line 208b. Unlike as depicted in <FIG>, the start and stop of the data on the index lines 208a, 208b corresponds to the start and stop of a message on the message line <NUM>.

Referring to <FIG> and <FIG>, a further example of sending absolute data and incremental data is a system <NUM>. The system <NUM> is like the system <NUM> except the system <NUM> has a shared index line <NUM> that is shared by the ICs 204a, 204b to transmit incremental data to the ECU <NUM>.

As each IC 204a, 204b sends its respective absolute data, each IC 204a, 204b is also sending incremental data on the index line <NUM> simultaneously. In one example, when a respective IC 204a, 204b stops sending its absolute data on the message line <NUM>, the respective IC 204a, 204b also stops sending its incremental data on the index <NUM>. Thus, the ECU <NUM> will receive the most updated data from the ICs 204a, 204b, since the absolute data may change once the transmission of the absolute data commences on the message line <NUM>.

Referring to <FIG> and <FIG>, a system <NUM> includes an ECU <NUM> and ICs 304a, 304b. A MOSI (Master OUT Slave IN) line <NUM> connects the ICs 304a, 304b to the ECU <NUM>. A MISO (Master In Slave Out) line <NUM> connects the ICs 304a, 304b to the ECU <NUM>.

A SCLK (Serial Clock) line <NUM> connects the ICs 304a, 304b to the ECU <NUM>. In one example, the ECU <NUM> provides a serial clock signal <NUM> using the SCLK line <NUM>.

In one example, the IC 304a, 304b may be sensors such as, for example, a current sensor, a speed sensor, an angle sensor, a magnetic field sensor, a temperature sensor, a pressure sensor, a chemical sensor, a motion sensor, a rotational direction sensor, a linear position sensor and so forth. The IC 304a, 304b may be the same type of sensor (e.g., each are magnetic field sensors) or the IC 304a, 304b may be different types of sensors (e.g., one is a temperature sensor and the other is a temperature sensor). The IC 304a, 304b may be monitoring the same or separate events.

Using the MOSI line <NUM>, the ECU <NUM> sends a signal <NUM> to the ICs 304a, 304b. The signal includes addresses of the ICs 304a, 304b. For example, the signal <NUM> includes an address <NUM> for the IC 304a and an address <NUM> for the IC 304b.

Using the MISO line <NUM>, the IC 304a, after receiving the address <NUM>, sends an answer 406a to the ECU <NUM>. Using the MISO line <NUM>, the IC 304b, after receiving the address <NUM>, sends an answer 406b to the ECU <NUM>.

Referring to <FIG> and <FIG>, a system <NUM> is similar to the system <NUM> (<FIG>) but has been modified to include a clock line <NUM> connecting the ECU <NUM> to the IC <NUM> and has been modified so that both the ECU <NUM> and the IC <NUM> both use the message line <NUM>. For example, the ECU <NUM> sends an ECU Request 502a to request absolute data on the message line <NUM> and the IC <NUM> responds by sending an IC answer 502b on the message line <NUM> with the absolute data requested. The ECU <NUM> sends a clock signal <NUM> on the clock line <NUM> to the IC <NUM>.

The IC <NUM> sends incremental data in a signal <NUM> on the index line <NUM> as described herein (e.g., as described in <FIG> and <FIG>). The IC <NUM> provides incremental data using the index line <NUM> at a faster rate than the IC <NUM> provides absolute data using the message line <NUM>.

As described herein, the IC <NUM> inputs incremental data on the index line as incremental events occur. For example, if an IC <NUM> detects the speed of a wheel and if the speed is relatively slow, then the rate the IC <NUM> provides incremental data on the index line <NUM> is less than the rate the IC <NUM> would provide incremental data on the index line <NUM> if the speed of the wheel is relatively fast.

The ECU <NUM> will change the clock speed on the clock line <NUM> line depending on the index line <NUM>. The clock signal <NUM> on the clock line <NUM> dictates the rate of the data on the message line <NUM>. If the rate incremental data is inputted by the IC <NUM> on the index line <NUM> is increased, then the rate of messaging between the ECU <NUM> and the IC <NUM> on the message line <NUM> increases. If the rate incremental data is inputted by the IC <NUM> on the index line <NUM> is decreased, then the rate of messaging between the ECU <NUM> and the IC <NUM> on the message line <NUM> decreases.

Claim 1:
A system (<NUM>), comprising:
an electronic control unit (ECU) (<NUM>);
an integrated circuit (IC) (<NUM>) configured to:
transmit, to the ECU on a message line (<NUM>) at a first rate, absolute data indicative of an absolute value of a first sensed parameter; and
transmit incremental data to the ECU on an index line (<NUM>) at a second rate,
wherein the second rate is faster than the first rate and the incremental data comprises data indicative of incremental changes in the absolute value of the first sensed parameter.