Программируемая аналоговая микросхема MAX11300 – складной швейцарский нож от компании MAXIM

1 октября 2014

Maxim Integratedстатья

В статье рассматривается новинка от компании Maxim Integrated – интегральная схема MAX11300, которая определяется производителем следующим образом: «The MAX11300 is the industry’s first configurable 20-channel, mixed-signal device». Это первая в отрасли микроcхема сбора и обработки разнородных сигналов c двадцатью независимо программно конфигурируемыми каналами.

Программируемые пользователем вентильные (то есть, цифровые) матрицы (FPGA) получили широкое распространение за последние два десятка лет. Сегодня представить себе цифровую электронику без этого класса микросхем практически невозможно. В современных электронных устройствах применение цифровых микросхем малой и средней степени интеграции стараются свести к минимуму.

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

Следовало ожидать появления на рынке аналоговых интегральных схем, схожих по своей структуре с FPGA. И, действительно, аналоговые матрицы появились на рынке на несколько лет позже, но, несмотря на оптимистические прогнозы, не смогли завоевать более-менее значительную нишу на рынке.

Одной из причин этого могло быть следующее обстоятельство: от устройств данного класса ожидали слишком многого и постарались заложить в них чрезмерно большую функциональность. Ранние модели FPAA содержали массив программируемых аналоговых ячеек, каждая из которых могла быть настроена на выполнение одной из таких функций как операционный усилитель, фильтр, компаратор, сумматор, интегратор, дифференциатор и т.д. Главный недостаток такого подхода: любая из перечисленных функций, будучи реализованной в ячейке, обеспечивает достаточно посредственные для своего класса характеристики. В аналоговых устройствах используются не только универсальные операционные усилители, но и быстродействующие, маломощные, малошумящие, прецизионные и т.д. Матрица FPAA предоставляла пользователю набор однотипных функциональных элементов универсального назначения со средними параметрами, что, естественно, снижало возможности разработчика и характеристики конечного устройства.

Кроме того, оставались проблемы с прогнозируемостью и повторяемостью характеристик, поскольку при внутренней компоновке схемы по ячейкам FPAA сложно обеспечить равные величины временных задержек, минимизировать уровень взаимных наводок [1]. Эта проблема имела место и в цифровых матрицах, но на работоспособность цифровых схем она влияла в значительно меньшей степени. Как результат, на практике существует не так много приложений, для которых структура FPAA близка к оптимальной. Один из немногих производителей серийно выпускаемых FPAA – американская компания Anadigm – к таким приложениям относит следующие [2]: аналоговые фильтры больших порядков, аналоговые регуляторы, устройства аналоговой обработки звука в высококачественной аудио аппаратуре. Добавим, что FPAA – безусловно, полезный инструмент для прототипирования специализированных аналоговых микросхем. Но для большинства других приложений FPAA не лучший вариант с точки зрения качества.

Компания Maxim – один из крупнейших производителей аналоговых микросхем. Но никогда ранее не был замечен интерес компании к программируемым аналоговым матрицам. Тем не менее, в публикациях [1…4], освещающих выход на рынок микросхемы MAX11300, проводятся определенные аналогии между MAX11300 и FPAA, несмотря на то, что внутренние структуры MAX11300 и FPAA имеют между собой мало общего. В работе [1] утверждается, что MAX11300 – это шаг назад от архитектуры FPAA. Это не совсем верно, скорее MAX11300 – это шаг в сторону. А именно – компания Maxim, посмотрев на архитектуру FPAA с нетрадиционной точки зрения, предложила свой, новый подход. Решение получилось достаточно удачным. Правда, мало похожим на FPAA.

Архитектура микросхемы MAX11300

Рис. 1. Пользовательская модель микросхемы MAX11300

Рис. 1. Пользовательская модель микросхемы MAX11300

С точки зрения пользователя микросхема MAX11300 представляет собой 20 одинаковых каналов (ячеек), каждый из которых однозначно связан с одним из 20-ти внешних контактов микросхемы. Любой из этих каналов может быть настроен на выполнение одной из следующих функций:

  • аналоговый вход, то есть аналого-цифровой преобразователь (АЦП) с несимметричным входом (два варианта исполнения),
  • аналоговый выход, то есть цифро-аналоговый преобразователь (ЦАП) с несимметричным выходом (два варианта исполнения),
  • дискретный вход общего назначения,
  • дискретный выход общего назначения.

Перечисленные функции используют ресурс одного канала (ячейки). Помимо этого, два ресурса двух соседних каналов могут быть объединены для выполнения дополнительных функций:

  • дифференциальный аналоговый вход, то есть аналого-цифровой преобразователь (АЦП) с дифференциальным входом,
  • преобразователь уровней дискретного сигнала,
  • аналоговый ключ,
  • некоторые вспомогательные функции.

Выбор выполняемой функции и параметров для одной ячейки никаким образом не влияет на назначения других ячеек. То есть, внутренние ресурсы микросхемы позволяют с одинаковой легкостью запрограммировать, например, все 20 ячеек как АЦП, или все 20 ячеек как ЦАП, или задать любую другую комбинацию.

Каждая из ячеек доступна хост-микроконтроллеру, как множество программно доступных регистров на последовательной шине SPI. Настройка ячеек на выполнение конкретной функцию осуществляется микроконтроллером путем записи соответствующих значений в регистры управления. Отметим, что микроконтроллером задается не только выполняемая функция, но и значения некоторых параметров, в частности, допустимый диапазон напряжений на внешнем выводе.

Образно говоря, микросхему MAX11300 можно представить как плату из детского конструктора LEGO на 20 «посадочных мест», в которые могут быть установлены некоторое количество кубиков различного функционального назначения, которые будут использовать одно или два посадочных места. Такая пользовательская модель MAX11300 иллюстрируется рисунком 1.

Микросхема MAX11300 и FPAA

Сравним внутреннюю организацию FPAA и MAX11300.

Основу большинства типов FPAA составляет множество (от нескольких сотен) конфигурируемых аналоговых блоков, которые содержат элементы для реализации стандартных аналоговых устройств: операционных усилителей, компараторов, источников опорного напряжения и т.д. Настройка микросхемы на реализацию конкретной схемы осуществляется путем загрузки массива данных в конфигурационную память FPAA из специального ПЗУ по специальному интерфейсу непосредственно после подачи питания на электронное устройство. Отметим, что данный механизм загрузки схемы полностью аналогичен наиболее популярному варианту загрузки схемы в FPGA.

В случае MAX11300 ситуация иная:

Во-первых, в отличие от FPAA, загружаемая схема не подготовлена заранее в виде массива данных для конфигурационной памяти. Строго говоря, схема как таковая (набор элементов и соединения между ними) отсутствует. Соответственно, конфигурационное ПЗУ принципиально отсутствует. Настройка каждого из 20 каналов на конкретную функцию представляет собой фрагмент программы, исполняемой на микроконтроллере.

Во-вторых, FPAA после загрузки схемы может быть вполне автономным аналоговым устройством. То есть, наличие микроконтроллера, микропроцессора, сигнального процессора или другого хост-устройства в случае FPAA необязательно. Для MAX11300 микроконтроллер с интерфейсом SPI необходим. То есть, MAX11300 может использоваться только как внешнее (периферийное) устройство по отношению к хост-контроллеру.

Таким образом, новинка от Maxim имеет мало общего с таким классом устройств, как FPAA. Попытки представить архитектуру MAX11300 как развитие архитектуры FPAA, предпринятые в статьях [1-4] – это, скорее, маркетинговый ход, а не отражение общности архитектурных решений.

Отметим еще один момент. Особенностью проектирования аналоговых схем на россыпи микросхем средней степени интеграции в целом является высокая сложность этого процесса. По мнению автора статьи [5]: для подготовки «аналогового» инженера необходимо, как минимум, пять лет (после окончания ВУЗа), в то время как «цифрового» разработчика можно подготовить за два-три года. Проектирование схем с использованием FPAA требует еще более высокой квалификации «аналогового» инженера. Для работы с MAX11300 достаточно знаний «цифрового» инженера плюс навыков работы с АЦП и ЦАП. Таким образом, микросхема MAX11300 ориентирована на значительно более широкую аудиторию разработчиков.

MAX11300 в качестве устройства сбора и обработки разнородных сигналов

Интегральная схема MAX11300 позиционируется производителем следующим образом: «The MAX11300 is the industry’s first configurable 20-channel, mixed-signal device», то есть как микросхема сбора и обработки разнородных сигналов.

Рассмотрим в общем случае задачу управления. Существует некоторый объект управления. Состояние объекта в целом характеризуется текущим состоянием некоторого набора разнородных датчиков: дискретных, аналоговых, импульсных. Необходимо собрать информацию с датчиков, доставить ее в некую систему управления, проанализировать эту информацию и, как результат анализа, сформировать некоторый набор управляющих воздействий на исполнительные механизмы объекта управления. Поскольку система управления (микропроцессор, микроконтроллер, сигнальный процессор и т.д.) оперирует с цифровыми данными, то возникает необходимость в промежуточном звене: системе сбора и обработки разнородных сигналов.

Рассмотрим основные классы датчиков объекта управления:

  • Дискретные (цифровые). В этом случае некоторый параметр объекта представлен качественным образом: «да/нет», «включено/выключено». То есть, существует только два устойчивых состояния. Характерный пример: концевой датчик.
  • Аналоговые (непрерывные). Некоторый параметр объекта характеризуется количественным образом. То есть существует не два, а существенно большее число устойчивых состояний. На практике, состояние аналогового датчика представлено значением напряжения (тока). Это значение изменяется от минимума до максимума и имеет определенное количество промежуточных значений. Характерный пример: датчик положения, снимаемый с потенциометра.
  • Импульсные. Параметр объекта характеризуется количественным образом, но представлен не в виде непрерывного значения напряжения (тока), а в виде периодического импульсного сигнала. При этом количественное значение представлено скважностью (реже частотой) сигнала. Характерный пример: частотный датчик скорости вращения.

Рассмотрим основные классы управляющих воздействий на объект управления:

  • Дискретное. В этом случае возможны только два состояния: «включить» или «выключить». Характерные примеры: управление электромагнитом или сигнал динамического торможения двигателя.
  • Аналоговое. Например, скорость вращения на валу двигателя задается в виде аналогового напряжения (тока). Минимальное значение соответствует останову, а максимальное значение – максимальной скорости вращения. Все промежуточные состояния вполне допустимы.
  • Импульсное. Скорость вращения двигателя задается скважностью периодического импульсного сигнала. Имеется в виду управление сигналом с широтно-импульсной модуляцией (ШИМ).

В настоящее время сформировались несколько типовых методов построения системы сбора и обработки разнородных сигналов:

  • Применение микроконтроллеров, имеющих расширенный состав периферии. Так, например, 16-разрядный микроконтроллер MAXQ8913 имеет 7 аналоговых входов разрешением в 12 бит, 4 аналоговых выхода, 12 линий для дискретных входов/выходов, а также по одной линии на импульсный вход и выход. Попытка переложить часть функций системы сбора и обработки на микроконтроллер эффективна, если большинство датчиков и сигналов управляющих воздействий объекта управления носит дискретный характер, а число аналоговых и импульсных каналов невелико. В тех случаях, когда аналоговые и импульсные сигналы представлены в достаточно большом количестве, ресурсов микроконтроллера окажется недостаточно.
  • Применение FPGA в качестве расширителя импульсного ввода-вывода для микроконтроллеров. Для объектов управления с большим числом импульсных датчиков и исполнительных механизмов с ШИМ-управлением данный метод представляется оптимальным.
  • Применение микросхем многоканальных ЦАП и АЦП (желательно совмещенных) в качестве расширителя аналогового ввода-вывода. Данный метод хорош для объектов управления, имеющих значительное количество аналоговых входов/выходов, а также в тех случаях, когда задаются повышенные требования к параметрам преобразования.

Микросхема MAX11300 в качестве системы сбора и обработки сигналов поддерживает работу с дискретными и аналоговыми сигналами. И, по сравнению с микроконтроллерами и многоканальными ЦАП и АЦП, имеет ряд преимуществ:

  • В микроконтроллерах, многоканальных ЦАП и АЦП число каналов регламентируется по отдельности (например, 7 аналоговых входов, 4 аналоговых выхода, 12 дискретных входов/выходов). Никак невозможно получить, например, дополнительный канал ЦАП за счет уменьшения других ресурсов. Микросхема MAX11300 ограничивает общее число каналов (до 20), но оставляет возможность варьировать, например, число каналов ЦАП в пределах заданных 20 каналов.
  • В микроконтроллерах, многоканальных ЦАП и АЦП диапазоны изменения напряжений на линиях аналогового ввода и вывода; уровни нуля и единицы, порог срабатывания для дискретных линий строго фиксированы и не могут быть изменены. В микросхеме MAX11300 есть несколько вариантов диапазонов, причем разные каналы могут быть настроены на различные значения.
  • Микросхема MAX11300 для большинства случаев позволяет «разместить» обработку всех дискретных и аналоговых сигналов в корпусе одной микросхемы, что ранее не всегда получалось. При этом используемый микроконтроллер может не иметь расширенный состав периферии.

Отметим, что микросхема MAX11300 не поддерживает работу с импульсными сигналами. В этом случае вероятна необходимость использования FPGA, однако, задача преобразования уровней может быть решена на ресурсах MAX11300, что уменьшит общее число компонентов в системе.

Как отмечалось выше, микросхема MAX11300 представляет собой 20 идентичных каналов, каждый из которых может быть программно настроен на определенный режим работы. Рассмотрим эти режимы более подробно.

Конфигурации каналов MAX11300 в режимах аналогового ввода

Возможны три варианта конфигурации:

  • Несимметричный аналоговый ввод. В этом случае на АЦП оцифровывается напряжение с соответствующего контакта микросхемы. На «минус» входного дифференциального усилителя подается напряжение с вывода аналоговой земли микросхемы.
  • Дифференциальный аналоговый ввод. Если канал N сконфигурирован подобным образом, то на АЦП оцифровывается разность напряжений на внешних выводах каналов N и N+1. На «минус» входного дифференциального усилителя подается напряжение с вывода N+1. Этот режим, как уже отмечалось, использует ресурсы двух каналов, поскольку внешний вывод канала N+1 занят, и использовать этот канал каким-либо образом не представляется возможным.
  • Псевдодифференциальный аналоговый ввод. Режим использует один канал, но в работе задействован не только АЦП канала, но и его ЦАП. На «минус» входного дифференциального усилителя подается напряжение, сформированное на ЦАП этого канала. Этот режим в целом аналогичен несимметричному режиму, но позволяет автоматически вычитать из напряжения на входе некоторую величину.

Во всех трех режимах программным образом устанавливается один из четырех вариантов диапазона входного напряжения:

  • от 0 до +2,5 В;
  • от 0 до +10 В;
  • от -5 до +5 В;
  • от -10 до 0 В.

Отметим также, что выбранный диапазон входных напряжений для канала N не накладывает никаких ограничений ни на диапазоны других каналов, ни на выходной диапазон ЦАП этого же канала при работе в псевдодифференциальном режиме.

Конфигурации каналов MAX11300 в режимах аналогового вывода

Возможны два варианта конфигурации:

  • Несимметричный аналоговый вывод. В этом случае на ЦАП канала подается цифровой код, сформированный путем записи в регистр данных ЦАП, который доступен программно. Напряжение на выходе формируется относительно потенциала аналоговой земли микросхемы.
  • Несимметричный аналоговый вывод с контролем. Этот вариант аналогичен предыдущему с той лишь разницей, что выход канала автоматически подается на вход АЦП этого же канала и, соответственно, появляется возможность контроля. Например, если вывод канала закорочен на ноль, то значение, считанное с АЦП, будет существенно отличаться от значения в регистре данных ЦАП, и нештатная ситуация будет обнаружена.

В любом из режимов программным образом устанавливается один из трех вариантов диапазона выходного напряжения:

  • от 0 до +10 В;
  • от -5 до +5 В;
  • от -10 до 0 В.

Естественно, что в режиме с контролем ЦАП и АЦП канала должны быть настроены на один и тот же диапазон.

Конфигурации каналов MAX11300 в режимах дискретного ввода и вывода

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

Дискретный вывод также представлен только одним режимом: цифровой вывод с программируемым уровнем логической единицы. Напряжение логического нуля будет соответствовать потенциалу аналоговой земли, а напряжение логической единицы – кодом, записанным в ЦАП данного канала. Как и в предыдущем случае, ничто не запрещает формировать дискретный сигнал как аналоговый вывод, подавая на ЦАП канала код уровня нуля или код уровня единицы.

Другие конфигурации каналов MAX11300

Отметим также наличие дополнительных конфигураций, использующих два соседних канала:

  • Преобразователь уровней однонаправленного дискретного сигнала. Канал N конфигурируется как дискретный ввод с уровнем входного сигнала от 0 до +5 В и программируемым порогом переключения. Канал N+1 конфигурируется как дискретный вывод с программируемым уровнем логической единицы. Режим преобразования уровней предполагает автоматическое отслеживание входного сигнала канала N и трансляцию его на выход канала N+1 в преобразованном виде. Например, сигнал на входе может иметь уровень логической единицы равный 3,6 В, а сигнал на выходе может быть запрограммирован на уровень логической единицы, например, +8 В. Отметим, что это преобразование осуществляется автономно и, после задания настроек, не требует вмешательства микроконтроллера.
  • Аналоговый ключ. В этом режиме канал N может быть сконфигурирован произвольным образом, то есть как ввод или как вывод. Внешний контакт канала N+1 в этом режиме будет напрямую соединен с внешним контактом канала N (если в канал N+1 записана единица) или будет переведен в состояние высокого импеданса (если в канал N+1 записан ноль). Соответственно первый вариант соответствует состоянию ключа «замкнуто», а второй – «разомкнуто».

Отладочные средства для MAX11300

Компания Maxim предоставляет возможности быстрого и легкого освоения микросхемы MAX11300, начиная от нескольких типов отладочных плат и заканчивая графической средой.

Отладочный набор MAXREFDES39# включает в себя усилитель мощности базовой ВЧ-станции (в качестве объекта управления) и плату с микросхемой. Работа с набором предполагает реализацию на MAX11300 функций контроля: измерения тока, протекающего через токовый датчик усилителя; измерение напряжений и токов в первом и втором каскаде усилителя; контроль трех датчиков температуры, а также измерение величин напряжения и тока в контрольных точках. На MAX11300 реализованы также управляющие функции: включение/выключение усилителя, формирование управляющих напряжений, управление индикацией и ряд других. Работа с платой предполагает назначение конкретных функций ячейкам MAX11300, подготовку значений, загружаемых в управляющие регистры MAX11300 по интерфейсу SPI, и мониторинг работы усилителя. Фото отладочного набора MAXREFDES39# представлено на рисунке 2.

Рис. 2. Отладочный набор MAXREFDES39#

Рис. 2. Отладочный набор MAXREFDES39#

Две отладочные платы MAX11300PMB1 и MAX11300EVKIT не содержат отдельной платы объекта управления, а включают в себя только MAX11300 с элементами обвязки. Работа с платами в целом аналогична работе с отладочным набором: назначение функций ячеек и выбор параметров, загрузку регистров MAX11300 и контроль за работой объекта управления. Фото отладочной платы MAX11300PMB1 представлено на рисунке 3.

Рис. 3. Отладочная плата MAX11300PMB1

Рис. 3. Отладочная плата MAX11300PMB1

Графическая среда разработки достаточно удобна и проста в использовании. Пользователь перетаскивает компоненты из библиотеки и графически соединяет их с выбранным каналом. Далее в окне свойств необходимо установить все необходимые параметры: входные и выходные диапазоны, уровни сигналов, пороги срабатываний, скорости преобразования и т.д. Графическая среда вырабатывает файл, который может быть загружен в отладочные платы. Этот же файл настроек может быть использован и в конечном приложении – как фрагмент программного кода на Си, который будет вставлен в программу микроконтроллера. Скриншот графической среды представлен на рисунке 4.

Рис. 4. Скриншот графической среды разработки для MAX11300

Рис. 4. Скриншот графической среды разработки для MAX11300

Принципиальная новизна микросхемы MAX11300

Рассмотрим, например, микросхему MAX1258 в качестве возможного функционального прототипа микросхемы MAX11300, не обладающего, однако, свойствами реконфигурируемости. Максимальное количество сигналов, обрабатываемых данной микросхемой, достаточно велико – 36. То есть почти вдвое больше, чем в MAX11300. Однако, если для конкретного объекта управления недостаточно восьми аналоговых выводов, то придется добавлять дополнительные микросхемы. Если недостаточно 12 линий дискретного ввода и вывода, то придется задействовать аналоговые вводы и выводы в качестве дискретных. Если уровни сигналов объекта управления отличаются от тех, которые используются в MAX1258, то возникнет необходимость схем согласования. Иными словами, микросхема MAX1258 хороша и эффективна до тех пор, пока характеристики объекта управления не выходят за рамки некой типичной, усредненной модели. Если объект управления за эти рамки выходит, то применение микросхемы становиться неэффективным: появляются дополнительные микросхемы, растет количество элементов обвязки и т.д. Это характерно не только для MAX1258, но и для других аналогичных изделий, как компании Maxim, так и других производителей.

Первое принципиальное отличие MAX11300: ограничение существует только на общее, суммарное число обрабатываемых сигналов. В пределах 20 ячеек возможны любые сочетания и комбинации. Настройки одной ячейки никак не влияют на работу остальных.

Второе принципиальное отличие: различные ячейки могут выполнять одну и ту же функцию (например, аналоговый вывод), но при этом каждая из ячеек может иметь свои параметры сигнала (например, диапазон выходного напряжения). В подавляющем большинстве многоканальных ЦАП и АЦП это не так. Для MAX11300 в словах «схема сбора и обработки разнородных сигналов» слово «разнородных» является ключевым.

Строго говоря, эти два отличия не являются принципиально новыми. Достаточно вспомнить программируемый таймер Intel8253, популярный в 80-е годы прошлого века: три независимых канала, каждый из которых мог быть настроен как одно из шести различных устройств. Однако, в задачах сбора и обработки, микросхемы, построенные по принципу независимых ячеек, не припоминаются.

Именно эти два принципиальных отличия позволяют позиционировать MAX11300 как «первую в отрасли», поскольку для микросхем аналогичного назначения подобный подход ранее не применялся, а выгоды от него вполне очевидны.

Литература

  1. Maxfield Max. Programmable Analog: Maxim Creates Swiss Army Knife.
  2. Cole Bernard. Maxim tries its hand at a programmable analog arrays.
  3. Taranovich Steve. Maxim Integrated PIXI: How to make a highly functional Field Programmable Analog Array (FPAA).
  4. Morris Kevin. BFFs 4 FPGAs Maxim Debuts PIXI Programmable Analog.
  5. http://www.anadigm.com/fpaa.asp.

Получение технической информации, заказ образцов, заказ и доставка.

•••

Наши информационные каналы

О компании Maxim Integrated

Компания Maxim Integrated является одним из ведущих разработчиков и производителей широкого спектра аналоговых и цифро-аналоговых интегральных систем. Компания была основана в 1983 году в США, в городе Саннивэйл (Sunnyvale), штат Калифорния, инженером Джеком Гиффордом (Jack Gifford) совместно с группой экспертов по созданию микроэлектронных компонентов. На данный момент штаб-квартира компании располагается в г. Сан-Хосе (San Jose) (США, Калифорния), производственные мощности (7 заводов) и ...читать далее