| |
%
% fileID = fopen('drb_output.txt','r');
% [data,count] = fscanf(fileID, '%d');
% fclose(fileID);
clc
%8−bit digital output is all zeros
digital_output = zeros(1,8);
%Normalised to one for example
reference_voltage = 1;
input_voltage = 0.425;
for i=1:8
%current output bit set to 1:
digital_output(i)=1;
compare_threshold = 0;
%Output digital output in current form to DAC:
for j=1:i
compare_threshold = compare_threshold+digital_output(j)*reference_voltage/(2^j);
end
%Comparator compares Analog input to DAC output:
if (input_voltage-compare_threshold<0)
digital_output(i)= 0;
end
end
digital_output
%bin2dec('01101100')/255
如果我们考虑 0.425 V 的模拟输入值和 1 V 的参考电压的示例,我们可以将 8 位 ADC 的输出近似如下:
将 8 位输出的第一位设置为 1,因此输出到 DAC 为 0.5
0.425 减去 0.5 小于 0,所以将输出的第一位设置为 0
将 8 位输出的第二位设置为 1,因此输出到 DAC 为 0.25
0.425 减去 0.25 大于 0,所以输出的第二位是 1
将 8 位输出的第三位设置为 1,因此输出到 DAC 为 0.375
0.425 减去 0.375 大于 0,所以输出的第三位是 1
对所有 8 位重复此过程,直到确定输出为:
01101100
从这个过程中可以明显看出,N 位 SAR ADC 必须需要 N 个时钟周期才能成功逼近输出。因此,尽管这些 ADC 功耗低且需要的空间很小,但它们不适合高速、高分辨率应用。由于这些 ADC 需要的空间非常小,因此它们通常被用作微控制器内部的外设或采用极小的封装。
功耗与采样率成比例的事实可能不太直观。因此,这些 ADC 非常适用于需要 ADC 不经常进行采样的低功耗应用。
在此架构中需要注意的一件事是缺少管道以及与此相关的延迟。因此,SAR ADC 适用于多路复用应用。
定义 ADC 整体特性的 ADC 的两个特性并不奇怪,DAC 和比较器。