Выпуск #1/2012
М.Шейкин
Две микросхемы – хорошо, а одна лучше. Программируемые цифровые микросхемы с аналоговым интерфейсом
Две микросхемы – хорошо, а одна лучше. Программируемые цифровые микросхемы с аналоговым интерфейсом
Просмотры: 4468
При проектировании различных электронных устройств обработки аналоговой информации разработчику часто приходится использовать как аналоговые (усилители, компараторы, АЦП и т.д.), так и цифровые микросхемы (процессоры, периферию и ПЛИС). Это увеличивает габариты, сложность изготовления и стоимость изделия. Фирмы Cypress, Actel (Microsemi) и Xilinx предлагают гибкие решения, используя которые, можно реализовать аналого-цифровую систему обработки информации всего на одной микросхеме и упростить процесс разработки и отладки.
Теги: contact devices application measurement fixtures assembly аналоговые интерфейсы ацп программируемые системы на кристалле цап
Одно из основных направлений в проектировании и изготовлении электронных устройств – использование систем на кристалле (System on Chip, SoC). Эти микросхемы представляют собой практически законченные платформы для построения на их основе устройств со стандартным, определяемым самой SoC, набором функций (радиотелефоны, мобильные компьютеры, терминалы и т.д.). Такой подход крайне удобен и рационален для быстрого обеспечения серийного производства. Однако использование SoC не всегда оправдано при проектировании нестандартных устройств, а также в случаях, когда не требуются все функции SoC. В то же время возможностей микроконтроллеров и сигнальных процессоров часто бывает недостаточно, особенно это касается обработки аналоговых сигналов, для реализации которой приходится использовать отдельные микросхемы. Программируемые логические схемы (ПЛИС) позволяют создать цифровую схему практически любой конфигурации, но это тоже касается в основном цифровой обработки, тогда как работать с аналоговыми сигналами могут далеко не все ПЛИС. Кроме этого, создание и отладка внутренней конфигурации ПЛИС – процесс относительно сложный, требующий определенной квалификации разработчика. Поэтому использование ПЛИС (в особенности с встроенными процессорными ядрами) оправдано лишь в высокопроизводительных системах обработки цифровой информации.
Программируемые системы на кристалле (PSoC) Cypress
В 2001 году фирма Cypress разработала программируемую систему на кристалле принципиально новой идеологии. По сути, это был прорыв в развитии микроконтроллеров и программируемых схем. PSoC заняли пустовавшую ранее нишу между маломощными микроконтроллерами и дорогими ПЛИС и SoC. Необходимость в поиске или разработке SoC отпала с появлением PSoC, которые будут наиболее полно удовлетворять требованиям разработчика. В связи с этим существенно упростился процесс конфигурирования схемы под нужды заказчика. Особенность этих микросхем – широкие возможности работы с аналоговыми сигналами, поэтому основная сфера их применения – замена связки "микроконтроллер+логика+аналоговая периферия" в устройствах, где активно используется и аналоговая, и цифровая обработка сигналов.
PSoC Cypress представляют собой систему на кристалле с процессорным ядром и модулями аналоговой и цифровой обработки сигналов (рис.1). В отличие от обычных SoC, чипы PSoC позволяют изменять внутреннюю конфигурацию блоков и их связей в зависимости от целей разработчика, причем это можно делать не только во время проектирования, но и во время работы устройства.
Сегодня фирма Cypress выпускает три серии PSoC (табл.1). Далее будет подробно рассказано о PSoC третьей и пятой серий, так как первую серию можно считать несколько устаревшей. Структура PSоC третьей и пятой серий одинакова, их основное отличие – используемые процессорные ядра. В PSoC третьей серии используется популярный процессор 8051, а в пятой, пожалуй, самое производительное на сегодняшний день 32-битное микроконтроллерное ядро ARM Cortex-M3. Описание процессоров и периферии выходит за рамки данной статьи, подробно о ней можно узнать в [1], ниже будут описаны программируемые подсистемы PSoC.
Особенность аналоговой подсистемы PSoC – наличие универсальных конфигурируемых аналоговых блоков. Такой блок представляет собой операционный усилитель с коммутируемыми связями (рис.2). С помощью переключателей можно формировать цепи обратной связи и подавать или выводить сигналы с усилителя на выходы микросхемы или внутренние блоки, а также включать в цепи усилителя резисторы и переключаемые конденсаторы, получая следующие устройства:
"чистый" ОУ без обвязки;
повторитель;
регулируемый усилитель;
усилитель напряжения, управляемый током;
смеситель;
дискретный смеситель с выборкой и хранением;
модулятор;
усилитель с выборкой и хранением.
Также в аналоговую подсистему PSoC Cypress входят:
компараторы с тремя режимами работы (быстрый, медленный, экономичный), возможностью введения гистерезиса 10 мВ и встроенным фильтром;
операционные усилители. Кроме универсальных блоков на основе ОУ, в PSoC имеются также четыре отдельных малошумящих операционных усилителя с полосой 3 МГц при нагрузке 200 пФ;
8-битный ЦАП с выходом, работающим как источник тока или напряжения. В режиме токового выхода частота преобразования составляет 8 МГц, в режиме источника напряжения – 1 МГц. Выходной диапазон ЦАП устанавливается в одно из нескольких значений: 0–2,084 мА, 0–256 мкА, 0–32 мкА и 0–1,024 В, 0–4,096 В, соответственно;
дельта-сигма АЦП с разрешением от 8 до 20 бит. На входной буфер с регулируемым усилением от 0,25 до 256 можно подавать как дифференциальные, так и униполярные сигналы;
АЦП последовательного приближения. Этот 12-битный АЦП используется в тех случаях, когда нужно обеспечить высокую частоту преобразования (до 1 МГц) при относительно невысоком разрешении. АЦП может работать в режиме однократной выборки или непрерывном.
Кроме этого, в PSoC третьей и пятой серий появились специализированные модули CapSence и LCD.
Модуль CapSence предназначен для управления системами сенсорных датчиков (переключателей, бегунков, чувствительных панелей и т.д.). Работа системы основана на изменении емкости датчиков при прикосновении. Алгоритм обнаружения прикосновений может корректироваться в зависимости от изменения внешних условий [2].
Отдельный модуль предназначен для управления жидкокристаллическими дисплеями (LCD). Встроенный драйвер LCD обеспечивает необходимые уровни напряжений и позволяет подключать дисплей непосредственно к микросхеме. Поддерживается работа в экономичном режиме и 64-уровневая регулировка контрастности. С помощью канала прямого доступа к памяти (DMA) передача данных для отображения на дисплее осуществляется без участия процессора.
Программируемая цифровая подсистема PSoC состоит из нескольких универсальных цифровых блоков (УЦБ), функциональность которых изначально не определена. Основа УЦБ (рис.3) – операционный автомат (datapath), имеющий арифметико-логическое устройство (АЛУ), регистры, буфер FIFO и компаратор. Два блока программируемой логики позволяют реализовывать конечные автоматы, таблицы поиска (LUT) и управлять вводом-выводом данных. Несколько УЦБ можно объединить, получая в результате модули с большей разрядностью (16, 32 бита).
На базе УЦБ можно реализовать различные цифровые модули, в числе которых:
ШИМ однократной (one-shot) или многократной (multi-shot) генерации, с мертвой зоной (dead-band), 8- или 16-битные;
счетчики 8-, 16-, 32-битные;
таймеры 8-, 16-, 32-битные;
полно- и полудуплексные 8-битные UART с выбираемой четностью;
интерфейс SPI (slave/master);
интерфейс IrDA;
генератор ПСП 8–32-битный;
модуль генерации/проверки CRC 16-битный.
Кроме этого, в составе цифровой подсистемы имеются модули цифровой фильтрации и ШИМ. В отдельные модули также вынесены контроллеры интерфейсов I2C, CAN, LIN, USB 2.0.
Конфигурация и цифровых, и аналоговых блоков задается через специальные регистры, которые доступны в адресном пространстве процессорного ядра. Изменять конфигурацию системы можно непосредственно в процессе работы устройства, устанавливая или сбрасывая определенные биты регистров.
В распоряжении разработчика есть библиотека готовых модулей. При необходимости можно синтезировать пользовательский модуль, используя HDL-подобный язык. Для проектирования и отладки конфигурации PSoC фирма Cypress предлагает специальное программное обеспечение (см. табл.1). Разработчик может выбирать библиотечные модули или создавать свои собственные. Графическое представление модулей и соединений существенно упрощает и ускоряет процесс работы с PSoC (рис.4). При этом многие параметры системы, например, частоты переключения конденсаторов и фазы ключей, задаются системой автоматически и не требуют ручной установки.
Гибридные ПЛИС Actel/Microsemi SmartFusion
Один из членов "большой тройки" производителей программируемой логики – фирма Actel (с 2010 года входящая в корпорацию Microsemi) – предлагает свой вариант построения систем обработки смешанных сигналов на одном кристалле. В комбинированных аналого-цифровых микросхемах Fusion и SmartFusion (табл.2) в одном корпусе объединены блоки обработки аналоговых сигналов, программируемая логика и (в серии SmartFusion) процессорное ядро (рис.5). Эти микросхемы, по сути, также являются полноценными программируемыми системами на кристалле, но, в отличие от PSoC Cypress, они более ориентированы на обработку цифровых данных.
О микросхемах серии Fusion было подробно рассказано, например, в [3], поэтому в данной статье основное внимание будет уделено появившейся в 2010 году серии SmartFusion. Как было указано выше, основное отличие этой серии от предыдущей – наличие аппаратного ядра микроконтроллера, в то время как в микросхемах серии Fusion предлагалось использовать программные ядра MCU 8051 и Cortex-M1.
Аналоговая подсистема микросхем SmartFusion состоит из цепей согласования, объединенных в аналоговые блоки, и АЦП. Сигнал, поступивший на соответствующий вход микросхемы, может быть подан на АЦП либо непосредственно, либо, если параметры сигнала этого не позволяют, через согласующую цепь. Каждый аналоговый блок микросхемы SmartFusion имеет два согласующих канала измерения напряжения, каналы измерения тока, температуры и компараторы. Конфигурация аналогового интерфейса SmartFusion такова, что некоторые аналоговые входы могут использоваться одновременно несколькими внутренними модулями, поэтому задействовать эти модули одновременно невозможно (рис.6). Практически все модули аналогового интерфейса имеют входы разрешения работы (enable), с помощью которых модули можно отключать, и/или входы включения "обхода" модуля (bypass). С их помощью можно управлять путями сигналов в аналоговом интерфейсе.
В канале измерения напряжения согласующим элементом являются биполярные масштабирующие усилители (БМУ). Входной диапазон каждого усилителя может быть установлен в одно из четырех значений (±2,56; ±5,12; ±10,24 и ±15,36 В). Коэффициент масштабирования соответственно изменяется таким образом, чтобы максимальная амплитуда сигнала была практически равна верхней границе входного диапазона АЦП. Необходимо иметь в виду, что величина ±15,36 В превышает максимально допустимый для надежной работы диапазон входных напряжений – от -11,5 до 14 В. Так как БМУ инвертирует входной сигнал, это автоматически учитывается в аналоговом вычислительном блоке, где также корректируются ошибки преобразования.
Основа канала измерения тока – дифференциальный усилитель, подавляющий синфазные помехи и усиливающий разностное напряжение между двумя входами. Измеряя падение напряжения на внешнем резисторе с малым сопротивлением, можно вычислить ток, протекающий через резистор. Цепь измерения тока имеет фиксированный коэффициент усиления, равный 50, а максимально допустимая величина разностного напряжения на входе усилителя – 51,2 мВ. Таким образом, максимальная амплитуда напряжения на выходе соответствует входному диапазону АЦП – 2,56 В. Кроме этого, при столь малом падении напряжения не требуются резисторы с большой рассеиваемой мощностью и, следовательно, большого размера. Цепь измерения тока можно также использовать как обычный согласующий каскад перед АЦП.
Для измерения температуры используется диод или транзистор, подключенный к соответствующему входу микросхемы. Производитель рекомендует использовать транзистор 2N3904, включенный по схеме диода (с соединенным коллектором и базой). Метод измерения температуры основан на зависимости вольт-амперных характеристик p-n-перехода от температуры. Через диод или транзистор последовательно пропускаются токи двух значений от встроенных опорных источников, и определяется разница между двумя значениями падений напряжения на p-n-переходе. Связь разницы напряжений и температуры несложно определить по формуле:
где K – постоянная Больцмана (1,3807·10-23 Дж/К); T – температура, К; q – заряд электрона (1,6022·10-19 Кл).
Применительно к данному случаю отношение I1/I2 равно 10:1, таким образом, ∆V составляет около -200 мкВ/К. При фиксированном значении коэффициента усиления 12,5 на входе АЦП одному градусу соответствует напряжение 2,5 мВ.
В отличие от перечисленных выше блоков, высокоскоростной компаратор имеет цифровой выход, на котором устанавливается "0" или "1" в зависимости от разницы напряжений на двух входах. Компараторы нечувствительны к синфазным помехам и реагируют только на разницу напряжений.
Как было указано выше, аналоговые входы микросхемы используются одновременно несколькими модулями. Компараторы с четными номерами делят выводы с каналами измерения тока и температуры, нечетные – с входами АЦП. Компараторы в отключенном состоянии позволяют подавать на них относительно высокие напряжения – до 15 В, но напряжение на входе работающего компаратора не должно превышать 2,56 В.
На отрицательный вход нечетных компараторов через аналоговый мультиплексор можно подавать опорное напряжение с любого встроенного ЦАП. Используя внешний конденсатор, который поддерживает уровень опорного напряжения на входе компаратора, можно обеспечить работу нескольких компараторов, переключая на них по очереди выход одного ЦАП (см. рис.6).
Аналоговые сигналы со всех согласующих блоков или непосредственно с аналоговых входов микросхемы поступают на 12-битные конденсаторные АЦП последовательного приближения. АЦП может работать в 8-, 10- и 12-битном режимах с максимальной частотой 600 кГц. Входной диапазон АЦП определяется опорным напряжением и составляет, как было указано выше, 2,56 В при использовании внутреннего опорного источника. В этом случае при 12-битном режиме АЦП имеет разрешение 0,625 мВ. Термостабилизированный источник опорного напряжения (bandgap) обеспечивает погрешность не более 1%. Есть возможность использовать внешний источник опорного напряжения до 3,3 В.
При включении или после перезагрузки выполняется процедура калибровки АЦП, которая позволяет минимизировать погрешности преобразования. Кроме этого, возможно проведение калибровки во время работы АЦП, после выполнения преобразования. Работа АЦП контролируется с помощью прерываний, которые он генерирует при завершении преобразования и начале/окончании калибровки.
Встроенный дельта-сигма ЦАП может генерировать как ток, с диапазоном 0–256 мкА, так и напряжение в пределах 0–2,56 В, при этом его выходной импеданс составляет 10 кОм. Вход модулятора АЦП поддерживает 8-, 16- и 24-битные слова данных.
Работой АЦП и ЦАП управляет аналоговый вычислительный блок (АВБ). Он служит для управления аналоговой подсистемой и является интерфейсом между аналоговыми блоками и процессором. АВБ может генерировать до 86 прерываний, информирующих процессор о работе аналоговых блоков.
АВБ состоит из двух модулей – обработки последовательностей и постобработки. Основное предназначение модуля обработки последовательностей – управление работой АЦП и ЦАП. С его помощью можно организовать циклический запуск нескольких АЦП, обеспечив тем самым более высокую частоту выборок, чем позволяют АЦП по отдельности. Кроме того, этот модуль устанавливает параметры преобразователей, обновляет данные для ЦАП и т.д. В блоке постобработки осуществляются линейные преобразования и простейшая фильтрация данных, что позволяет разгрузить основной процессор.
Программируемая цифровая часть микросхем SmartFusion аналогична таковой в ПЛИС ProASIC3. Флеш-технология обеспечивает старт сразу после включения питания, без необходимости загрузки конфигурации из внешней памяти. Базовые элементы программируемой логической подсистемы – ячейки VersaTile. Каждая логическая ячейка представляет собой четырехполюсный элемент и может быть сконфигурирована при помощи системных вентилей в трехполюсный логический элемент (И, ИЛИ, НЕ, исключающее ИЛИ и т.д.) или D-триггер двух видов. Ячейки объединены локальными и глобальными связями, образующими логическую матрицу. Выходные буферы могут быть настроены под различные цифровые стандарты (LVTTL, LVCMOS, PCI, PCI-X и т.д.), для работы на вход или выход и с возможностью "горячей" замены.
Так же, как и в PSoC пятой серии, в микросхемах SmartFusion используется процессорное ядро ARM Cortex-M3 с максимальной тактовой частотой 100 МГц. Стандартный набор периферии включает cистемные регистры, таймеры, контроллер прямого доступа к памяти и контроллеры внешней и внутренней памяти. ПЗУ имеет объем до 512 КБ, ОЗУ – 64 КБ. Подробная информация о процессорной системе микросхемы SmartFusion содержится в [4], а о программируемой логике – в [5].
Для работы с микросхемами SmartFusion используется программный пакет Libero IDE, который поддерживает все текущие микросхемы Actel. ПО позволяет разрабатывать и отлаживать внутреннюю конфигурацию ПЛИС, работать с IP-ядрами и аппаратными процессорами и конфигурировать аналоговую периферию.
Вместо заключения
Говоря о гибридных аналогово-цифровых программируемых микросхемах, нельзя обойти вниманием технологию Agile Mixed Signals фирмы Xilinx. 28-нм ПЛИС Xilinx седьмой серии имеют встроенный 12-битный АЦП с частотой выборок до 1 МГц. 17 мультиплексируемых входов позволяют работать как с униполярными, так и с дифференциальными сигналами (рис.7). Управление и обмен данными с аналоговым интерфейсом осуществляется с помощью специальных регистров.
ПЛИС Xilinx со встроенными АЦП на сегодняшний день не имеют столь широких возможностей обработки аналоговых сигналов, какие есть у программируемых SoC Cypress и Actel. Их рациональней всего использовать там, где эта задача не является приоритетной. Однако одной из основных тенденций развития современной микроэлектроники является интеграция самой высокой степени, т.е. создание практически законченных устройств в одном корпусе микросхемы. Поэтому можно предположить, что все больше производителей микросхем будут ориентироваться именно на универсальные решения с широкими возможностями, такими как программируемые аналого-цифровые системы на кристалле.
Литература
PSoC3, PSoC5 Architecture TRM (Technical Reference Manual). – http://www.cypress.com
Гольцова М. Емкостные датчики прикосновения. Число их приверженцев стремительно растет. – Электроника: НТБ, 2007, №7, с.62–64.
Карпов С. Fusion: новое семейство цифроаналоговых ПЛИС. – Электроника: НТБ, 2007, №7, с.80–85.
SmartFusion Microcontroller Subsystem (MSS) User’s Guide. – http://actel.com
Actel SmartFusion FPGA Fabric User’s Guide. – http://actel.com
Программируемые системы на кристалле (PSoC) Cypress
В 2001 году фирма Cypress разработала программируемую систему на кристалле принципиально новой идеологии. По сути, это был прорыв в развитии микроконтроллеров и программируемых схем. PSoC заняли пустовавшую ранее нишу между маломощными микроконтроллерами и дорогими ПЛИС и SoC. Необходимость в поиске или разработке SoC отпала с появлением PSoC, которые будут наиболее полно удовлетворять требованиям разработчика. В связи с этим существенно упростился процесс конфигурирования схемы под нужды заказчика. Особенность этих микросхем – широкие возможности работы с аналоговыми сигналами, поэтому основная сфера их применения – замена связки "микроконтроллер+логика+аналоговая периферия" в устройствах, где активно используется и аналоговая, и цифровая обработка сигналов.
PSoC Cypress представляют собой систему на кристалле с процессорным ядром и модулями аналоговой и цифровой обработки сигналов (рис.1). В отличие от обычных SoC, чипы PSoC позволяют изменять внутреннюю конфигурацию блоков и их связей в зависимости от целей разработчика, причем это можно делать не только во время проектирования, но и во время работы устройства.
Сегодня фирма Cypress выпускает три серии PSoC (табл.1). Далее будет подробно рассказано о PSoC третьей и пятой серий, так как первую серию можно считать несколько устаревшей. Структура PSоC третьей и пятой серий одинакова, их основное отличие – используемые процессорные ядра. В PSoC третьей серии используется популярный процессор 8051, а в пятой, пожалуй, самое производительное на сегодняшний день 32-битное микроконтроллерное ядро ARM Cortex-M3. Описание процессоров и периферии выходит за рамки данной статьи, подробно о ней можно узнать в [1], ниже будут описаны программируемые подсистемы PSoC.
Особенность аналоговой подсистемы PSoC – наличие универсальных конфигурируемых аналоговых блоков. Такой блок представляет собой операционный усилитель с коммутируемыми связями (рис.2). С помощью переключателей можно формировать цепи обратной связи и подавать или выводить сигналы с усилителя на выходы микросхемы или внутренние блоки, а также включать в цепи усилителя резисторы и переключаемые конденсаторы, получая следующие устройства:
"чистый" ОУ без обвязки;
повторитель;
регулируемый усилитель;
усилитель напряжения, управляемый током;
смеситель;
дискретный смеситель с выборкой и хранением;
модулятор;
усилитель с выборкой и хранением.
Также в аналоговую подсистему PSoC Cypress входят:
компараторы с тремя режимами работы (быстрый, медленный, экономичный), возможностью введения гистерезиса 10 мВ и встроенным фильтром;
операционные усилители. Кроме универсальных блоков на основе ОУ, в PSoC имеются также четыре отдельных малошумящих операционных усилителя с полосой 3 МГц при нагрузке 200 пФ;
8-битный ЦАП с выходом, работающим как источник тока или напряжения. В режиме токового выхода частота преобразования составляет 8 МГц, в режиме источника напряжения – 1 МГц. Выходной диапазон ЦАП устанавливается в одно из нескольких значений: 0–2,084 мА, 0–256 мкА, 0–32 мкА и 0–1,024 В, 0–4,096 В, соответственно;
дельта-сигма АЦП с разрешением от 8 до 20 бит. На входной буфер с регулируемым усилением от 0,25 до 256 можно подавать как дифференциальные, так и униполярные сигналы;
АЦП последовательного приближения. Этот 12-битный АЦП используется в тех случаях, когда нужно обеспечить высокую частоту преобразования (до 1 МГц) при относительно невысоком разрешении. АЦП может работать в режиме однократной выборки или непрерывном.
Кроме этого, в PSoC третьей и пятой серий появились специализированные модули CapSence и LCD.
Модуль CapSence предназначен для управления системами сенсорных датчиков (переключателей, бегунков, чувствительных панелей и т.д.). Работа системы основана на изменении емкости датчиков при прикосновении. Алгоритм обнаружения прикосновений может корректироваться в зависимости от изменения внешних условий [2].
Отдельный модуль предназначен для управления жидкокристаллическими дисплеями (LCD). Встроенный драйвер LCD обеспечивает необходимые уровни напряжений и позволяет подключать дисплей непосредственно к микросхеме. Поддерживается работа в экономичном режиме и 64-уровневая регулировка контрастности. С помощью канала прямого доступа к памяти (DMA) передача данных для отображения на дисплее осуществляется без участия процессора.
Программируемая цифровая подсистема PSoC состоит из нескольких универсальных цифровых блоков (УЦБ), функциональность которых изначально не определена. Основа УЦБ (рис.3) – операционный автомат (datapath), имеющий арифметико-логическое устройство (АЛУ), регистры, буфер FIFO и компаратор. Два блока программируемой логики позволяют реализовывать конечные автоматы, таблицы поиска (LUT) и управлять вводом-выводом данных. Несколько УЦБ можно объединить, получая в результате модули с большей разрядностью (16, 32 бита).
На базе УЦБ можно реализовать различные цифровые модули, в числе которых:
ШИМ однократной (one-shot) или многократной (multi-shot) генерации, с мертвой зоной (dead-band), 8- или 16-битные;
счетчики 8-, 16-, 32-битные;
таймеры 8-, 16-, 32-битные;
полно- и полудуплексные 8-битные UART с выбираемой четностью;
интерфейс SPI (slave/master);
интерфейс IrDA;
генератор ПСП 8–32-битный;
модуль генерации/проверки CRC 16-битный.
Кроме этого, в составе цифровой подсистемы имеются модули цифровой фильтрации и ШИМ. В отдельные модули также вынесены контроллеры интерфейсов I2C, CAN, LIN, USB 2.0.
Конфигурация и цифровых, и аналоговых блоков задается через специальные регистры, которые доступны в адресном пространстве процессорного ядра. Изменять конфигурацию системы можно непосредственно в процессе работы устройства, устанавливая или сбрасывая определенные биты регистров.
В распоряжении разработчика есть библиотека готовых модулей. При необходимости можно синтезировать пользовательский модуль, используя HDL-подобный язык. Для проектирования и отладки конфигурации PSoC фирма Cypress предлагает специальное программное обеспечение (см. табл.1). Разработчик может выбирать библиотечные модули или создавать свои собственные. Графическое представление модулей и соединений существенно упрощает и ускоряет процесс работы с PSoC (рис.4). При этом многие параметры системы, например, частоты переключения конденсаторов и фазы ключей, задаются системой автоматически и не требуют ручной установки.
Гибридные ПЛИС Actel/Microsemi SmartFusion
Один из членов "большой тройки" производителей программируемой логики – фирма Actel (с 2010 года входящая в корпорацию Microsemi) – предлагает свой вариант построения систем обработки смешанных сигналов на одном кристалле. В комбинированных аналого-цифровых микросхемах Fusion и SmartFusion (табл.2) в одном корпусе объединены блоки обработки аналоговых сигналов, программируемая логика и (в серии SmartFusion) процессорное ядро (рис.5). Эти микросхемы, по сути, также являются полноценными программируемыми системами на кристалле, но, в отличие от PSoC Cypress, они более ориентированы на обработку цифровых данных.
О микросхемах серии Fusion было подробно рассказано, например, в [3], поэтому в данной статье основное внимание будет уделено появившейся в 2010 году серии SmartFusion. Как было указано выше, основное отличие этой серии от предыдущей – наличие аппаратного ядра микроконтроллера, в то время как в микросхемах серии Fusion предлагалось использовать программные ядра MCU 8051 и Cortex-M1.
Аналоговая подсистема микросхем SmartFusion состоит из цепей согласования, объединенных в аналоговые блоки, и АЦП. Сигнал, поступивший на соответствующий вход микросхемы, может быть подан на АЦП либо непосредственно, либо, если параметры сигнала этого не позволяют, через согласующую цепь. Каждый аналоговый блок микросхемы SmartFusion имеет два согласующих канала измерения напряжения, каналы измерения тока, температуры и компараторы. Конфигурация аналогового интерфейса SmartFusion такова, что некоторые аналоговые входы могут использоваться одновременно несколькими внутренними модулями, поэтому задействовать эти модули одновременно невозможно (рис.6). Практически все модули аналогового интерфейса имеют входы разрешения работы (enable), с помощью которых модули можно отключать, и/или входы включения "обхода" модуля (bypass). С их помощью можно управлять путями сигналов в аналоговом интерфейсе.
В канале измерения напряжения согласующим элементом являются биполярные масштабирующие усилители (БМУ). Входной диапазон каждого усилителя может быть установлен в одно из четырех значений (±2,56; ±5,12; ±10,24 и ±15,36 В). Коэффициент масштабирования соответственно изменяется таким образом, чтобы максимальная амплитуда сигнала была практически равна верхней границе входного диапазона АЦП. Необходимо иметь в виду, что величина ±15,36 В превышает максимально допустимый для надежной работы диапазон входных напряжений – от -11,5 до 14 В. Так как БМУ инвертирует входной сигнал, это автоматически учитывается в аналоговом вычислительном блоке, где также корректируются ошибки преобразования.
Основа канала измерения тока – дифференциальный усилитель, подавляющий синфазные помехи и усиливающий разностное напряжение между двумя входами. Измеряя падение напряжения на внешнем резисторе с малым сопротивлением, можно вычислить ток, протекающий через резистор. Цепь измерения тока имеет фиксированный коэффициент усиления, равный 50, а максимально допустимая величина разностного напряжения на входе усилителя – 51,2 мВ. Таким образом, максимальная амплитуда напряжения на выходе соответствует входному диапазону АЦП – 2,56 В. Кроме этого, при столь малом падении напряжения не требуются резисторы с большой рассеиваемой мощностью и, следовательно, большого размера. Цепь измерения тока можно также использовать как обычный согласующий каскад перед АЦП.
Для измерения температуры используется диод или транзистор, подключенный к соответствующему входу микросхемы. Производитель рекомендует использовать транзистор 2N3904, включенный по схеме диода (с соединенным коллектором и базой). Метод измерения температуры основан на зависимости вольт-амперных характеристик p-n-перехода от температуры. Через диод или транзистор последовательно пропускаются токи двух значений от встроенных опорных источников, и определяется разница между двумя значениями падений напряжения на p-n-переходе. Связь разницы напряжений и температуры несложно определить по формуле:
где K – постоянная Больцмана (1,3807·10-23 Дж/К); T – температура, К; q – заряд электрона (1,6022·10-19 Кл).
Применительно к данному случаю отношение I1/I2 равно 10:1, таким образом, ∆V составляет около -200 мкВ/К. При фиксированном значении коэффициента усиления 12,5 на входе АЦП одному градусу соответствует напряжение 2,5 мВ.
В отличие от перечисленных выше блоков, высокоскоростной компаратор имеет цифровой выход, на котором устанавливается "0" или "1" в зависимости от разницы напряжений на двух входах. Компараторы нечувствительны к синфазным помехам и реагируют только на разницу напряжений.
Как было указано выше, аналоговые входы микросхемы используются одновременно несколькими модулями. Компараторы с четными номерами делят выводы с каналами измерения тока и температуры, нечетные – с входами АЦП. Компараторы в отключенном состоянии позволяют подавать на них относительно высокие напряжения – до 15 В, но напряжение на входе работающего компаратора не должно превышать 2,56 В.
На отрицательный вход нечетных компараторов через аналоговый мультиплексор можно подавать опорное напряжение с любого встроенного ЦАП. Используя внешний конденсатор, который поддерживает уровень опорного напряжения на входе компаратора, можно обеспечить работу нескольких компараторов, переключая на них по очереди выход одного ЦАП (см. рис.6).
Аналоговые сигналы со всех согласующих блоков или непосредственно с аналоговых входов микросхемы поступают на 12-битные конденсаторные АЦП последовательного приближения. АЦП может работать в 8-, 10- и 12-битном режимах с максимальной частотой 600 кГц. Входной диапазон АЦП определяется опорным напряжением и составляет, как было указано выше, 2,56 В при использовании внутреннего опорного источника. В этом случае при 12-битном режиме АЦП имеет разрешение 0,625 мВ. Термостабилизированный источник опорного напряжения (bandgap) обеспечивает погрешность не более 1%. Есть возможность использовать внешний источник опорного напряжения до 3,3 В.
При включении или после перезагрузки выполняется процедура калибровки АЦП, которая позволяет минимизировать погрешности преобразования. Кроме этого, возможно проведение калибровки во время работы АЦП, после выполнения преобразования. Работа АЦП контролируется с помощью прерываний, которые он генерирует при завершении преобразования и начале/окончании калибровки.
Встроенный дельта-сигма ЦАП может генерировать как ток, с диапазоном 0–256 мкА, так и напряжение в пределах 0–2,56 В, при этом его выходной импеданс составляет 10 кОм. Вход модулятора АЦП поддерживает 8-, 16- и 24-битные слова данных.
Работой АЦП и ЦАП управляет аналоговый вычислительный блок (АВБ). Он служит для управления аналоговой подсистемой и является интерфейсом между аналоговыми блоками и процессором. АВБ может генерировать до 86 прерываний, информирующих процессор о работе аналоговых блоков.
АВБ состоит из двух модулей – обработки последовательностей и постобработки. Основное предназначение модуля обработки последовательностей – управление работой АЦП и ЦАП. С его помощью можно организовать циклический запуск нескольких АЦП, обеспечив тем самым более высокую частоту выборок, чем позволяют АЦП по отдельности. Кроме того, этот модуль устанавливает параметры преобразователей, обновляет данные для ЦАП и т.д. В блоке постобработки осуществляются линейные преобразования и простейшая фильтрация данных, что позволяет разгрузить основной процессор.
Программируемая цифровая часть микросхем SmartFusion аналогична таковой в ПЛИС ProASIC3. Флеш-технология обеспечивает старт сразу после включения питания, без необходимости загрузки конфигурации из внешней памяти. Базовые элементы программируемой логической подсистемы – ячейки VersaTile. Каждая логическая ячейка представляет собой четырехполюсный элемент и может быть сконфигурирована при помощи системных вентилей в трехполюсный логический элемент (И, ИЛИ, НЕ, исключающее ИЛИ и т.д.) или D-триггер двух видов. Ячейки объединены локальными и глобальными связями, образующими логическую матрицу. Выходные буферы могут быть настроены под различные цифровые стандарты (LVTTL, LVCMOS, PCI, PCI-X и т.д.), для работы на вход или выход и с возможностью "горячей" замены.
Так же, как и в PSoC пятой серии, в микросхемах SmartFusion используется процессорное ядро ARM Cortex-M3 с максимальной тактовой частотой 100 МГц. Стандартный набор периферии включает cистемные регистры, таймеры, контроллер прямого доступа к памяти и контроллеры внешней и внутренней памяти. ПЗУ имеет объем до 512 КБ, ОЗУ – 64 КБ. Подробная информация о процессорной системе микросхемы SmartFusion содержится в [4], а о программируемой логике – в [5].
Для работы с микросхемами SmartFusion используется программный пакет Libero IDE, который поддерживает все текущие микросхемы Actel. ПО позволяет разрабатывать и отлаживать внутреннюю конфигурацию ПЛИС, работать с IP-ядрами и аппаратными процессорами и конфигурировать аналоговую периферию.
Вместо заключения
Говоря о гибридных аналогово-цифровых программируемых микросхемах, нельзя обойти вниманием технологию Agile Mixed Signals фирмы Xilinx. 28-нм ПЛИС Xilinx седьмой серии имеют встроенный 12-битный АЦП с частотой выборок до 1 МГц. 17 мультиплексируемых входов позволяют работать как с униполярными, так и с дифференциальными сигналами (рис.7). Управление и обмен данными с аналоговым интерфейсом осуществляется с помощью специальных регистров.
ПЛИС Xilinx со встроенными АЦП на сегодняшний день не имеют столь широких возможностей обработки аналоговых сигналов, какие есть у программируемых SoC Cypress и Actel. Их рациональней всего использовать там, где эта задача не является приоритетной. Однако одной из основных тенденций развития современной микроэлектроники является интеграция самой высокой степени, т.е. создание практически законченных устройств в одном корпусе микросхемы. Поэтому можно предположить, что все больше производителей микросхем будут ориентироваться именно на универсальные решения с широкими возможностями, такими как программируемые аналого-цифровые системы на кристалле.
Литература
PSoC3, PSoC5 Architecture TRM (Technical Reference Manual). – http://www.cypress.com
Гольцова М. Емкостные датчики прикосновения. Число их приверженцев стремительно растет. – Электроника: НТБ, 2007, №7, с.62–64.
Карпов С. Fusion: новое семейство цифроаналоговых ПЛИС. – Электроника: НТБ, 2007, №7, с.80–85.
SmartFusion Microcontroller Subsystem (MSS) User’s Guide. – http://actel.com
Actel SmartFusion FPGA Fabric User’s Guide. – http://actel.com
Отзывы читателей