The present disclosure relates to a sensor interface for remote sensors that can provide improved speed and robustness, with reduced wiring requirements.
Sensors such as speed or position sensors are used to provide feedback information in mechatronic systems, and are thus used as an interface between the mechanical and the electrical domain. In many cases, the positioning of a sensor is driven by mechanical constraints, for example, the available constructed space or accessibility of sensing targets (target wheel, shaft end, etc.). Therefore, in most applications the sensor cannot be embedded into the ECU (electronic control unit) but has to operate as a standalone sensor (satellite sensor) that has to be connected to the control unit through a (wired) interface.
The interface is the most critical component in a sensing solution in terms of robustness, cost, and performance. Regarding robustness, the cable and connector provide the most significant contribution to the overall FIT (failures in time) rate. Additionally, the cost of the cable and connectors in combination with the cost of assembly and maintenance contribute significantly to the total cost of ownership (TCO). In terms of performance, the sensor interface in many conventional systems provides the “bottleneck” for the information transfer. While the sensing information (e.g., sensing and diagnostic data) is available at a much higher resolution (in time and/or accuracy) at the sensor location, it cannot be transferred and used at that resolution in the ECU because of missing connection bandwidth. Additionally, many conventional interfaces only provide a one-way data link (e.g., sensor to ECU, but not vice versa), thus a dynamic adjustment of sensor parameters or even synchronization between sensor and ECU is not possible, resulting in performance degradation of the entire system. Finally, most conventional connection schemes are point-to-point connections between sensor and ECU. In these situations, complex systems comprising several remote sensors result in complex wiring harnesses.
Conventional sensor systems mainly use pin-to-pin interfaces for sensors. Typical implementations are single-ended voltage interfaces (with 3 wires per sensor, such as SENT (single edge nibble transmission), SPC (short PWM (pulse width modulation) code, etc.) or current interfaces (with 2 wires per sensor, such as those used in ABS (anti-lock braking system) or transmission speed sensors). Conventional interface varieties include digital voltage interfaces, analog voltage interfaces, basic current interfaces, and complex current interfaces.
In digital voltage interfaces, SENT is a universal interface used to transfer a digital data stream to the ECU (e.g., unidirectionally) without synchronization and bus capability. SPC is an Infineon-owned proprietary extension of SENT, enabling synchronization and basic bus capability. The implementation of the physical layer interface is very basic, thus the available bandwidth (and therefore the resulting baudrate) of the interface is very limited (20 kBaud). Due to the basic implementation, the interface exhibits a high vulnerability when exposed to EMI or ESD. The key benefit of SENT/SPC is the low complexity of the physical layer and the possibility to transfer digital data comprising both sensing and diagnostic data. However, due to the low update rate, it is insufficient for many applications (e.g. rotor position sensing).
Analog voltage interfaces provide high bandwidth and maximum flexibility in terms of system integration. When used as an external sensor interface, analog links suffer from high vulnerability (e.g., to voltage exposure, EMI, ESD), a high number of signal wires (especially for differential signal runs) as well as a lack of capability to transfer additional (e.g., diagnostic) data.
The key benefit of current interfaces is the fact that the information transfer can be performed via the sensor supply lines, typically resulting in a two-wire interface.
For basic current interfaces, the low cost implementations of the physical layer exhibit a similar level of vulnerability in terms of EMI and ESD as seen on the voltage interfaces described above. In conventional implementations, several protocols are used ranging from a simple pulse train reflecting particular position indices (e.g., transmission speed sensors) up to advanced, proprietary protocols that included a limited set of diagnostic data in the data stream (e.g., the VDA protocol used for wheel speed sensors).
PSI5 (Peripheral Sensor Interface 5) and DSI (Distributed System Interface) are examples of complex current interfaces that utilize dedicated interface drivers, providing both the physical layer interface as well as a low-level data link layer. PSI5 also features a synchronization and low speed downstream communication capability. Despite the high effort in such interfaces, the available data rate is relatively low (e.g., 192 kBaud gross data rate for PSI5). Another drawback of complex current interfaces is the lack of readily available stand-alone general purpose transceivers, thus the cost of these implementations is too high to find broad market acceptance as a general purpose sensor interface.
The present disclosure will now be described with reference to the attached drawing figures, wherein like reference numerals are used to refer to like elements throughout, and wherein the illustrated structures and devices are not necessarily drawn to scale. As utilized herein, terms “component,” “system,” “interface,” and the like are intended to refer to a computer-related entity, hardware, software (e.g., in execution), and/or firmware. For example, a component can be a processor (e.g., a microprocessor, a controller, or other processing device), a process running on a processor, a controller, an object, an executable, a program, a storage device, a computer, a tablet PC and/or a mobile phone with a processing device. By way of illustration, an application running on a server and the server can also be a component. One or more components can reside within a process, and a component can be localized on one computer and/or distributed between two or more computers. A set of elements or a set of other components can be described herein, in which the term “set” can be interpreted as “one or more.”
Further, these components can execute from various computer readable storage media having various data structures stored thereon such as with a module, for example. The components can communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network, such as, the Internet, a local area network, a wide area network, or similar network with other systems via the signal).
As another example, a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry, in which the electric or electronic circuitry can be operated by a software application or a firmware application executed by one or more processors. The one or more processors can be internal or external to the apparatus and can execute at least a part of the software or firmware application. As yet another example, a component can be an apparatus that provides specific functionality through electronic components without mechanical parts; the electronic components can include one or more processors therein to execute software and/or firmware that confer(s), at least in part, the functionality of the electronic components.
Use of the word exemplary is intended to present concepts in a concrete fashion. As used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form. Furthermore, to the extent that the terms “including”, “includes”, “having”, “has”, “with”, or variants thereof are used in either the detailed description and the claims, such terms are intended to be inclusive in a manner similar to the term “comprising”.
Embodiments disclosed herein relate to sensor interfaces with multiple advantageous features. In various aspects, systems and methods described herein can employ a differential bus interface, including, for example, a widely accepted differential bus interface such as CAN-HS for sensor-to-ECU communication. Line coding can be based on a non-return-to-zero (NRZ) technique, which, as used herein, can include variations such as NRZ inverted (NRZI), etc. In various aspects, USART can be employed for data encoding, and bus resynchronization can be accomplished via dedicated synchronization and resynchronization bits within a data frame. These synchronization and resynchronization bits can simplify microcontroller requirements (as bit-stuffing is not required), and can enable constant message frame length (and thus, pre-defined latency and transfer times). Various embodiments described herein can include an addressing feature to allow for multiple sensors to be connected onto the same bus. Additionally, in aspects, a synchronization frame can be employed to enable synchronous sampling of multiple sensors.
Embodiments described herein can provide or employ a sensor interface with multiple advantages over conventional sensor interfaces. In various aspects, interfaces described herein can provide: a high update rate (e.g., in some example embodiments, update times of Tupdate=50 μs, scalable down to Tupdate=30 μs, etc.); synchronization features (e.g., from ECU to sensor); bus addressing features (e.g., up to 4 participants/bus, or more in various embodiments); defined latency and transfer times; safe transfer of sensing and sensor diagnostic data; ability to handle high voltage exposure (e.g., automotive battery voltage levels, etc.); high levels of EMI (electromagnetic interference) and ESD (electrostatic discharge) robustness; implementations involving readily available components; and compatibility with a broad range of microcontrollers.
Referring to
The ECU 110 can be coupled to the sensor bus 120 (e.g., via a differential transceiver), and can communicate with the sensors 130i via the sensor bus 120. ECU 110 can generate and output a synchronization signal. The synchronization signal or pulse can both trigger sampling by at least one of the sensors 130i and be employed synchronize the one or more sensors 130i to a common clock (e.g., the clock of the ECU, etc.). In some embodiments (e.g., embodiments with more than one sensor 130i), the synchronization signal can comprise an address element (e.g., one or more bits) that can indicate the sensor or sensors 130i to sample sensor data. For example, the synchronization signal can include at least one synchronization bit (e.g., a dominant bit for synchronization), which can be (in some embodiments, e.g., those with multiple sensors 130i, etc.) followed by the address element, which can comprise one or more address bits, where the number of address bits determines the maximum number of sensors and/or sensor combinations that can be uniquely identified in the system (e.g., for 1 bit, two sensors or sensor combinations can be uniquely identified, for 2 bits, four, eight bits, etc.). In various embodiments, the length of the synchronization pulse can be the same length as data frames transmitted by the one or more sensors 130i (which can have constant length data frames in such embodiments), and the address information can be contained in the duty cycle of the frame, which can determine the number of address bits based on the common length of the data frames and synchronization pulse.
The sensor bus 120 can be a differential bus (and ECU 110 and sensors 130i can have differential transceivers for transmitting and receiving via sensor bus 120), and communication via sensor bus 120 (e.g., of synchronization signals, sensor data, etc.) can employ any of a variety of line codings, such as a NRZ (non-return-to-zero) coding, which, as used herein, can include variants on NRZ such as NRZI (NRZ inverted), etc.
The one or more sensors 130i can also be coupled to the sensor bus 120 (e.g., with each coupled via an associated differential transceiver, which can be included within a module of that sensor 130i or a discrete component). The one or more sensors 130i can receive the synchronization signal and can sample sensor data (e.g., via a sensor element) in response to the synchronization signal. Additionally, the one or more sensors 130i can output the sampled sensor data to the sensor bus 120, where it can be received by the ECU 110.
In some embodiments (e.g., embodiments with more than one sensor 130i), each sensor 130i can be associated with one or more addresses (e.g., an address unique to the sensor and/or one or more other addresses shared with at least one other sensor). In such embodiments, the synchronization signal can comprise an address element that indicates a selected address, and upon receiving the synchronization signal, each sensor 130i associated with the selected address can sample associated sensor data. In various aspects where at least two sensors 130i is associated with the selected address, this sampling can occur simultaneously for each of the at least two sensors 130i associated with the selected address. In some aspects, the synchronization signal from ECU 110 can be a broadcast synchronization signal (e.g., via including a specific address element designated for the broadcast synchronization signal), wherein each of the sensors 130i samples sensor data in response to the broadcast synchronization signal.
Any sensor 130i that sampled sensor data in response to the synchronization signal can then output the sampled sensor data to the sensor bus 120. In various aspects, the outputting of the sensor data can be in response to the synchronization signal, for example, with the sensor data output based on the timing of the synchronization signal. Additionally, any sensor 130i that is outputting sensor data to the sensor bus 120 can output one or more resynchronization bits (e.g., at the start of or otherwise within some or all data frames, etc.) that can be used to facilitate clock synchronization. In some embodiments, all data frames can have a constant length, while in other embodiments, some data frames (e.g., those from a first set of one or more sensors, etc.) can have a different length than some other data frames (e.g., those from a second set of one or more sensors, etc.).
For embodiments wherein more than one sensor 130i samples sensor data based on a single synchronization signal (e.g., comprising an address element associated with each of the more than one sensors 130i), those more than one sensors 130i can output their respective sensor data at different points in time (e.g, sequentially, with or without one outputting immediately after the other, etc.). The order of outputting sensor data can be predetermined, for example, based on addresses uniquely associated with the sensors 130i (e.g., in order of increasing or decreasing address, etc.).
Referring to
Differential transceiver 210 can be coupled to a sensor bus, such as the differential sensor buses discussed herein (e.g., sensor bus 120). Differential transceiver 210 can transmit and receive data via a differential line coding, such as an NRZ coding. For example, differential transceiver 210 can receive synchronization signals (e.g., such as those from an ECU such as ECU 110, etc.), and can transmit sampled sensor data (e.g., which can be transmitted along with one or more resynchronization bits, etc.). In some aspects, sampled sensor data can be transmitted in response to the synchronization signal (e.g., based at least in part on the timing of the synchronization signal, etc.).
In response to a synchronization signal being received by differential transceiver 210, sensor element 220 can sample sensor data (e.g., values associated with one or more sensed characteristics).
Additionally, in some embodiments (e.g., systems, methods, and apparatuses employing more than one sensor, etc.), sensor 200 can be associated with one or more addresses, and sensor element 220 can sample sensor data when the synchronization signal received by differential transceiver 210 indicates one of the associated addresses via an address element. In some aspects, at least one of those addresses can be associated with only sensor 200, although in other aspects, sensor 200 is only associated with one or more addresses that are also associated with at least one other sensor. For example, if sensor 200 has a unique address, a synchronization signal can indicate that address, and only sensor 200 can sample sensor data in response to that indicated address. In another example, if sensor 200 is associated with one or more addresses that are also associated with additional sensors, in response to a synchronization signal indicated one of those addresses, both sensor 200 and the one or more additional sensors can sample sensor data simultaneously.
Referring to
Bit coding in CAN-HS is based on a NRZ (non-return-to-zero) coding scheme. For proper re-synchronization between transmitter and receiver, ISO11898 specifies a bit stuffing method which ensures a bus state transition after a maximum of 5 consequent bits of same value. Since bit stuffing requires computing power on both the transceiver as well as the receiver it is usually implemented in the CAN interface block of specific microcontrollers. To enable the use of standard microcontrollers that do not feature any CAN interface functionality the signal on the bus can be encoded in a regular USART (universal synchronous/asynchronous receiver/transmitter) format (e.g., RS-232, etc.). In contrast to the CAN standard, the re-synchronization in embodiments described herein can be performed via frame synchronization and re-synchronization bits. For example, in embodiments with more than one sensor, this can be accomplished via an address header followed by a frame synchronization bit and dedicated resynchronization bits within the data frame. Besides the advantage of reduced hardware/software complexity, including dedicated synchronization (and resynchronization) bits (e.g., as opposed to employing bit stuffing) can ensure predictable frame lengths, which provides the advantage for sensing applications of enabling predictable interface latency times. In various embodiments, each sensor can employ a constant frame length. Alternatively, in other embodiments, some or all of the sensors can employ different frame lengths from other sensors.
Referring to
For most applications involving remote sensors, it can be advantageous to synchronize the sensor to the ECU clock domain. To do so, the ECU can generate and transmit a synchronization signal to the sensor. In various embodiments described herein, this synchronization can be achieved by a synchronization pulse (e.g., wherein the bus is driven by the ECU) to initiate the data sampling and data transfer of the sensor. At the same time, the length of the synchronization pulse can be used as an addressing feature. In one example transmission protocol, the synchronization section consists of 3 bits. The first bit can be set continuously dominant (for synchronization) while the consequent two bits can be used to indicate a specific sensor address of a plurality of sensor addresses. Thus, the example transmission protocol 400 can support up to four sensors on one ECU output (alternatively, for a 4 bit synchronization section, up to 8 sensor addresses could be supported on one ECU output, etc.). Referring to
In some aspects, a plurality of sensors connected to the sensor bus can be configured to sample data at the same time (e.g., a current sensor and a rotor position sensor within a motor control application), with the plurality of sensors associated with a distinct address of the plurality of addresses. After simultaneously sampling respective sensor data, the data can then be transmitted sequentially. Referring to
Referring to
Embodiments described herein can be employed in multiple applications. Although the following examples are provided in connection with vehicular (e.g., automotive, etc.) sensor systems, embodiments described herein can be employed in a diverse range of applications to provide communication of sensor data via a high speed, robust interface.
In a first example application, a system as described herein can be employed in a motor control application. Referring to
In a second set of example applications, embodiments described herein can provide significant advantages over conventional systems in situations wherein more than one motor is be controlled by one ECU. Referring to
Referring to
In a third set of examples, embodiments described herein can be employed in connection with systems reliant on simultaneous data from more than one sensor.
Traditional clutch systems (e.g., dry clutch, wet clutch) are controlled by applying a pressure to the friction plates. The only feedback parameter required for the control loop is the residual slip of the clutch, and this information can be easily taken by a basic speed measurement of both the input and output shaft. However, due to the increased efficiency, dog clutches are introduced in more advanced transmission systems. Referring to
While conventional clutches can be closed at any phase relation between the plates, closing a dog clutch requires synchronization of both the speeds and absolute shaft angles of both shafts. Thus, a sensor cluster that provides the relevant information (angle, speed, acceleration) at high update rates is important. Embodiments employing the sensor interface discussed herein can provide significant benefits, in terms of: reduced wiring complexity; the ability to synchronize the sensor cluster to obtain higher sensing accuracy; and the ability to transfer additional information (e.g., diagnostic information that can be used to validate sensor data, leading to greater functional safety, etc.).
The above description of illustrated embodiments of the subject disclosure, including what is described in the Abstract, is not intended to be exhaustive or to limit the disclosed embodiments to the precise forms disclosed. While specific embodiments and examples are described herein for illustrative purposes, various modifications are possible that are considered within the scope of such embodiments and examples, as those skilled in the relevant art can recognize.
In this regard, while the disclosed subject matter has been described in connection with various embodiments and corresponding Figures, where applicable, it is to be understood that other similar embodiments can be used or modifications and additions can be made to the described embodiments for performing the same, similar, alternative, or substitute function of the disclosed subject matter without deviating therefrom. Therefore, the disclosed subject matter should not be limited to any single embodiment described herein, but rather should be construed in breadth and scope in accordance with the appended claims below.
In particular regard to the various functions performed by the above described components or structures (assemblies, devices, circuits, systems, etc.), the terms (including a reference to a “means”) used to describe such components are intended to correspond, unless otherwise indicated, to any component or structure which performs the specified function of the described component (e.g., that is functionally equivalent), even though not structurally equivalent to the disclosed structure which performs the function in the herein illustrated exemplary implementations. In addition, while a particular feature may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application.
This application is a continuation of U.S. application Ser. No. 14/959,226 filed on Dec. 4, 2015, and incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4430731 | Gimple | Feb 1984 | A |
4783652 | Lumelsky | Nov 1988 | A |
5323385 | Jurewicz | Jun 1994 | A |
6111888 | Green | Aug 2000 | A |
6298066 | Wettroth | Oct 2001 | B1 |
6463483 | Imperiali | Oct 2002 | B1 |
6684152 | Baeuerle | Jan 2004 | B2 |
7373279 | Ishii | May 2008 | B2 |
7428608 | Yakashiro | Sep 2008 | B2 |
7698040 | Long | Apr 2010 | B2 |
7721128 | Johns | May 2010 | B2 |
7747415 | Churchill | Jun 2010 | B1 |
8037753 | Fehrenbach | Oct 2011 | B2 |
8135893 | Brindle | Mar 2012 | B2 |
8249095 | Bidenbach | Aug 2012 | B2 |
8290746 | Urmanov | Oct 2012 | B2 |
8503482 | Zhou | Aug 2013 | B2 |
8504864 | Menon | Aug 2013 | B2 |
9172565 | Cadugan | Oct 2015 | B2 |
9292409 | Hammerschmidt | Mar 2016 | B2 |
9461937 | Hartwich | Oct 2016 | B2 |
9513692 | Saraswat | Dec 2016 | B2 |
9527460 | Dal | Dec 2016 | B2 |
9569386 | Du | Feb 2017 | B2 |
RE46358 | Grounds | Apr 2017 | E |
9634715 | Scheinkerman | Apr 2017 | B2 |
9734121 | Pitigoi-Aron | Aug 2017 | B2 |
9928194 | Ross | Mar 2018 | B2 |
10164785 | Zhang | Dec 2018 | B2 |
10341587 | Dupoiron | Jul 2019 | B2 |
10554443 | Sonnenmoser | Feb 2020 | B2 |
20020035428 | Baeuerle | Mar 2002 | A1 |
20030023795 | Packwood | Jan 2003 | A1 |
20040039504 | Coffee | Feb 2004 | A1 |
20040059396 | Reinke | Mar 2004 | A1 |
20040183550 | Fehrenbach | Sep 2004 | A1 |
20050197753 | Miura | Sep 2005 | A1 |
20060039408 | Wortel | Feb 2006 | A1 |
20060176830 | Yakashiro | Aug 2006 | A1 |
20070016348 | Long | Jan 2007 | A1 |
20070043891 | Ishii | Feb 2007 | A1 |
20070124105 | Johns | May 2007 | A1 |
20070124622 | Johns | May 2007 | A1 |
20070233923 | Lee | Oct 2007 | A1 |
20070248018 | Ranallo | Oct 2007 | A1 |
20080077336 | Fernandes | Mar 2008 | A1 |
20090001892 | Van Boekhout | Jan 2009 | A1 |
20090180497 | Bidenbach | Jul 2009 | A1 |
20100000316 | Fehrenbach | Jan 2010 | A1 |
20100070666 | Brindle | Mar 2010 | A1 |
20100212568 | Zanfei | Aug 2010 | A1 |
20100332189 | Urmanov | Dec 2010 | A1 |
20110211468 | Zhang | Sep 2011 | A1 |
20110211582 | Zhou | Sep 2011 | A1 |
20120210154 | Hartwich | Aug 2012 | A1 |
20120221753 | Hartwich | Aug 2012 | A1 |
20120310509 | Pardo | Dec 2012 | A1 |
20130057339 | Koudar | Mar 2013 | A1 |
20130130751 | Vummintala | May 2013 | A1 |
20130335043 | He | Dec 2013 | A1 |
20130343383 | Hartwich | Dec 2013 | A1 |
20140203631 | Dal | Jul 2014 | A1 |
20140301550 | Lewis | Oct 2014 | A1 |
20140310436 | Du | Oct 2014 | A1 |
20150082062 | Saraswat | Mar 2015 | A1 |
20150236746 | Scheinkerman | Aug 2015 | A1 |
20150309960 | Pitigoi-Aron | Oct 2015 | A1 |
20170096958 | Jiang | Apr 2017 | A1 |
20170104733 | Thanigasalam | Apr 2017 | A1 |
20170153996 | Ross | Jun 2017 | A1 |
20170163366 | Aichriedler | Jun 2017 | A1 |
20170334449 | Feifel | Nov 2017 | A1 |
20170364472 | Pitigoi-Aron | Dec 2017 | A1 |
20170373872 | Zhang | Dec 2017 | A1 |
20180050604 | Hare | Feb 2018 | A1 |
20180065481 | Morisset | Mar 2018 | A1 |
20180090008 | Ikenouchi | Mar 2018 | A1 |
20180129204 | Ricci | May 2018 | A1 |
20180129291 | Weddle | May 2018 | A1 |
20180295308 | Dupoiron | Oct 2018 | A1 |
20190140860 | Sonnenmoser | May 2019 | A1 |
20190171590 | Mishra | Jun 2019 | A1 |
Number | Date | Country |
---|---|---|
105119793 | Dec 2015 | CN |
205192427 | Apr 2016 | CN |
105119793 | Mar 2019 | CN |
102017122479 | Mar 2018 | DE |
3386191 | Oct 2018 | EP |
3065133 | Oct 2018 | FR |
4772992 | Sep 2011 | JP |
6332383 | May 2018 | JP |
100839494 | Jun 2008 | KR |
WO-2017062084 | Apr 2017 | WO |
Entry |
---|
Machine Translation (English) of CN-105119793-B, Espacenet (Year: 2019). |
Machine Translation (English) of CN-105119793-B, Google Patents (Year: 2019). |
NXP, UM10204: I2C-Bus-Specification and User Manual, Apr. 4, 2014, NXP Semiconductors, Revision 6 (Year:2014). |
Corrigan, Steve; Introduction to the Controller Area Network (CAN), Aug. 2002, Texas Instruments, SLOA101B. |
Bosch; CAN Specification , 1991, Robert Bosch GmbH, Version 2.0. |
Notice of Allowance dated May 29, 2018 in connection with U.S. Appl. No. 14/959,226. |
Final Office Action dated Dec. 7, 2017 in connection with U.S. Appl. No. 14/959,226. |
Non-Final Office Action dated Jun. 5, 2017 in connection with U.S. Appl. No. 14/959,226. |
Number | Date | Country | |
---|---|---|---|
20190028217 A1 | Jan 2019 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14959226 | Dec 2015 | US |
Child | 16132907 | US |