Hochschule Kempten      
Fakultät Elektrotechnik      
Interface Electronics       Fachgebiet Elektronik, Prof. Vollrath      

Interface Electronics

Lab04 R2R DAC

GroupE00 ***700, C



Overview


The following report describes the results delivered by the conduction of the Lab Instruction

Building a 8-bit R2R DAC in LTSpice


The following circuit was build as an extension from the
4-bit R2R DAC. The measurement of the resistance
gave the following results:

Resistance Value [KΩ] Tolerance [%]
R0 200.3 0.15%
R1 199.8 0.1 %
R2 199.7 0.15%
R3 200.2 0.1 %
R4 199.6 0.2 %
R5 199.5 0.25%
R6 200.3 0.15%
R7 200.3 0.15%
R8 200.2 0.1 %
R9 99.8 0.2 %
R10 100.1 0.1 %
R11 99.8 0.2 %
R12 99.7 0.3 %
R13 99.8 0.2 %
R14 99.9 0.1 %
R15 100.0 0 %

Simulation of R2R DAC


A symbol from the previous circuit was created.
It was attached to the test circuit from Lab03
and two blocks of 4-bit ADC were configured as well
in order to form a 8-bit ADC.

The input voltages were considered the same wave:
Sine and Ramp


RampWave Output Result


The image shows the result of a ramp wave input. It can be
seen the discretization levels of the ramp wave over the time.

As the converter has 8 bits, therefore the number of available
code are as follows:
\( {CODES} = {2^{N}} = 2^{8} = 256 \)

The LSB can be calculated from the following formula:
\( LSB = \frac{V_ref}{2^{N}} = \frac{1{V}}{256}= 390.6{µ V} \)

and therefore, the maximum output voltage is:
\( V_{out,max} = {LSB} \times ({2^{N}-1}) \)
\( = 390.6{µ V} \times 255 ≈ 996.1{mV} \)



RampWave INL and DNL analysis


The following image is a result of the processed data by the Raw Data Analysis.
It shows the DNL and INL graphics for the rampwave.
It can be seen that the extracted and the ideal curve are nearly the same. However
there is a small DNL error which can be seen clearly in the accumulation ramp of the
INL, and periodically, there is big error in the DNL which changes the offset of the
INL ramp. Additionally, the magnitude of the error is quite small, and for a real
measurement perhaps accurate instruments are required. Here it can be seen the effect
of the uncompensated values of the resistances.


RampWave Histogram analysis


The following image shows the DNL and INL error for the histogram analysis. As the
number of occurrences is the same for all the codes, theoretically there is no DNL
error, which implies no INL error as well.


SineWave Output Result


The image shows the result of a sine wave input. It can not be
seen the discretization levels of the sine wave over the time,as
it seem a continuous signal, but with a zoom into it, the discretization
levels can be seen.


SineWave Histogram analysis


The following image shows the DNL and INL error for the histogram analysis. The
number of occurrences of the codes is not equally distributed, because the sine wave
has more samples at the peaks of the wave (non-linear function). These peaks are mostly
represented by the codes 0 and 255, and the DNL is proportional to the number of
measurements for each code. That is also the reason that for the codes for the linear
region of the sine wave, the error is minimum (codes 127 - 128).


SineWave FFT analysis


The figure shows the FFT analysis for the sine wave. The number of points choosen for
the FFT was 4096. The amplitude of the voltage is 0.5 V, Offset 0.5 V, 11 periods.

SineWave FFT analysis

The magnitude for the frequency 11 is as follows:

\( {FFT_{power}} = 20 \times \log (\frac{0.5 V}{\sqrt 2}) ≈ -9{dB}\)

\( Power ≈ 6{dB} \times 7 ≈ 42{dB}\)

So the peak of the signal is:
\( Peak = 42 {dB} - 6 {dB} ≈ 36{dB} \)

The SNR defined for an 8-bit converter is:
\( SNR = (6.02 {dB} \times 8) + 1.76 {dB} ≈ 49.9{dB} \)

Therefore the noise floor will have a magnitude of:
\( Noise = 36 {dB} - 49.9 {dB} = -13.9{dB} \)

As the noise is spreaded over 256 bins, the noise level in FFT is:
\( {Noise}_{FFT} = -13.9{dB} - 10 \times \log ({2^{N}}) = -13.9{dB}-24{dB} = -37.9{dB} \)

SineWave FFT analysis


The previous theoretical data seems to match with the FFT graphic, as well as the
SNR results presented in the following image:

Real 8-bit DAC Circuit


Now, from the previous schematic, the R2R DAC structure was implemented on bread board.
The following image shows the physical distribution of the circuit and the conection between Electronic Explorer.

Measurements

Ramp wave input


These are the following measurements made to the circuit.

Measurements

Output waveforms


The following images show the output wave form of the DAC - R2R, where for each image and for all in this document
the orange line represents the bit 8 of the converter (MSB), and the blue one represents the output analog voltage.

The frequencies were choosen acording to the instructions of the lab (1Khz, 10Khz, 100Khz),
the output frequency of the analog and also the MSB is not the same. I guess the selected parameter refers to the frequency
of the bit 1 of the converter (LSB).




Measurements

Output waveforms Analysis


The following are the frequency of the output voltage signal, and maximum and minimum output voltage acording to the previous images.

Set Parameter 1KHz 10KHz 100KHz
Output Freq. ≈ 3.9 Hz ≈ 39 Hz ≈ 391 Hz
Max. Voltage ≈ 3.2 V ≈ 3.2 V ≈ 3.2 V
Min. Voltage ≈ -0.3 V ≈ 0 V ≈ 100 mV

From the images, we could also say that with every increase in the frequency, the output waveform gets more deformated on the edges of the ramp.
Also, with the high frequency, the minimum voltage of the output voltage is not reaching the same values of the slow one, which could be an
indication that some codes are being missing due to the fast change in all bit states. Besides this observations, it can be seen that for some
points in the graphics, there is some kind of overshoot (spikes), for the frequencies 10Khz and 100Khz, not presented in the 1Khz frequency.

Measurements


The following images show the outputwave form of the DAC - R2R with the goal to measure the settling times (falling and rising) by changing just 1 code step and full code step
The orange line represents the bit 8 of the converter (MSB), and the blue one represents the output analog voltage.

Settling Times - 10 KHz - 0 to 255 code step




Measurements


Settling Times - 10 KHz - 127 to 128 code step


The orange line represents the bit 8 of the converter (MSB), and the blue one represents the output analog voltage.



Measurements


Settling Times - 100 KHz - 0 to 255 code step


The orange line represents the bit 8 of the converter (MSB), and the blue one represents the output analog voltage.


Measurements


Settling Times - 1 KHz - 255 to 0 code step


The orange line represents the bit 8 of the converter (MSB), and the blue one represents the output analog voltage.



Measurements


Settling Times - 1 KHz - 127 to 128 code step


The orange line represents the bit 8 of the converter (MSB), and the blue one represents the output analog voltage.



Measurements

Settling Times Analysis


From the images of Settling times, it can be observed the behaviour of the output voltage regarding the change in the full code scale and in
one code step (1 LSB). For the 10KHz frequency, no problem is observed in the waveform. However, for 1 LSB, it was not expected to obtain a big overshoot
in the output. A rough estimation based on the images, give us about 300% overshoot. This behaviour could only be explain by a resonance circuit
formed in the bread-board (Circuit RLC - second order system). For the 100KHz frequency, it can be observed that with this frequency the circuit is
not reaching its steady-state. Therefore, it can be said that the circuit is not capable to respond to this frequency. No settling time could be
measured from this result.

According to the images, the following table resume the times and voltages identified

Set Parameter Settling Time
Rising
Full-Code
Settling Time
Rising
LSB
Settling Time
Falling
Full-Code
Settling Time
Falling
LSB
LSB Voltage Max Voltage Min Voltage
1 KHz ≈ 8 μs ≈ 6 μs ≈ 8 μs ≈ 6 μs ≈ 11 mV ≈ 3.1 V ≈ 50 mV
10 KHz ≈ 7.8 μs ≈ 75 ns ≈ 7.8 μs ≈ 90 ns ≈ 14 mV ≈ 3.15 V ≈ 50 mV

From these results, it can be observed that the settling times are simetric in the falling or rising codes. These values were taken measuring
aproximately at which time the signal reaches a steady-state between 95% of the final voltage.

Net step is to measure the DNL and INL of the ramp output. however this is not going to be done for 100KHz frequency as the circuit is not reaching a steady-state,
and therefore lead to more error in the DNL and INL measurement

Measurements

DNL and INL


Following the procedure, the filtered data of a rampwave was introduced to the Data Osc Procesor. From that tool, we can obtain (with apropiated selection of settings) the DNL and INL graphics.

10KHz Parameter

Results for the 10KHz binary output setting.


Measurements

DNL and INL

10KHz Parameter Analysis


Aparently, the transfer chart give us the idea that the behaviour of the ramp is really close to the ideal ramp. However, the zoom area to the origin showed us that the data
points were not so stable for low codes. Also, the INL indicated that at low codes there was a huge amount of error, and for codes grater than 150 the errors are not so big.
As the INL is greater than 1 LSB, is not acceptable performance. the assumption that the parameter of 10KHz was still high enough was made, as for high frequency the output
deformed the ramp at low codes. Perhaps that was happening in this case, but was not observable. The subsequent step was to decrease the frequency parameter (for example: 1KHz).

1KHz Parameter

Results for the 1KHz binary output setting.


Measurements

DNL and INL

1KHz Parameter Analysis


Now the INL and DNL have an acceptable range of error between +/-0.5 LSB, and the samples are better distributed into the steps. It can also be observed some noise over the
samples, but not considerable to damage the performance. The zoom window show also that the lowest codes have negative values, which mean that the minimum voltage is not 0,
and therefore could be an offset-error of -30mV.
Comparing also the DNL and INL graphic with the simulated circuit with the corresponding measured values of resistances, the shape of the waves are very similar,
so it was somehow expected.

Comparison between the measurement and simulated DNL and INL. Left(Measurement) and Right(Simulation)


With this behaviour, we can say that the problem here was due to frequency limits rather than the inaccuracy of the resistances. Even with 1% tolerance values, we get values
of INL and DNL between the desired range of +/-0.5 LSB. Therefore is not necesary to improve the circuit by changing resistances.

According to these results, the best frequency operation of the pattern generator is the lowest of the provided set. In this case, I had to do an extra measurement in 1KHz
in order to achieve error results between the desirable range.

Measurements

Bad extraction of rampwave


For the following example, a bad filtering of the data from a rampwave signal was given to the tool. Also, a bad selection of parameters in the tool was selected.


This was the same data used for the 1KHz analysis. As it can be seen, the wrong filtering of the data, specially on the edges of the rampwave,
summed also with a bad selection of data points for analysis, led to high values of error in DNL and INL graphic. Without knowing that the
input data is bad filtered, would lead to think that the converter has a gain error. A good filtering of the same data, lead to the results for
the 1KHz analysis. There a better performance over the DNL and INL error was obtained.

Measurements

Sine wave input


These are the following measurements made to the circuit.

Measurements

Sine wave input

43 Periods SineWave


The file of the digital input of the sine wave was imported to the pattern generator as stated in the instructions.
The following is the FFT calculated from the FFT analysis tool. Before this tool was used, first the data needed to be converted from voltage into codes, in order to use the FFT tool.

Results shows the following information:


Measurements

Sine wave input

43 Periods SineWave Analysis


As expected, there is a peak at a frequency of 43. The value of the magnitude of this peak is similar to the obtained for the simulated circuit. We also can observe
that there is no reasonable high harmonics over the FFT and the noise level is distributed over a range below -32 dB. That give us the following SNR:

\( SNR = 36.11 {dB} - (-13.82 {dB}) = 49.93{dB} \)

This value is still good, because the theory says that for every bit we need aproximately 6 dB of SNR, and therefore for 8 bit is ≈ 48 dB. Which means we are not
loosing codes and at the same time the ENOB is still 8 bit.

The graphic of the histogram INL and DNL was not expected. It was expected to be more DNL error in the corner codes than in the middle. However, for the measurement is
not distinguishable this behaviour.

Measurements

Sine wave input

Bad Filtering example


For the following example, a sinewave with 11cycles was introduced to the circuit and the output was measured. The data was converted into integers, so the
FFT analysis could be done. the following is the result of bad data filtering.


From the time data it can be seen that the wave has more than the requiered 11 periods of the signal. For that reason the selected data is not equally distributed over
the range of the codes. The FFT result shows that rather than a pure sine signal, it is more like a sum of harmonics and frequencies near the real frequency. The solution
for this data is to fit the correct data points to form 11 cycles of the signal.

Measurements

Calibration ramp input


For the calibration process, a ramp wave input is introduced to the circuit. The output is measured to generate a lookup table to give better performance in the
INL and DNL parameters of the converter.

Th following image presents the output to the rampwave input.

Measurements

Calibration Lookup Table


The analysis given by the tool for the rampwave is the following:


It can be seen that the DNL and INL error magnitude is within +/- 0.5. Using the tool to obtain the calibration codes, it gave
that for the new ramp, 193 codes will be used. These codes were copied into the ramp generation with calibration and
obtained a file that was fed into the pattern generator.

Measurements

Calibration Results


Again a ramp wave was obtained and measured. From the DNL and INL graphic, the codes used in this new ramp are less.
Also, it can not be seen a subtancial improvement in the error magnitude, and in fact it seems that the number of peaks in the error graphic
are more than without calibration.

The analysis of this ramp is the following:


Measurements

Calibration Results


Using the same lookup table, a sine wave of 11 cycles was used. The following images shows the output, the reading process of the data and the FFT



Measurements

Calibration Results


Using the same lookup table, a sine wave of 43 cycles was used. The following images shows the reading process of the data and the FFT


Measurements

Calibration Analysis


If we compare the results of these sinewaves with the sinewave of 43 cycles from previous results, there is a slightly deterioration in
the SNR in the center frequency using calibration procedure. Also, the noise floor is distributed over the range of frequency without
presenting harmonics, but the magnitude decrease, which means that the noise is more than without calibration.

It can be concluded that the calibration procedure did not presented an improvement for the circuit, and in fact a worse measurement can be
obtained for different inputs. Therefore, the calibration is not recommended by using this tool.

Converter Implementation problems


Conclusions