УДК 681.335
АНАЛОГО-ЦИФРОВЫЕ ПРЕОБРАЗОВАТЕЛИ ПОСЛЕДОВАТЕЛЬНОГО ПРИБЛИЖЕНИЯ С ОПТИМАЛЬНОЙ ПРОЦЕДУРОЙ ПОДБОРА КОДА
© 2003 Н. Н. Хрисанов
Самарский государственный технический университет
Рассматривается метод повышения быстродействия аналого-цифровых преобразователей последовательного приближения за счет применения оптимальных стратегий поиска.
Аналого-цифровые преобразователи (АЦП) последовательного приближения характеризуются следующими особенностями:
1. При подборе цифрового кода используется алгоритм половинного деления. Однако, как известно, метод половинного деления обеспечивает наибольшее быстродействие лишь в том случае, когда вероятности всех возможных кодов на выходе равны между собой, т. е. измеряемая величина подчиняется равномерному закону распределения вероятностей во всем диапазоне своего изменения. Однако во многих случаях закон распределения входного сигнала отличается от равномерного. При этом, если закон распределения входной преобразуемой величины известен, можно определить вероятности для всех комбинаций выходного кода и использовать эту информацию в процессе подбора кода.
2. Длительность одного такта преобразования, как правило, остается постоянной в течение всего времени преобразования. Она складывается из времени установления напряжения на выходе цифро-аналогового преобразователя (ЦАП) - /ЦАП и времени срабатывания логики /лог. Время /лог является постоянной величиной, время ¿ЦАП уменьшается с уменьшением веса разряда, и, следовательно, для определения младших разрядов длительность такта преобразования может быть уменьшена. Известны АЦП, в которых используются две частоты: одна для преобразования старших разрядов, а другая, более высокая, для преобразования младших разрядов [ 1 ], что позволяет повысить быстродействие на 30 %.
3. Для формирования напряжения компенсации используется один ЦАП. В то же время использование нескольких ЦАП, очевидно, позволяет значительно сузить область поиска и, следовательно, повысить быстродействие.
В [2-5] предложены АЦП последовательного приближения, свободные от перечисленных выше недостатков. Особенностью их является то, что процедура подбора кода строится в соответствии с оптимальной стратегией поиска, учитывающей как динамические параметры ЦАП, так и вероятностные характеристики преобразуемого сигнала. Кроме того, возможно применение произвольного числа ЦАП.
Структура АЦП. Возможная структура АЦП последовательного приближения, обладающего вышеперечисленными свойствами, приведена на рис. 1. АЦП содержит К цифро-аналоговых преобразователей и такое же число схем сравнения. Алгоритм подбора определяется содержимым постоянного запоминающего устройства (ПЗУ), на старшие адресные входы которого подается результат сравнения преобразуемого напряжения с напряжениями, формируемыми с помощью цифро-аналоговых преобразователей, а на младшие адресные входы - код с первых выходов регистра (который подается на вход первого ЦАП). Вместо ПЗУ возможно использование разделяемого оперативного запоминающего устройства (ОЗУ), если АЦП используется в составе периферии персонального компьютера, что позволяет оперативно менять алгоритм аналого-цифрового преобразования. Таким образом, код на выходе ПЗУ определяется результатом сравне-
Конец преобразования
Рис. 1. Структура АЦП
ния напряжений на выходах ЦАП с входным преобразуемым сигналом, а также значением кода, поступающего на первый ЦАП с выхода регистра. АЦП также содержит генератор тактовых импульсов, счетчик для формирования заданных интервалов времени, регистр для хранения промежуточных значений выходного кода, триггер. Возможный алгоритм подбора кода для АЦП с двумя ЦАП приведен на рис. 2 в виде графа.
В вершинах графа на рис. 2 записаны значения кодов (в десятичной системе счисления), подаваемых соответственно на нижний и верхний ЦАПы. Левые ветви графа соответствуют случаю, когда ивх<итт<и1Хкт .
Эта ветвь графа помечена комбинацией «00» (результат сравнения на выходах схем сравнения, причем первая цифра соответствует выходу первой схемы сравнения, а вторая -второй). Центральные ветви соответствуют
случаю £/ЦАп2 - ^вх < ^цаш и обозначены
как «01». Аналогично правые ветви соответствуют случаю £/цдП2 < и тт <ит и обозначены как «11». Процесс подбора кода прекращается по достижении висячей вершины. В качестве выходного кода, соответствующего входному напряжению £/вх, берется код, указанный на рис. 2 в прямоугольниках.
Длительность одного такта преобразования определяется содержимым счетчика, которое обновляется в начале каждого такта. Новое значение записывается с выходов -5 ПЗУ. Счетчик работает в режиме вычитания, и очередной такт заканчивается, когда его содержимое станет равным нулю. При этом на выходе счетчика формируется сигнал, по которому в регистр записываются очередные значения кодов, и этот же сигнал переводит сам счетчик в режим записи, что позволяет записать в счетчик значение задержки для следующего такта преобразования.
Рис. 2. Алгоритм подбора кода для АЦП с двумя ЦАП
Рассмотрим работу устройства. Пусть на вход АЦП подано напряжение, соответствующее коду 6. Процесс преобразования для 4-х разрядного АЦП в соответствии с графом, приведенным на рис. 2, осуществляется следующим образом.
В начале триггер устанавливается в единичное состояние внешним сигналом «Пуск», в счетчик записывается единица, а регистр обнуляется, и независимо от уровня сигналов на выходе схем сравнения на первых и вторых выходах ПЗУ устанавливаются соответственно двоичные коды чисел 9 и 6. С генератора начинают поступать импульсы на счетчик, и после первого импульса содержимое счетчика становится равным нулю, на его выходе формируется импульс, по переднему фронту которого коды с выхода ПЗУ (в данном случае 6 и 9) записываются в регистр. В счетчик из ПЗУ записывается число, пропорциональное времени установления напряжения на выходе верхнего ЦАП, поскольку на него подается больший код 9. Счетчик переходит в режим вычитания. По мере поступления импульсов на его вход с выхода генератора импульсов содержимое счетчика уменьшается. Когда оно станет равным нулю (к этому моменту времени переходные процессы в ЦАП закончатся), на выходе счетчика сформируется импульс, который зафиксирует код на выходе схем сравнения. Исходя из принятого предположения (входное напряжение соответствует коду 6, а это означает,
что ^ЦАП2 - ивх <ицлп\), на выходе схем сравнения установится комбинация «(Некоторая поступит на старшие адресные входы ПЗУ. В результате на выходе ПЗУ появятся коды 7 и 8, которые будут записаны в регистр и далее поданы соответственно на нижний и верхний ЦАПы. В счетчик из ПЗУ будет записано число, пропорциональное времени установления напряжения на выходе ЦАП, при подаче на его вход кода 8 при условии, что ранее на его входе был код 9. Счетчик переходит в режим вычитания. Когда содержимое его станет равным нулю, на выходе схем сравнения установится комбинация «00», поскольку в данном случае (УЦАП2 < £/ЦАП1 < ивх .
По импульсу, формируемому счетчиком при его обнулении, в ту часть регистра, которая подключена к выходной шине АЦП, будет записан код 6. На последнем выходе ПЗУ установится сигнал логической единицы, который вернет триггер в исходное состояние. Процесс преобразования на этом заканчивается. Заметим, что преобразование закончилось через два такта работы устройства. Для обычного четырехразрядного АЦП последовательного приближения время преобразования всегда равно четырем тактам.
Математическая модель процесса преобразования. Аналого-цифровое преобразование в данном случае представляет собой процесс параллельно-последовательной проверки возможных кодовых комбинаций,
поступающих с ПЗУ. Очередной код подается на вход соответствующего ЦАП, напряжение на выходе которого сравнивается с входным преобразуемым напряжением £/вх с помощью схем сравнения. Следующая кодовая комбинация на выходе формирователя кодов определяется на основе результатов этих сравнений. Совокупность операций по проверке одного кода будем называть тестом. В данном случае тест включает формирование очередного цифрового кода, преобразование его в аналоговый сигнал с помощью ЦАП, сравнение этого сигнала с входным с помощью схемы сравнения и выдачу результата сравнения на соответствующий вход ПЗУ. Пусть все возможные кодовые комбинации, которые можно сопоставить преобразуемому напряжению, составляют множество
Г2, причем |П| = 2" и 0 = [0,1,2,...,ЛГ-1],
где п - разрядность АЦП и N = 2”. Кодовые комбинации, которые можно использовать в процессе преобразования, будем обозначать
через к., причем у = О, N-\ .Тесты будем обозначать как Л, причем применение теста /. означает подачу на вход ЦАП двоичного кода числа /. Применение любого теста /. разбивает исходное множество на два подмножества: Ц и Г2,. Будем считать, что результат применения теста I. положителен, если после его применения становится ясным, что искомая кодовая комбинация принадлежит множеству £1.. Отрицательный исход теста означает, что искомая кодовая комбинация принадлежит множеству П/. Пусть разрядность АЦП равна четырем, т. е. п = 4, Ы= 16. В этом
случае О = [0,1,.., 15]. Тогда применение теста ?8 разбивает исходное множество О на подмножества 08 =[0,1,.., 7] и О« = [8,9,.., 15], или, в общем виде, тест Г разбивает исходное множество на подмножества = [0,1,.., / -1]
и О. = [/, 1 + 1,..,N — 1].
Всю совокупность применяемых тестов можно представить в табличном виде (табл. 1). Каждый тест представляется своим двоичным кодом, в частности, код теста I. есть г-ая строка матрицы
Л = {аДг = йм, j = lN,
причем а,у = 1, если г < /, и ау = 0, если / > у. Учитывая, что тест разбивает исходное множество О на два подмножества €1 и О/, можно записать
[1, если е О,,
а,; (0,если к] <£. О,, / = \,М,] = \,И. ^
Из (1) следует, что М = И, т. е. матрица А является квадратной, в которой все элементы главной диагонали и все элементы ниже нее равны единице, а остальные элементы равны нулю.
Множеству тестов Т = {/,},/ = 1, М поставим в соответствие матрицу
х = Цт„ ||, г = 1, М, 7=1 ,М затрат на их проведение, где ху - затраты времени на проведение теста если перед ним выполнялся
Таблица 1. Табличное представление тестов
Тесты Т Элементы множества О Затраты т
0 1 N -1
«п (Хп а\ы Г,о *12 Ъз т\м
*2 (Х2\ ссгг a2N Г21 Г20 Г23 Т2М
*м аи\ амг аш ТМ1 ТМ2 тмъ ТМ0
я Чх Чг Чы
тест Диагональные элементы матрицы соответствуют затратам на проведение теста Л, если этот тест выполняется первым (перед ним АЦП находился в исходном состоянии).
Величина Ту в значительной степени определяется быстродействием ЦАП, который можно представить как инерционное звено первого порядка [1]. Тогда
, 0,5
Ъ =-т/«Г-----7
где г- постоянная времени инерционного звена.
Каждому элементу множества всех возможных кодов О поставим в соответствие вектор-строку априорных вероятностей
= У-0,N-\, где q - вероятность
того, что входному сигналу соответствует выходной код к.. Заметим, что все априорные вероятности q: составляют полную группу событий
(2)
>о
поскольку в результате аналого-цифрового преобразования входному сигналу всегда будет поставлен в соответствие только один какой-либо код. Если условие (2) не выполняется, априорные вероятности необходимо нормировать:
>0
Определим алгоритм подбора выходного кода как некоторую стратегию
ЫО.) = ■{/”, }, где каждый тест приме-
няется непосредственно после предыдущего при отрицательном исходе. Верхний индекс в обозначении теста означает номер стратегии, в которую входит данный тест (нулевой номер имеет стратегия для исходного множества П). При положительном исходе, например, теста , производится поиск в подмножестве в соответствии с частичной стратегией после чего применяется сле-
дующий тест стратегии сг(О). Задать алгоритм подбора выходного кода - значит определить стратегию сг(п), а также все частичные стратегии. Считаем, что если задана стратегия сг(о), то определены все частичные
стратегии сг(о';). Таким образом, стратегия
сг(п) определяет аналитическую форму записи стратегии подбора кода. Графически стратегию подбора кода можно представить деревом, вершины которого обозначают применяемые тесты, горизонтальные дуги - отрицательные исходы тестов, вертикальные -положительные исходы тестов (рис. 3). Если одновременно применяются несколько тестов (в АЦП, содержащем несколько ЦАП), то используются так называемые комплексные тесты. Так, при применении двух ЦАП может использоваться комплексный тест , соответствующий одновременному применению тестов И /.• .
'2
Учитывая (2), для Л можно определить вероятность положительного исхода
м
Вероятность отрицательного исхода теста ї. соответственно равна
Й-1-Й-ІА.
у=<
Рис. 3. Алгоритм подбора кода для АЦП
П> сть определена некоторая стратегия лизацию стратегии можно записать
О-(О) со всеми частичными стратегиями следующим образом:
(т(о"). Тогда соответствующие ей затраты, , г _ 1 )
необходимые для определения выходного с[ст("°'^_^-|1л( + П-ел^1ст^аЛ/)]+2/1с[а('пл;|,(5)
кода из множества О. в наибольшей степени ~
где О, - апостериорная вероятность положи-соответствующего входному сигналу, ЯВЛЯЮТ- ^ ’1 1 ' к
ся случайной величиной, значение которой тельного исхода хеста /' , входящего в стра-зависит от уровня входного преобразуемого
сигнала. Пусть ф(П)] - математическое тегшо СТ(П‘)- Апостериорная информация о ожидание этой случайной величины. Тогда том>чт0 искомый код накодитея в множестве задача построения оптимальной стратегии , если на предыдущем шаге установлено,
подбора кода сводится к построению такой _
что искомый код принадлежит множеству £2,
стратегии а'(О.) (и, следовательно, всех ча-
, ч (О.] с О, ), определяется по формуле
стичных стратегий а (Ди)), для которой
справедливо <2 =б Д?
с[сг (О)] = пшС[сг(0)] Заметим, что
Определим средние затраты на реализацию какой-либо частичной стратегии
о(О.;) (для упрощения выражений в обозна- п
' '7 4 ^ г С учетом (4) и (6) запишем (5) в виде
чении этой стратегии опустим верхний ин-
деке и). К моменту применения этой страте- скм=4_(, * а .±&сЪ,<!,кя гии тестами, проведенными на предыдущих С?Л ‘«=1 “ ».2 1 ’Г
шагах процесса, установлено, что элемент с (7)
данными свойствами принадлежит множе- На втором шаге стратегии (3) применя-
етву О,. Пусть стратегия а(П,) имеет еле- ется тест ^ _ раз6ивающиИ подмножество
дующий вид:
(6)
и=2
О/, на два подмножества: и О,^, при-
чем 0'; и Сі'ь = О;,, ГШ,2 = 0. С учетом Заметим что этого (7) можно переписать в следующем
виде:
Z2=i. (4)
Ф(П,)]. і (t„ ¿g; + ти te' + ¿e; cfr(ri,,;
и-2 u-2
В соответствии со стратегией (3) первым + )]+ е,. ф(П')}
применятся тест , разбивающий исходное
Продолжая далее подобные рассужде-множество €1, на два подмножества: £1^ и £1^, ния? получим окончательную формулу для
средних затрат на реализацию стратегии
причем Q,. U О/, = Ц, QJ П Qi = 0 ■ Поиск в подмножествах Q';. и QJt производится в со-
(r\¡ \ 1 ^•[G(^f)]='=_lT/i + ¿
ответствии со стратегиями <^£2^ ) и alQ¿ I. Q, [ 1 %
Тогда выражение для средних затрат на pea- (8)
JpJp-1
и=р
к
к
+ ^
Р=\
Рис. 4. Зависимость среднего времени преобразования от с.к. о. входного сигнала
Заметим, что в стратегии о(О,) пос-
ний тест не выполняется вследствие
называемого «конечного эффекта», зак-«чающегося в том, что преобразуемому на-)яжению может быть сопоставлен един-
. венный код из множества О,.. Тогда при от-
-ицательном исходе тестов ) можно
сделать вывод о том, что искомый код находится В подмножестве Од . Поэтому во втором слагаемом в (8) суммирование производится до (к - 1).
Таким образом, построение оптимальной процедуры подбора кода соответствует известной задаче технической диагностики поиска единственного отказа в объекте [6].
Если используются комплексные тесты, т. е. в АЦП установлены, например, V ЦАП, то (8) запишется в виде
Ч./+*
-.Ей
и=1
гае '"“-і т- заг-
раты на комплексный тест равны затратам на тест, входящий в состав комплексного и имеющий максимальное значение.
Метод построения оптимальных стратегий, основанный на решении задачи о минимальном покрытии, предложен в [7].
Оценим эффективность предложенного метода повышения быстродействия АЦП. Пусть входной сигнал х изменяется в пределах [0, хт~\, закон распределения входного сигнала - нормальный, математическое ожидание равно тх = хт / 2 , среднеквадратичное отклонение ст. На рис. 4 приведена зависимость среднего времени преобразования для
8-ми разрядного АЦП от отношения хт / <т для различных значений V - количества ЦАП.
Величина среднего времени преобразования нормирована к величине максимального значения одного такта преобразования (времени, необходимого для установления напряжения на выходе ЦАП при изменении от нуля до уровня, соответствующего середине диапазона).
Из рис. 4 следует, что учет вероятностных характеристик входного сигнала, применение большего количества ЦАП, учет динамических параметров ЦАП позволяет значи тельно повысить быстродействие АЦП по< ледовательного приближения. Заметим, ч
для обычного 8-разрядного АЦП ТПР= 8.
Список литерату ры
1. Чернов В. Г. Устройства ввода-вывода аналоговой информации для цифровых систем сбора и обработки данных. - М.: Машиностроение, 1988. - 184 с.
2. Пат. 2178948 России МКИЗ НОЗМ 1/26. Аналого-цифровой преобразователь логического развертывания / Н. Н. Хрисанов (Россия); № 2000104350; заявлено 21.02.2000; Опубл. 27.01.2002. Бюл.№3.
3. Пат. 2187885 России МКИ3 НОЗМ 1/26. Аналого-цифровой преобразователь/ Н. Н. Хрисанов (Россия); № 2001105121/09; заявлено 21.02.2001;. Опубл. 20.08.2002. Бюл. № 23.
4. Пат. 2183381 России МКИ3 НОЗМ 1/26. Аналого-цифровой преобразователь/
Н. Н. Хрисанов (Россия); № 2001108023/09; заявлено 26.03.2001; Опубл. 10.06.2002. Бюл. № 16.
5. Пат. 2183382 России МКИЗ НОЗМ 1/26. Многоканальный аналого-цифровой преобразователь/ Н. Н. Хрисанов (Россия); № 2001108022; заявлено 26.03.2001;. Опубл. 10.06.2002. Бюл. № 16.
6. Пашковский Г. С. Задачи оптимального обнаружения и поиска отказов в РЭА. М.: Радио и связь, 1981. - 280 с.
7. Хрисанов Н. Н., Фролагин Д. Б. Метод решения задач поиска неисправностей// Вестник СамГТУ, серия “Физико-математичес-кие науки”, вып. № 12/ Самарский госуд. техн. ун-т. 2001. С. 170-178.
ANALOG-TO-DIGITAL APPROXIMATION CONVERTERS WITH THE OPTIMUM PROCEDURE OF CODE SELECTION
© 2003 N. N. Khrissanov
Samara State Technical University
Method of increasing the speed of analog-to-digital approximation converters due to the use of optimum search strategies is considered.