Abstract:
In a multi-channel analog-to-digital converter (ADC), in which the ADC sequentially converts analog values that are input from different analog sensors, separate sample-and-hold circuits may be used to read all the analog values at the same time, and the ADC may then sequentially convert the values from each sample-and-hold circuit. This approach allows a single ADC to be used in time-critical applications that require all the analog sensor values to be measured at the same time.

Description:
BACKGROUND 
   Many types of sensors must have their analog outputs converted to digital values so the sensor readings may be processed in a digital computer. When multiple sensors of the same type are being used (for example, audio inputs from multiple microphones in different parts of a room), a single analog-to-digital converter (ADC) may be used for all of them by using a multiplexer to select and sample each sensor at different times. By successively sampling and converting the output of each sensor in turn, every sensor may be sampled at reasonable intervals, while still using only using a single precision (and expensive) ADC. However, when the instantaneous difference between inputs from different sensors is important (e.g., determining the originating point of the sound based on the time it takes the sound to reach each microphone), this sequential sampling technique can produce significant errors in the final result. Providing a separate ADC for each sensor may bring improvement, but at a substantial increase in cost. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Some embodiments of the invention may be understood by referring to the following description and accompanying drawings that are used to illustrate embodiments of the invention. In the drawings: 
       FIG. 1  shows a sensor network with a multiplexed ADC, according to an embodiment of the invention. 
       FIG. 2  shows a sensor network with a computer system, according to an embodiment of the invention. 
       FIG. 3  shows a flow diagram of a method, according to an embodiment of the invention. 
       FIG. 4  shows a timing diagram of a sensor reading cycle, according to an embodiment of the invention. 
   

   DETAILED DESCRIPTION 
   In the following description, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure an understanding of this description. 
   References to “one embodiment”, “an embodiment”, “example embodiment”, “various embodiments”, etc., indicate that the embodiment(s) of the invention so described may include particular features, structures, or characteristics, but not every embodiment necessarily includes the particular features, structures, or characteristics. Further, some embodiments may have some, all, or none of the features described for other embodiments. 
   In the following description and claims, the terms “coupled” and “connected,” along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Rather, in particular embodiments, “connected” may be used to indicate that two or more elements are in direct physical or electrical contact with each other. “Coupled” may mean that two or more elements co-operate or interact with each other, but they may or may not be in direct physical or electrical contact. 
   As used in the claims, unless otherwise specified the use of the ordinal adjectives “first”, “second”, “third”, etc., to describe a common object, merely indicate that different instances of like elements are being referred to, and are not intended to imply that the elements so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner. 
   The term “wireless” and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that communicate data by using modulated electromagnetic radiation through a non-solid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not. 
   Various embodiments of the invention may be implemented in one or any combination of hardware, firmware, and software. The invention may also be implemented as instructions contained in or on a machine-readable medium, which may be read and executed by one or more processors to enable performance of the operations described herein. A machine-readable medium may include any mechanism for storing, transmitting, and/or receiving information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium may include a storage medium, such as but not limited to read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; a flash memory device, etc. A machine-readable medium may also include a propagated signal which has been modulated to encode the instructions, such as but not limited to electromagnetic, optical, or acoustical carrier wave signals. 
   Some embodiments of the invention use multiple analog sample-and-hold circuits to simultaneously sample the analog outputs of multiple sensors. The analog voltages in these multiple sample-and-hold circuits may then be sequentially read by an ADC. Although the ADC may be sampling and converting the various analog values at different times, the values represent measurements that were all taken at the same time. Thus any processing that relies on simultaneously acquired sensor readings may be able to accurately process that data. 
     FIG. 1  shows a sensor network with a multiplexed ADC, according to an embodiment of the invention. In the illustrated network  100 , each of multiple sensors  161 - 166  may provide its analog output to a corresponding analog sample-and-hold (S/H) circuit  151 - 156 . In some embodiments all of the sensors  161 - 166  may be of the same type, but other embodiments may mix different types of sensors. Each S/H circuit may take a sample of the respective sensor&#39;s analog voltage when the S/H circuit receives a signal from trigger circuit  140 , and hold that sample for a period of time. In some embodiments the S/H circuit may store the analog voltage in a capacitor, but other embodiments may use other techniques. Analog sample-and-hold circuits are well known and are not described here in more detail to avoid obscuring a description of the various embodiments of the invention. In some embodiments all S/H circuits  151 - 156  may be triggered by a common trigger signal, and therefore all may sample their respective analog voltages at the same time, and then retain those analog voltages without significant degradation until the voltages have been read by the ADC. 
   Analog multiplexer  120  may select any single S/H circuit and provide its analog value to ADC  110 , which may then convert that analog value to its digital equivalent for presentation to a digital circuit (not shown). The number of bits in the digital value may depend on the precision provided by the ADC. In some embodiments the different S/H circuits may be read sequentially. In the context of this document, ‘sequentially’ indicates that the different S/H circuits are read separately and at different times. It does not imply that the S/H circuits must be read in a particular order, or that the readings must be spaced at particular intervals, although these possibilities are not excluded, either. 
   Control logic  130  may serve several purposes. It may initiate a triggering event by trigger circuit  140 . Such triggering events may be in response to any feasible cause, such as but not limited to: 1) a request for a measurement by a computer system, 2) a repetitive event set to occur at predetermined intervals, 3) a signal from one or more sensors that there is fresh data available, 4) etc. Control logic  130  may also cause multiplexer  120  to successively select each of the S/H circuits in turn. Control logic  120  may also send timing signals to ADC  110  to tell the ADC when to perform a conversion. 
     FIG. 2  shows a sensor network with a computer system, according to an embodiment of the invention. The illustrated computer system  260  may be used to process the readings from the various sensors, and in some embodiments may communicate with other computer systems (not shown). The computer system  260  may include such things as a processor  250 , an ADC  210  to convert sensor values from analog to digital format, a multiplexer  220  to select one of the available sensor values for conversion by the ADC, and an interface  205  to receive the analog sensor values from the sensors. Sensor devices  261 - 266  may communicate their analog values to the interface over communication links  271 - 276 . In some embodiments the ADC, multiplexer, and sensors of  FIG. 1  may approximately correspond to their counterparts in  FIG. 2 . Although six sensors are shown in both figures, various embodiments may include any feasible number of sensors that share a multiplexer. In some embodiments the computer system may include more than one interface and/or multiplexer and/or ADC. 
   Depending on the technology used and other factors, the sample-and-hold circuit for each sensor may be co-located with the sensor device or with the computer system, and in some embodiments the sample-and-hold circuits, the sensors, and the computer system may all be co-located. In any case, communications links  271 - 276  may be of any feasible technology, either wired or wireless, that is able to convey analog values with the required precision without first converting those analog values to digital values. Such communication links may be, but are not limited to, such technologies as: 1) a cable connection, 2) a wireless communications channel, 3) a short electrical connection such as a trace on a printed circuit board, 4) a shared media, such as a bus or a shared radio channel, 5) a combination of one or more of these, 6) etc. In some embodiments where there is a predictable or measurable amount of loss of the analog value during the transmission for a given sensor, the computer system may correct for that loss after reception, either when the value is still in its analog form or after it has been converted to digital form. This may be especially important if different communications links suffer from different amounts of loss. Such corrections may also be used to calibrate the readings from different sensors to account for differences caused by other factors (e.g., manufacturing tolerances in the sensor devices). 
   If the sample and hold circuit is located at the sensor device, communicating a trigger signal from the computer system to the sensor device may use any feasible technology, and in some embodiments may use the same communications link that is used for communicating analog values from the sensor device to the computer system. In some embodiments a signal with a sharp point of reference may be broadcast to all the relevant sensor devices (i.e., sent simultaneously to all sensor devices). Examples may include a pulse sent to all the sensor devices, a stroboscopic flash of light sent to all the sensor devices, etc. In other embodiments, a future time to sample the analog reading may be transmitted to each sensor device, and the sensor device may then take the sample at the indicated time. In such embodiments the sensor devices may be required to have internal clocks that are synchronized to a common time reference with a high degree of accuracy. 
   If differences in the time a trigger signal takes to travel to each sensor device is important (for example, because some sensor devices are much farther away than others), then adjustments may be made to correct for these differences so that each S/H circuit takes a sample at the same time. In some embodiments, the timing of each separately-transmitted trigger signal may be adjusted so that all trigger points will arrive at their respective sensor devices at the same time. In other embodiments, each sensor device may have been individually instructed to delay the sampling operation by a pre-determined time after receiving the trigger signal, so that all sensor devices will take a sample reading at the same time. 
   In applications-in which the S/H circuits are co-located with the computer system, the time it takes the analog value to reach the S/H circuit may likewise vary with the distance to the sensor device. If this time difference is enough to be important, the timing of the trigger signal may be adjusted for each S/H circuit, so that the sample readings for all the sensor devices will represent analog values that were generated by the sensors at the same time. 
   Various embodiments of the invention may be used in various types of sensor networks. Such sensor networks may include, but are not limited to, such things as: 1) vibration sensors used in monitoring structural vibration and/or mechanical stress in structures, 2) seismic sensors to monitor earthquakes or other underground vibrations, or to perform underground mapping, 3) location determination based on triangulation of signals from multiple sources, 4) wavefront propagation measurements, 5) etc. 
     FIG. 3  shows a flow diagram of a method, according to an embodiment of the invention. In the illustrated embodiment of flow diagram  300 , at  310  a computer system may determine differences in transmission time for the various communications links between the computer system and multiple sensor devices. Any feasible means may be used to determine these differences, such as but not limited to: 1) calculating values based on physical distances and/or transmission mediums, 2) performing timing tests, 3) looking up the values in an existing table, 4) etc. If the differences are not significant enough to matter, or if such differences are already set in the equipment, operation  310  may be skipped. At  320 , one or more trigger signals may be transmitted, causing all S/H circuits to simultaneously take a sample of the analog value of their associated sensors. If relevant, the timing of the different trigger signals may be adjusted based on the differences determined at  310 . 
   At  330  and  340  the first S/H circuit may be selected for analog-to-digital conversion by setting a counter n=1 and selecting S/H circuit n. In some embodiments this selection may be done using a multiplexer as previously described. Once selected, that S/H circuit&#39;s stored analog value may be converted to a digital value with an ADC at  350 , and that digital value may be stored for subsequent use at  360  (or in some embodiments may be immediately transferred to another device for subsequent use). At  370  it may be determined if this is the last S/H circuit to be selected, with X being the number of S/H circuits to be read in a single session. If not, n is incremented at  380  and operations  340 - 360  are repeated for the next S/H circuit. If yes, then the various digitized values may be processed. In some embodiments, such post-conversion processing may include adjusting the digital values at  390  to compensate for known errors in the analog processing. For example, different analog sensors may provide slightly different readings for the same sensed condition, and different sample-and-hold circuits may provide slightly different outputs for the same inputs. Similarly, different communications paths may provide different levels of loss or distortion in the analog signals. All of these may be corrected by adjusting the digital values, if the amount of such correction is known or can be estimated. 
   Although a software method of sequentially selecting each S/H circuit is illustrated in  FIG. 3  (i.e., the use of a counter value), other embodiments may achieve the same results using hardware, firmware, or other techniques for the selection process. 
     FIG. 4  shows a timing diagram of a sensor reading cycle, according to an embodiment of the invention. In the illustrated embodiment, a trigger signal may first be transmitted to all sensors. A single pulse is shown, but in other embodiments the trigger signal may take other forms as previously described. After the trigger signal causes all sample-and-hold circuits to store the analog value received from their associated sensors, the sample and hold circuits may then be separately, and sequentially, read by an ADC and converted into the equivalent digital values. As shown, first the contents of a sample-and-hold circuit associated with sensor A is read and converted to a digital value. Once that conversion is complete, the same process may be used on the sample-and-hold circuit for sensor B, followed in turn by the sample-and-hold circuits for sensors C, D, E, and F. 
   The foregoing description is intended to be illustrative and not limiting. Variations will occur to those of skill in the art. Those variations are intended to be included in the various embodiments of the invention, which are limited only by the spirit and scope of the following claims.