В этом примере показан 12-битный регистр последовательного приближения (SAR) АЦП с моделью ЦАП на уровне канала.
Последовательные АЦП аппроксимации обычно имеют разрешение от 12 до 16 бит, и их частоты дискретизации варьируются от 10 кВыборок/сек до 10 МСампл/сек. Они, как правило, стоят меньше и потребляют меньше мощности, чем ADC в поддиапазоне.
Откройте систему MSADCSuccessiveApproximation.
model = 'MSADCSuccessiveApproximation';
open_system(model)

Установите переключатели в положение по умолчанию, выбрав двухтональный источник и идеальную модель DAC.
set_param([model '/Source'],'sw','1'); set_param([model '/DAC'],'sw','0');
Модель верхнего уровня состоит из испытательного стенда и тестируемого устройства. Средства тестирования включают в себя генераторы тестовых сигналов и области временной области и анализатор спектра для целей измерения. Тестируемое устройство, выделенное синим цветом в модели, содержит Track and Hold:, Comparator, логику управления и DAC с зарядовой шкалой.
Тестовый сигнал является либо двухтональным синусоидальным сигналом, либо входом постоянного уровня. Этот тестовый сигнал дискретизируется и удерживается на выходной частоте слова АЦП 10 МГц. Выход пробоотборника служит одним входом для компаратора. Второй вход компаратора является выходом ЦАП, который является ступенчатым опорным уровнем. Если выходной сигнал дискретизатора больше или равен выходному сигналу ЦАП, то компаратор выводит логический 1. Когда это происходит, соответствующий бит выходного сигнала устанавливается в логический 1. В противном случае компаратор выводит логический 0, который не увеличивает выходное слово АЦП. Этот единственный компаратор находится только в последовательном аппроксимационном преобразователе, где аналог преобразуется в цифровой.
sim(model);

Определите количество битов (NBits) и скорость преобразования ADC (Fs) в рабочей области MATLAB ®. Рабочая тактовая частота АЦП определяется из Nbits и Fs.
Nbits = 12; Fs = 1e7; ADC_clock = Fs*(Nbits+2);
Эта модель использует Stateflow для моделирования последовательной логики управления аппроксимацией. Конечный автомат служит в качестве секвенсора, который начинает с вывода счетчика, соответствующего среднему масштабу, который в этом случае равен 0 вольт. Конечный автомат затем выполняет двоичный поиск позиции одного бита за раз, чтобы найти счет, соответствующий ближайшему приближению к дискретизированному входному сигналу в пределах 12 битов разрешения.
open_system([model '/Successive Approximation Logic'],'force')

Для конкретного бита, если компаратор выводит 1, то этот бит устанавливается. В противном случае положение бита очищается. Поскольку имеется 12 битов, для завершения преобразования для данной входной выборки требуется 12 тактовых циклов на тактовой частоте.
В этой модели тактовый сигнал скорости передачи битов, обозначаемый блоком с меткой ADC Internal Clock, работает в 140 МГц. Этот тактовый сигнал в 14 раз быстрее тактового сигнала частоты дискретизации, обозначенного блоком Conversion Clock в левом верхнем углу модели. После того, как логические последовательности управления от бита 11 вниз до бита 0, линия конца преобразования (EOC) переходит на высокий уровень, указывая схеме ЦАП на сброс.
DAC на уровне схемы использует многоступенчатую матрицу конденсаторов с масштабированием заряда в формате разделенной матрицы. Эта архитектура обеспечивает несколько преимуществ, включая уменьшенную площадь или количество деталей, встроенную выборку и хранение, малую рассеиваемую мощность и относительно небольшой диапазон значений емкости, которые могут потребоваться без разделенной матрицы.
В этой модели существует две версии цифроаналогового преобразователя (ЦАП): одна на уровне схемы и вторая представляет идеальное поведение ЦАП. Идеальный блок DAC принимает входной счетчик и умножает его на
![$$\frac{V_{ref}}{2^{N_{bits}}} = \frac{2\sqrt{2}}{2^{12}} \left[\frac{Volts}{Count}\right]$$](../../examples/msblks/win64/SuccessiveApproximationADCExample_eq08430490969459080175.png)
для формирования выходного напряжения сравнения [1].
Установите переключатель для активизации модели DAC на уровне канала. Запустите модель.
set_param([model '/DAC'],'sw','1'); sim(model);

Эта конкретная матрица с масштабированием заряда использует
бинарно взвешенные конденсаторы на каскад с суммарным количеством
каскадов, обеспечивающих суммарное количество
битов разрешения ЦАП. Бинарно-взвешенные конденсаторы на ступень имеют значения, и
. Чем
больше емкость, тем выше битовое положение в пределах конкретной ступени. Например, установка низкой стороны
конденсатора на высоком уровне в 4 раза превышает воздействие выходного напряжения относительно установки низкой стороны
конденсатора на высоком уровне.
При изменении значения переменной Nbits, физического количества битов преобразователя, необходимо изменить реализацию уровня канала DAC. Идеальная реализация ЦАП и логика управления параметризуются относительно количества битов.
open_system([model '/Circuit Level 12 Bit DAC'],'force')

Каждая ступень разделена масштабным конденсатором со значением.
Масштабирующий конденсатор служит для ослабления выходного напряжения каждой ступени. Чем дальше каскад от выходного узла ЦАП, тем больше он ослабляется. Ослабление составляет 8 раз на масштабирующий конденсатор, что соответствует.
Три MSB являются ближайшими к выходу, биты 0, 1 и 2, в то время как там LSB, биты 10, 11 и 12 являются наиболее удаленными. В любой момент времени плата DAC находится в одном из двух режимов. Он либо генерирует выходное напряжение на основе определенного входного счета, либо сбрасывается, когда линия EOC зашкаливает. Когда EOC становится высоким, нижняя сторона каждого конденсатора в DAC переключается на землю, а не на данные, таким образом истощая конденсаторы заряда при подготовке к следующей аппроксимации. Это эффективно истощает емкостную сеть заряда, подготавливая ее для следующего входного образца.
Блок ADC Testbench из Blockset™ смешанного сигнала может обеспечить анализ рабочих характеристик ADC.
В режиме постоянного тока АЦП Testbench проверяет линейность АЦП. Результат теста используется для генерации измерений смещения и ошибок усиления, которые отображаются на маске блока. Полные результаты теста доступны для экспорта или визуализации с помощью кнопок на маске блока ADC Testbench.
bdclose(model);
model = 'MSADCSAR_DC';
open_system(model);
sim(model);


Режим переменного тока ADC Testbench обеспечивает понимание частотных характеристик ADC, включая измерения, такие как ENoB (эффективное количество битов), максимальная измеренная задержка преобразования и уровень шума преобразователя. Эти измерения отображаются на значке блока после моделирования и доступны для экспорта с помощью кнопки на маске блока.
model = 'MSADCSAR_AC'; open_system(model); set_param([model '/DAC'],'sw','1');

Хайде Хоррамабади Калифорнийский университет в Беркли, кафедра электротехники и компьютерных наук, лекция 15, стр. 38 < http ://inst.eecs.berkeley.edu/~ ee247/fa06/lectures/L15 _ f06.pdf >
Авторское право 2019-2020 The MathWorks, Inc. Все права защищены.
Измерение переменного тока АЦП | Измерение постоянного тока АЦП | Источник тактового сигнала выборки