пятница, 12 ноября 2010 г.

Лекция по АЦП. Дополнения.

Вот план-конспект лекции по АЦП -- в дополнение к материалу, выложенному ранее.

Так же вот для справки результат решения задачи, рассмотренной на практической по сабжу.



1. Что такое АЦП
1.1 что такое цифровой и аналоговый сигнал
- аналоговый сигнал -- изменяющееся во времени напряжение $U(t)$
- результат преобразования аналогового сигнала -- семпл, двоичный код $D$
- непрерывное аналого-цифровое преобразование -- семплирование, последовательность кодов $D(t_i)$
- дискретизация -- как будто бы накладываем сетку на сигнал
1.2 как измерить аналоговый сигнал?
- измерение однополярного сигнала
- дифференциальное измерение разности напряжений на двух входах $-u_{in}, +u_{in}$
1.3 основные параметры АЦП
- тип входа (однополярный, дифференциальный)
- диапазон измеряемых напряжений $U_{min}, U_{max}$
- разрядность $n$ -- длина кода результата преобразования
- время преобразования $\tau$ или число семплов в секунду $f_s = 1/\tau$


2. Немного теории
2.1 дискретизация по времени (теорема Котельникова)
- быстродействие и полоса пропускания
- для корректной работы АЦП требуется ограничивать сигнал по спектру
- нельзя подавать на АЦП сигнал с частотой, выше чем $f_s/2 = 1/(2 \tau)$ -- иначе возможно наложение спектров (aliasing) и полностью неверные результаты измерений (суть теоремы Котельникова)
- ограничение спектра входного сигнала всегда делается с помощью RC-фильтра на входе
- частота среза RC-фильтра -- $f_c = (2 \pi R C)^{-1}$.
- частота $f_p = f_s/2 = 1/(2 \tau)$ -- определяет полосу пропускания АЦП

2.2 дискретизация по амплитуде
- статическая передаточная характеристика: $U \to D$, $U$ -- напряжение, $D$ -- код, $D = U 2^n/U_{max}$ для измерения напряжения от $[0, U_{max}]$ или $[-U_{max}, U_{max}]$
- точность измерения зависит от шага дискретизации по амплитуде $\delta = 1/2^n$ -- веса наименьшего значащего бита (LSB)
- погрешность дискретизации $\Delta U = \delta U_{max} = U_{max}/2^n$ -- амплитуда напряжения на входе, которую не чувствует АЦП
- погрешность дискретизации = наличие шума дискретизации на выходе, который ухудшает точность
- отношение сигнал/шум, $SNR = \frac{P_\mathrm{signal}}{P_\mathrm{noise}}$, $SNR_{db} = 10 \log_{10} \frac{P_\mathrm{signal}}{P_\mathrm{noise}} = 20 \log_{10} \frac{A_\mathrm{signal}}{A_\mathrm{noise}}$,
- если полный сигнал $A_\mathrm{signal} = 2^n \Delta U$, то сигнал шума $A_\mathrm{noise} = \Delta U$ и SNR тогда $SNR = 20 \log_{10} \frac{2^n \Delta U}{\Delta U} \approx 6.02 n$
- количество значащих бит $n$ определяется по SNR -- это два взаимозаменяемых понятия, специалисты часто используют SNR вместо разрядности,
- калибровка АЦП: в общем случае, статическая характеристика: $D = A U + B$, калибровка -- определение параметров $A$, $B$ по известными результатам измерения $U_i$, $D_i$

3. Типы АЦП
3.1 АЦП последовательного приближения (Successive approximation ADC)
(рассмотрено в основном материале)
3.2 сигма-дельта АЦП (Sigma-Delta ADC)
- у нас есть какой-то АЦП, который работает на частоте $f_s$ и выдает код $n$ -- как из него сделать более точный АЦП?
- это возможно, если соотношение сигнал-шум SNR позволяет это сделать, т.е. уровень собственного шума АЦП позволяет получить более точный результат
- точность увеличивается если измерить несколько раз и взять среднее -- в результате получаем разрядность $m > n$
- классический сигма-дельта АЦП: с однобитного АЦП с $n=1$ получают битовый поток (импульсный сигнал, с частотой пропорциональной входному напряжению) и потом соседние биты складывают -- усредняют или, в общем случае, пропускают через фильтр низких частот (ФНЧ)
- самый распространенный и оптимальный по соотношению точность/производительность АЦП
- особенно часто применяется в измерительной и звуковой аппаратуре

4. АЦП в микроконтроллерах
4.1 структура АЦП в AVR
- АЦП последовательного приближения
- разрядность $n = 10$ бит
- два режима работы: непрерывный и одиночный
- одиночный: преобразование запускается программой и после завершения не повторяется
- непрерывный: АЦП осуществляет преобразование непрерывно,
- одиночный: записали в 1 в бит ADSC регистра ADCSRA и дождались его установки в 0 микроконтроллером,
- непрерывный: должен быть установлен ADFR бит в регистре ADCSRA и запущено преобразование битом ADSC в ADCSRA
- АЦП может работать на разных частотах, максимальная скорость, обеспечивающая 10 бит -- $f_s = 200 kHz$, если выше -- точность хуже

4.2 что нужно на схеме с AVR
- подключить AVCC и AGND
- подключить на вывод опорного напряжения конденсатор

4.3 структура АЦП в АRM
- все совершенно аналогично AVR, только этот АЦП в 2 раза более быстродействующий (преобразование 10 бит на частоте 5 МГц и 8 бит на частоте 6 МГц)
- существует внешний вход запуска преобразования

Комментариев нет:

Отправить комментарий