Поставки продукции Nuvoton по официальным каналам

Предварительный делитель/аккумулятор обрабатывает выходные сигналы ПНЧ, которые слишком быстры для таймера микроконтроллера

Texas Instruments CD74AC161

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

Полезное разрешение (8 или более бит) при времени преобразования ПНЧ в десятки микросекунд требует выходных частот в десятки мегагерц. Конструкции ПНЧ, способные работать с такой скоростью, существуют, например, потрясающий 100-мегагерцовый Кинг-Конг Джима Уильямса [1] и мой собственный «20-мегагерцовый ПНЧ с зарядовым насосом» [2]. Однако эти возможные решения лишь создают еще одну потенциально досадную проблему. Что использовать в качестве счетчика?

Часто (без каламбура) идеальным и наиболее экономичным цифровым партнером для ПНЧ является встроенный периферийный модуль счетчика-таймера (counter-timer peripheral, CTP) микроконтроллера (МК), обычно обеспечивающий разрешение 16 бит при нулевой стоимости дополнительных компонентов. К сожалению, необходимость взятия нескольких (например, четырех) выборок каждого периода входящих импульсов с помощью встроенной логики CTP ограничивает максимальную скорость счета до доли (обычно ¼) частоты внутреннего тактового генератора МК.

Таким образом, для 20-мегагерцового внутреннего тактового генератора 5 МГц – это самая высокая достижимая скорость счета CTP. Прости, Конг.

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

На Рисунке 1 показана компромиссная топология, которая сочетает в себе CTP, делающий то, что он делает лучше всего (предоставляет много битов), с одной внешней 4-разрядной микросхемой двоичного счетчика, выполняющей функцию предварительного делителя и аккумулятора. Это увеличивает скорость работы периферийного устройства до 16 раз (следовательно, до 80 МГц при верхней частоте CTP, равной 5 МГц) за счет (максимум) четырех дополнительных выводов входов/выходов общего назначения (GPIO).

100-мегагерцовый счетчик предварительно делит и накапливает младшие биты ПНЧ, чтобы неуклюжий CTP мог справиться с преобразованием.
Рисунок 1. 100-мегагерцовый счетчик предварительно делит и накапливает младшие
биты ПНЧ, чтобы неуклюжий CTP мог справиться с преобразованием.

Вот как это работает.

  1. Пять выводов GPIO запрограммированы для обмена с делителем/аккумулятором:
    а. Четыре как входы (от IN1 до IN4);
    б. Один как выход (OUT).
  2. IN4 также запрограммирован на ввод в выбранный CTP, настроенный на 16-битное накопление.

Каждый цикл интегрирования ПНЧ состоит из следующих этапов:

  1. OUT = 0 для запрета счета.
  2. 20-битное начальное значение (X1) формируется путем конкатенации состояний битов INx (как 4 младших битов) с 16 битами CTP (как 16 старших битов), т. е. X1 = [CCCC CCCC CCCC CCCC IIII].
  3. OUT = 1 для желаемого интервала интегрирования. Практический максимум составляет отношение 220 к максимальной выходной частоте ПНЧ, который может быть короче, если требуется более низкое разрешение и/или более высокая скорость преобразования.
  4. OUT = 0 для замораживания счета.
  5. 20-битное конечное значение (X2) формируется путем конкатенации INx с CTP.
  6. Результат 20-битного преобразования равен X2 – X1 по модулю 220.

Обратите внимание, что если отношение максимальной частоты ПНЧ к максимальной скорости счета CTP меньше 8x, то для интерфейса необходимо выделить только три вывода INx (Xx = [CCC CCCC CCCC CIII]), при этом IN3 запрограммирован как вход CTP. Если же меньше 4x, то только два вывода (Xx = [CC CCCC CCCC CCII]). И так далее.

Если простота арифметики важнее экономии выводов GPIO, то шестой выходной вывод можно подключить к /LOAD и в начале преобразования подавать импульс низкого уровня для сброса битов INx в ноль, а также выполнять аналогичную предварительную загрузку битов CTP. Это позволит исключить из последовательности преобразования некоторые шаги.

Ссылки

  1. Williams, Jim. "Designs for High Performance Voltage-to-Frequency Converters."
  2. Stephen Woodward. 20-мегагерцовый ПНЧ с зарядовым насосом

Материалы по теме

  1. Datasheet Texas Instruments CD74AC161

EDN

Перевод: AlexAAN по заказу РадиоЛоцман

На английском языке: Preaccumulator handles VFC outputs that are too fast for a naked CTP to swallow

61 предложений от 33 поставщиков
Двоичный синхронный счетчик, семейство AC, 90МГц, 1 элемент, 4 входа, 1.5В - 5.5В, SOIC-16
AllElco Electronics
Весь мир
CD74AC161E
Harris
7.83 ₽
T-electron
Россия и страны СНГ
CD74AC161E
Texas Instruments
9.75 ₽
Триема
Россия
CD74AC161M96
Texas Instruments
36 ₽
CD74AC161
Texas Instruments
по запросу
ТМ Электроникс. Электронные компоненты и приборы. Скидки, кэшбэк и бесплатная доставка
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя