US20160134302A1 - Digital to analog converter and analog to digital converter calibration techniques - Google Patents
Digital to analog converter and analog to digital converter calibration techniques Download PDFInfo
- Publication number
- US20160134302A1 US20160134302A1 US14/941,206 US201514941206A US2016134302A1 US 20160134302 A1 US20160134302 A1 US 20160134302A1 US 201514941206 A US201514941206 A US 201514941206A US 2016134302 A1 US2016134302 A1 US 2016134302A1
- Authority
- US
- United States
- Prior art keywords
- digital
- analog
- converter
- signal
- analog converter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012935 Averaging Methods 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims description 20
- 238000013507 mapping Methods 0.000 claims description 5
- 230000009977 dual effect Effects 0.000 claims description 4
- 238000012937 correction Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 10
- 238000012804 iterative process Methods 0.000 abstract 1
- 229920005994 diacetyl cellulose Polymers 0.000 description 151
- 238000005516 engineering process Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 239000003990 capacitor Substances 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010348 incorporation Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009022 nonlinear effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/06—Continuously compensating for, or preventing, undesired influence of physical parameters
- H03M1/0617—Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence
- H03M1/0634—Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence by averaging out the errors, e.g. using sliding scale
- H03M1/0656—Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence by averaging out the errors, e.g. using sliding scale in the time domain, e.g. using intended jitter as a dither signal
- H03M1/066—Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence by averaging out the errors, e.g. using sliding scale in the time domain, e.g. using intended jitter as a dither signal by continuously permuting the elements used, i.e. dynamic element matching
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M3/00—Conversion of analogue values to or from differential modulation
- H03M3/30—Delta-sigma modulation
- H03M3/38—Calibration
- H03M3/382—Calibration at one point of the transfer characteristic, i.e. by adjusting a single reference value, e.g. bias or gain error
- H03M3/384—Offset correction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F1/00—Details of amplifiers with only discharge tubes, only semiconductor devices or only unspecified devices as amplifying elements
- H03F1/32—Modifications of amplifiers to reduce non-linear distortion
- H03F1/3241—Modifications of amplifiers to reduce non-linear distortion using predistortion circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F1/00—Details of amplifiers with only discharge tubes, only semiconductor devices or only unspecified devices as amplifying elements
- H03F1/32—Modifications of amplifiers to reduce non-linear distortion
- H03F1/3241—Modifications of amplifiers to reduce non-linear distortion using predistortion circuits
- H03F1/3247—Modifications of amplifiers to reduce non-linear distortion using predistortion circuits using feedback acting on predistortion circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F3/00—Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
- H03F3/189—High-frequency amplifiers, e.g. radio frequency amplifiers
- H03F3/19—High-frequency amplifiers, e.g. radio frequency amplifiers with semiconductor devices only
- H03F3/195—High-frequency amplifiers, e.g. radio frequency amplifiers with semiconductor devices only in integrated circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F3/00—Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
- H03F3/20—Power amplifiers, e.g. Class B amplifiers, Class C amplifiers
- H03F3/24—Power amplifiers, e.g. Class B amplifiers, Class C amplifiers of transmitter output stages
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/002—Provisions or arrangements for saving power, e.g. by allowing a sleep mode, using lower supply voltage for downstream stages, using multiple clock domains or by selectively turning on stages when needed
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/10—Calibration or testing
- H03M1/1009—Calibration
- H03M1/1014—Calibration at one point of the transfer characteristic, i.e. by adjusting a single reference value, e.g. bias or gain error
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/10—Calibration or testing
- H03M1/1009—Calibration
- H03M1/1033—Calibration over the full range of the converter, e.g. for correcting differential non-linearity
- H03M1/1057—Calibration over the full range of the converter, e.g. for correcting differential non-linearity by trimming, i.e. by individually adjusting at least part of the quantisation value generators or stages to their nominal values
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/66—Digital/analogue converters
- H03M1/68—Digital/analogue converters with conversions of different sensitivity, i.e. one conversion relating to the more significant digital bits and another conversion to the less significant bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M3/00—Conversion of analogue values to or from differential modulation
- H03M3/30—Delta-sigma modulation
- H03M3/32—Delta-sigma modulation with special provisions or arrangements for power saving, e.g. by allowing a sleep mode, using lower supply voltage for downstream stages, using multiple clock domains, by selectively turning on stages when needed
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M3/00—Conversion of analogue values to or from differential modulation
- H03M3/30—Delta-sigma modulation
- H03M3/458—Analogue/digital converters using delta-sigma modulation as an intermediate step
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M3/00—Conversion of analogue values to or from differential modulation
- H03M3/30—Delta-sigma modulation
- H03M3/50—Digital/analogue converters using delta-sigma modulation as an intermediate step
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M3/00—Conversion of analogue values to or from differential modulation
- H03M3/30—Delta-sigma modulation
- H03M3/50—Digital/analogue converters using delta-sigma modulation as an intermediate step
- H03M3/51—Automatic control for modifying converter range
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/02—Transmitters
- H04B1/04—Circuits
- H04B1/0475—Circuits with means for limiting noise, interference or distortion
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F2200/00—Indexing scheme relating to amplifiers
- H03F2200/204—A hybrid coupler being used at the output of an amplifier circuit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F2200/00—Indexing scheme relating to amplifiers
- H03F2200/207—A hybrid coupler being used as power measuring circuit at the output of an amplifier circuit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F2200/00—Indexing scheme relating to amplifiers
- H03F2200/336—A I/Q, i.e. phase quadrature, modulator or demodulator being used in an amplifying circuit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F2201/00—Indexing scheme relating to details of amplifiers with only discharge tubes, only semiconductor devices or only unspecified devices as amplifying elements covered by H03F1/00
- H03F2201/32—Indexing scheme relating to modifications of amplifiers to reduce non-linear distortion
- H03F2201/3233—Adaptive predistortion using lookup table, e.g. memory, RAM, ROM, LUT, to generate the predistortion
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/06—Continuously compensating for, or preventing, undesired influence of physical parameters
- H03M1/0617—Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence
- H03M1/0634—Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence by averaging out the errors, e.g. using sliding scale
- H03M1/0656—Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence by averaging out the errors, e.g. using sliding scale in the time domain, e.g. using intended jitter as a dither signal
- H03M1/0658—Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence by averaging out the errors, e.g. using sliding scale in the time domain, e.g. using intended jitter as a dither signal by calculating a running average of a number of subsequent samples
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/02—Transmitters
- H04B1/04—Circuits
- H04B2001/0408—Circuits with power amplifiers
- H04B2001/0425—Circuits with power amplifiers with linearisation using predistortion
Definitions
- the invention relates to the field of digital to analog (DAC) and analog to digital (ADC) converter. More particularly to the calibration of digital to analog and analog to digital converter using digital techniques.
- DAC digital to analog
- ADC analog to digital
- Some applications require the integration of digital to analog converter and/or analog to digital converter together with digital circuits.
- Digital circuits consume less power and required less area in fine line CMOS process, i.e. processes below 100 nm. In many cases the choice of process technology is dictated by the constraints of the digital circuitry.
- analog and mixed signals circuits like DACs and ADCs, suffer from the poor matching performance and the low power supply voltages of fine line CMOS processes. Applying conventional DAC/ADC design techniques in fine line CMOS processes result in inefficient designs.
- the analog output is represented by the sum of unit segment currents.
- the unit segment currents are steered either to the positive or to the negative output of the DAC.
- the steering is achieved by switching elements that are controlled by signals derived from the DAC input signal.
- the matching of these unit segments determines the performance of the DAC. Performance parameters such as, integral non linearity (INL), differential non linearity (DNL) and spurious free dynamic range (SFDR) are affected.
- INL integral non linearity
- DNL differential non linearity
- SFDR spurious free dynamic range
- One method to calibrate a DAC is to equalize all the unit segments. With this method the unit segments are compared to a reference segment. Trim currents are added or subtracted to the unit segment currents such that their value is close to the reference segment currents.
- DPD digital pre distortion
- Embodiments of the invention comprise digital techniques to calibrate DACs and ADCs.
- the DAC is calibrated and in a second step the calibrated DAC is used to calibrate the ADC.
- Equation based or averaging techniques can be used to calibrate the DAC.
- the initial accuracy of the analog circuit is not critical. Iterative bootstrapping is used to improve the accuracy over time.
- Embodiments of the invention allow for a very compact physical implementation.
- Another aspect of the invention is the reduction of analog circuitry in favor of digital circuits. Digital circuits can be automatically generated from source code and therefore decreases the design time when porting the design into a new process technology.
- Embodiments of the invention can be implemented in low supply voltage environments.
- FIG. 1 a is a schematic of a self-calibrating DAC/ADC configuration according to an embodiment.
- FIG. 1 b is a DAC INL, with and without averaging, according to an embodiment.
- FIG. 2 a is a schematic of a self-calibrating DAC/ADC configuration according to an embodiment.
- FIG. 2 b is a example set of equations to extract the estimate for the segment values according to an embodiment.
- FIG. 2 c is a schematic of a controller according to an embodiment.
- FIG. 2 d depicts an embodiment of DAC/ADC calibration circuit including a transmission line transformer, according to an embodiment.
- FIG. 2 e depicts an alternative embodiment of a DAC/ADC calibration circuit.
- FIG. 3 a is a schematic for a single ended implementation converter calibration circuit according to an embodiment.
- FIG. 3 b is a schematic for a single ended implementation converter calibration circuit including an analog processing circuit according to an embodiment.
- FIG. 4 a is a schematic of a deterministic current steering digital to analog converter according to an embodiment.
- FIG. 4 b is a schematic of a random shuffling current steering digital to analog converter according to an embodiment.
- FIG. 5 is a schematic of an digital to analog converter with digital calibration according to an embodiment.
- FIG. 6 a is a flow chart of the equation based calibration algorithm according to an embodiment.
- FIG. 6 b is a flow chart of the averaging based calibration algorithm according to an embodiment
- FIG. 7 is a schematic DAC/ADC converter combination according to an embodiment
- FIG. 8 a is a schematic of current source DAC according to an embodiment.
- FIG. 8 b is a schematic of current sink DAC according to an embodiment.
- FIG. 8 c is a schematic of current source and sink DAC according to an embodiment.
- FIG. 9 a is a schematic of switched current sink segment according to an embodiment.
- FIG. 9 b is a schematic of switched current sink segment with uninterrupted current flow according to an embodiment.
- FIG. 9 c is a schematic of standard current steering DAC segment.
- an adder block or subtractor block depends on the use of the output signal of the main DAC compared with the reference DAC. If, for example, the main DAC is implemented as a current source and the reference DAC as a current sink then a adder would be used. If both are implemented as either current source or current sink then a subtractor would be used. Further, the main and reference DAC can be implemented as differential circuits. In this case the determination of adder or subtractor is made whether the positive and negative outputs are combined or if the opposite polarity outputs are combined.
- both the main and the reference DAC receive the same digital input signals 122 and 222 , respectively.
- the technology in which the main DAC is implemented might be different from the implantation technology of the reference DAC.
- the reference DAC on the other hand is implemented in a process technology which can be energy efficient, has smaller mismatch errors and/or is the same process technology as the digital circuitry in front of the DAC.
- FIG. 1 a shows an embodiment of a calibration scheme using an averaging method.
- the system consists of two digital to analog converter.
- the Main DAC 110 is build using unit segments.
- a thermometer decoder 111 converts the input sample 122 into a vector in which the number of one values is equal to the input sample, all other values in the vector are zero.
- the unit segment array 112 the vector is associated with a unit segments. If the vector element of the associated unit segment is one, the segment will be routed to the combiner 113 , if the vector element is zero the segment will not be send to the combiner 113 .
- the combiner 113 adds all segments together and sends the sum to the output of the DAC, indicated as OUT in FIG. 1 a .
- the thermometer decoder 111 activates always the same segments given the same input code.
- the Reference DAC 114 has a shuffler 116 between the thermometer decoder 115 and the unit segment array 117 .
- the random shuffler generates a second vector based on the vector from the thermometer decoder 115 .
- the second vector has the same number of one elements as the vector from the thermometer decoder 115 , however, the position of the one elements within the second vector is randomly selected. That is, for the same input value 122 the second vector will look different. Since the likelihood that a specific segment is selected from the array is the same for all segments, by averaging many output samples the averaged output of DAC 114 approaches the correct value.
- the segments of the unit segment array 117 which are associated with the one values of the second vector are routed to the combiner 118 .
- FIG. 1 b demonstrates the effect of averaging on the integral non-linearity (INL) of DAC 114 .
- Trace 140 is the original INL of the DAC caused by the mismatch of the unit segments.
- Trace 141 is the averaged INL over 1000 runs.
- the output signals of the main DAC 110 and the Reference DAC 114 are subtracted using an adder 119 (as shown in FIG. 1 a ).
- the output of the adder 119 is then converted back into the digital domain by ADC 120 .
- Controller 121 averages the output from the ADC 120 for a set of samples of the input signal 122 .
- the controller calculates the values of the segments in the main DAC 110 and corrects the segment values in the main DAC 110 . It is not shown, but understood, that the samples for the main DAC 110 and the reference DAC 114 must arrive at the same time at the adder 119 . Additional delay elements in the main DAC 110 can be implemented to compensate for the additional delay due to the random Shuffler 116 in the reference DAC 114 , in embodiments.
- FIG. 2 a depicts an embodiment of the calibration scheme using an equation based method.
- the main DAC 210 converts the digital input signal 222 into an analog output signal 230 .
- the reference DAC 214 uses a shuffle block 235 to randomly alter the unit segments used from one input sample to the next.
- the output of the Main DAC 210 and Reference DAC 214 are subtracted by adder 219 and converted into a digital signal by the analog to digital converter 220 .
- the controller 221 receives the input signals 222 , the state of the Shuffler 235 and the output of the ADC 220 .
- the controller 221 generates the system of equations as shown in FIG. 2 b .
- M[s,c] is the bit used to activate or deactivate c'th segment in the unit segment array 212 of the main DAC 210 .
- the index s refers the the s'th input sample.
- R[s,c] refers to the state of the c'th unit segment of the s'th input sample of the Reference DAC 214 .
- CM[c] is the segment value of the c'th segment of the Main DAC 210 .
- CR[c] is the segment value of the c'th segment of the reference DAC 214 .
- A[s] is the readout of the ADC 220 for the s'th input sample.
- ECM[c] is the estimated segment value for the c'th segment of the Main DAC and ERC is the estimated segment value for the c'th segment of the Reference DAC.
- Standard mathematical techniques can be used to solve the system of equations. Based on the calculated values, the controller can adjust the segment values in the unit segment arrays 212 and 217 . This procedure can be repeated using the results from the previous run as the estimates for the next run. In an ideal case, not considering noise or other distortions, the output code of the ADC 220 can toggle only between 2 values, therefore, the overall linearity of the ADC 220 is not important to the final result of the calibration. To further improve the accuracy of the system, the full scale range of the ADC 220 can be reduced from one run to the next run. The required range for a subsequent run can be estimated from the ADC output values.
- the calibration technique can be extended to digital to analog converter using a combination of different decoding schemes, like a combination of thermometer decoding and binary decoding.
- FIG. 2 a depicts an analog calibration.
- the controller adjusts the current sources of the main DAC and the reference DAC.
- other techniques like a dedicated error correction DACs in parallel with the main DAC or digital pre-distortion techniques can be applied as well in various embodiments.
- FIG. 2 c depicts an embodiment of the controller 221 of FIG. 2 a . It comprises two memory blocks, 250 and 251 .
- the Processor 252 can arm the memory blocks 250 and 251 with the control signals 259 and 262 . Once armed, the memory blocks sequentially stores the incoming data 254 and 256 at each clock cycle of signal 255 . If a set number of samples is reached the memory blocks reports back to the processor 252 that the memory is filled and ready for evaluation. The processor 252 will then read back the data from the memory via signals 257 , 258 , 259 , 260 , 261 and 262 .
- the speed of the memory clock 255 and the external clock for the processor 266 can be different, depending on the converter speed and the evaluation speed of the processor 252 .
- the controller can communicate with the converter and the rest of the environment via signals 263 , 264 , 265 and 266 .
- FIG. 2 d depicts embodiment of DAC/ADC calibration circuit using a transmission line transformer 270 .
- the transmission line transformer can be asymmetrical, that is, the path from the Main DAC 210 to the output 270 to the output 271 is a lower impedance path than the path from the Reference DAC 214 .
- the coupling coefficient of the transmission line transformer determines the amount of energy the Reference DAC 214 has to provide to compensate for the energy delivered by the Main DAC 210 such that the combined energy flowing from the Main DAC 210 to the output and the energy from the Reference DAC 214 flowing to the ADC 220 cancel at the input of the ADC 220 .
- the signals 271 and 273 have to complimentary in this case.
- FIG. 2 e depicts embodiment of DAC/ADC calibration circuit with an alternative clocking scheme.
- a clock generator 240 generated the clocking signals 242 for the DACs.
- the clock signal for the ADC 244 is derived from a delay block 241 .
- the delay block can either shift the clock 244 relative to the clock 241 or divide the clock to a lower frequency.
- a sub-sampling system can be built by dividing the clock 242 down to operate the ADC at a lower sampling frequency. The reduced the sampling rate of the ADC can reduce the power consumption of the ADC and simplifies the ADC design.
- FIG. 3 a depicts a single ended embodiment of the converter calibration circuit.
- the Main DAC 310 and the Reference DAC 311 receive digital input data signals 321 , 324 clock signals 322 , 325 , control signals 323 , 326 and convert the digital input data signals into analog currents.
- the output current of the Main DAC 310 is converted into a voltage by an external load connected to the output 327 .
- the output of the reference DAC 311 flows directly into a virtual ground node 330 .
- the voltage difference between the output node 327 and the virtual ground node 330 forces a current through resistor 312 into the ground node 330 .
- the current through the resistor is related to the voltage on the output node 327 .
- the operational amplifier 314 establishes the virtual ground node 330 by forming a feedback system via the gain resistor 313 .
- the sum of the currents flowing into the ground node 330 will be zero, hence the current through the gain resistor 313 is equal to the sum of the current from the reference DAC 311 and the current through resistor 312 .
- the voltage on node 331 is proportional to the current through resistor 313 .
- the ADC 315 converts the voltage of node 331 into a digital signal. If a current input ADC is used resistor 313 and operational amplifier 314 can be eliminated. In that case, the input of the ADC will function as the virtual ground node.
- FIG. 3 a depicts a single ended embodiment, however, the whole circuitry of FIG. 3 a can be implemented differentially, using differential DACs, ADC and operational amplifier.
- FIG. 3 b depicts an embodiment of the converter calibration circuit with an analog processing circuit 340 in the loop.
- the analog processing circuit might be an amplifier or some other circuit which transforms the output signal domain of the main DAC to the required signal domain at the output node 327 .
- the analog processing block 340 might exhibit undesired nonlinear behavior. By including the analog processing block 340 in the calibrations loop the calibration loop can reduce the nonlinear effects of the analog processing block.
- the digital data for the reference DAC 324 must be delayed such that the signals from the reference and main DAC 310 arrive at the same time at the virtual ground node.
- the output of the reference DAC 311 can be delayed to match the delay of the analog processing circuit 340 .
- FIG. 4 a shows a typical implementation of a deterministic current steering DAC.
- the digital input signal 430 is split into two parts, the most significant bits (MSB) 431 and the least significant bit (LSB) 432 .
- the most significant bits are thermometer decoded by decoder 410 while the least significant bits are routed straight through by decoder 412 .
- the outputs of the decoder 410 and 412 controls the associated segments in the MSB current array 411 and LSB segment array 413 .
- the currents of array 411 and 413 are added together to form the output current Iout 435 .
- the size of the MSB current is set to IFSC/2 ⁇ MSB, where IFSC is the full scale current of the DAC.
- IFSC is the full scale current of the DAC.
- the current of the smallest LSB has a weight of IFSC/2 ⁇ bit, the next smallest LSB is twice as big, and so on until the largest LSB which is half the current of an MSB segment.
- FIG. 4 b depicts an embodiment of the random shuffling current steering DAC.
- the size of the MSB currents is set to IFSC/2 ⁇ MSB.
- the thermometer decoder 451 is a shuffler 453 .
- the shuffler is capable of routing the signals 464 to different positions of the signals 466 .
- the swapping algorithm of the shuffler is pseudo random and reproducible by the controller 221 .
- the outputs of the shuffler 453 control the associated currents in the MSB current array 455 in the same way as previously described with respect to FIG. 4 a .
- the LSB decoder is also a thermometer decoder, decoding LSB input signals into 2 ⁇ LSB ⁇ 1 output signals.
- the current of a LSB is set to IFSC/2 ⁇ bit.
- 2 ⁇ LSB ⁇ 1 currents would be required.
- the DAC in FIG. 4 b uses 2 ⁇ (LSB+1) ⁇ 1 LSB currents.
- the extra 2 ⁇ LSB currents are switched on whenever the MSB decoder 451 activates signal 471 .
- the MSB decoder 451 will drop one MSB segment so that the total output is unchanged.
- the shuffled MSB and LSB activate the corresponding currents in the current arrays 455 and 456 .
- the circuits of FIGS. 1 a and 2 a can use the DAC in FIG. 4 b or similar embodiments to implement the Reference DAC 114 or 214 , respectively.
- the decoding scheme and shuffling algorithm as well as the algorithm controlling the MSB/LSB exchange signal 471 must be known to the controller 221 of FIG. 2 a so that the controller 221 can generate the equations of FIG. 2 b .
- the segments are implemented as switchable current sources.
- the output of the converter of FIGS. 4 a and 4 b is a current.
- other domains including but not limited to voltage, charge or electro-magnetic waves can be used instead of currents in various embodiments.
- FIG. 5 depicts an embodiment of a DAC with build in digital calibration using a memory lookup table LUT 514 .
- the input data 530 is split up into a MSB 531 and a LSB 532 path.
- the MSB path consists of blocks 510 , 513 and 516 .
- the LSB consists path of blocks 512 , 515 and 518 .
- the trim path consists of blocks 511 , 514 and 517 .
- the trim path is used during the calibration phase and the operation phase of the DAC.
- the output currents of the three paths 542 , 543 and 544 are summed with adder 519 to form the output signal of the DAC 545 .
- the shuffle blocks 513 and 515 are controlled from external controller via signals 549 and 552 .
- Signals 549 , 552 activate or deactivate the shuffling function and if asserted the shuffler is set in a known state such that the external controller can reproduce the shuffling sequence.
- the memory controller 511 can write data into LUT 514 .
- the output of LUT 514 activates or deactivates the currents in the trim current array 517 .
- the memory controller 511 can force the MSB decoder 510 to drop one of the activated MSB segments from its output.
- signal 551 the memory controller 511 can force the LSB decoder 512 to drop one of the activated LSB segments from its output.
- the dropped currents will be replaced with currents from the trim currents array 517 .
- Which currents of the trim current array 517 are selected as replacements current is determined by the contents of the memory look up table 514 .
- an external controller can write random patterns in the memory 514 via the memory controller 511 .
- the memory 514 can be loaded with the trim codes.
- the trim codes are calculated by selecting the best fitting currents of the trim current array 517 to the activated MSB or LSB currents.
- the memory controller 511 can detect which MSB and LSB are activated by monitoring the input data signal 530 and selecting the corresponding addresses in the look up table LUT 514 and, subsequently, the look up table LUT 514 activates the associated currents in the trim current array 517 . This results in a mapping of the input data to the expected trim currents. Which trim currents are activated are store in the LUT 514 .
- FIG. 6 a depicts an embodiment of an equation based calibration algorithm for the controller 221 in FIG. 2 a .
- the input range of the ADC is set to a maximum or the maximum expected error between the Main DAC and the Reference DAC 610 .
- the controller starts the shuffling feature in the Reference DAC 611 .
- the error between Main DAC and Reference DAC is recorded by the ADC 612 . If the outputs of the ADC are below a set limit the algorithm will terminate 613 . If the outputs of the ADC are over the set limit the controller builds the set of equations according to FIG.
- the controller solves the set equations 615 and corrects the segment values in the Main and Reference DAC 616 .
- the error between the Main DAC and the Reference DAC is now expected to be smaller, hence the input range of the ADC can be reduced 618 .
- the input range can be set to the minimum and maximum error of the current loop. If the algorithm converges the input range of the ADC approaches zero. However, this is not practical, therefore the input range will be limited such that the results of the ADC are still meaningful.
- the ADC is implemented as a FLASH ADC and the algorithm converges the ADC output might differ by only one count. That is, only one comparator of the FLASH converter is active and therefore the overall linearity of the ADC is irrelevant.
- FIG. 6 b depicts an embodiment of an calibration algorithm based on an averaging method. This embodiment is not as computational expensive as the embodiment shown in FIG. 6 a .
- the system collects a set of data input samples and ADC samples and stores them in a memory 622 while the reference DAC is set in shuffling mode 621 . Once the memory is full the controller computes the average errors the ADC reported for each input value 623 . This is repeated till a statistically significant number of samples for the input data values is collected 624 . Data input values without a significant number of samples can be eliminated from the next step. From the averaged error values the controller can estimate the segment values of the Main DAC 625 and, in a subsequent step, correct the segment values in the Main DAC 627 .
- the algorithm can terminate 628 , otherwise the algorithm will collect another set of samples and repeat the segment error correction till the error limit is reached.
- the input range of the ADC can be reduced after each loop in order to improve the measurement accuracy of the system 629 .
- FIG. 7 depicts an embodiment of a converter PAD for integrated circuits.
- a single PAD 723 of an integrated circuit can be configured to operate as an analog output or analog input.
- the controller 710 is the interface between the converters 711 , 712 , 714 and the rest of the integrated circuit.
- Rx is the digital data from the ADC.
- Tx is the digital data which will be send out to the PAD 723 via the Main DAC 711 .
- a clock signal 722 is provided for the sampling of the DACs, ADC and the clocking of the controller 710 . In case the quality of the clock 772 is not sufficient for the requirements of the converter 711 , 712 , 714 a dedicated CLK signal for the converter 711 , 712 , 714 can be provided.
- a control signal 773 can be used to configure the circuitry and the converter.
- the linearity of the Main DAC 711 and Reference DAC 712 can be calibrated as described above. Once the Main DAC 711 and-or the Reference DAC 712 are calibrated the linearity of the ADC 714 can be calibrated using the Main DAC 711 or Reference DAC 712 as reference.
- the ADC 714 can be implemented as a low bit FLASH ADC.
- the ADC 714 can be directly connected via a switch to PAD 723 .
- the ADC 714 is connected to the output of an inverting operational amplifier (OPAMP) 713 .
- the negative input of the OPAMP 760 forms a virtual ground.
- a resistor 717 can be switched from the virtual ground to the PAD 723 .
- the ratio of resistor 717 and 722 determines the gain of the OPAMP, and therefore, can be used to adjust the input range of the ADC 714 .
- Either resistor 717 or 722 can be made adjustable via switches adding parallel resistors on to resistors 717 and/or 722 .
- the circuit in FIG. 7 can be configured as a sub-ranging ADC using the Reference DAC 712 or the Main DAC 711 to add a current into the virtual ground node, and therefore, offsetting the input range of the ADC 714 .
- the circuit can also be configured as a Dual Slope ADC using capacitor 721 as integration capacitor and the ADC as comparator.
- one of the DAC 711 or 712 functions as current source during the reference phase of the dual slope ADC.
- node 761 can be connected to a PAD and an external integration capacitor can be used.
- the circuit of FIG. 7 can be configured as a successive approximation ADC (SAR ADC) wherein the controller 710 is used the execute the approximation algorithm.
- SAR ADC successive approximation ADC
- a multi-level delta sigma ADC can also be realized with the circuit of FIG. 7 .
- the ADC 714 itself can be implemented as 4,6,8 bit FLASH ADC or SAR or pipeline ADC.
- the Main DAC 711 and the reference DAC can be implemented as current steering DAC. 8 to 10 bit DAC can be implements as thermometer decoded DAC while higher bit DACs in the range of 12-18 bit can be implemented as a combination of thermometer decoded and binary decoded DACs.
- the output currents of DACs 711 and 712 can be in the uA to mA range.
- the OPAMP 713 can be implemented as a standard multi stage differential amplifier or, in its simplest form, as a regulated cascode.
- FIG. 8 depicts embodiments of the current source array of Main DAC and the Reference DAC.
- FIG. 8 a shows a current source configuration.
- the decoder 810 activates the switches 813 to 814 according to the input data 846 .
- the current through the transistors 813 to 814 is determined by the size of the transistors 811 to 814 and vbias 841 .
- the full scale current of the DAC can be adjusted via vbias 841 .
- FIG. 8 b depicts a current sink implementation.
- FIG. 8 c is a combined current source and current sink configuration.
- the expected output impedance of the DAC in FIG. 8 is much lower than in conventional DAC designs. However, in case of the Reference DAC 311 of FIG. 3 , the DAC operates to a virtual ground.
- the output voltage for the Reference DAC is not changing and therefore the output resistance of the Reference DAC 311 is in first order irrelevant.
- the Main DAC 310 of FIG. 3 has a changing output voltage.
- the current errors associated with the output voltage must be compensated during the calibration process.
- the DACs in FIG. 8 can be implemented as return to zero DACs or interleaving return to zero DACs.
- FIG. 9 a depicts the current sink segment configuration used in the FIG. 8 .
- the bias voltage 920 sets, in first order, the current delivered to the output 928 .
- An alternative current sink segment configuration is shown in FIG. 9 b . In this configuration the total current is in first order independent of the switching voltage 921 . If the current from transistor 940 is not routed to the output 928 the current is dumped via transistor 941 .
- the voltage 922 on the gate of transistor 941 can be static, i.e. set to a value such that transistor 941 is conducting if transistor 942 is off, or switched with the complementary signal of signal 921 .
- FIG. 9 c depicts a classical current sink configuration of a DAC segment, using a current source transistor a cascode transistor and a differential switch.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
Description
- This application is a Continuation-in-Part of U.S. patent application Ser. No. 14/280,574, filed May 17, 2014, entitled “Methods, devices, and algorithms for the linearization of nonlinear time variant systems and the synchronization of a plurality of such systems” which claims priority to U.S. Provisional Patent App. Ser. No. 61/825,030 filed May 18, 2013, and additionally claims the benefit of U.S. Provisional Patent App. Ser. No. 62/079,552 filed Nov. 14, 2014, the contents of each of which are hereby incorporated by reference.
- The invention relates to the field of digital to analog (DAC) and analog to digital (ADC) converter. More particularly to the calibration of digital to analog and analog to digital converter using digital techniques.
- Some applications require the integration of digital to analog converter and/or analog to digital converter together with digital circuits. Digital circuits consume less power and required less area in fine line CMOS process, i.e. processes below 100 nm. In many cases the choice of process technology is dictated by the constraints of the digital circuitry. However, analog and mixed signals circuits, like DACs and ADCs, suffer from the poor matching performance and the low power supply voltages of fine line CMOS processes. Applying conventional DAC/ADC design techniques in fine line CMOS processes result in inefficient designs.
- In the case of current steering DAC architectures the analog output is represented by the sum of unit segment currents. The unit segment currents are steered either to the positive or to the negative output of the DAC. The steering is achieved by switching elements that are controlled by signals derived from the DAC input signal. The matching of these unit segments determines the performance of the DAC. Performance parameters such as, integral non linearity (INL), differential non linearity (DNL) and spurious free dynamic range (SFDR) are affected. One method to calibrate a DAC is to equalize all the unit segments. With this method the unit segments are compared to a reference segment. Trim currents are added or subtracted to the unit segment currents such that their value is close to the reference segment currents. This can be done in a background mode or in dedicated calibration cycle during which the DAC is not producing an output signal. Another approach is digital pre distortion (DPD). With DPD, the unit segments are measured and new input codes for the DAC are calculated based on the measured values of the unit segments.
- Embodiments of the invention comprise digital techniques to calibrate DACs and ADCs. In a first step the DAC is calibrated and in a second step the calibrated DAC is used to calibrate the ADC. Equation based or averaging techniques can be used to calibrate the DAC. The initial accuracy of the analog circuit is not critical. Iterative bootstrapping is used to improve the accuracy over time. Embodiments of the invention allow for a very compact physical implementation. Another aspect of the invention is the reduction of analog circuitry in favor of digital circuits. Digital circuits can be automatically generated from source code and therefore decreases the design time when porting the design into a new process technology. Embodiments of the invention can be implemented in low supply voltage environments.
- The above summary of the invention is not intended to describe each illustrated embodiment or every implementation of the present invention. The detailed description and claims that follow more particularly exemplify these embodiments.
- Advantages of embodiments of the present invention will be apparent from the following detailed description of exemplary embodiments thereof, which description should be considered in conjunction with the accompanying drawing:
-
FIG. 1a is a schematic of a self-calibrating DAC/ADC configuration according to an embodiment. -
FIG. 1b is a DAC INL, with and without averaging, according to an embodiment. -
FIG. 2a is a schematic of a self-calibrating DAC/ADC configuration according to an embodiment. -
FIG. 2b is a example set of equations to extract the estimate for the segment values according to an embodiment. -
FIG. 2c is a schematic of a controller according to an embodiment. -
FIG. 2d depicts an embodiment of DAC/ADC calibration circuit including a transmission line transformer, according to an embodiment. -
FIG. 2e depicts an alternative embodiment of a DAC/ADC calibration circuit. -
FIG. 3a is a schematic for a single ended implementation converter calibration circuit according to an embodiment. -
FIG. 3b is a schematic for a single ended implementation converter calibration circuit including an analog processing circuit according to an embodiment. -
FIG. 4a is a schematic of a deterministic current steering digital to analog converter according to an embodiment. -
FIG. 4b is a schematic of a random shuffling current steering digital to analog converter according to an embodiment. -
FIG. 5 is a schematic of an digital to analog converter with digital calibration according to an embodiment. -
FIG. 6a is a flow chart of the equation based calibration algorithm according to an embodiment. -
FIG. 6b is a flow chart of the averaging based calibration algorithm according to an embodiment -
FIG. 7 is a schematic DAC/ADC converter combination according to an embodiment -
FIG. 8a is a schematic of current source DAC according to an embodiment. -
FIG. 8b is a schematic of current sink DAC according to an embodiment. -
FIG. 8c is a schematic of current source and sink DAC according to an embodiment. -
FIG. 9a is a schematic of switched current sink segment according to an embodiment. -
FIG. 9b is a schematic of switched current sink segment with uninterrupted current flow according to an embodiment. -
FIG. 9c is a schematic of standard current steering DAC segment. - While embodiments are amenable to various modifications and alternative forms, specifics thereof have been shown by way of example in the drawings and will be described in detail. It should be understood, however, that the intention is not to limit the invention to the particular embodiments described. On the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims.
- The following disclosure relates to the implementation of the Main DAC, Reference DAC, subtractor block and detector block of
FIG. 4 andFIG. 5 of patent application Ser. No. 14/280,574, from which this application depends, the content of which has been incorporated by reference in its entirety. In the following description the subtractor block is replaced with an adder block, although one of ordinary skill in the art will recognize that in various alternative embodiments these blocks may be interchanged and/or combined with a variety of other components in order to perform a desired calibration. - The use of an adder block or subtractor block depends on the use of the output signal of the main DAC compared with the reference DAC. If, for example, the main DAC is implemented as a current source and the reference DAC as a current sink then a adder would be used. If both are implemented as either current source or current sink then a subtractor would be used. Further, the main and reference DAC can be implemented as differential circuits. In this case the determination of adder or subtractor is made whether the positive and negative outputs are combined or if the opposite polarity outputs are combined.
- In
FIGS. 1a and 2a both the main and the reference DAC receive the same digital input signals 122 and 222, respectively. However, the technology in which the main DAC is implemented might be different from the implantation technology of the reference DAC. - This is the case when the output from the main DAC is used to drive a load signal which requires much more energy than the signal from the reference DAC and the main DAC has to be implemented in a technology which can sustain high voltages and/or current levels.
- The reference DAC on the other hand is implemented in a process technology which can be energy efficient, has smaller mismatch errors and/or is the same process technology as the digital circuitry in front of the DAC.
-
FIG. 1a shows an embodiment of a calibration scheme using an averaging method. The system consists of two digital to analog converter. TheMain DAC 110 is build using unit segments. Athermometer decoder 111 converts the input sample 122 into a vector in which the number of one values is equal to the input sample, all other values in the vector are zero. In theunit segment array 112 the vector is associated with a unit segments. If the vector element of the associated unit segment is one, the segment will be routed to thecombiner 113, if the vector element is zero the segment will not be send to thecombiner 113. Thecombiner 113 adds all segments together and sends the sum to the output of the DAC, indicated as OUT inFIG. 1a . Thethermometer decoder 111 activates always the same segments given the same input code. TheReference DAC 114, on the other hand, has ashuffler 116 between thethermometer decoder 115 and theunit segment array 117. The random shuffler generates a second vector based on the vector from thethermometer decoder 115. The second vector has the same number of one elements as the vector from thethermometer decoder 115, however, the position of the one elements within the second vector is randomly selected. That is, for the same input value 122 the second vector will look different. Since the likelihood that a specific segment is selected from the array is the same for all segments, by averaging many output samples the averaged output ofDAC 114 approaches the correct value. The segments of theunit segment array 117 which are associated with the one values of the second vector are routed to thecombiner 118. -
FIG. 1b demonstrates the effect of averaging on the integral non-linearity (INL) ofDAC 114.Trace 140 is the original INL of the DAC caused by the mismatch of the unit segments.Trace 141 is the averaged INL over 1000 runs. To use this averaging effect for calibration purposes, the output signals of themain DAC 110 and theReference DAC 114 are subtracted using an adder 119 (as shown inFIG. 1a ). The output of theadder 119 is then converted back into the digital domain byADC 120.Controller 121 averages the output from theADC 120 for a set of samples of the input signal 122. After a statistically significant number of samples for each code is collected, the controller calculates the values of the segments in themain DAC 110 and corrects the segment values in themain DAC 110. It is not shown, but understood, that the samples for themain DAC 110 and thereference DAC 114 must arrive at the same time at theadder 119. Additional delay elements in themain DAC 110 can be implemented to compensate for the additional delay due to therandom Shuffler 116 in thereference DAC 114, in embodiments. -
FIG. 2a depicts an embodiment of the calibration scheme using an equation based method. Themain DAC 210 converts thedigital input signal 222 into ananalog output signal 230. Thereference DAC 214 uses ashuffle block 235 to randomly alter the unit segments used from one input sample to the next. The output of theMain DAC 210 andReference DAC 214 are subtracted byadder 219 and converted into a digital signal by the analog todigital converter 220. Thecontroller 221 receives the input signals 222, the state of theShuffler 235 and the output of theADC 220. Thecontroller 221 generates the system of equations as shown inFIG. 2b . M[s,c] is the bit used to activate or deactivate c'th segment in theunit segment array 212 of themain DAC 210. The index s refers the the s'th input sample. Likewise, R[s,c] refers to the state of the c'th unit segment of the s'th input sample of theReference DAC 214. CM[c] is the segment value of the c'th segment of theMain DAC 210. CR[c] is the segment value of the c'th segment of thereference DAC 214. A[s] is the readout of theADC 220 for the s'th input sample. ECM[c] is the estimated segment value for the c'th segment of the Main DAC and ERC is the estimated segment value for the c'th segment of the Reference DAC. Standard mathematical techniques can be used to solve the system of equations. Based on the calculated values, the controller can adjust the segment values in theunit segment arrays ADC 220 can toggle only between 2 values, therefore, the overall linearity of theADC 220 is not important to the final result of the calibration. To further improve the accuracy of the system, the full scale range of theADC 220 can be reduced from one run to the next run. The required range for a subsequent run can be estimated from the ADC output values. The calibration technique can be extended to digital to analog converter using a combination of different decoding schemes, like a combination of thermometer decoding and binary decoding. -
FIG. 2a depicts an analog calibration. The controller adjusts the current sources of the main DAC and the reference DAC. However other techniques like a dedicated error correction DACs in parallel with the main DAC or digital pre-distortion techniques can be applied as well in various embodiments. - The equations in
FIG. 2b assume linear superposition of the currents from the main DAC and the reference DAC. If this assumption cannot be made the matrix inFIG. 2b can be augmented to accommodate the expected error terms from a nonlinear superposition. -
FIG. 2c depicts an embodiment of thecontroller 221 ofFIG. 2a . It comprises two memory blocks, 250 and 251. TheProcessor 252 can arm the memory blocks 250 and 251 with the control signals 259 and 262. Once armed, the memory blocks sequentially stores theincoming data signal 255. If a set number of samples is reached the memory blocks reports back to theprocessor 252 that the memory is filled and ready for evaluation. Theprocessor 252 will then read back the data from the memory viasignals memory clock 255 and the external clock for theprocessor 266 can be different, depending on the converter speed and the evaluation speed of theprocessor 252. The controller can communicate with the converter and the rest of the environment viasignals -
FIG. 2d depicts embodiment of DAC/ADC calibration circuit using atransmission line transformer 270. The transmission line transformer can be asymmetrical, that is, the path from theMain DAC 210 to theoutput 270 to theoutput 271 is a lower impedance path than the path from theReference DAC 214. The coupling coefficient of the transmission line transformer determines the amount of energy theReference DAC 214 has to provide to compensate for the energy delivered by theMain DAC 210 such that the combined energy flowing from theMain DAC 210 to the output and the energy from theReference DAC 214 flowing to theADC 220 cancel at the input of theADC 220. Thesignals reference DAC 214 or building thereference DAC 214 such that it generated a complementary output signal with respect to themain DAC 210. Reflection coming back from theoutput 272 will by coupled onto the input of theADC 220. However, the reflections are time-shifted with respect to the signal generated by the DACs and the controller can therefore distinguish between reflections and the DAC generated signals. -
FIG. 2e depicts embodiment of DAC/ADC calibration circuit with an alternative clocking scheme. Aclock generator 240 generated the clocking signals 242 for the DACs. The clock signal for theADC 244 is derived from adelay block 241. The delay block can either shift theclock 244 relative to theclock 241 or divide the clock to a lower frequency. - By sampling the system at different time points within a clock cycle the controller is able to collect more data of the system. This additional information can be used to estimate the segments errors. A sub-sampling system can be built by dividing the
clock 242 down to operate the ADC at a lower sampling frequency. The reduced the sampling rate of the ADC can reduce the power consumption of the ADC and simplifies the ADC design. -
FIG. 3a depicts a single ended embodiment of the converter calibration circuit. TheMain DAC 310 and theReference DAC 311 receive digital input data signals 321, 324 clock signals 322, 325, control signals 323, 326 and convert the digital input data signals into analog currents. The output current of theMain DAC 310 is converted into a voltage by an external load connected to theoutput 327. The output of thereference DAC 311 flows directly into avirtual ground node 330. The voltage difference between theoutput node 327 and thevirtual ground node 330 forces a current throughresistor 312 into theground node 330. The current through the resistor is related to the voltage on theoutput node 327. Theoperational amplifier 314 establishes thevirtual ground node 330 by forming a feedback system via thegain resistor 313. The sum of the currents flowing into theground node 330 will be zero, hence the current through thegain resistor 313 is equal to the sum of the current from thereference DAC 311 and the current throughresistor 312. The voltage on node 331 is proportional to the current throughresistor 313. TheADC 315 converts the voltage of node 331 into a digital signal. If a current input ADC is usedresistor 313 andoperational amplifier 314 can be eliminated. In that case, the input of the ADC will function as the virtual ground node. Depending on the voltage difference between thevirtual ground node 330 and the range of the output voltage 327 a constant offset current can flow throughresistor 312. This offset current could shift the voltage 331 out of the input range of theADC 315. A constant current can be fed in the virtual ground node to move the voltage on node 331 back to the center of the input range ofADC 315.FIG. 3a depicts a single ended embodiment, however, the whole circuitry ofFIG. 3a can be implemented differentially, using differential DACs, ADC and operational amplifier. -
FIG. 3b depicts an embodiment of the converter calibration circuit with ananalog processing circuit 340 in the loop. The analog processing circuit might be an amplifier or some other circuit which transforms the output signal domain of the main DAC to the required signal domain at theoutput node 327. Theanalog processing block 340 might exhibit undesired nonlinear behavior. By including theanalog processing block 340 in the calibrations loop the calibration loop can reduce the nonlinear effects of the analog processing block. For this embodiment the digital data for thereference DAC 324 must be delayed such that the signals from the reference andmain DAC 310 arrive at the same time at the virtual ground node. Alternatively, the output of thereference DAC 311 can be delayed to match the delay of theanalog processing circuit 340. -
FIG. 4a shows a typical implementation of a deterministic current steering DAC. Thedigital input signal 430 is split into two parts, the most significant bits (MSB) 431 and the least significant bit (LSB) 432. The most significant bits are thermometer decoded bydecoder 410 while the least significant bits are routed straight through bydecoder 412. The outputs of thedecoder current array 411 andLSB segment array 413. The currents ofarray current Iout 435. There are 2̂MSB−1 MSB-currents. The size of the MSB current is set to IFSC/2̂MSB, where IFSC is the full scale current of the DAC. There are LSB LSB-currents. The current of the smallest LSB has a weight of IFSC/2̂bit, the next smallest LSB is twice as big, and so on until the largest LSB which is half the current of an MSB segment. -
FIG. 4b depicts an embodiment of the random shuffling current steering DAC. There are 2̂MSB−1 current sources. The size of the MSB currents is set to IFSC/2̂MSB. After thethermometer decoder 451 is ashuffler 453. The shuffler is capable of routing thesignals 464 to different positions of thesignals 466. The swapping algorithm of the shuffler is pseudo random and reproducible by thecontroller 221. The outputs of theshuffler 453 control the associated currents in the MSBcurrent array 455 in the same way as previously described with respect toFIG. 4a . The LSB decoder is also a thermometer decoder, decoding LSB input signals into 2̂LSB−1 output signals. The current of a LSB is set to IFSC/2̂bit. To build a functioning DAC 2̂LSB−1 currents would be required. However the DAC inFIG. 4b uses 2̂(LSB+1)−1 LSB currents. The extra 2̂LSB currents are switched on whenever theMSB decoder 451 activatessignal 471. In this case theMSB decoder 451 will drop one MSB segment so that the total output is unchanged. After the MSB and LSB are processed by ashuffler current arrays 455 and 456. - The circuits of
FIGS. 1a and 2a can use the DAC inFIG. 4b or similar embodiments to implement theReference DAC LSB exchange signal 471 must be known to thecontroller 221 ofFIG. 2a so that thecontroller 221 can generate the equations ofFIG. 2b . In current steering digital to analog converter the segments are implemented as switchable current sources. The output of the converter ofFIGS. 4a and 4b is a current. However, other domains including but not limited to voltage, charge or electro-magnetic waves can be used instead of currents in various embodiments. -
FIG. 5 depicts an embodiment of a DAC with build in digital calibration using a memorylookup table LUT 514. Theinput data 530 is split up into aMSB 531 and aLSB 532 path. The MSB path consists ofblocks blocks blocks paths DAC 545. The shuffle blocks 513 and 515 are controlled from external controller via signals 549 and 552. Signals 549, 552 activate or deactivate the shuffling function and if asserted the shuffler is set in a known state such that the external controller can reproduce the shuffling sequence. Thememory controller 511 can write data intoLUT 514. The output ofLUT 514 activates or deactivates the currents in the trimcurrent array 517. Withsignal 550 thememory controller 511 can force theMSB decoder 510 to drop one of the activated MSB segments from its output. With signal 551 thememory controller 511 can force theLSB decoder 512 to drop one of the activated LSB segments from its output. The dropped currents will be replaced with currents from thetrim currents array 517. Which currents of the trimcurrent array 517 are selected as replacements current is determined by the contents of the memory look up table 514. For example, in calibration mode an external controller can write random patterns in thememory 514 via thememory controller 511. Once the external controller has determined the actual value of the currents in the MSBcurrent array 516 and the LSBcurrent array 518, thememory 514 can be loaded with the trim codes. The trim codes are calculated by selecting the best fitting currents of the trimcurrent array 517 to the activated MSB or LSB currents. Thememory controller 511 can detect which MSB and LSB are activated by monitoring the input data signal 530 and selecting the corresponding addresses in the look uptable LUT 514 and, subsequently, the look uptable LUT 514 activates the associated currents in the trimcurrent array 517. This results in a mapping of the input data to the expected trim currents. Which trim currents are activated are store in theLUT 514. -
FIG. 6a depicts an embodiment of an equation based calibration algorithm for thecontroller 221 inFIG. 2a . At the beginning the input range of the ADC is set to a maximum or the maximum expected error between the Main DAC and theReference DAC 610. The controller starts the shuffling feature in theReference DAC 611. By knowing the input data and the state of the shuffler at a given input sample the controller can calculate the segments which were active for each input sample of the Main and Reference DAC. The error between Main DAC and Reference DAC is recorded by theADC 612. If the outputs of the ADC are below a set limit the algorithm will terminate 613. If the outputs of the ADC are over the set limit the controller builds the set of equations according toFIG. 614. Depending on the input data, not all segments of the Main DAC may be activated. In this case, the equation containing the missing segments can be removed from the set of equation or the missing segments values can be substituted with default values. Subsequently the controller solves the set2b equations 615 and corrects the segment values in the Main andReference DAC 616. The error between the Main DAC and the Reference DAC is now expected to be smaller, hence the input range of the ADC can be reduced 618. The input range can be set to the minimum and maximum error of the current loop. If the algorithm converges the input range of the ADC approaches zero. However, this is not practical, therefore the input range will be limited such that the results of the ADC are still meaningful. In case the ADC is implemented as a FLASH ADC and the algorithm converges the ADC output might differ by only one count. That is, only one comparator of the FLASH converter is active and therefore the overall linearity of the ADC is irrelevant. Once the Main DAC and the Reference DAC are calibrated the system ofFIG. 2a can be used to calibrate the ADC. -
FIG. 6b depicts an embodiment of an calibration algorithm based on an averaging method. This embodiment is not as computational expensive as the embodiment shown inFIG. 6a . The system collects a set of data input samples and ADC samples and stores them in amemory 622 while the reference DAC is set in shufflingmode 621. Once the memory is full the controller computes the average errors the ADC reported for eachinput value 623. This is repeated till a statistically significant number of samples for the input data values is collected 624. Data input values without a significant number of samples can be eliminated from the next step. From the averaged error values the controller can estimate the segment values of theMain DAC 625 and, in a subsequent step, correct the segment values in theMain DAC 627. If the segments errors are within a set limit the algorithm can terminate 628, otherwise the algorithm will collect another set of samples and repeat the segment error correction till the error limit is reached. Optionally, the input range of the ADC can be reduced after each loop in order to improve the measurement accuracy of thesystem 629. -
FIG. 7 depicts an embodiment of a converter PAD for integrated circuits. Asingle PAD 723 of an integrated circuit can be configured to operate as an analog output or analog input. Thecontroller 710 is the interface between theconverters PAD 723 via theMain DAC 711. Aclock signal 722 is provided for the sampling of the DACs, ADC and the clocking of thecontroller 710. In case the quality of theclock 772 is not sufficient for the requirements of theconverter converter control signal 773 can be used to configure the circuitry and the converter. The linearity of theMain DAC 711 andReference DAC 712 can be calibrated as described above. Once theMain DAC 711 and-or theReference DAC 712 are calibrated the linearity of theADC 714 can be calibrated using theMain DAC 711 orReference DAC 712 as reference. TheADC 714 can be implemented as a low bit FLASH ADC. TheADC 714 can be directly connected via a switch toPAD 723. InFIG. 7 , theADC 714 is connected to the output of an inverting operational amplifier (OPAMP) 713. The negative input of theOPAMP 760 forms a virtual ground. Aresistor 717 can be switched from the virtual ground to thePAD 723. The ratio ofresistor ADC 714. - Either
resistor resistors 717 and/or 722. The circuit inFIG. 7 can be configured as a sub-ranging ADC using theReference DAC 712 or theMain DAC 711 to add a current into the virtual ground node, and therefore, offsetting the input range of theADC 714. Optionally, the circuit can also be configured as a Dual SlopeADC using capacitor 721 as integration capacitor and the ADC as comparator. In this case one of theDAC integration capacitor 721 might not be practical. In that case,node 761 can be connected to a PAD and an external integration capacitor can be used. Using an external sample and hold circuit the circuit ofFIG. 7 can be configured as a successive approximation ADC (SAR ADC) wherein thecontroller 710 is used the execute the approximation algorithm. - A multi-level delta sigma ADC can also be realized with the circuit of
FIG. 7 . TheADC 714 itself can be implemented as 4,6,8 bit FLASH ADC or SAR or pipeline ADC. TheMain DAC 711 and the reference DAC can be implemented as current steering DAC. 8 to 10 bit DAC can be implements as thermometer decoded DAC while higher bit DACs in the range of 12-18 bit can be implemented as a combination of thermometer decoded and binary decoded DACs. Depending on the application the output currents ofDACs OPAMP 713 can be implemented as a standard multi stage differential amplifier or, in its simplest form, as a regulated cascode. -
FIG. 8 depicts embodiments of the current source array of Main DAC and the Reference DAC.FIG. 8a shows a current source configuration. Thedecoder 810 activates theswitches 813 to 814 according to the input data 846. The current through thetransistors 813 to 814 is determined by the size of thetransistors 811 to 814 andvbias 841. The full scale current of the DAC can be adjusted viavbias 841.FIG. 8b depicts a current sink implementation.FIG. 8c is a combined current source and current sink configuration. The expected output impedance of the DAC inFIG. 8 is much lower than in conventional DAC designs. However, in case of theReference DAC 311 ofFIG. 3 , the DAC operates to a virtual ground. That is, the output voltage for the Reference DAC is not changing and therefore the output resistance of theReference DAC 311 is in first order irrelevant. TheMain DAC 310 ofFIG. 3 , however, has a changing output voltage. The current errors associated with the output voltage must be compensated during the calibration process. In order to avoid inter symbol interference the DACs inFIG. 8 can be implemented as return to zero DACs or interleaving return to zero DACs. -
FIG. 9a depicts the current sink segment configuration used in theFIG. 8 . Thebias voltage 920 sets, in first order, the current delivered to theoutput 928. An alternative current sink segment configuration is shown inFIG. 9b . In this configuration the total current is in first order independent of the switchingvoltage 921. If the current fromtransistor 940 is not routed to theoutput 928 the current is dumped viatransistor 941. Thevoltage 922 on the gate oftransistor 941 can be static, i.e. set to a value such thattransistor 941 is conducting iftransistor 942 is off, or switched with the complementary signal ofsignal 921.FIG. 9c depicts a classical current sink configuration of a DAC segment, using a current source transistor a cascode transistor and a differential switch. - While the foregoing written description of the invention enables one of ordinary skill to make and use what is considered presently to be the best mode thereof, those of ordinary skill will understand and appreciate the existence of variations, combinations, and equivalents of the specific embodiment, method, and examples herein. The invention should therefore not be limited by the above described embodiment, method, and examples, but by all embodiments and methods within the scope and spirit of the invention.
- Various embodiments of systems, devices and methods have been described herein. These embodiments are given only by way of example and are not intended to limit the scope of the invention. It should be appreciated, moreover, that the various features of the embodiments that have been described may be combined in various ways to produce numerous additional embodiments. Moreover, while various materials, dimensions, shapes, configurations and locations, etc. have been described for use with disclosed embodiments, others besides those disclosed may be utilized without exceeding the scope of the invention.
- Persons of ordinary skill in the relevant arts will recognize that the invention may comprise fewer features than illustrated in any individual embodiment described above. The embodiments described herein are not meant to be an exhaustive presentation of the ways in which the various features of the invention may be combined. Accordingly, the embodiments are not mutually exclusive combinations of features; rather, the invention can comprise a combination of different individual features selected from different individual embodiments, as understood by persons of ordinary skill in the art. Moreover, elements described with respect to one embodiment can be implemented in other embodiments even when not described in such embodiments unless otherwise noted. Although a dependent claim may refer in the claims to a specific combination with one or more other claims, other embodiments can also include a combination of the dependent claim with the subject matter of each other dependent claim or a combination of one or more features with other dependent or independent claims. Such combinations are proposed herein unless it is stated that a specific combination is not intended. Furthermore, it is intended also to include features of a claim in any other independent claim even if this claim is not directly made dependent to the independent claim.
- Any incorporation by reference of documents above is limited such that no subject matter is incorporated that is contrary to the explicit disclosure herein. Any incorporation by reference of documents above is further limited such that no claims included in the documents are incorporated by reference herein. Any incorporation by reference of documents above is yet further limited such that any definitions provided in the documents are not incorporated by reference herein unless expressly included herein.
- For purposes of interpreting the claims for the present invention, it is expressly intended that the provisions of
Section 112, sixth paragraph of 35 U.S.C. are not to be invoked unless the specific terms “means for” or “step for” are recited in a claim.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/941,206 US9344104B1 (en) | 2013-05-18 | 2015-11-13 | Digital to analog converter and analog to digital converter calibration techniques |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361825030P | 2013-05-18 | 2013-05-18 | |
US14/280,574 US9300462B2 (en) | 2013-05-18 | 2014-05-17 | Methods, devices, and algorithms for the linearization of nonlinear time variant systems and the synchronization of a plurality of such systems |
US201462079552P | 2014-11-14 | 2014-11-14 | |
US14/941,206 US9344104B1 (en) | 2013-05-18 | 2015-11-13 | Digital to analog converter and analog to digital converter calibration techniques |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/280,574 Continuation-In-Part US9300462B2 (en) | 2013-05-18 | 2014-05-17 | Methods, devices, and algorithms for the linearization of nonlinear time variant systems and the synchronization of a plurality of such systems |
Publications (2)
Publication Number | Publication Date |
---|---|
US20160134302A1 true US20160134302A1 (en) | 2016-05-12 |
US9344104B1 US9344104B1 (en) | 2016-05-17 |
Family
ID=55913057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/941,206 Expired - Fee Related US9344104B1 (en) | 2013-05-18 | 2015-11-13 | Digital to analog converter and analog to digital converter calibration techniques |
Country Status (1)
Country | Link |
---|---|
US (1) | US9344104B1 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10075178B1 (en) * | 2017-04-24 | 2018-09-11 | Realtek Semiconductor Corp. | Digital-to-analog converter and an operation method thereof |
EP3439181A1 (en) * | 2017-08-02 | 2019-02-06 | NXP USA, Inc. | Digital to analog (dac) converter with current calibration |
US10284223B2 (en) * | 2015-09-15 | 2019-05-07 | Koninklijke Philips N.V. | Method of performing analog-to-digital conversion |
US20190207616A1 (en) * | 2017-12-29 | 2019-07-04 | Realtek Semiconductor Corporation | Digital to analog converter device |
US11038522B1 (en) * | 2020-02-03 | 2021-06-15 | Nxp B.V. | Offset compensation in ADC circuitry |
US11239866B2 (en) * | 2019-03-29 | 2022-02-01 | Intel Corporation | Digital-to-analog conversion system |
US20220123759A1 (en) * | 2020-10-16 | 2022-04-21 | Samsung Electronics Co., Ltd. | Multi-level signal generator and memory device including the same |
US11599078B2 (en) * | 2019-08-13 | 2023-03-07 | Johnson Controls Tyco IP Holdings LLP | Self-calibrating universal input port |
US20230412180A1 (en) * | 2022-06-17 | 2023-12-21 | Nxp B.V. | Signal shaping for compensation of metastable errors |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108141148A (en) | 2015-08-12 | 2018-06-08 | S9埃斯特公司 | The method and apparatus that digital-to-analogue conversion is carried out using pulse-couple |
TWI741838B (en) * | 2020-10-16 | 2021-10-01 | 國立中山大學 | Digital to analog converter for fiber optic gyroscope |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57119259A (en) * | 1981-01-19 | 1982-07-24 | Hitachi Ltd | Testing method for a/d converter |
US5153592A (en) * | 1991-04-30 | 1992-10-06 | Texas Instruments Incorporated | 16 bit error-correcting digital-to-analog converter |
US7394414B2 (en) * | 2004-04-20 | 2008-07-01 | Nxp B.V. | Error reduction in a digital-to-analog (DAC) converter |
US7535389B1 (en) * | 2007-11-16 | 2009-05-19 | Maxim Integrated Products, Inc. | System and method for improving the dynamic performance of a digital-to-analog converter (DAC) |
US7868794B2 (en) * | 2008-12-29 | 2011-01-11 | Texas Instruments Incorporated | Methods and apparatus to test and compensate multi-channel digital-to-analog converters |
US8248281B2 (en) * | 2011-01-21 | 2012-08-21 | Advantest Corporation | High speed, high resolution, high precision voltage source/AWG system for ATE |
-
2015
- 2015-11-13 US US14/941,206 patent/US9344104B1/en not_active Expired - Fee Related
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10284223B2 (en) * | 2015-09-15 | 2019-05-07 | Koninklijke Philips N.V. | Method of performing analog-to-digital conversion |
US10075178B1 (en) * | 2017-04-24 | 2018-09-11 | Realtek Semiconductor Corp. | Digital-to-analog converter and an operation method thereof |
EP3439181A1 (en) * | 2017-08-02 | 2019-02-06 | NXP USA, Inc. | Digital to analog (dac) converter with current calibration |
US20190207616A1 (en) * | 2017-12-29 | 2019-07-04 | Realtek Semiconductor Corporation | Digital to analog converter device |
US10587280B2 (en) * | 2017-12-29 | 2020-03-10 | Realtek Semiconductor Corporation | Digital to analog converter device |
US11239866B2 (en) * | 2019-03-29 | 2022-02-01 | Intel Corporation | Digital-to-analog conversion system |
US11599078B2 (en) * | 2019-08-13 | 2023-03-07 | Johnson Controls Tyco IP Holdings LLP | Self-calibrating universal input port |
US11038522B1 (en) * | 2020-02-03 | 2021-06-15 | Nxp B.V. | Offset compensation in ADC circuitry |
US20220123759A1 (en) * | 2020-10-16 | 2022-04-21 | Samsung Electronics Co., Ltd. | Multi-level signal generator and memory device including the same |
US11569836B2 (en) * | 2020-10-16 | 2023-01-31 | Samsung Electronics Co., Ltd. | Multi-level signal generator and memory device including the same |
US20230412180A1 (en) * | 2022-06-17 | 2023-12-21 | Nxp B.V. | Signal shaping for compensation of metastable errors |
US11967967B2 (en) * | 2022-06-17 | 2024-04-23 | Nxp B.V. | Signal shaping for compensation of metastable errors |
Also Published As
Publication number | Publication date |
---|---|
US9344104B1 (en) | 2016-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9344104B1 (en) | Digital to analog converter and analog to digital converter calibration techniques | |
TWI376104B (en) | Loop filter and quantizer and digital-to-analog converter and operational amplifier | |
Dyer et al. | An analog background calibration technique for time-interleaved analog-to-digital converters | |
CN106301367B (en) | Self-calibrating digital-to-analog converter | |
US6452519B1 (en) | Analog to digital converter utilizing a highly stable resistor string | |
US10020814B2 (en) | A/D converter circuit and semiconductor integrated circuit | |
JP6578223B2 (en) | Circuit and method for comparator offset error detection and correction in an ADC | |
US6628216B2 (en) | Calibration of resistor ladder using difference measurement and parallel resistive correction | |
US7479800B1 (en) | Variable impedance sense architecture and method | |
US6714886B2 (en) | System and method of DC calibration of amplifiers | |
US8749414B2 (en) | Apparatus and method for calibrating time constant, and low pass delta sigma modulation apparatus including the same | |
US7535390B2 (en) | Time-interleaved analog-to-digital converter and self-calibration method thereof | |
US10715169B1 (en) | Coarse-fine gain-tracking loop and method of operating | |
CN110249533B (en) | Signal processing device and signal processing method for Hall sensor | |
US7030799B2 (en) | Current-steering digital-to-analog converter | |
WO2014207870A1 (en) | Analog-to-digital converter | |
US9276597B1 (en) | Circuit and method for calibration of analog-to-digital converter | |
KR20050083803A (en) | Advanced digital antenna module | |
Yasin Adıyaman et al. | Time‐interleaved SAR ADC design with background calibration | |
US7940200B2 (en) | Calibration method, A/D converter, and radio device | |
Dyer et al. | A comparison of monolithic background calibration in two time-interleaved analog-to-digital converters | |
McNeill et al. | Lookup-table-based background linearization for VCO-based ADCs | |
US5955979A (en) | System and method for compensating for glitch errors in a D/A converter | |
Jankunas | Design and calibration of a 12-bit current-steering DAC using data-interleaving | |
US11424752B2 (en) | Interleaved analog-to-digital converter (ADC) gain calibration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: S9ESTRE, LLC., MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SCHAFFERER, BERND;REEL/FRAME:037586/0467 Effective date: 20151130 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |