HELLORADIO.RU — интернет-магазин средств связи
EN FR DE CN JP

Application notes

ANC07 - 27-apr-2005
Погрешности ЦАП блока CDAC20

 

Этот документ следует рассматривать как продолжение документа ANC05.

В этом документе рассматриваются следующие вопросы:

    • шумы преобразователя;
    • калибровка;
    • линейность преобразователя и термостабильность.
Одной из составляющих погрешностей цифроаналогового преобразователя является шум выходного напряжения. Следует отметить, что высокочастотные шумы на выходе устройства могут появиться только как результат наводок при неправильном соединении или плохой трассе, так как собственные ВЧ-шумы преобразователя низки и кроме того фильтруются с высокой степенью. Однако, низкочастотные шумы (субгерцовые) не приводятся производителем микросхемы ЦАПа и не фильтруются, так как находятся в полосе рабочих частот. Поэтому были предприняты попытки их измерить. Ниже приводится картинка, иллюстрирующие шумы выхода ЦАПа.

Из осциллограммы видно, что сигнал колеблется с секундными и минутными временами и амплитуда отклонений достигает сотен микровольт. Это укладывается в гарантированную точность устройства CDAC20, однако были проведены дополнительные расследования. При снятии приведенной осциллограммы, блок лежал на лабораторном столе в комнате по которой ходили люди, хлопала дверь, т.е. степень равновесия температурного поля была неизвестной. Для контроля шумы были измерены в замкнутом объеме после установления равновесного теплового режима.

Ниже приводится осциллограмма выходного сигнала ЦАПа блока CDAC20, зарегистрированная в температурно изолированном объеме. Из осциллограммы видно, что изменение выходного сигнала стало укладываться в 40-микровольтовую полосу. Отклонения сигнала ± 20 мкВ при выходной шкале ±10 В представляются вполне удовлетворительными.

Проведенные измерения позволяют рекомендовать при желании получить от устройства большую точность и меньшие шумы обращать внимание на состоянии окружающей среды около блока (пытаться обеспечить наилучшее тепловое равновесие среды) и чаще проводить процедуру калибровки (речь о ней пойдет ниже).

В качестве цифроаналогового преобразователя в блоке CDAC20 использована микросхема дельта-сигма преобразователя. Такие микросхемы при всех своих достоинствах являются крайне чувствительными к температуре окружающей среды и изменениям напряжения питания. Для компенсации влияния внешних условий в микросхеме предусмотрена специальная процедура калибровки. Все точностные параметры микросхемы гарантируются производителем только после проведения процедуры калибровки. Точных критериев для определения момента проведения калибровки производитель не определяет. В справочных данных пишется следующее. Where high accuracy is important, re-calibration should be done on changes in temperature and power supply.

Ниже приводится графики изменения выходного напряжения от температуры. Измерения производились следующим образом. Блок помещался в замкнутый объем и за счет собственного тепловыделения медленно нагревался. Благодаря медленному прогреву (процесс длился около двух часов), в объеме сохранялось стационарное температурное распределение. В процессе прогрева через некоторые промежутки времени (около 15 минут) измерялось выходное напряжение ЦАПа в нескольких точках (10 мВ, 0,625 В, 2,5 В и 10 В). Одновременно с измерением выходного напряжения измерялась и температура на печатной плате. Здесь приводится три графика- изменение напряжения в точке 2,5В, изменение напряжения в точке 0,625В и изменение температуры.

Из графиков видно, что при изменении температуры окружающей среды на 3 градуса, выходное напряжение ЦАПа изменилось примерно на 1 мВ. Это соответствует температурному дрейфу 30 ppm/C. В конце цикла измерений блоку была дана команда калибровки ЦАПа. После проведения калибровки, выходное напряжение стало отличаться от первоначального примерно на 10 мкВ (это лучше видно не по графику, а по числам, которые здесь не приводятся).

Проведенные измерения показали, что изменение температуры окружающей среды даже на три градуса, приводят (в отсутствии процедуры калибровки) к ошибке 0,01%. Таким образом, практически для любой требуемой точности, калибровка является обязательной. Вопрос лишь в том, насколько часто эта процедуру проводить.
 

Как это обычно бывает, лекарство имеет побочные эффекты. Каждый процесс калибровки осуществляется с некоторой ошибкой. Эффект наблюдался в различных разработках, использующих микросхему DAC1220. Ниже приводится запись выходного напряжения цифроаналогового преобразователя блока CDAC20, на котором код не меняется (т.е. выходное напряжение не должно меняться), но периодически подается команда калибровки. Для облегчения интерпретации картинки немного ниже выведена картинка с реперами, отмечающими момент подачи команды калибровки. Из картинок видно, что после некоторых процедур калибровки выходное напряжение не меняется совсем, иногда меняется на 50 мкВ, иногда даже на 500 мкВ. Скачки напряжения являются шумоподобными. Величина этих скачков укладывается в продекларированную точность устройства, но если пользователю захочется получить большую точность, то у него есть два варианта. Вариант первый- ввести цифровую коррекцию ЦАПа с помощьюкомпьютера, поскольку выход ЦАПа соединен с одним из входов АЦП непосредственно внутри блока. Вариант второй- подождать реализации такой коррекции внутри блока (такая работа стоит в ближайших планах).

Про процедуру калибровки следует добавить еще одно. Как написано в описании CDAC20, после начала процедуры калибровки, микросхема ЦАПа недоступна для записи в течении 1 сек. Пользователей часто интересует вопрос, а что же произойдет с данными, если их пытаться писать в это время. Ответ такой. Все данные, посылаемые пользователем в ЦАП, сначала переписываются процессором во вспомогательную ячейку и, когда это становится вожможным, пересылаются в ЦАП. Таким образом, если за время процедуры калибровки пользователь пошлет, к примеру, три новых кода, то как только процедура калибровки завершится, процессор тут же перешлет в ЦАП последнее принятое от компьютера значение.

Ниже приводится картинка отклонения измеренного напряжения ЦАПа от истинного при комнатной температуре и при температуре 50С.

 

 

Цифровая коррекция ЦАПа.

Эта возможность реализована в версиях не ниже 6-й. Встроенный микроконтроллер, а также внутреннее соединение выхода ЦАПа с одним из входов АЦП дает возможность измерять выходное напряжение ЦАПа и корректировать его. Поскольку параметры аналого-цифрового преобразователя значительно выше, чем ЦАПа в стандартном включении, этот режим позволяет существенно улучшить точностные характеристики цифроаналогового преобразователя. Для сохранения совместимости с предыдущими версиями устройства (как по командам, так и по временным диаграммам) этот режим включается не совсем удобным образом. Подробно об этом будет рассказано ниже. Работа в режиме цифровой коррекции иллюстрируется следующими иллюстрациями.

На плате устройства сигнал от микросхемы ЦАПа попадает на выход устройства через некоторую аналоговую цепь. Схема была модифицирована так, чтобы замыкание кнопки вносило в аналоговый сигнал ошибку около 1,5 мВ, имитируя ошибку тракта цифроаналогового преобразователя.

Устройство было переведено в режим цифровой коррекции при выходном напряжении ЦАПа 7,5 В. Поведение выходного сигнала устройства показано на следующей иллюстрации.

Осциллограмма показывает, что при обнаружении ошибки выходного сигнала, она компенсируется микропроцессором. Компенсация производится примерно по экспоненциальному закону. Скорость компенсации не имеет существенного значения, так как предполагается отработка температурных (медленных) уходов цифроаналогового преобразователя. По осциллограмме видно, что ошибка ЦАПа после проведения цифровой коррекции сводится к ошибке измерителя, параметры которого вполне неплохи.

Алгоритм цифровой коррекции состоит из двух мало связанных частей, управление которыми производится разными командами, соответственно.

    1. Внесение кода коррекции в код, управляющий ЦАПом.
    2. Измерение величины ошибки выходного напряжения ЦАПа.
Ниже приводится схема алгоритма цифровой коррекции.

В алгоритме существует два регистра: регистр ЦАПа и регистр коррекции. Программист всегда имеет дело с регистром ЦАПа, пишет в него, читает из него, в этот регистр заносятся значения при формировании изменяющегося напряжения по данным файла. Регистр коррекции предназначен для компенсации ошибок цифроаналогового преобразователя. Если разрешена цифровая коррекция, то в этот регистр заноситсяпоправка, которая суммируется с основным значением в регистре ЦАПа перед переписью кода в микросхему преобразователя.

Режим цифровой коррекции включается (и выключается) явной командой E0h с кодом 1 (0). Эта запись разрешает внесение поправок в код, при этом регистр коррекции обнуляется. Для того чтобы в регистре коррекции оказалось значение ошибки, АЦП должен измерить выходное напряжение ЦАПа. Это происходит только по указанию программиста. Для измерения величины ошибки, аналого-цифровой преобразователь должен быть запущен в многоканальном режиме и в числе измеряемых каналов должен быть и канал 5 (не зависимо от того выдается ли информация в линию). При каждом измерении канала 5, микропроцессор вычисляет ошибку выходного напряжения и, если значение невелико (ошибка более 1% свидетельствует об аппаратной неисправности) и нет дополнительных запретов, записывает значение в регистр коррекции и взводит флажок valid. Этот флаг, а также значение в регистре коррекции можно прочитать командой E1h.

В определенных случаях (запись в ЦАП нового значения) изменение в регистре коррекции блокируется на какое-то время (около 1 секунды), а в некоторых случаях регистр коррекции обнуляется (после команды калибровки).

У может возникнуть вопрос, а нужна ли теперь команда калибровки. Ответ- безусловно. Во-первых, без команды калибровки ошибка может стать слишком большой и программа откажется такую ошибку корректировать. Во-вторых, команда калибровки восстанавливает линейность преобразователя. Поэтому, когда есть возможность- делайте калибровку ЦАПа (например в начале рабочего цикла).

Предупреждение! Не следует использовать режим цифровой коррекции вблизи краев рабочего диапазона (9,9 В). К сожалению, ресурсы микроконтроллера полностью исчерпаны и не позволили мне проверить переполнение в этом случае.

Козак Виктор Романович, Новосибирск, 27-апр-2005г.
email: kozak (at) inp.nsk.su

 

Партнеры