Прогаммируемые аналоговые ИС компании Anadigm. Второе дыхание аналоговой обработки сигналов
Структура ПАИС
Основу ПАИС (рис.1) составляют конфигурируемые аналоговые блоки (КАБ), которые содержат наборы элементов для реализации стандартных устройств – операционных усилителей, компараторов, источников опорного напряжения, АЦП, а также так называемую таблицу коэффициентов передачи (ТКП) и специальный интерфейс. В выпускаемых компанией Anadigm двух вариантах ПАИС – с двумя и четырьмя КАБ – все функции, доступные в библиотеке конфигурируемых аналоговых модулей (КАМ), отображаются в аналоговых блоках в виде программируемых аналоговых схем.
В каждом КАБ (рис.2) содержится ряд аналоговых ключей – статических и динамических. Статические ключи определяют общие схемы коммутации блоков, значения емкости конденсаторов, подключение входов. Динамические ключи управляются входными и тактовыми сигналами, а также логикой регистра последовательного приближения (SAR). Независимо от назначения, все ключи управляются с помощью конфигурационного статического ОЗУ.
При включении питания ПАИС ОЗУ очищается, и после этого с помощью конфигурационной логики данные из внешнего ЭППЗУ загружаются в теневое ОЗУ, а из него копируются в конфигурационное ОЗУ. Во время работы ПАИС теневое ОЗУ может перезагружаться новыми данными, которые впоследствии используются для перепрограммирования структуры ПАИС. В этом случае содержимое теневого ОЗУ копируется в конфигурационную память, и с приходом очередного такта синхронизации микросхема начинает работать в новой конфигурации, без прерывания процесса обработки сигнала.
Основу ячейки КАБ составляют два операционных усилителя и компаратор. Входные аналоговые сигналы направляются к матрице первой группы входных аналоговых ключей, на которую выводятся обратные связи операционных усилителей и компаратора. Вторая матрица ключей предназначена для организации внутренней топологии и выполняет соответствующие внутренние коммутации цепей.
КАБ содержит также группу из восьми программируемых конденсаторов, каждый из которых может иметь относительное значение емкости от 0 до 255 единиц. Для элементов КАМ важно не абсолютное значение емкости, а соотношение между ними, которое выдерживается с точностью не хуже 0,1%. Обработка сигнала внутри КАБ проводится схемами на переключаемых конденсаторах. Для корректной работы такие схемы нуждаются в так называемой не перекрывающейся синхронизации (non-overlapping clocks, NOL). Такой тактовый генератор является частью КАБ и вырабатывает все необходимые NOL-сигналы для его функционирования.
При инициализации логики SAR для реализации восьмиразрядного АЦП используется внутренний компаратор КАБ. К АЦП может подключаться ТКП для реализации нелинейных аналоговых функций, таких как умножение, сжатие, линеаризация, автоматическая регулировка усиления. КАБ включает в себя все необходимые компоненты для создания восьмиразрядного АЦП последовательного приближения. Для его работы требуются два тактовых сигнала с соотношением частот 1:16. НЧ-сигнал, называемый CLOCKA, определяет скорость преобразования и не должен превышать 250 кГц. ВЧ-сигнал, называемый CLOCKB, используется непосредственно для преобразования (тактовая синхронизация АЦП). Оба сигнала формируются схемой деления основной тактовой частоты.
Результат преобразования представляется в виде величины (7 бит) со знаком (1 бит). Входное напряжение АЦП должно быть ограничено значением ±1,5 В относительно системного нуля (опорного напряжения VMR). Результат преобразования может подаваться на адресный порт ТКП или возвращаться обратно в КАБ, на базе которого создан АЦП. В большинстве случаев АЦП используется как генератор адресов ТКП. Конфигурационная схема считывает содержимое таблицы, находящееся по этому адресу, и загружает его в соответствующую область теневого ОЗУ.
Типовое использование совместной работы АЦП и ТКП – линеаризация и калибровка входного сигнала. Сигнал подается через входную ячейку в КАБ, в котором сконфигурирован усилитель с функцией линеаризации, и преобразуется с помощью АЦП в восьмиразрядный код. Результат преобразования поступает на адресную шину таблицы, в которой хранится массив значений функции линеаризации. При этом устанавливается текущий коэффициент передачи усилителя, требуемый для осуществления линеаризации. Если АЦП используется как самостоятельное устройство, результат преобразования возвращается обратно в конфигурационную память КАБ. На выходе АЦП формируются последовательный поток данных и синхросигнал, которые можно вывести через выходные ячейки, сконфигурированные как цифровые выходы.
Входные аналоговые сигналы подаются в КАБ через конфигурируемые двунаправленные I/O ячейки (см. рис.1). Ячейки I/O Cell1–I/O Cell3 передают сигнал напрямую в один из блоков. Ячейка I/O Cell4 содержит специальный мультиплексор, который позволяет подключать до четырех дифференциальных или несимметричных входных сигналов или нагрузок (в режиме выходов). В каждую входную конфигурируемую ячейку I/O Cell (рис. 3) входит набор ресурсов, позволяющих подключать внешние приемники и источники сигналов без дополнительных внешних компонентов. Для обеспечения максимальной точности все сигналы внутри ячеек обрабатываются в полностью дифференциальной форме. Вход/выход каждой ячейки также является дифференциальным. При необходимости ячейка может быть сконфигурирована в режиме несимметричного входа, при этом второй (инверсный) вход соединяется внутри ячейки с источником опорного напряжения VMR (+2 В).
Для многих применений, таких как обработка сигналов постоянного тока, иногда необходимо использовать на входе фильтр НЧ для очистки сигнала от помех. Входная часть ячейки I/O Cell содержит ФНЧ второго порядка с программируемой частотой среза. При его использовании рекомендуется выбирать соотношение частоты среза и максимальной частоты сигнала не более 30.
Другим уникальным ресурсом I/O Cell является наличие усилителей с программируемым коэффициентом усиления и прецизионного со стабилизацией напряжения смещения прерыванием. Последний очень полезен при необходимости усиления слабого НЧ-сигнала. Значение его усиления может быть установлено из ряда 2n, где n = 4 – 7. Усилитель с программируемым коэффициентом усиления способен также выполнять функцию входного буфера. Сигнал с усилителей может подаваться в КАБ как напрямую, так и через сглаживающий ФНЧ. Несимметричный входной сигнал также может непосредственно подаваться на усилитель или ФНЧ, что обеспечивает его преобразование в дифференциальную форму внутри ячейки. Необходимо отметить, что перечисленные ресурсы могут использоваться только при конфигурации ячейки в режиме входа.
Выходные сигналы могут быть выведены напрямую через специальные выходные ячейки Output Cell1 и Output Cell2 (см. рис.1). Так же, как и входные I/O Cell, выходные ячейки Output Cell разработаны с учетом обеспечения максимальной точности обработки и позволяют выводить из ПАИС как дифференциальные аналоговые сигналы, так и логические уровни. Каждая выходная ячейка также содержит программируемый ФНЧ. После него стоят преобразователи дифференциального сигнала в несимметричные, которые смещены относительно нуля на значение VMR. В некоторых случаях требуется вывести сигнал через Output Cell, минуя фильтр и выходные буферы. Это можно осуществить, сконфигурировав ячейку соответствующим образом.
Синхронизация в ПАИС производится с помощью внешнего источника или от собственного тактового кварцевого генератора (рис.4). Тактовая частота конфигурационной логики формируется на выводе DCLK, к которому можно подключить как внешний кварцевый генератор, так и генератор с частотой до 40 МГц. Все аналоговые сигналы формируются от ACLK или DCLK. Какой из тактовых сигналов будет использоваться в качестве основного, определяется конфигурацией изделия. Схемотехника системы генераторов гарантирует полную синхронность всех производных сигналов и основной тактовой частоты. Это особенно важно, когда используется наращивание производительности схемы за счет совместной работы нескольких ПАИС.
Режимы работы КАБ, значения тактовых частот, направления передачи сигналов, назначения и конфигурация I/O Cell, Output Cell хранятся в конфигурационном ОЗУ. Все КАБ имеют доступ к общей области памяти объемом 256 байт – ТКП. В ней хранится информация о передаточных характеристиках устройств, необходимых для реализации таких функций, как сжатие динамического диапазона, линеаризация сигналов датчиков, формирование сигналов произвольной формы, управляемая фильтрация. Ее восьмиразрядный адресный вход может подключаться к выходу АЦП или специальному ТКП-счетчику. В этом случае каждое новое значение счетчика представляет собой адрес в ТКП. Данные, находящиеся по этому адресу, считываются из таблицы и записываются в теневое ОЗУ в ячейку, где хранится информация о конфигурации соответствующего аналогового компонента. После загрузки в конфигурационное ОЗУ они используются для формирования передаточной функции устройства. Синхронизация ТКП-счетчика осуществляется от одного из четырех аналоговых тактовых генераторов. Загрузка данных ТКП из теневого в конфигурационное ОЗУ производится с приходом данных конфигурации, а также по сигналу от внутреннего детектора пересечения нуля, компаратора или внешнего сигнала EXECUTE. Комбинируя конфигурации ТКП/КАБ, можно осуществлять модуляцию стандартных сигналов или формировать сигналы произвольной формы.
Генератор опорного напряжения формирует сигналы для каждого из блоков и имеет внешние выходы для подключения фильтрующих конденсаторов (рис.5). В качестве системного нуля, относительно которого передаются и обрабатываются аналоговые сигналы внутри ПАИС, используется шина +2 В опорного напряжения VMR. Этот сигнал вырабатывается прецизионным термокомпенсированным источником эталонного напряжения, который формирует также сигналы VREF+ (VMR+1,5 В) и VREF- (VMR-1,5 В). Напряжение VMR внутри КАБ подается на две группы различных по характеру потребителей. Оно поступает на все цепи заряда переключаемых конденсаторов, где требования к его уровню шумов не высоки. В то же время VMR используется операционными усилителями в качестве виртуальной земли для улучшения времени установления, что требует малого уровня его шумов. Для компромиссного удовлетворения требований к шумам используются внешние фильтрующие конденсаторы, подключаемые к выводам VREFPC, VMRC и VREFMC. Рекомендуемое значение емкости конденсаторов 75–100 нФ. Более высокое значение может ухудшить характеристики времени установления, более низкое – снизить устойчивость схемы. Конденсаторы должны иметь малое значение собственной индуктивности. Источники VREF+ и VREF- могут использоваться в качестве элементов библиотеки КАМ, например в качестве опорных напряжений для компараторов. Диапазон VREF-...VREF+ рекомендуется также в качестве ограничения уровня входного сигнала библиотечного АЦП.
Загрузка данных из внешнего ПЗУ
Наиболее простой способ конфигурирования ПАИС – загрузка данных конфигурации непосредственно из внешнего ПЗУ. ПАИС напрямую совместимы с 25-й серией SPI EPROM и 17-й серией Serial EPROM (в том числе FPGA EPROM).
После подачи напряжения питания на микросхему автоматически генерируется внутренний импульс сброса, который перезагружает конфигурационную память и запускает процесс инициализации ПАИС. Если при этом на входах CS1b и CS2b присутствует низкий логический уровень, микросхема формирует необходимые сигналы для чтения данных из ПЗУ соответствующего типа (рис.6). После завершения загрузки данных ПАИС автоматически активирует аналоговую структуру. По завершении процесса инициализации ПАИС на выводе CFGFLGb появляется логический ноль (активный уровень), который выдается на вход CS (Chip Select) SPI EPROM. На выводе OUTCLK/SPIMEM появляется последовательный поток данных (16-разрядный стартовый адрес, значение всегда 0х0000), предназначенный для установки SPI EPROM в режим считывания. Через определенный интервал времени ПАИС переходит в режим приема данных конфигурации по входу DIN, которые начинают загружаться в ОЗУ после приема байта синхронизации. Таким образом, устройство обеспечивает стандартный протокол считывания данных из SPI EPROM.
Загрузка данных в ПАИС может быть осуществлена из Serial EPROM 17-й серии (Xilinx XC1700E, Atmel AT17xx, Altera ECP1, ECP2 и т.п.), которая обычно используется в качестве конфигурационной памяти ПЛИС (рис.7). Аналогично предыдущему случаю, после генерации внутреннего импульса сброса на выводе
ACTIVATE присутствует логический ноль, а ERRb переходит в третье состояние, после чего осуществляется потактовая загрузка данных конфигурации в ПАИС. Основное отличие при использовании FPGA EPROM от SPI EPROM в том, что формируемый ПАИС 16-разрядный стартовый адрес в этом случае не используется, а данные из внешней памяти в ПАИС начинают поступать раньше, чем она готова их принять. Поэтому конфигурационные данные должны иметь префикс из четырех незначащих байтов перед байтом синхронизации и значащей информацией. САПР AnadigmDesigner2 автоматически добавляет требуемый префикс к данным конфигурации. Процесс конфигурирования завершается через несколько тактов синхронизации после загрузки последнего (незначащего) байта, который также добавляется к конфигурационным данным автоматически при верификации проекта.
Загрузка конфигурации в систему из нескольких ПАИС (рис.8) может осуществляться из общей внешней памяти (FPGA или SPI EPROM). На выводы CS1b и CS2b первой ПАИС в цепочке всегда выдается низкий логический уровень, поэтому после включения питания она сразу же начинает процесс конфигурирования. Остальные микросхемы в этот момент находятся в режиме ожидания, поскольку на их входах CS1b присутствует высокий логический уровень. После того как первая ПАИС закончит загрузку конфигурации, ее выход LCCb перейдет в состояние логического нуля, разрешающего начало конфигурирования следующей за ней микросхеме. Аналогично будут последовательно сконфигурированы все ПАИС в цепи.
Соединение вместе всех двунаправленных выводов ERRb гарантирует, что если хотя бы одна из микросхем в процессе конфигурирования обнаружит ошибку и прервет загрузку, все ПАИС в цепи будут перезагружены в режиме первичной конфигурации и процесс повторится заново. Все двунаправленные выводы с открытым стоком ACTIVATE также должны быть соединены вместе. Пока процесс конфигурирования каждой из микросхем не завершен, на ACTIVATE присутствует логический ноль. После того как последняя ПАИС завершит загрузку данных, все выводы ACTIVATE окажутся в третьем состоянии, и с приходом очередного такта синхронизации будут одновременно активированы аналоговые структуры всех микросхем.
В приложениях, требующих динамического переконфигурирования аналоговой структуры, необходимо использовать внешний контроллер, позволяющий выполнять вычисления новых значений схемы, собирать эти значения в блок конфигурационных данных и передавать его в ПАИС. Гибкий конфигурационный интерфейс устройства разработан так, чтобы принимать данные как от последовательных ПЗУ, так и от любого из трех основных типов интерфейсов микроконтроллеров и микропроцессоров: синхронного последовательного интерфейса (SSI), последовательного периферийного интерфейса (SPI) или традиционной внешней периферийной процессорной шины данных.
С точки зрения загрузки данных в ПАИС SPI и SSI эквивалентны. Эти интерфейсы содержат сигнал, индицирующий поступление данных, непосредственно сами данные и данные синхронизации. Единственное различие SSI и SPI состоит в названии хостов, определяющих эти сигналы, а также в частотах, на которых хост может получить доступ к ним. Функционально подключение обоих интерфейсов идентично (рис.9). Микроконтроллеры с SPI-портами чуть более распространены, чем с SSI-портами. В обоих случаях ПАИС выдает сигнал ACTIVATE на универсальный вывод GPIO микроконтроллера для индикации успешного завершения конфигурирования.
Средства разработки ПАИС Anadigm
Для разработки проектов на базе ПАИС компания Anadigm предоставляет специализированную программную среду Anadigm DesignerТ2. Ее основу составляет библиотека модулей (КАМ), каждый из которых может использоваться для выполнения широкого круга аналоговых функций путем задания соответствующих параметров. Библиотека включает в себя следующие основные модули по функциональному назначению: дифференциальный компаратор, инвертирующий дифференциатор, делитель, билинейный фильтр, биквадратный фильтр, каскад усиления полупериодного сигнала, каскад суммирования/вычитания полупериодного сигнала, источник питания постоянного тока, усилитель/ ограничитель, усилитель с коммутацией входов, однополупериодный выпрямитель, однополупериодный выпрямитель с инверсией, усилитель с контролем полярности, интегратор, инвертирующий усилитель, инвертирующий сумматор, умножитель, выпрямитель с ФНЧ, усилитель выборки-хранения, генератор синусоидального сигнала, трансимпедансный усилитель, каскад с передаточной характеристикой, задаваемой пользователем, генератор периодических сигналов произвольной формы, каскад суммирования/вычитания с ФНЧ, АЦП последовательного приближения, усилитель с управляемым напряжением коэффициентом усиления, билинейный ФНЧ с низкой частотой перегиба АЧХ, суммирующий/вычитающий интегратор, вычислитель квадратного корня.
Anadigm DesignerТ2 включает в себя функциональный симулятор, который позволяет отладить устройство без программирования микросхемы. Программную среду отличает простой и очень удобный интерфейс (рис.10). Даже если пользователь не является специалистом в области аналоговой схемотехники, он может быстро разработать необходимое устройство, отладить его, просмотреть все режимы и сигналы с помощью четырехканального виртуального осциллографа и загрузить полученную конфигурацию в ПАИС.
Дополнительно Anadigm DesignerТ2 включает в себя системы автоматизированного проектирования пропорционально/интегрально/дифференциальных регуляторов и фильтров. Эти программные продукты позволяют максимально автоматизировать процесс разработки и оптимизировать расход ресурсов ПАИС при синтезе указанных устройств.
В случае разработки проекта с динамически изменяемой конфигурацией Anadigm DesignerТ2 автоматически формирует С-код, позволяющий задавать необходимые аналоговые функции непосредственно с управляющего микропроцессора или микроконтроллера.
Для разработки и отладки Anadigm предлагает отладочный комплект (рис.11), который подключается к компьютеру через порт RS232 и позволяет опробовать весь спектр возможностей ПАИС.
Области применениЯ ПАИС Anadigm
ПАИС предназначены для создания аналоговых устройств в частотном диапазоне от постоянного тока до 2 МГц, однако в ряде случаев верхняя частота ограничивается 400 кГц. Поэтому среди основных областей применения можно выделить следующие: обработка сигналов датчиков, аналоговые схемы управления, комплексная фильтрация, интерфейсы и усилители сигналов фотодиодов, преобразователи напряжение/ток и ток/напряжение, обработка и фильтрация аудиосигналов, обработка сверхнизкочастотных аналоговых процессов, динамические эквалайзеры, сжатие и расширение динамического диапазона сигнала, частотные модуляторы, генераторы сигналов произвольной формы, прецизионные выпрямители, преобразователи RMS/DC, аналоговые умножители, тональные генераторы и многие другие устройства для систем промышленной автоматики, медицинской, контрольно-измерительной и бытовой аппаратуры.
Программа Freeze Frame
Для серийного производства Anadigm предлагает уникальную услугу – изготовление заказных микросхем на базе ПАИС. Изделия Freeze Frame имеют такую же архитектуру, что и программируемые схемы, оптимизированную для изготовления специализированных аналоговых микросхем (ASIC). Поскольку основные блоки ASIC по структуре не отличаются от ПАИС, ранее разработанное и отлаженное устройство автоматически переносится в ASIC. Программа Freeze Frame позволяет снизить стоимость микросхем на 30–60%. Все, что для этого требуется, – разработать и отладить проект на базе ПАИС и отправить файл прошивки региональному представителю. Через некоторое время будет изготовлено требуемое количество ASIC в тех же корпусах и полностью совместимых по выводам, что позволяет параллельно изготовить печатные платы и подготовить производство, сократив сроки и значительно снизив стоимость.