Программируемые электронные компоненты. От аналоговых вычислительных машин до FPAA
Разобравшись с программируемыми цифровыми компонентами, логично перейти к другой, менее очевидной категории — программируемой аналоговой электронике.
На первый взгляд сочетание этих слов кажется противоречивым. Программирование обычно связывают с цифровыми системами, где информация представлена битами и байтами. Однако аналоговые системы тоже могут быть программируемыми — если под программированием понимать возможность изменять структуру или параметры устройства без физической переделки схемы.
Четвертую часть читать здесь.
Время чтения: 15 минут
Электроника? Это очень просто!
Чтобы понять принцип работы таких компонентов, полезно сначала обратиться к аналоговым вычислительным машинам (АВМ).
Аналоговые вычислительные машины
До появления цифровых вычислительных машин существовали и широко применялись АВМ. В них информация представлялась не двоичными числами, а непрерывными физическими величинами — например, электрическим напряжением или током.
Допустим, необходимо сложить числа 2 и 3. В АВМ этим числам можно сопоставить напряжения 2 и 3 В. Резистивный сумматор сложит их и сформирует на выходе 5 В. Результат можно измерить обычным вольтметром.
По такому принципу выполнялись не только простейшие арифметические операции. АВМ использовались для интегрирования и дифференцирования, решения дифференциальных уравнений, расчёта нелинейных функций и моделирования физических процессов.
При этом носителем информации необязательно должно было быть электричество. Существовали гидравлические и пневматические вычислительные системы, в которых информация передавалась давлением и расходом жидкости или газа.
Такие системы применялись там, где обычная электроника работала плохо или представляла опасность: при высокой температуре, наличии агрессивных химических веществ, сильном ионизирующем излучении или во взрывоопасной среде.
Отдельное направление, изучающее логические устройства, работающие с потоками жидкости или газа, получило название струйной логики.
Однако наиболее известными стали именно электрические АВМ. До широкого распространения цифровых ЭВМ они использовались в научных исследованиях, промышленности, системах автоматического управления, авиации и ракетной технике.
Если посмотреть на АВК-31, первое, что бросается в глаза, — отсутствие привычных средств программирования. Здесь нет клавиатуры, монитора или даже набора тумблеров и светодиодов, характерных, например, для одного из первых персональных компьютеров Altair 8800.
Есть только панели, гнёзда и огромное количество проводов.
Именно они и выполняли роль программы.
Перемычками и проводами устанавливались электрические связи между необходимыми вычислительными блоками. Подключив один набор блоков, можно было получить одну математическую функцию, а изменив соединения — другую.
Технически это правильнее называть конфигурированием, а не программированием. Но сама идея очень близка к тому, что позднее появилось в ПЛИС: пользователь получает набор функциональных блоков и определяет, каким образом они будут соединены между собой.
Именно этот принцип лежит в основе программируемых аналоговых микросхем (ПАМ).
Что такое программируемая аналоговая микросхема
В обычной аналоговой схеме её функция определяется схемотехникой и номиналами компонентов. Если необходимо изменить коэффициент усиления, частоту фильтра или структуру сигнального тракта, приходится менять резисторы и конденсаторы, переделывать печатную плату или разрабатывать новую микросхему.
ПАМ переносит часть этой работы внутрь самого кристалла.
На нём размещается набор заранее созданных функциональных блоков:
- операционных усилителей;
- аттенюаторов;
- фильтров;
- компараторов;
- генераторов;
- АЦП и ЦАП;
- ключей;
- других специализированных узлов.
Между ними находится программируемая коммутационная система. Изменяя её конфигурацию, можно перестраивать внутреннюю структуру микросхемы.
Получается своеобразная аналоговая ПЛИС. Только вместо логических элементов используются функциональные блоки.
Одним из наиболее известных представителей такого подхода стали FPAA — Field-Programmable Analog Array, или программируемые аналоговые интегральные схемы.
FPAA — нецифровая ПЛИС
FPAA можно считать аналогом FPGA. ПЛИС предоставляет разработчику набор цифровых логических блоков и программируемых соединений между ними. ПАИС делает примерно то же самое, но работает с аналоговыми сигналами.
Внутри FPAA находятся программируемые аналоговые блоки — CAB (Configurable Analog Block). Они могут содержать операционные усилители, конденсаторы, резистивные элементы, компараторы и другие узлы.
Программируемая коммутация позволяет соединять эти блоки между собой и формировать требуемую аналоговую схему.
Например, одна конфигурация может превратить несколько блоков в активный фильтр, другая — в усилитель, третья — в генератор или вычислительный узел.
Главное преимущество заключается в том, что для изменения схемы не требуется менять печатную плату.
Откуда появилась идея FPAA
Аналоговая электроника 1960–1980-х годов в значительной степени строилась вокруг операционных усилителей. С помощью ОУ и внешних резисторов, конденсаторов и других компонентов можно было реализовать практически любые распространённые функции.
Однако существовало существенное ограничение: сама схема была аппаратно заданной.
Нужно изменить коэффициент усиления — меняем резисторы.
Изменить частоту фильтра — меняем номиналы.
Получить другую схему — переделываем соединения.
Изменить устройство принципиально — проектируем новую печатную плату или вообще новое изделие.
На бумаге аналоговая схемотехника была чрезвычайно гибкой. На практике её изменение требовало физического вмешательства в устройство.
Инженеры давно хотели получить аналоговый эквивалент ПЛИС — микросхему, которую можно было бы перестраивать после изготовления.
Первые идеи появились в 1980-х годах. Развитие CMOS-технологии сделало возможным размещение большого количества блоков и электронных ключей на одном кристалле. Сформировалась концепция CAB — Configurable Analog Block.
Первые реализации оставались преимущественно экспериментальными и широкого распространения не получили. Настоящее развитие FPAA началось в 1990-х годах.
Первые массовые FPAA
В 1990-х годах термин FPAA начал использоваться для обозначения микросхем, объединяющих аналоговые функциональные блоки, программируемую коммутацию и цифровую систему управления.
В результате на одном кристалле можно было разместить усилители, фильтры, аттенюаторы, генераторы, компараторы и другие узлы, а затем программно определить связи между ними.
Переконфигурирование выполнялось через цифровой интерфейс и занимало значительно меньше времени, чем физическая переделка схемы.
Одним из пионеров этого направления стала американская компания Anadigm. В конце 1990-х — начале 2000-х годов она выпустила семейства FPAA AN10x, AN20x и AN22x.
Эти микросхемы позволяли создавать программируемые активные фильтры, усилители, детекторы, генераторы и другие устройства. Конфигурация задавалась с компьютера через специализированное программное обеспечение.
Таким образом, разработчик мог сначала собрать требуемую схему виртуально, а затем загрузить её конфигурацию непосредственно в микросхему.
Это было особенно удобно при прототипировании: вместо изготовления нескольких вариантов печатной платы можно было менять конфигурацию одного и того же FPAA.
Переключаемые конденсаторы
Одним из важных направлений развития программируемой аналоговой схемотехники стали переключаемые конденсаторы (switched capacitors).
Идея заключается в использовании конденсатора, который периодически подключается к различным участкам схемы электронными ключами.
Частота коммутации определяет эквивалентные параметры такого узла. Поэтому вместо изготовления очень большого резистора или катушки индуктивности можно использовать конденсатор и управлять частотой его переключения.
Это особенно важно для интегральных схем.
Большие резисторы занимают значительную площадь кристалла, а качественные катушки индуктивности вообще сложно изготовить в рамках обычного кремниевого технологического процесса. Конденсаторы значительно удобнее для интеграции.
Например, изменение частоты коммутации позволяет изменять частоту среза фильтра в широком диапазоне.
У такого подхода есть особенность: схема работает с дискретной частотой переключения, поэтому возникают ограничения по максимальной рабочей частоте и дополнительные требования к фильтрации тактового сигнала.
Тем не менее переключаемые конденсаторы позволяют создавать компактные и хорошо повторяемые схемы без точной настройки каждого экземпляра.
И здесь появляется важная особенность: даже им требуется тактовый сигнал.
Помимо схем на переключаемых конденсаторах существуют и FPAA с непрерывной обработкой сигнала в реальном времени. Они лишены части ограничений переключаемых схем, но обычно требуют более сложной калибровки.
Существуют также гибридные FPAA, в которых аналоговые блоки дополняются АЦП и ЦАП.
FPAA и цифровая обработка сигналов
По мере развития цифровой электроники FPAA начали объединять с цифровыми вычислительными блоками.
Так появились гибридные и SoC-архитектуры, в которых на одном кристалле размещались:
- программируемые аналоговые блоки;
- АЦП и ЦАП;
- микроконтроллер;
- DSP;
- иногда программируемая цифровая логика.
Типичная структура системы выглядела следующим образом:
датчик → FPAA → АЦП → DSP или микроконтроллер
FPAA выполняла предварительную обработку сигнала: усиливала его, фильтровала, нормализовала и подготавливала к оцифровке. После этого цифровая часть выполняла более сложную обработку.
Такой подход позволял распределить задачи между аналоговой и цифровой частями системы.
Однако именно развитие цифровой обработки в итоге стало одной из главных причин, по которым FPAA не получили такого распространения, как FPGA.
Почему FPAA не стали «аналоговыми FPGA»
Идея FPAA выглядит очень привлекательной, но аналоговые схемы гораздо сложнее цифровых с точки зрения масштабирования.
Цифровой логический элемент может работать с двумя устойчивыми состояниями и сравнительно легко объединяться с тысячами и миллионами других элементов.
Аналоговый блок работает с непрерывными величинами. Его характеристики зависят от шума, температуры, технологического разброса, нелинейности компонентов, паразитных ёмкостей и сопротивлений.
Поэтому простое увеличение количества блоков-«аналогов» не даёт такого же результата, как увеличение количества цифровых логических элементов.
Дополнительной проблемой стало соседство аналоговой и цифровой частей. Цифровые схемы создают помехи, которые особенно заметны в чувствительных аналоговых цепях. На одном кристалле приходится одновременно поддерживать высокую вычислительную производительность и низкий уровень шума.
В результате FPAA не получили той масштабируемости и универсальности, которая сделала FPGA массовой технологией.
Ситуацию дополнительно изменило развитие DSP — цифровых сигнальных процессоров.
К 2000-м годам DSP стали достаточно производительными и недорогими. Многие задачи, которые раньше приходилось решать сложной аналоговой схемой, стало проще реализовать в цифровом виде:
АЦП → DSP → ЦАП
Цифровой алгоритм меняют программно, не меняя аппаратную схему. Кроме того, цифровая обработка даёт повторяемость и позволяет относительно легко реализовать сложные фильтры, коррекцию и математические операции.
Поэтому для большого количества задач комбинация АЦП, DSP и ЦАП оказалась практичнее FPAA.
FPAA сегодня
FPAA не исчезли. Они заняли нишу там, где требуется оперативная реконфигурация аналогового тракта.
Такие микросхемы применяются в:
- научном оборудовании;
- измерительных системах;
- сенсорике;
- биомедицинской аппаратуре;
- прототипировании аналоговых схем;
- адаптивных измерительных системах;
- специализированной промышленной электронике.
Современные разработки развиваются в сторону динамической реконфигурации, автоматической калибровки и снижения энергопотребления.
Динамическая реконфигурация позволяет изменять внутренние соединения во время работы устройства. Автокалибровка компенсирует изменение параметров из-за температуры, старения компонентов и технологического разброса.
При этом FPAA всё чаще рассматриваются не как самостоятельная альтернатива цифровой обработке, а как один из элементов систем смешанных сигналов.
Это отражает общую тенденцию современной электроники: аналоговая часть всё чаще выполняет только те операции, которые сложно или невозможно эффективно перенести в цифровую область, а всё остальное передаётся процессору, DSP или программируемой логике.
Для практической работы с электроникой требуются не только микросхемы, но и измерительное оборудование, источники питания, осциллографы, генераторы, мультиметры и паяльное оборудование.
Такое оборудование и электронные компоненты можно подобрать в каталоге Суперайс. Полезные материалы по электронике и работе с измерительной техникой также собраны в блоге Суперайс.
Программируемая аналоговая электроника появилась из несложной инженерной идеи: если «цифра» перестраивается программно, почему нельзя сделать то же с «аналогом»?
Первые АВМ решали эту задачу буквально с помощью проводов и перемычек. FPAA перенесли тот же принцип непосредственно на кремниевый кристалл: вместо ручной коммутации разработчик получает набор блоков и программируемую систему соединений между ними.
FPAA не сумели повторить успех FPGA из-за архитектурных особенностей электроники — чувствительности к шуму, температуре и технологическому разбросу, а также ограниченной масштабируемости. Развитие DSP и высокопроизводительных АЦП/ЦАП сделало цифровую обработку более универсальным решением для многих задач.
Тем не менее сама идея программируемой аналоговой электроники оказалась гораздо шире FPAA. Она привела к появлению PSoC, программируемых усилителей, цифровых потенциометров, перестраиваемых фильтров, программируемых AFE и других компонентов.
О них — в следующей части.