Sensor devices are useful to sense a variety of environmental parameters, such as temperature, pressure, humidity, and light. In some cases, distributed sensor devices are useful to detect environmental parameters in multiple locations. For example, a chain of temperature sensor devices coupled in parallel may be positioned in multiple areas of a large auditorium to determine an average temperature throughout the auditorium. Distributed sensor devices may convert sensed parameters to digital codes that are subsequently provided to a controller. For instance, a first temperature sensor device in a chain of temperature sensor devices may convert a sensed temperature of 70 degrees Fahrenheit to a first digital code, and a second temperature sensor device in that chain of temperature sensor devices may convert a sensed temperature of 65 degrees Fahrenheit to a second digital code that differs from the first digital code.
In examples, a sensor device is adapted to be coupled, by a shared power and data connection (SPDC), to other sensor devices in a chain of sensor devices. The sensor device comprises a sensor to sense a parameter, a counter, and a controller coupled to the sensor and the counter. The controller is configured to determine, based on an index position of the sensor device, a time that is to elapse between receipt of a command to convert the sensed parameter to a digital code and a conversion of the sensed parameter to the digital code. The controller is configured to, responsive to receipt of the command, set the counter to the time. The controller is configured to convert the sensed parameter to the digital code upon the counter indicating that the time has elapsed.
In examples, a method comprises determining an index position of a sensor device in a chain of sensor devices coupled to each other by a shared power and data connection (SPDC) based on a first digital code provided to a set of pins of the sensor device or based on a sensed voltage on a pin of the sensor device. The method also includes calculating a time that is to elapse between receipt of a command to convert a sensed parameter to a digital code and the conversion of the sensed parameter to the digital code by summing a fixed delay time and a product of the index position and a duration of the conversion. The method also includes, responsive to receiving the command, waiting for the time to elapse. The method also includes, responsive to the time elapsing, converting the sensed parameter to a second digital code. The method also includes storing the second digital code to a storage in the sensor device.
The same reference numbers or other reference designators are used in the drawings to designate the same or similar (functionally and/or structurally) features.
As described above, a controller may be coupled to a chain of sensor devices by way of an SPDC. An SPDC may be a single wire that is configured to carry both power and data in an alternating fashion between a controller and multiple sensor devices. Sensor devices in the chain draw increased current from the SPDC when converting sensed environmental parameters into digital codes. If too many sensor devices in the chain perform such parameter conversions simultaneously, the total current drawn from the SPDC rises sharply, thereby causing the voltage on the SPDC to fall. The drop in voltage on the SPDC may be significant enough (e.g., below a threshold voltage) to cause the sensor devices in the chain to interpret the drop as a signal form the controller (e.g., a signal that the controller is preparing to broadcast a message to the sensor devices on the SPDC). Such a signal is unintended and results in communication errors on the SPDC. A solution to mitigate the drop in voltage on the SPDC due to simultaneous sensor parameter conversions includes providing a low-resistance pull-up resistor connected to the SPDC via a switch. Prior to simultaneous parameter conversions across multiple sensor devices in a chain, the switch is turned on, thereby providing an increased current supply to the SPDC via a low impedance current path and preventing a total current draw on the SPDC of a magnitude that would cause the voltage on the SPDC to drop below the aforementioned threshold voltage. However, such a solution adds expense and needlessly occupies space (e.g., due to the need for additional circuit components and additional controller package pins).
This disclosure describes various examples of a sensor system that facilitates synchronized sensor parameter conversions while mitigating the challenges associated with other solutions, such as the challenges described above. In examples, a controller is coupled to a chain of sensor devices (e.g., packaged or unpackaged semiconductor devices configured to sense ambient temperature). The chain of sensor devices may include any number of sensor devices. Each sensor device in the chain is configured to determine its index position in the chain. For example, the first sensor device in the chain is configured to determine that it is the first sensor device in the chain, the second sensor device in the chain is configured to determine that it is the second sensor device in the chain, and so on. Each sensor device is configured to determine, based on its index position in the chain, a start time at which it is to sense a parameter and/or convert the sensed parameter to a digital code. The start times of the sensor devices in the chain are staggered in such a way that the number of sensor devices that are simultaneously sensing parameters and/or converting the sensed parameters to digital codes is controlled to be below a predetermined target (e.g., no more than two sensor devices simultaneously converting sensed parameters to digital codes at a time). The converted digital codes may be stored on the sensor devices for subsequent interrogation by the controller.
By using this staggered approach, all sensor devices in the chain are able to sense parameters and convert the sensed parameters to digital codes, but the total current draw at any given time on the SPDC (that supplies both power and data to the sensor devices in the chain) remains low. Consequently, the voltage on the SPDC remains sufficiently high so as to avoid causing the sensor devices to interpret the voltage on the SPDC to mean that the controller is imminently broadcasting a message to the various sensor devices in the chain. The sensor system thus senses parameters and converts parameters to digital codes without the communication errors described above, and further without any need for the expensive and/or space-consuming additional switches, passive components, controller package pins, cables and wires, traces, ground planes, changes to controller software, and low impedance current paths that characterize various conventional solutions.
The pin 228.1 may be coupled to the SPDC 206 and may obtain power from voltage source 208 via SPDC 206. The pin 230.1 also may be coupled to the SPDC 206 to facilitate the exchange of data/instructions between the controller 202 and the sensor device 204.1 via SPDC 206 (e.g., the SPDC 206 may be a serial data output (SDQ) bus). Power may be provided on SPDC 206 when data is not being provided on SPDC 206. In examples, the pin 232.1 is not used. The pin 234.1 may be coupled to a ground connection 212 to provide sensor device 204.1 with access to ground. The pins 236.1, 238.1, 240.1, and 242.1 may be coupled to the ground connection 212.
Still referring to
The sensor devices 204.2 through 204.N are similar, but not identical, to the sensor device 204.1. Specifically, the description provided above of the pin configuration and internal components of the sensor device 204.1 also apply to the sensor devices 204.2 and 204.N, with like numerals referring to like pin configurations and components, with the exception of the configurations of the pins 236.2, 238.2, 240.2, 242.2 (for sensor device 204.2) and pins 236.N, 238.N, 240.N, and 242.N (for sensor device 204.N). Pin 236.2 may be coupled to the SPDC 206, while the remaining pins 238.2, 240.2, and 242.2 may be coupled to the ground connection 212. Pins 236.N, 238.N, 240.N, and 242.N may be coupled to the SPDC 206. In examples, N=16, and thus each of the four pins 236.X, 238.X, 240.X, and 242.X (where X is an integer between 1 and N) may be coupled to the SPDC 206 and/or the ground connection 212 in a different combination, since 24=16.
The SPDC 206 may be coupled to a power supply VDD 208 by way of a resistor 210. In examples, the resistor 210 has a resistance (and the VDD 208 is configured to provide a voltage) adequate to enable the functionalities of the sensor system 200 as described herein. The resistance of the resistor 210 and the voltage provided by the VDD 208 may be determined by an engineer or designer of the sensor system 200.
The method 400 begins with each sensor device 204 determining its respective index position in the chain of sensor devices 204 (blocks 402, 404). Specifically, the controller 202 may assert a reset signal 304 on the SPDC 206, which causes a transient dip in the voltage on SPDC 206. One purpose of the reset signal 304 is to initialize the sensor devices 204. The controller 202 may wait for an answer 306 on the SPDC 206 from one or more of the sensor devices 204, and upon receiving an answer from at least one of the sensor devices 204, the controller 202 may issue a skip address command 308 on the SPDC 206 to the sensor devices 204. The skip address command instructs each of the sensor devices 204 to execute the next instruction to arrive on the SPDC 206 irrespective of that sensor device's address or an address that may be specified in that next instruction. The next instruction may include a latch instruction 310 issued by the controller 202. The latch instruction 310 is received and executed by each of the sensor devices 204 due to the skip address command 308 received just prior to the latch instruction 310. The latch instruction 310, when executed by the sensor devices 204, causes each of the sensor devices 204 to capture the digital code present on pins 236.X, 238.X, 240.X, and 242.X {X=1 . . . N}. For example, because pins 236.1, 238.1, 240.1, and 242.1 are all coupled to ground connection 212, the sensor device 204.1 captures a digital code 0000. Similarly, because pin 236.2 is coupled to SPDC 206 (which, after the latch instruction 310 is complete, returns to a baseline value determined by VDD 208 and resistor 210 at 311), pin 236.2 captures a high value while the remaining pins 238.2, 240.2, and 242.2 are all coupled to ground connection 212 and thus capture low values. Thus, the sensor device 204.2 captures a digital code 0001. Likewise, because pins 236.N, 238.N, 240.N, and 242.N are all coupled to SPDC 206, the sensor device 204.N may capture a digital code 1111. Intervening sensor devices between sensor devices 204.2 and 204.N may capture other digital codes, e.g., a sensor device 204.3 may capture a digital code 0010. In examples, the controller 214.X {X=1 . . . } of each sensor device 204 captures the digital code for that sensor device and stores it to the storage 216.X {X=1 . . . }.
Each of the sensor devices 204 uses its captured digital code to determine its index position in the chain of sensor devices 204 (block 406). Thus, for instance, because the sensor device 204.1 captures 0000, the controller 214.1 determines that the sensor device 204.1 has an index position of 0 in the chain of sensor devices 204. Similarly, because the sensor device 204.2 captures 0001, the controller 214.2 determines that the sensor device 204.2 has an index position of 1 in the chain of sensor devices 204, and so on. In this way, each sensor device 204 is configured to determine its position relative to the other sensor devices 204 in the chain of sensor devices 204. Each sensor device 204 is configured to store the captured digital code and/or index position in a respective register 222.X {X=1 . . . N}. Each sensor device 204 may store a lookup table (e.g., programmed by an engineer or designer of the system 200) useful to convert a captured digital code to an index position.
In some examples, a different technique may be useful for each of the sensor devices 204 to determine its index position in the chain of sensor devices 204. For instance, the controller 202 may communicate the index position of each sensor device 204 to that sensor device 204. In other examples, the sensor device 204 may be programmed (e.g., by a designer or engineer) with its index position such that the sensor devices 204 do not perform any steps to determine their index positions. Other techniques are contemplated and fall within the scope of this disclosure. For instance,
Referring again to
TSTART=TDELAY+(index position)(TDUR) (1)
Thus, each of the sensor devices 204 calculates a different value of TSTART. For example, assuming a TDELAY of 10 ms and a TDUR for both parameter sensing and sensed parameter conversion to digital codes of 5 ms, the sensor device 204.1 may have a TSTART value of
TSTART=10 ms+(0)(5 ms)=10 ms (2)
which means that the sensor device 204.1 may begin its parameter sensing and conversion 10 ms after the command from the controller 202 has been fully received by the sensor device 204.1 (e.g., after the second edge, whether rising or falling, is received by the sensor device 204.1). The sensor device 204.2 may have a TSTART value of
TSTART=10 ms +(1)(5 ms)=15 ms (3)
which means that the sensor device 204.2 may begin its parameter sensing and conversion 15 ms after the command from the controller 202 has been fully received by the sensor device 204.2, and so on. Calculated TSTART values may be stored in the storage 216.X {X=1 . . . N} of each sensor device 204.
After each sensor device 204 has calculated its value of TSTART (block 408), each sensor device 204 sets its counter 218.X {X=1 . . . N} to equal the calculated value of TSTART for that sensor device (block 410). The controller 202 may issue a reset command 312, and, upon receiving an answer signal 314, the controller 202 may issue a skip address command 316, followed by a convert sensed parameter command 318. Each of the sensor devices 204 receives the command 318, and responsive to receipt of the command 318, each of the sensor devices 204 initializes its counter (block 411) such that the counter begins counting down to the calculated value of TSTART for that sensor device 204. In
As the top-most diagram in
As numerals 336, 342, and 346 show, no more than two sensor devices 204 may be sensing parameters and/or converting sensed parameters to digital codes at a given time. In examples, the maximum number of sensor devices 204 sensing parameters and/or converting sensed parameters to digital codes does not exceed a predetermined target. This predetermined target may be determined based on the difference between VTL 332 and the baseline voltage on SPDC 206. The larger the difference between VTL 332 and the baseline voltage on SPDC 206, the more current draw may be accommodated on SPDC 206, and thus the more sensor devices 204 that may simultaneously perform parameter sensing and/or conversion. The baseline voltage on SPDC 206 may be determined at least in part based on VDD 208 and the resistance of resistor 210, which determines the voltage drop from VDD 208 to SPDC 206 and thus determines the baseline voltage on SPDC 206.
As the sensing and/or conversion activity of each sensor device 204 is completed, that sensor device 204 (e.g., the controller 214.X {X=1 . . . N} of that sensor device 204) stores the converted digital code to a respective storage 216.X {X=1 . . . N} (block 414). The controller 202 may subsequently interrogate the sensor devices 204 to obtain the digital codes (block 416).
The term “couple” is used throughout the specification. The term may cover connections, communications, or signal paths that enable a functional relationship consistent with this description. For example, if device A generates a signal to control device B to perform an action, in a first example device A is coupled to device B, or in a second example device A is coupled to device B through intervening component C if intervening component C does not substantially alter the functional relationship between device A and device B such that device B is controlled by device A via the control signal generated by device A.
In this description, the term “and/or” (when used in a form such as A, B and/or C) refers to any combination or subset of A, B, C, such as: (a) A alone; (b) B alone; (c) C alone; (d) A with B; (e) A with C; (f) B with C; and (g) A with B and with C. Also, as used herein, the phrase “at least one of A or B” (or “at least one of A and B”) refers to implementations including any of: (a) at least one A; (b) at least one B; and (c) at least one A and at least one B. As used herein, the terms “terminal,” “node,” “interconnection,” “pin” and “lead” are used interchangeably. Unless specifically stated to the contrary, these terms are generally used to mean an interconnection between or a terminus of a device element, a circuit element, an integrated circuit, a device or other electronics or semiconductor component.
While certain elements of the described examples are included in an integrated circuit and other elements are external to the integrated circuit, in other example embodiments, additional or fewer features may be incorporated into the integrated circuit. In addition, some or all of the features illustrated as being external to the integrated circuit may be included in the integrated circuit and/or some features illustrated as being internal to the integrated circuit may be incorporated outside of the integrated. As used herein, the term “integrated circuit” means one or more circuits that are: (i) incorporated in/over a semiconductor substrate; (ii) incorporated in a single semiconductor package; (iii) incorporated into the same module; and/or (iv) incorporated in/on the same printed circuit board.
A device that is “configured to” perform a task or function may be configured (e.g., programmed and/or hardwired) at a time of manufacturing by a manufacturer to perform the function and/or may be configurable (or re-configurable) by a user after manufacturing to perform the function and/or other additional or alternative functions. The configuring may be through firmware and/or software programming of the device, through a construction and/or layout of hardware components and interconnections of the device, or a combination thereof
A circuit or device that is described herein as including certain components may instead be adapted to be coupled to those components to form the described circuitry or device. For example, a structure described as including one or more semiconductor elements (such as transistors), one or more passive elements (such as resistors, capacitors, and/or inductors), and/or one or more sources (such as voltage and/or current sources) may instead include only the semiconductor elements within a single physical device (e.g., a semiconductor die and/or integrated circuit (IC) package) and may be adapted to be coupled to at least some of the passive elements and/or the sources to form the described structure either at a time of manufacture or after a time of manufacture, for example, by an end-user and/or a third-party.
While certain components may be described herein as being of a particular process technology, these components may be exchanged for components of other process technologies. Circuits described herein are reconfigurable to include the replaced components to provide functionality at least partially similar to functionality available prior to the component replacement. Components shown as resistors, unless otherwise stated, are generally representative of any one or more elements coupled in series and/or parallel to provide an amount of impedance represented by the shown resistor. For example, a resistor or capacitor shown and described herein as a single component may instead be multiple resistors or capacitors, respectively, coupled in parallel between the same nodes. For example, a resistor or capacitor shown and described herein as a single component may instead be multiple resistors or capacitors, respectively, coupled in series between the same two nodes as the single resistor or capacitor.
As used herein, the terms “terminal”, “node”, “interconnection”, “pin”, “ball” and “lead” are used interchangeably. Unless specifically stated to the contrary, these terms are generally used to mean an interconnection between or a terminus of a device element, a circuit element, an integrated circuit, a device or other electronics or semiconductor component.
While certain elements of the described examples are included in an integrated circuit and other elements are external to the integrated circuit, in other example embodiments, additional or fewer features may be incorporated into the integrated circuit. In addition, some or all of the features illustrated as being external to the integrated circuit may be included in the integrated circuit and/or some features illustrated as being internal to the integrated circuit may be incorporated outside of the integrated. As used herein, the term “integrated circuit” means one or more circuits that are: (i) incorporated in/over a semiconductor substrate; (ii) incorporated in a single semiconductor package; (iii) incorporated into the same module; and/or (iv) incorporated in/on the same printed circuit board.
Uses of the phrase “ground connection” or “ground” in the foregoing description include a chassis ground, an Earth ground, a floating ground, a virtual ground, a digital ground, a common ground, and/or any other form of ground connection applicable to, or suitable for, the teachings of this description. Unless otherwise stated, “about,” “approximately,” or “substantially” preceding a value means +/−10 percent of the stated value, or, if the value is zero, a reasonable range of values around zero. Modifications are possible in the described examples, and other examples are possible within the scope of the claims.
The present application claims priority to U.S. Provisional Patent Application No. 63/305,957, which was filed Feb. 2, 2022, is titled “A METHOD TO SCHEDULE DATA CONVERSION USING POSITION IDENTIFIER ON A BUS WITHOUT HANDSHAKING,” and is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63305957 | Feb 2022 | US |