The present application relates to devices, systems and methods related to edge-based communication with a plurality of slave devices.
For communication between devices, for example in automotive applications, various protocols are used. One protocol frequently employed is the SENT protocol (single edge nibble transmission). This protocol may for example be used in applications where high resolution data is transmitted for example from a sensor device to an electronic control unit (ECU).
The SPC protocol (short PWM code; PWM meaning pulse width modulation) is an extension of the SENT protocol and aims at increasing performance of a communication link and reducing system costs at the same time. To some extent, SPC allows bidirectional communication and is an example of an edge based PWM protocol. For example, SPC may introduce a half-duplex synchronous communication. A receiver (e.g. master) generates for example a master trigger pulse on a communication line by pulling it low for a defined amount of time. The pulse width (corresponding to the defined amount of time) is measured by a transmitter (e.g. slave), for example a sensor, and a transmission, e.g. a SENT transmission, is initiated only if the pulse width is within a defined limit. The SPC protocol allows choosing between various protocol modes. For example, a synchronous mode, a synchronous mode with range selection or a synchronous transmission with ID selection (also referred to as busmode), where up to four sensors may be connected in parallel to an ECU, may be used. In the latter case, the pulse width of the above-mentioned trigger pulse may define which sensor or other entity will start a transmission. For example, a length of the trigger pulse may indicate an ID of a sensor or other slave device selected for transmission. The sensor or other entity may start the transmission with its own synchronization, which may overlap the trigger pulse.
Conventionally, when using the SPC protocol in the above-mentioned busmode, each sensor may have a different length of the trigger pulse associated therewith. In the conventional SPC protocol, triggering a sensor by a trigger pulse has a comparatively long duration (for example about 90 time units for addressing, e.g. the trigger pulse and at least about 281 time units for responding of the sensor) and therefore takes a comparatively long time. Moreover, between triggering different bus participants like sensors in conventional approaches a pause has been made as the length of transmission from sensor to controller may depend on the data content of the transmission. Therefore, between triggering of different sensors in some conventional approaches at least the longest possible transmission duration plus a safety margin has been kept.
In conventional approaches, when for example a sensor receives a trigger pulse, this triggering causes the sensor to capture or sample sensor data and subsequently send it to a controller or other device. When reading out several sensors, this leads to the data of the different sensors being captured at different points in time, which for some applications may be undesirable.
In the following, various embodiments will be described in detail referring to the attached drawings. The embodiments are to be regarded as illustrative examples only and are not to be construed as limiting. For example, while embodiments may be described as comprising a plurality of features or elements, in other embodiments some of these features or elements may be omitted, and/or replaced by alternative features or elements. In yet other embodiments, additional features or elements may be provided.
Any connections or couplings shown in the drawings or described herein may be implemented as direct connections or couplings, i.e. connections or couplings without intervening elements, or indirect connections or couplings, i.e. connections or couplings with one or more intervening elements, as long as the general purpose of the connection or coupling, for example to transmit a certain kind of signal and/or to transmit a certain kind of information, is essentially maintained. Connections or couplings may be wire-based connections or couplings or may also be wireless connections or couplings unless noted otherwise.
Furthermore, features from different embodiments may be combined to form additional embodiments.
In embodiments, an extension to the SPC protocol is proposed. However, these extensions may also be applicable to other communication protocols, for example bidirectional edge-based PWM (pulse width modulation) communication protocols.
In some embodiments, in a bidirectional edge-based PWM communication system comprising a master and a plurality of slaves (i.e., at least two slaves). In some embodiments, a trigger pulse triggers an action in at least a first slave device of the plurality of slave devices and a second slave device of the plurality of slave devices. For example, in some aspects, the first slave device and the second slave device may be sensor devices and sample sensor data at least approximately at the same time in response to the trigger pulse. In other embodiments, the first slave device and the second slave device may transmit data to a controller or other master device, for example consecutively transmit data to the controller, in response to the trigger pulse. In yet other embodiments, the two above-mentioned techniques may be combined, such that the first and second slave devices sample data at approximately the same time and then transmit data consecutively in response to the trigger pulse. Other techniques may also be employed.
In
Additionally or alternatively, transmitters 12, 14 may e.g. be sensors and sample data to be transmitted later upon receipt of the predetermined trigger pulse. In other embodiments, other techniques may be employed.
In other embodiments, as illustrated in
When communicating for example according to an SPC protocol, controller 22 may transmit a request signal that is received by the first and second sensors 24 and 26 via data line 25. The request signal may include a trigger signal (pulse) and/or a sensor identification signal, which selects one of the first and second sensors 24 and 26. In addition, a remainder of the request signal may include any other commands and/or data to be transmitted to the selected sensor. For example, the trigger signal may be a pulse where controller 22 via transistor 21 pulls data line 25 to ground, a duration of the pulse indicating an ID of the sensor. In other embodiments current pulses or other electrical quantities may be used to achieve the same functionality.
The first and second sensors 24 and 26 receive the request signal including the trigger signal and the sensor identification signal. In conventional approaches, one of the first and second sensors 24 and 26 is selected via the sensor identification signal, for example encoded in a pulse width, pulse height or other, and the selected sensor transmits a reply signal via data line 25.
In some embodiments, at least one predetermined sensor identification signal triggers an action in at least two sensors, for example both in first sensor 24 and second sensor 26. For example, in some embodiments, a predetermined identification signal may cause first sensor 24 and second sensor 26 to consecutively transmit data (for example, a first data transmission by first sensor 24 followed by a second data transmission by second sensor 26) without separate sensor identification signals for the two sensors. In other embodiments, additionally or alternatively, a predetermined sensor identification signal may cause both first sensor 24 and second sensor 26 to sample data at least approximately at the same time upon receipt of the sensor identification signal.
Concept and techniques discussed above, for example with reference to
After the data pulses 32, as indicated by a waiting time 33, the data line may be on a high state. For example, a length of the high state at 33 plus a length of the data pulses at 32 may correspond to a maximum length of data pulses (which may vary depending on the data sent) plus some safety margin.
After this, in the example of
In
In
The order in which the first and second sensors respond may be predetermined. For example, a sensor with a lowest address value may respond first, followed by a sensor with a second lowest address value. In some embodiments with more than two sensors, this may be followed by a response from a sensor with the third lowest address value etc. In other embodiments, other orders may be used.
In other embodiments, other numbers of data pulses 42 may be used. For example, generally, the number of data pulses may be predetermined, and the second sensor may start transmitting after the last sensor data pulse of the first sensor.
In some embodiments, each of the first sensor and/or second sensor in addition may have a dedicated trigger pulse length associated thereto for triggering a response only from the first sensor and/or for triggering a response only from the second sensor. In other embodiments, only trigger pulse 40 may be provided to trigger a response from first sensor and second sensor.
By counting the number of pulses 42 and responding only after the last pulse, collision avoidance is ensured, i.e., a simultaneous transmission of the first and second sensors may be prevented. In some embodiments, for counting the data pulses for example falling edges, rising edges or both may be counted.
In some cases, for example due to failures, the first sensor may not respond. In other cases, only some data pulses may be transmitted, for example also due to failure of the first sensor. In other embodiments, depending on the protocol used, the number of data pulses may be varied, but a maximum time for data transmission may be fixed. In such cases,
In the example embodiment of
Similar techniques may apply when the first sensor only sends a synchronization pulse, possibly followed by some data pulses, but not the complete number of data pulses. Also in this case, in some embodiments, the second sensor may start transmitting after a longest frame time, possibly plus a safety margin time, i.e., after a predetermined time.
As can be seen when comparing
In some embodiments, sensors triggered by common trigger pulse as illustrated in
Pulses 60 to 64 in
Following data pulses 64 and a waiting time, in the example of
It should be noted that in some implementations, also the first sensor of
In some embodiments, sensors like first sensor 24 and second sensor 26 may sample sensor data directly prior to transmitting data. For example, in some implementations, similar to conventional SPC systems, the sampling may occur essentially at the start of sending the synchronization pulse. Sampling in this respect refers to an act of the sensor which “fixes” the data to be sent. For example the data sensed by the sensor at the time of sampling may be sent later. It should be noted that sampling essentially at the start of sending the synchronization pulse as described herein and shown in some of the Figures is merely an illustrative example, and other points in time may also be used for sampling. For example, in other embodiments the sampling may occur for example at a falling edge of a corresponding trigger pulse, which in some embodiments enables a controller (e.g. a controller like an ECU that sends the trigger pulse) to “know” the sampling time more precisely, e.g. with a reduced influence e.g. from deviations of a sensor clock. In some embodiments, when triggering of the sensor to send data fails, e.g. when it turns out that the sensor was not to be addressed, the sampled data may be discarded.
For a conventional SPC system and as comparative example for the explanations with reference to
In the example of
After a waiting time, the master device transmits a second trigger pulse 76 with a different pulse length than the first trigger pulse 70. A second sensor, for example sensor 26, responds with a synchronization pulse 77 followed by data pulses 79. Trigger pulse 76, synchronization pulse 77 and data pulses 79 may correspond to trigger pulse 34, synchronization pulse 35 and data pulses 36 of
73 illustrates data sampled within the first sensor. Such a data value may for example be stored in an internal storage element or register of the first sensor, but is not limited thereto. 74 illustrates a corresponding data value for the second sensor. The illustration of data 73 and 74 in
As indicated by an arrow 72, in first sensor the data is sampled (corresponding to an updating of the data signal value, for example) after the end of the first trigger pulse 70, for example coinciding with the start of synchronization pulse 71. The data value obtained at 72 may for example then be sent in data pulses 75. Likewise, the second sensor as indicated by an arrow 78 samples data after second trigger pulse 76, for example essentially at the start of synchronization pulse 77. The data value sampled at 78 may then be transmitted in data pulses 79. Therefore, in such a conventional scheme, the first sensor and the second sensor sample data at different points in time. However, for some applications, it may be desirable to sample data essentially at the same point in time, for example to be able to perform consistency checks. In the following, techniques according to various embodiments will be illustrated using example signals of
For example, in some embodiments, a dedicated trigger pulse may be used to cause sensors, for example a first sensor and a second sensor, to sample data. Then, further trigger pulses may be used to cause the sensors to transmit data.
In
In response to the sampling trigger pulse 80, as indicated by an arrow 83, both first and second sensor sample data essentially at the same time. Essentially at the same time in some embodiments may mean that deviations for example due to different signal run times (for example due to different lengths of data line 25 to sensor 24 and to sensor 26) and/or due to different sensor implementations and/or due to different clocking may still occur.
The sampling may for example occur a predetermined time after the start (falling edge) of trigger pulse 80, for example at a time where for a regular trigger pulse which initiates a data transmission a synchronization pulse would be initiated. Other techniques may also be employed.
Following the sampling trigger pulse 80, in the example of
Following data pulses 86, in the example of
Therefore, in the embodiment of
In other embodiments, a sampling trigger pulse may simultaneously be used to initiate data transfer from one of the sensors. Signals according to a corresponding embodiment are illustrated in
In
In the example of
Furthermore, in the embodiment of
After the transmission of data pulses 96, the master in the embodiment of
Therefore, in the embodiment of
In the embodiment of
Furthermore, in some embodiments a trigger pulse may serve for causing a plurality of sensors to sample data and for triggering data transfer of a plurality of sensors. This may for example amount to a combination of the embodiments of
In the embodiment of
Moreover, in response to trigger pulse 100, the first sensor transmits a synchronization pulse 101 followed by data pulses 103. For example, the first sensor may transmit data sampled at 102 with data pulses 103. After completion of transmission of the first sensor, the second sensor transmits a synchronization pulse 104 followed by data pulses 105. For example, the second sensor may count the data pulses transmitted by the first sensor and start transmission after the last data pulse (for example seventh data pulse in the example shown) was detected. In data pulses 105, the second sensor may transmit data sampled at 102.
Therefore, the data transmission of the first and second sensors in response to trigger pulse 100 essentially is as explained with reference to
Moreover, also in the embodiments discussed with reference to
It is to be emphasized again that the waveforms of signals discussed with reference to
Next, with reference to
Turning now to
At 111, a first slave device, for example a first sensor, performs an action in response to the trigger pulse sent at 110. The action may for example comprise a sampling of data or a transmission of data or other information. Moreover, at 112 a second slave performs an action in response to the trigger pulse sent at 110. The action may for example comprise a sampling of data and/or a transmission of data.
In
In
It should be noted that the embodiments discussed above serve merely as examples and are not to be construed as limiting. Instead, the embodiments discussed above are to be merely regarded as example implementations of techniques discussed herein.
Number | Name | Date | Kind |
---|---|---|---|
4388725 | Saito et al. | Jun 1983 | A |
4531068 | Kraft et al. | Jul 1985 | A |
5646996 | Latka | Jul 1997 | A |
5787132 | Kishigami | Jul 1998 | A |
6060906 | Chow et al. | May 2000 | A |
6201811 | Larsson et al. | Mar 2001 | B1 |
6275550 | Fukuda | Aug 2001 | B1 |
6405337 | Grohn et al. | Jun 2002 | B1 |
6496889 | Perino et al. | Dec 2002 | B1 |
6609224 | Jonsson | Aug 2003 | B1 |
6977930 | Epps et al. | Dec 2005 | B1 |
7027773 | McMillin | Apr 2006 | B1 |
7269774 | Sudo | Sep 2007 | B2 |
7627121 | Reeds, III et al. | Dec 2009 | B1 |
7627804 | Bains | Dec 2009 | B2 |
7653757 | Fernald et al. | Jan 2010 | B1 |
7809870 | McDaniel | Oct 2010 | B2 |
7982512 | Misawa et al. | Jul 2011 | B2 |
8183982 | Scherr | May 2012 | B2 |
8301972 | Tang | Oct 2012 | B2 |
8519819 | Scherr | Aug 2013 | B2 |
8948280 | Hammerschmidt et al. | Feb 2015 | B2 |
9469306 | Hammerschmidt | Oct 2016 | B2 |
20040107398 | Johnson | Jun 2004 | A1 |
20040208029 | Caruthers et al. | Oct 2004 | A1 |
20050127942 | Smith et al. | Jun 2005 | A1 |
20070088883 | Wakabayashi | Apr 2007 | A1 |
20080198917 | Mignone | Aug 2008 | A1 |
20090046773 | Scherr | Feb 2009 | A1 |
20100002821 | Hammerschmidt et al. | Jan 2010 | A1 |
20100262887 | Wilson | Oct 2010 | A1 |
20110280299 | O'Malley et al. | Nov 2011 | A1 |
20120158335 | Donovan | Jun 2012 | A1 |
20120195389 | Scherr | Aug 2012 | A1 |
20140101349 | Engl | Apr 2014 | A1 |
20150200706 | Bottazzi et al. | Jul 2015 | A1 |
20150236876 | Cadugan et al. | Aug 2015 | A1 |
Number | Date | Country |
---|---|---|
102008031498 | Jan 2010 | DE |
S56153866 | Nov 1981 | JP |
58-024925 | Feb 1983 | JP |
08-023582 | Jan 1996 | JP |
2003189654 | Jul 2003 | JP |
2013017094 | Jan 2013 | JP |
Entry |
---|
TLE4998C3 TLE4998C4 “Programmable Linear Hall Sensor”; Data Sheet—Infineon; Rev 1.0, Dec. 2008, p. 1-44. |
U.S. Appl. No. 14/318,741, filed Jun. 30, 2014. |
U.S. Appl. No. 14/317,661, filed Jun. 27, 2014. |
Notice of Allowance Dated Jul. 31, 2015 U.S. Appl. No. 14/318,741. |
Non-Final Office Action dated May 13, 2015 in connection with U.S. Appl. No. 14/318,741. |
Non Final Office Action Dated Dec. 18, 2015 U.S. Appl. No. 14/934,729. |
Non Final Office Action Dated Mar. 18, 2016 U.S. Appl. No. 14/317,661. |
Kramolis, J. “SENT/SPC Driver for the MPC5510 Microcontroller Family.” Freescale Semiconductor, Inc. Document No. AN4219, Rev. 0, Oct. 2010. 28 pages. |
Notice of Allowance Dated May 31, 2016 U.S. Appl. No. 14/934,729. |
Notice of Allowance Dated Jul. 27, 2016 U.S. Appl. No. 14/317,661. |
Number | Date | Country | |
---|---|---|---|
20160050089 A1 | Feb 2016 | US |