비디오 시리즈
Precision labs 시리즈: 디지털-아날로그 컨버터(DAC)
이론 및 실무 지식을 모두 사용하여 고급 애플리케이션별 문제 해결 외에 장치 아키텍처에 대한 소개 아이디어를 포함한 주문형 코스 및 튜토리얼입니다. 업계 전문가들은 설계 시간을 줄이고 개념 증명에서 제품화까지 빠르게 전환할 수 있도록 각 주제를 제시합니다. DAC(디지털-아날로그 컨버터 또는 D/A 컨버터) 커리큘럼은 주요 주제 학습 카테고리로 구분되어 있으며, 각 항목마다 짧은 교육 비디오, 여러 가지 선택 퀴즈 및 짧은 답변 연습이 포함되어 있습니다.
Precision DAC essentials
발표자
리소스
Hello, and welcome to this TI precision lab introducing some of the essential terms and definitions for precision DACs. In this lab, we will introduce the components that make up a precision DAC and some methods for calculating the output voltage based on the input code. We will define some of the parameters used to describe DACs' performance as well as review primary architectures of precision DACs. Finally, we will review where DACs can be found in most signal chain applications.
So let's start with a very basic question. What is a DAC? A DAC, or Digital-to-Analog Converter, takes a digital input and converts it to a known analog output based on a reference value. In practical terms, a DAC takes a digital input from some sort of microcontroller and converts it into a real-world action by producing some sort of desired change to a system. These actions can be used to calibrate a system, set bias points, or create arbitrary wave forms.
Now, to help us understand how a DAC accomplishes this action, let's look at some of the modules that are found within a DAC itself. Every DAC has some sort of digital interface. This interface allows a host to set the input value of the DAC. Generally, this interface is usually a parallel bus, an I2C bus, or an SPI bus. Some devices can even support multiple bus types. Next, we have the DAC input register. This register stores the value that is currently being written to the device.
Another important concept to understand is that all DACs require some sort of reference voltage. This reference voltage can be provided externally or sometimes internally, to the device itself. This voltage is ratiometrically divided by a resistor ladder to determine the output. Sometimes a device features a reference buffer, which would isolate the voltage reference from the resistive load created by the resistor ladder. A resistor ladder can be one of many types of architectures, and we'll review those later. Finally, some devices incorporate an output buffer to isolate the high impedance output of the resistor ladder from the device's output. This allows the output to drive a lower load than the resistor ladder could drive by itself.
Now let's define some key terms that you'll see commonly associated with precision DACs, the first of which is "resolution." Resolution is the number of input bits available in the digital domain to represent the analog output signal. Typically, this ranges between 8 and 20 bits. A DAC code is a digital input value, and the total number of codes describe the number of discrete steps the DAC output can generate.
Let's look at a couple examples of this. If you add an 8-bit DAC, that means you would have 2 to the 8 input codes. That's 256 discrete levels ranging from 0 to 255. If you had a 16-bit DAC, that means you'd have 2 to the 16th input codes, or about 65,000. That would range from 0 to 65,535.
Now, let's address the reference voltage and least significant bit size. A reference voltage is the reference level that is ratiometrically divided by the DAC. Some DACs' output range varies from 0 volts to the reference voltage, while others have additional gain provided by the output buffer.
In combination with the DAC's resolution, the reference voltage determines the LSB, or least significant bit, weight or output step size. This is generally expressed as V LSB. The V LSB can be calculated by multiplying the gain of the output buffer times the reference divided by 2 to the n, where n is the resolution of the DAC. For a DAC that has a gain of 1 volt for volt and a V reference of 5 volts, we can say that the 8-bit LSB size is 1 times 5 volts divided by 256, or about 20 millivolts. For a 16-bit DAC, the V LSB is about 75 microvolts.
Now let's look at the ideal transfer function of a DAC with a graph that visually demonstrates the relation between the previously explained terms. Here, the x-axis shows the digital codes input into the DAC. The y-axis shows the corresponding output voltages. The resolution, equal to n, can be seen on the x-axis. In this case, we see 8 total bits, giving us the outputs of an 8-bit DAC.
The codes are on the x-axis, with each individual code incrementing a step on the output. You'll note that the codes count up in binary form. If you're unfamiliar or a little rusty with binary, we'll briefly cover it later in this presentation.
The reference voltage is at the top of the y-axis. Along with directly affecting LSB size, the reference voltage limits the possible output of the DAC. The LSB is the height of each step. For this 8-bit DAC with a 5-volt reference, each code increments the output by about 19 millivolts.
The full scale code is the largest code that can be written. This is limited by the resolution of the device. The full scale code here is 255. The full scale voltage is the voltage output of the DAC at the highest possible code. Here, that is about 4.98 volts. The transfer function is a convenient way to describe the relationship between the input code and the output. With it, you can determine the output voltage for any code.
Now that we've finished up with the definitions, let's look at the calculation to convert from our input code to our output voltage. For an 8-bit unipolar DAC with a 10-volt reference, what is the ideal output voltage when the input code is 10100011? Let's take a look at our equation. Here we see that V out is equal to the V reference times the code divided by the total number of codes, or 2 to the number of bits in the system.
In order to solve for the voltage, we first need to convert our binary value to a decimal value. This can be done by multiplying the bit value times the weight of that bit. In this case, we get 163. Inputting these values into the equation above, we can see that our output voltage would be 6.367 volts.
Conversely, we can do a similar tactic to convert from voltage back to the input code. For an 8-bit unipolar DAC with a 5-volt reference voltage, what is the binary input code needed to generate an output voltage of 1.718 volts? To do this, let's consider the following equation, where the code in decimal is equal to the output voltage multiplied by the total number of bits divided by the reference. Entering these values into our equation, we can see that the input code should be about 88.
Now let's convert 88 back into binary. By looking at each bit weight, we can determine that this becomes 01011000. If you inputted this to the specified DAC, you would ideally see the 1.718 volts.
Now that we've covered some of the basics, let's look at some of the DAC architectures that are seen in the resistor ladders. The first architecture to consider is a string DAC, or sometimes called the Kelvin Divider DAC. The string DAC is one of the simplest methods to realize a DAC and is simply a collection of resistors in series with switching points or tap nodes between each resistor. When a digital input code is applied, the selected tap node will change, and it is buffered by an output buffer.
As resolution increases, the number of resistors in the string exponentially increase as well. In general an n-bit DAC will have 2 to the n resistors. As a result, the string DAC gets inefficient at larger resolution. The first item of note concerning the string DAC is that the input impedance, looking in from the reference node, remains static. Other architectures will have dynamic input impedances that are code-dependent.
While in general all references should be buffered, a string DAC is more forgiving to an unbuffered reference, as this load is constant. An additional item of note is that the impedance of a resistor string will be quite high with all resistors in series. As a result, a string DAC tends to be low-power.
The linearity of a string DAC is a bit limited, as it is greatly dependent on the resistor matching of the string. Each of these resistors aren't exactly the same. The subsequent code transitions may be greater or less than one LSB.
The final and most subtle element of the string DAC is the divider present before the string resistors and the tap points, R divider. This resistor is equal to the equivalent impedance of the rest of the resistors in the string and effectively has the reference input. This is done in an effort to keep the common mode input requirement of the output buffer very low and to keep costs low while delivering good performance. To compensate for this, the output buffer is usually a noninverting gain of two, and sometimes a the resistor can be digitally controlled to change the gain.
Now let's review the R-2R DAC architecture. The R-2R DAC is a more complex method of realizing a DAC than a string DAC. The chief benefit of the R-2R DAC is the number of resistors required to realize the design is fewer than the string DAC. We only need 1R and one 2R pair for each bit of resolution.
An intuitive way to think of the R-2R DAC is as a binary weighted divider. The 2R leg, in parallel with each R resistor in series, creates a binary weight. As a result, we only need one switch for each of the Rabbitz resolution. The switch is either connected to ground or the reference voltage. Because of the fewer resistors present in the design, a more complex trimming technique can be implemented, which improves the linearity in comparison to a string DAC.
Mismatch in the resistors at the LSBs of the converter do not necessarily need to be matched as well since their impact is lessened by the binary weighted nature of the divider. If we examine the topology of an R-2R DAC, it should be noted that unlike a string DAC, the impedance seen by the reference is not constant. If you observe switches for each R-2R leg, you will notice that they are either switched from the Vref node or to the ground node. Hence, a dynamic output is related to code.
Generally, it is undesirable for a reference source to see a dynamic change in impedance because it requires more time for the reference to settle to the new impedance value. If the application calls for rapid cycling between codes, there may not be time to wait while the reference settles with the new voltage. For that reason, it is highly recommended that any R-2R DAC application includes a reference buffer. Some R-2R DACs may have a built-in buffer to help drive the reference.
A downside of this design is that between individual codes, multiple switches might be changing. This can result in a higher glitch energy than a string DAC. Another contributor to the higher glitch energy is the "break-before-make" switching present in an R-2R DAC implemented to avoid momentarily shorting the references to ground. This instantaneous switching leads to higher glitch energy as a result of the parasitic capacitance and inductance present in the circuit.
The final architecture we will cover is a multiplying DAC, or MDAC. This should look very familiar, as it's a very similar architecture as the R-2R DAC we just covered. The key difference is that the reference and the output have switched places. As a result of this swap, this circuit is now in a binary-weighted current-divider configuration. Unlike the R-2R DAC, the MDAC does not expose the reference to dynamic loading conditions.
Many applications still want a voltage output. This is facilitated by implementing a transimpedance amplifier at the current output of the MDAC. A transimpedance amplifier requires a resistor in the feedback. Most MDACs feature this resistor inside the design so that it can be precision-matched with the R-2R ladder.
Typically, the output amplifier is not included on silicon to provide the most flexibility to the designer's application. This allows the designers to select a high-speed amplifier if they are looking for a dynamic or arbitrary wave-form generation-type application. Typically, the second I out is grounded.
MDACs have many advantages. They have the same strong linearity specifications as an R-2R DAC, they are generally low-noise, they have fast settling, and have lower glitch versus an R-2R as well. The primary disadvantage is that the output will always be inverted with respect to the reference voltage. It will also require transimpedance amplifier, which can result in extra costs.
OK, with that, we have introduced the most essential concepts for precision DACs. In summary, we introduced the basic components of a precision DAC. We also introduced a few calculation methods for determining our V LSB size and to calculate the output voltage based on an input code. We also defined some of the key terms for a DAC output's ideal transfer function. And, finally, we reviewed some DAC architectures such as string DACs, R-2R DACs, and MDACs.
Now let's do a short quiz to cover what we've learned today. Question 1: What is a benefit of a String DAC architecture over an R-2R DAC architecture? Is it A. Fewer resistors are required, B. Code-dependent reference loading, C. Lower code-to-code glitch, or D. Lower noise? The answer is C. Lower code-to-code glitch. A string DAC generally has much lower code-to-code glitch than an R-2R DAC.
Question 2: How many unique output voltages could an ideal 7-bit DAC produce? Is it A. 49, B. 64, C. 128, or D. 256? The answer is C. 128. The number of unique output voltages is equal to 2 to the n, where n is those bits of resolution the DAC has, in this case, 7. So it'd be 2 to the 7th or 128.
Question 3: If you have an output of 1.25 with a 5-volt reference and a 14-bit DAC, what is your input code in straight binary? Using the equation we defined earlier, we can see that the input code is 4,096. Converting that into binary, we see that the answer is A.
Question 4: If you write the value in binary 1000 to a 4-bit DAC with a reference voltage of 5 volts, what is the output voltage? A. 2.666 volts, B. 2.5 volts, or C. 2.175 volts? The answer is B. Using the other equation we defined earlier, we can see that the output is equal to the reference times 8 over 16. That's 2.5 volts.
That concludes this TI precision lab about the essentials of precision DACs. To find more precision DAC technical resources and to search TI's precision DAC portfolio, visit ti.com/PDAC. Thank you.