Thermometer digital to analog converter

A thermometer-coded Digital to Analog Converter (DAC) is described, whose output is changed with fast speed, and reduced output overshoot or undershoot. The thermometer-coded DAC has selection switches and an up/down counter, with DAC codes separated into higher and lower bits. The lower bits increase up to a maximum code, then decrease. The configuration of resistors in the DAC reduces output spike, especially at the DAC code changing point.

BACKGROUND

Field

The disclosure relates generally to resistor string based Digital to Analog Converters (DAC), and in particular to thermometer DACs whose output is switched at fast speeds.

Description

A thermometer DAC contains an equal resistor or current-source segment for each possible value of the DAC output. This configuration results in a high precision architecture but at the expense of high cost in silicon ‘real estate’ (i.e., the space required on an integrated circuit) for the control logic. Generally speaking, an n-bit thermometer-coded DAC can have up to 2nswitches. To control every switch separately, a large amount of control/decoding logic is necessary.

InFIG. 1, general thermometer-coded DAC100is shown. Here, there are 6 strings of 16 resistor banks (banksels), and 96 switches (16×6), with 96 dedicated control signals needed to turn the switches on/off. The resistor strings are supplied with reference voltage Vref, and each of the control signals may be used to determine DAC output voltage Vout.

In prior art known to the inventor, the amount of control/decoding logic can be improved. InFIG. 2, simplified configuration200of the prior art is shown. Here, there are 6 strings of 16 resistor banks (banksels), and 96 switches (16×6). Now each of the 6 strings are connected to a muxsel switch, controlled by a single control signal, and thus only 6+16 control signals are necessary for this implementation. 1 of the 6 muxsel switches is selected using the upper 3 bits of the DAC decoding logic, and 1 of the 16 resistor banks is selected using the lower 4 bits of the DAC decoding logic. When the lower 4 bits of the banksel code is 0, Bank0of the resistor banks is selected, and when the banksel code is 15, Bank15of the resistor banks is selected. The resistor banks are supplied with reference voltage Vref, and the control signals are used to determine DAC output voltage Vout.

In the thermometer DAC configuration ofFIG. 2, 16+6 control signals are necessary, saving routing area and space for control logic, while the configuration inFIG. 1needs 96 separate control signals. However, at certain times when the muxsel switches ofFIG. 2are changed, the output spike is very large. This is because the lower 4 bits of the DAC code for the banksel selection increase up to code 15, then go back to code 0. In this case, the next banksel control signal is in the furthest position from the previous timing, for both rising and falling voltages, creating a large charge injection on the DAC output.

InFIG. 3300, the banksel selection and the DAC output voltage ofFIG. 2are shown. When the upper 3 bits of the code are 0, Muxsel0is selected, and when the upper 3 bits of the code are 1, Muxsel1is selected. When the original 7-bit DAC code goes from 15 to 16, the banksel code goes from 15 to 0 and the muxsel code goes from 0 to 1, causing the banksel voltage output to be furthest from the target output voltage Vout310, just before selection, leading to a large output spike (overshoot or undershoot) at Vout.

SUMMARY

An object of the disclosure is to reduce an output spike overshoot or undershoot, during an output transition of a resistor sting based DAC, and more particularly to an n-bit thermometer Digital to Analog Converter (DAC).

A further object of the disclosure is the elimination of a code jump, as the most significant bit of the DAC code changes.

Still further, an object of the disclosure is to reduce the area occupied by a thermometer DAC, by decreasing the number of necessary control signals.

To accomplish the above and other objects, an n-bit thermometer Digital to Analog Converter (DAC) is disclosed, comprising ‘m’ banks of resistors connected together in ‘p’ strings, where an mth resistor of a first of the strings is connected to an mth resistor of a second of the strings, where a 1stresistor of the second of the strings is connected to a 1stresistor of a third of the strings, and with connections between remaining strings continuing in a similar pattern until a pth string. The n-bit thermometer DAC is further comprised of a set of ‘p’ switches connected to each of the resistors in each of the banks. An up/down counter is configured to control said set of ‘p’ switches.

The above and other objects are further achieved by a method for a thermometer-coded Digital to Analog Converter (DAC). The steps include providing for ‘m’ banks of resistors connected together in ‘p’ strings. The steps also include connecting an mth resistor of a first of the strings to an mth resistor of a second of the strings, connecting a first resistor of the second of the strings to a first resistor of a third of the strings, and connecting remaining strings in a similar pattern until a pth string. The steps also include connecting a set of ‘p’ switches to each of the resistors in each of the banks. The steps also include controlling the set of ‘p’ switches with an up/down counter.

In various embodiments the n-bit thermometer-coded DAC may be achieved using any combination of muxsel and banksel switches, up to 2nswitches.

DETAILED DESCRIPTION

A thermometer-coded Digital to Analog Converter (DAC) is described, whose output is changed with fast speed, and reduced output spike (overshoot or undershoot). The thermometer-coded DAC has additional selection switches and an up/down counter, in contrast to previously known designs. The DAC code is separated into higher bits (for muxsel, or string, selection) and lower bits (for banksel, or bank, selection). The lower bits increase up to a maximum code, then decrease. This configuration reduces output spike, especially at the DAC code changing point.

There are advantages of reducing overshoot and undershoot output voltage spikes. If the spikes are large enough, a monotonically increasing or decreasing output cannot be maintained. In addition, the DAC output voltage may be used as a reference voltage, and the block using this reference voltage tracks the spike, resulting in additional current consumption. Furthermore, high frequency noise, created by overshoot and undershoot output voltage spikes, may cause the system within which the DAC is located to malfunction.

For example when the DAC code changes from 0111 to 1000, there is the elimination of a code jump, as the most significant bit changes. Just before the muxsel switch changes, controlling the selection of 1 of 6 strings of resistors, the future banksel switch, controlling the selection of 1 of 16 resistors in the string, has already moved to the closest location for the next DAC code.

In the present disclosure, a new resistor arrangement helps to achieve this. When the DAC code changes, some of the resistor banksel outputs change in a way opposite to the others. The next banksel switch output is set to the closest position as the previous timing, for both rising and falling voltages.

FIG. 4400shows the banksel selection and the DAC output voltage, embodying the principles of the disclosure. Now, some non-selected banksel outputs change such that they cancel the charge injection effect of other banksel outputs. The banksel outputs corresponding to Muxsel switch inputs1,3and5, change in an opposite direction (decrementing rather than incrementing) to the banksel outputs corresponding to Muxsel switch inputs0,2and4. This causes the banksel output voltage to be closest to the target output voltage Vout410, just before selection.

There are two key features of the present disclosure. One feature is the connections between the 6 strings of resistors. Another feature is the behavior of the lower 4 bits of the DAC code, controlling the selection of the 16 resistors in each string.

FIG. 5a, configuration500of the connections between the 6 strings of resistors is shown. Similar toFIG. 2, there are 6 strings of resistors, and 16 switches in each string. Each of the 6 strings of resistors is selected with a muxsel switch, using the upper 3 bits of the DAC decoding logic, and each of the 16 resistors in the string is selected with a banksel switch, using the lower 4 bits of the DAC decoding logic, and an up/down counter.

InFIG. 2of the prior art, the Bank15resistor of String0is connected to the Bank0resistor of String1, whereas inFIG. 5of the present disclosure, the Bank15resistor of String0is connected to the Bank15resistor of String1. In the prior art, the Bank15resistor of String1is connected to the Bank0resistor of String2, and in the present disclosure, the Bank0resistor of String1is connected the Bank0resistor of String2. The configuration of the present disclosure reduces any spike on output voltage Vout, because of the connection of the banksel switch being moved to the switch closest to the location of the next DAC code.

FIG. 5billustrates up/down counter550used for bank selection, in the disclosure. The up/down, or bidirectional, counter receives a control signal that determines the direction of the count, as well as a clock signal. The output of the counter is used for the bank of resistors selection inFIG. 5aandFIG. 7b.

InFIG. 6, behavior of the lower 4 bits of the DAC code600is shown. In the prior art, the DAC code is a 1-step increment code. In the present disclosure, the lower 4 bits of the DAC code increase from 0 to 15, then decrease from 15 to 0, repeating this pattern, controlling the selection of the 16 resistors in each of the 6 strings of resistors. Even though the lower bits of the DAC code are used differently between the prior art and the present disclosure, the DAC output is still increasing with a 7-bit code.

InFIG. 7a, simulation comparison700is shown between the prior art and the present disclosure. In prior art720, overshoot is due to the lower 4 bits of the DAC code increasing up to code 15, then going back to code 0 again and creating a large charge injection on the DAC output voltage. In present disclosure710, the connection of the banksel switches are moved to the closest location of the next DAC code. The increasing of the lower 4 bits of the DAC code from 0 to 15, and then the decreasing of the lower 4 bits of the DAC code from 15 to 0, reduces any spike on the output voltage.

The above description shows, for example only, the use of 6 strings of resistors, each controlled by a muxsel switch, and 16 resistors in each string, each controlled by a banksel switch. The number of resistor strings and banks may of course vary. The present disclosure further comprises a DAC code of 3 higher bits for muxsel control, and 4 lower bits for banksel control. Note that any combination of muxsel and banksel switches can be similarly configured for a n-bit DAC code, for up to 2nswitches.

FIG. 7billustrates configuration750of the connections between p strings of resistors, in the disclosure. Here there are m banks, labeled Bank0, Bank1, up to Bank m. Generally, the number of muxsel switches will equal the number of strings. Similarly, the number of banksel switches will equal the number of banks of resistors. Each of the p strings of resistors is selected using the upper bits of the DAC decoding logic, and each of the m resistors in the string is selected using the lower bits of the DAC decoding logic, and an up/down counter.

FIG. 8is flow chart800, of a method for a thermometer-coded Digital to Analog Converter (DAC). Step810provides for ‘m’ banks of resistors connected together in ‘p’ strings. Step820connects an mth resistor of a first of the strings to an mth resistor of a second of the strings, connecting a first resistor of the second of the strings to a first resistor of a third of the strings, and connecting remaining strings in a similar pattern until a pth string. Step830connects a set of ‘p’ switches to each of the resistors in each of the banks. Step840controls the set of ‘p’ switches with an up/down counter.

The advantages of one or more embodiments of the present disclosure include providing a thermometer-coded Digital to Analog Converter (DAC), with a smaller sized area and reduced control signals. The configuration improves resistor string based DAC performance, by minimizing the output overshoot/undershoot, when most significant bits change, in the situation where the DAC input code is continuously ramping up or down.