Def === AЦП (Аналогово-цифровой преобразователь) ADC (Analog-Digital converter) - устройство, которое преобразует входной аналоговый сигнал (напряжение) в цифровую форму. Изображение ADC (ANSI): AЦП
АЦП ________|________ / | \ Интегрирующие Поразрядно Паралельные уравновешенные
Интегрирующий {Ступенчатый} (Digital Ramp) (StairStep-Ramp) АЦП внутри цифровой счетчик, регистр, ЦАП, и компаратор на ОУ. В начале цикла счетчик сбрасывается в 0. И начинает считать, напряжение все увеличивается и когда оно достигнет входного и компаратор это скажет, то регистр запишет текущее состояние и цикл повторится медленно, но дешево. Идея ступенчатого АЦП: Интегрирующие АЦП
Принципиальная схема ступенчатого АЦП (на 4 бита):
У интегрирующего АЦП результат преобразование чуть больше чем сигнал. Часто вообще делают software вариант: То есть не счетчик, а регистр загружаемый программно.
Двойной интегрирующий АЦП Для повышения точности используют двойной интегрирующий АЦП:
Следящий АЦП: начинает как ступенчатый потом отслеживает изменения (результат что-то среднее между паралельным и ступенчатым). Идея следящего АЦП:
Поразрядно-уравновешенный АЦП похож на ступенчатый, но вместо счетчика в нем используется управляющая схема которая подбирает биты в цифровом представлении. Плюсы: Время преобразование постоянно и не зависит от величины сигнала. Не слишком большая схема (по сравнению с паралельным АЦП). Схема поразрядно-уравновешенного АЦП. Поразрядно-уравновешенный АЦП
Алгоритм работы поразрядно-уравновешенного АЦП:
Времмая диаграмма работы поразрядно-уравновешенного АЦП:
У поразрядно-уравновешенного АЦП результат преобразование чуть меньше чем сигнал.
Паралельный АЦП (Flash) состоит из большого количества компараторов на ОУ самые быстрые, но и самые дорогие Принципиальная схема паралельного ADC (на 2 бита): Паралельный АЦП
Основная идея АЦП. Базовое напряжение Vref делится на N равных частей резисторами R, и поступает на входы операционных усилителей. На каждом усилителе если Vref(i) меньше чем Vin то на выходе будет 0, иначе 1. Результат в конкретный момент записывается в регистр REG, затем приоритетный шифратор CD кодирует его в двоичный код, который в тот же момент записывается в выходной регистр REG2 из которого выбираются данные. Временная диаграмма:
На самом деле будут биения, лучше использовать код Грея:
Реальные ADC как правило имеют более 1024 Vref(i) каскадов.
Недостаток паралального АЦП - слишком много элементов. Это обходится следующим образом. Паралельный АЦП делится на каскады. Конвеерный АЦП
Каскад состоит из парелельного АЦП с малюм числом бит, ЦАП и схемы аналогового вычитания. В результате на следущий каскад идет уже ток для более младших бит.
Ошибки ADC: Ошибки АЦП
Быстродействие и стоимость АЦП: Быстродействие и стоимость
Сложность построения
Модель ADC на Verilog-AMS: // N-bit Analog to Digital Converter `include "disciplines.vams" module adc (out, in, clk); parameter integer bits = 8 from [1:24];// resolution (bits) parameter real fullscale = 1.0; // input range is from 0 to fullscale (V) parameter real td = 0; // delay from clock edge to output (s) parameter real tt = 0; // transition time of output (s) parameter real vdd = 5.0; // voltage level of logic 1 (V) parameter real thresh = vdd/2; // logic threshold level (V) parameter integer dir = 1 from [-1:1] exclude 0; // 1 for rising edges, -1 for falling input in, clk; output [0:bits-1] out; voltage in, clk; voltage [0:bits-1] out; real sample, midpoint; integer result[0:bits-1]; genvar i; analog begin @(cross(V(clk)-thresh, +1) or initial_step) begin sample = V(in); midpoint = fullscale/2.0; for (i = bits - 1; i >= 0; i = i - 1 ) begin if (sample > midpoint) begin result[i] = vdd; sample = sample - midpoint; end else begin result[i] = 0.0; end sample = 2.0*sample; end end for (i = 0; i < bits; i = i + 1) begin V(out[i]) <+ transition(result[i], td, tt); end end endmodule