Выпуск #9/2018
Рычков Артем Игоревич, Умурзаков Фаиль Азаматович
Блок цифровой коррекции для высокопроизводительного аналого-цифрового преобразователя
Блок цифровой коррекции для высокопроизводительного аналого-цифрового преобразователя
Просмотры: 2979
В статье рассмотрена реализация блока цифровой коррекции для высокопроизводительного аналого-цифрового преобразователя с рабочей частотой свыше 100 МГц. Описывается общая архитектура блока цифровой коррекции. Приводятся сравнительные характеристики АЦП с цифровой коррекцией, оперирующей числами с плавающей запятой и с фиксированной запятой.
УДК 621.3.087.92
DOI: 10.22184/1993-8578.2018.82.330.334
УДК 621.3.087.92
DOI: 10.22184/1993-8578.2018.82.330.334
Теги: adc analogue-to-digital converter digital correction block floating point and fixed point computations high precision pipelined аналого-цифровой преобразователь ацп блок цифровой коррекции высокоточный вычисления с плавающей запятой и фиксированной запятой конвейерный
В последнее время все быстрее развиваются электронные системы, аналого-цифровые преобразователи следуют за данной тенденцией. Рост производительности цифровых блоков требует повышения производительности аналого-цифровых интегральных схем, с повышением производительности все острее становится проблема с погрешностями проведения преобразования. Цифровой блок коррекции требуется для компенсации погрешностей преобразования, которые ухудшают линейность передаточной характеристики и приводят к невозможности выполнить аналого-цифровое преобразование с точностью больше 12 разрядов. В статье рассмотрена разработка блока цифровой коррекции для двухканального высокоточного АЦП с рабочей частотой свыше 100 МГц.
Основные источники погрешностей:
• напряжение смещения компаратора и отклонения опорных напряжений (главная причина);
• напряжение смещения ОУ;
• конечность усиления по постоянному току ОУ;
• конечность полосы усиления ОУ;
• разброс величин емкостей конденсаторов ЦАП.
Для компенсации погрешностей преобразования в составе АЦП реализован блок цифровой коррекции. В первую очередь разработанный блок нацелен на компенсацию ошибок смещения (влияние напряжения смещения ОУ) и наклона передаточной характеристики (влияние конечности усиления на постоянном токе ОУ, разброс номиналов конденсаторов). Под смещением понимается смещение отдельных сегментов передаточной характеристики. Так как оба канала являются идентичными, разработано два идентичных блока калибровки, которые управляются при помощи конечного автомата. Итоговая структура представлена на рис. 1.
Цифровой алгоритм коррекции основывается на кодировании с излишним значащим разрядом (RSD-кодирование). Структура канала калибровочного блока представлена на рис. 2. Блок структурно разделен на 4 части. Калибруются 4 старших каскада — 3,5-битный, два 2,5-битных и 1,5-битный. Младшие 1,5-битные каскады мало влияют на точность преобразования, поэтому в них нет необходимости калибровки. Арифметический блок состоит из однотипных цифровых процессоров для обработки сигналов (ЦПОС), управляющего конечного автомата и блока вычисления коэффициентов (см. рис. 3). Так как необходимые вычисления невозможно произвести за один такт, для сохранения частоты следования выходных данных необходимо организовать вычислительный конвейер.
Функционирование АЦП можно условно разделить на два режима: режим преобразования данных (нормальный режим) и режим калибровки. Блок цифровой коррекции используется в обоих режимах. Калибровка происходит итеративно от младшего каскада к старшему каскаду. Для более точной калибровки смещения вся передаточная характеристика делится на сегменты, соответствующие главным кодовым переходам. Это позволяет калибровать смещение характеристики на каждом участке отдельно, а не при помощи усредненного значения.
Модуль реализует два режима работы калибровки: калибровка смещения и калибровка наклона. Также предусмотрен режим отладки. Режим отладки позволяет косвенно определить корректность работы калибровки и вычислить значения коэффициентов на основе выходных данных модуля. Когда устройство входит в режим калибровки, машина состояний цифрового блока подает сигнал на выдачу на вход калибруемого каскада известного тестового сигнала; значения, формируемые на выходе из каскада, сравниваются с идеальными, и происходит расчет и заполнение матрицы корректирующих коэффициентов для каскада. Данная процедура производится для каждого каскада и происходит единожды. Расчет поправочных коэффициентов 1,5-битного каскада происходит по формулам (1). D0–D5 — это данные, поступившие на вход 1,5-битного каскада, из них вычитаются рассчитанные константы и коэффициенты, рассчитанные на предыдущих этапах. K0–K5 — поправочные коэффициенты для 1,5-битного каскада.
(1)
Для остальных каскадов расчет происходит аналогично — увеличивается количество коэффициентов. Все арифметические блоки являются однотипными параметризуемыми цифровыми процессорами обработки сигналов.
Далее в нормальном режиме работы происходит цифровая коррекция с учетом рассчитанных на этапе калибровки значений по формуле (2). Данная формула является частным решением для 1,5-битного каскада.
.(2)
Цифровая коррекция значений по формуле аналогичной формуле (2) происходит в каждом из калибруемых каскадов. Последовательность действий при вычислениях приведена на рис. 4.
Первая реализация алгоритма блока цифровой коррекции АЦП позволяла корректировать пять младших значащих разрядов каждого из каскадов для исправления ошибки смещения операционного усилителя до 10 мВт и разброса номиналов конденсаторов до 1 %. С ростом разрядности старших каскадов значимость корректируемых бит уменьшалась: для 1,5-битного каскада корректировка составляла 24 мВт, а для 3,5 бит каскада — 0,18 мВт. Все вычисления внутри блока калибровки и расчеты поправочных коэффициентов производились в числах с плавающей запятой. Конвертеры из целочисленных значений в числа с плавающей запятой и обратно были размещены перед блоком цифровой коррекции и после, соответственно. Это позволило сохранить большую точность при вычислениях, в том числе в операции деления (t5 на рис. 4). Была выпущена партия тестовых кристаллов, проведены испытания. Реальные испытания показали, что коррекции пяти младших значащих разрядов недостаточно. Получившийся блок цифровой коррекции занимал большую площадь на кристалле, а также имел увеличенное время калибровки на рабочей частоте.
В целях внесения поправок в алгоритм коррекции и оптимизации данного блока: сокращения потребления и площади, была разработана вторая ревизиция преобразователя.
В алгоритм была заложена корректировка ¼ диапазона преобразования для каждого из каскадов: для 1,5-битного каскада — 7 бит, для 3,5-битного каскада — 12 бит. Также использовались блоки без плавающей запятой, деление было заменено таблицей поиска (преобразований). Исходя из величины корректируемого диапазона преобразования был рассчитан набор значений, который внесен в ПЗУ. Для каждого из каскадов создано свое ПЗУ. Таким образом, после подсчета промежуточный результат t4 поступает на мультиплексор, который выбирает в ПЗУ соответствующее значение, и тем самым заменяет операцию деления (t5). В табл. 1 представлены сравнительные характеристики АЦП с блоком цифровой коррекции с плавающей запятой и блока с фиксированной запятой. Результаты получены после проведения физического синтеза с помощью программного обеспечения Cadence Encounter RTL Compiler.
На рис. 5 представлена коррекция входного сигнала АЦП с использованием блока цифровой коррекции. В рамках работы был разработан блок цифровой коррекции для высокопроизводительного высокоточного АЦП, оперирующий числами с фиксированной запятой, который был оптимизирован под используемый технологический процесс. Алгоритм цифровой коррекции разработан с учетом технологического разброса номиналов конденсаторов и смещения операционного усилителя.
ЛИТЕРАТУРА
1. Куликов Д. В. «Влияние технологического разброса на передаточную характеристику каскада конвейерного АЦП» // Научная сессия МИФИ-2006. Сб. научн. трудов. В 16 томах. Т. 1. Автоматика. Микроэлектроника. Электроника. Электронные измерительные системы. Компьютерные медицинские системы. — М.: МИФИ. — 2006. — С. 175–176.
2. Куликов Д. В., Рогаткин Ю. Б. «Автокалибровка технологического разброса параметров элементов в высокоразрядных конвейерных АЦП» // Электроника, микро- и наноэлектроника. Сб. научн. трудов. М.: МИФИ. — 2007. — С. 113–116.
3. Куликов Д. В., Рогаткин Ю. Б. «Вопросы автокалибровки высокоразрядных АЦП конвейерного типа» // Вопросы радио¬электроники АН РФ серия Общая техника. Вып. 2. — 2006. — С. 81–91.
4. Агрич Ю., Лифшиц В. «Новый АЦП компании «Миландр» — Высокое быстродействие и малое энергопотребление», Электроника: НТБ, Вып. 5. — 2014. — С. 66–72.
Основные источники погрешностей:
• напряжение смещения компаратора и отклонения опорных напряжений (главная причина);
• напряжение смещения ОУ;
• конечность усиления по постоянному току ОУ;
• конечность полосы усиления ОУ;
• разброс величин емкостей конденсаторов ЦАП.
Для компенсации погрешностей преобразования в составе АЦП реализован блок цифровой коррекции. В первую очередь разработанный блок нацелен на компенсацию ошибок смещения (влияние напряжения смещения ОУ) и наклона передаточной характеристики (влияние конечности усиления на постоянном токе ОУ, разброс номиналов конденсаторов). Под смещением понимается смещение отдельных сегментов передаточной характеристики. Так как оба канала являются идентичными, разработано два идентичных блока калибровки, которые управляются при помощи конечного автомата. Итоговая структура представлена на рис. 1.
Цифровой алгоритм коррекции основывается на кодировании с излишним значащим разрядом (RSD-кодирование). Структура канала калибровочного блока представлена на рис. 2. Блок структурно разделен на 4 части. Калибруются 4 старших каскада — 3,5-битный, два 2,5-битных и 1,5-битный. Младшие 1,5-битные каскады мало влияют на точность преобразования, поэтому в них нет необходимости калибровки. Арифметический блок состоит из однотипных цифровых процессоров для обработки сигналов (ЦПОС), управляющего конечного автомата и блока вычисления коэффициентов (см. рис. 3). Так как необходимые вычисления невозможно произвести за один такт, для сохранения частоты следования выходных данных необходимо организовать вычислительный конвейер.
Функционирование АЦП можно условно разделить на два режима: режим преобразования данных (нормальный режим) и режим калибровки. Блок цифровой коррекции используется в обоих режимах. Калибровка происходит итеративно от младшего каскада к старшему каскаду. Для более точной калибровки смещения вся передаточная характеристика делится на сегменты, соответствующие главным кодовым переходам. Это позволяет калибровать смещение характеристики на каждом участке отдельно, а не при помощи усредненного значения.
Модуль реализует два режима работы калибровки: калибровка смещения и калибровка наклона. Также предусмотрен режим отладки. Режим отладки позволяет косвенно определить корректность работы калибровки и вычислить значения коэффициентов на основе выходных данных модуля. Когда устройство входит в режим калибровки, машина состояний цифрового блока подает сигнал на выдачу на вход калибруемого каскада известного тестового сигнала; значения, формируемые на выходе из каскада, сравниваются с идеальными, и происходит расчет и заполнение матрицы корректирующих коэффициентов для каскада. Данная процедура производится для каждого каскада и происходит единожды. Расчет поправочных коэффициентов 1,5-битного каскада происходит по формулам (1). D0–D5 — это данные, поступившие на вход 1,5-битного каскада, из них вычитаются рассчитанные константы и коэффициенты, рассчитанные на предыдущих этапах. K0–K5 — поправочные коэффициенты для 1,5-битного каскада.
(1)
Для остальных каскадов расчет происходит аналогично — увеличивается количество коэффициентов. Все арифметические блоки являются однотипными параметризуемыми цифровыми процессорами обработки сигналов.
Далее в нормальном режиме работы происходит цифровая коррекция с учетом рассчитанных на этапе калибровки значений по формуле (2). Данная формула является частным решением для 1,5-битного каскада.
.(2)
Цифровая коррекция значений по формуле аналогичной формуле (2) происходит в каждом из калибруемых каскадов. Последовательность действий при вычислениях приведена на рис. 4.
Первая реализация алгоритма блока цифровой коррекции АЦП позволяла корректировать пять младших значащих разрядов каждого из каскадов для исправления ошибки смещения операционного усилителя до 10 мВт и разброса номиналов конденсаторов до 1 %. С ростом разрядности старших каскадов значимость корректируемых бит уменьшалась: для 1,5-битного каскада корректировка составляла 24 мВт, а для 3,5 бит каскада — 0,18 мВт. Все вычисления внутри блока калибровки и расчеты поправочных коэффициентов производились в числах с плавающей запятой. Конвертеры из целочисленных значений в числа с плавающей запятой и обратно были размещены перед блоком цифровой коррекции и после, соответственно. Это позволило сохранить большую точность при вычислениях, в том числе в операции деления (t5 на рис. 4). Была выпущена партия тестовых кристаллов, проведены испытания. Реальные испытания показали, что коррекции пяти младших значащих разрядов недостаточно. Получившийся блок цифровой коррекции занимал большую площадь на кристалле, а также имел увеличенное время калибровки на рабочей частоте.
В целях внесения поправок в алгоритм коррекции и оптимизации данного блока: сокращения потребления и площади, была разработана вторая ревизиция преобразователя.
В алгоритм была заложена корректировка ¼ диапазона преобразования для каждого из каскадов: для 1,5-битного каскада — 7 бит, для 3,5-битного каскада — 12 бит. Также использовались блоки без плавающей запятой, деление было заменено таблицей поиска (преобразований). Исходя из величины корректируемого диапазона преобразования был рассчитан набор значений, который внесен в ПЗУ. Для каждого из каскадов создано свое ПЗУ. Таким образом, после подсчета промежуточный результат t4 поступает на мультиплексор, который выбирает в ПЗУ соответствующее значение, и тем самым заменяет операцию деления (t5). В табл. 1 представлены сравнительные характеристики АЦП с блоком цифровой коррекции с плавающей запятой и блока с фиксированной запятой. Результаты получены после проведения физического синтеза с помощью программного обеспечения Cadence Encounter RTL Compiler.
На рис. 5 представлена коррекция входного сигнала АЦП с использованием блока цифровой коррекции. В рамках работы был разработан блок цифровой коррекции для высокопроизводительного высокоточного АЦП, оперирующий числами с фиксированной запятой, который был оптимизирован под используемый технологический процесс. Алгоритм цифровой коррекции разработан с учетом технологического разброса номиналов конденсаторов и смещения операционного усилителя.
ЛИТЕРАТУРА
1. Куликов Д. В. «Влияние технологического разброса на передаточную характеристику каскада конвейерного АЦП» // Научная сессия МИФИ-2006. Сб. научн. трудов. В 16 томах. Т. 1. Автоматика. Микроэлектроника. Электроника. Электронные измерительные системы. Компьютерные медицинские системы. — М.: МИФИ. — 2006. — С. 175–176.
2. Куликов Д. В., Рогаткин Ю. Б. «Автокалибровка технологического разброса параметров элементов в высокоразрядных конвейерных АЦП» // Электроника, микро- и наноэлектроника. Сб. научн. трудов. М.: МИФИ. — 2007. — С. 113–116.
3. Куликов Д. В., Рогаткин Ю. Б. «Вопросы автокалибровки высокоразрядных АЦП конвейерного типа» // Вопросы радио¬электроники АН РФ серия Общая техника. Вып. 2. — 2006. — С. 81–91.
4. Агрич Ю., Лифшиц В. «Новый АЦП компании «Миландр» — Высокое быстродействие и малое энергопотребление», Электроника: НТБ, Вып. 5. — 2014. — С. 66–72.
Отзывы читателей