Аналогово-цифровые
программируемые
SoC Fusion и SmartFusion
компании Actel
Слово fusion переводится с английского как слияние, так почему же два семейства микросхем Actel содержат его в своем названии? Оказывается, в микросхемах семейств Fusion и SmartFusion слиты в одно целое цифровая и аналоговая части. Таким образом, эти микросхемы представляют собой полноценные системы на кристалле (SoC). Для реализации проекта с использованием этих микросхем потребуется минимальное количество внешних компонентов. В итоге вы получите чрезвычайно компактное устройство с возможностью модификации проекта на уровне программного обеспечения, без изменений в конструкции печатной платы. в статье приводится краткое описание этих семейств, а также возможности их применения.
Евгений КОТЕЛЬНИКОВ, к. ф.-м. н.
Краткие характеристики семейств Fusion и SmartFusion
В 2008 году фирма Actel, известная своими высоконадежными программируемыми интегральными схемами (ПЛИС), начала поставки аналогово-цифровых систем на кристалле Fusion. В настоящий момент линия поставок этого семейства включает в себя более 10 микросхем, отличающихся размерами матрицы ПЛИС и корпусами. Микросхемы семейства Fusion представляют собой ПЛИС, интегрированные с одним или несколькими АЦП и блоками аналоговой обработки сигналов, позволяющими производить нормирование и подготовку дифференциальных и однофазных
сигналов перед подачей на вход АЦП. Краткие характеристики семейства приведены в таблице. Микросхемы, название которых начинается с префикса Ml, содержат выделенную область для размещения ARM-совместимого процессора Cortex Ml. Микросхемы с префиксом Pl разработаны в содружестве с фирмой Pigeon Point Systems и предназначены для использования в модульных системах AdvancedTCA (ATCA), AdvancedMC и MicroTCA [l]; эти микросхемы, так же как и микросхемы Ml, допускают размещение процессоров Cortex Ml. Микросхемы с префиксом Ul разработаны в содружестве с фирмой MicroBlade и предназначены для использования в мезонинных модулях MicroBlade Advanced Mezzanine Card,
логическая матрица этих микросхем допускает размещение контроллера модуля (Module Management Controller, MMC) с системой команд процессора 8051.
Микросхемы Fusion содержат один АЦП и до 10 аналоговых модулей. Каждый модуль имеет измерительные и операционные усилители и позволяет измерять напряжение в диапазоне до 15 В, ток по падению напряжения на внешнем шунтирующем резисторе и температуру по напряжению на датчике температуры с р-п-переходом. Структурная схема аналогового модуля представлена на рис. 1.
Микросхемы семейства SmartFusion представляют следующее поколение SoC Actel. Данные о них тоже представлены в таблице. В отличие от микросхем Fusion в них, помимо программируемой матрицы и аналогового блока, содержится еще аппаратно реализованный ARM-совместимый процессор Cortex M3, способный работать с тактовой частотой до 100 МГц, и развитый набор периферии, включающий разнообразные контроллеры интерфейсов, вплоть до Ethernet 10/100 и контроллера внешней памяти. Еще одним существенным отличием семейства SmartFusion является то, что эти микросхемы могут содержать до трех АЦП и до трех ЦАП на кристалле. Структурная схема аналогового блока SmartFusion, расположенного перед каждым АЦП, показана на рис. 2.
Аналогово-цифровые преобразователи, используемые в семействах Fusion и SmartFusion, могут быть сконфигурированы как 8-, 10- или 12-разрядные. При работе в 8-разрядном режиме производительность АЦП составляет 600 KSPS, а в 12-разрядном — 500 KSPS.
Таблица. Характеристики семейств Fusion и SmartFusion
Семейство Название микросхемы Количество системных вентилей Максимальное количество триггеров PLL на кристалле IX м а И 0 0 VO UL * м е ъ VO О Объем встроенного ОЗУ, кбит Защита прошивки кодом 128-Bit AES Максим. кол-во аналоговых входов Количество доступных цифровых/аналоговых выводов
QFN PQFP FBGA
QN108 QN180 PQ208 FG256 FG484 FG676
Fusion AFS090 90К 2304 256 27 Да 20 37/16 60/20 75/20
Fusion AFS250 250К 6144 256 36 Да 24 65/24 93/24 114/24
Fusion M1AFS250 250К 6144 256 36 Да 24 65/24 93/24 114/24
Fusion AFS600 600К 13 824 512 108 Да 40 95/40 119/40 172/40
Fusion M1AFS600 600К 13 824 512 108 Да 40 95/40 119/40 172/40
Fusion P1AFS600 600К 13 824 512 108 Да 40 119/40 172/40
Fusion U1AFS600 600К 13 824 512 108 Да 40 119/40
Fusion AFS1500 1,5M 38 400 1024 270 Да 40 119/40 223/40 252/40
Fusion M1AFS1500 1,5M 38 400 1024 270 Да 40 119/40 223/40 252/40
Fusion P1AFS1500 1,5M 38 400 1024 270 Да 40 119/40 223/40
SmartFusion A2F060 60K 1536 64 128 Да 24 91/25
SmartFusion A2F200 200K 4608 256 512 Да 24 91/26 135/26
SmartFusion A2F500 500K 11 520 512 512 Да 32 91/26 169/35
Длина стороны корпуса 10 28 17 23 27
Шаг ножек, мм 0,5 0,5 0,5 1
Высота корпуса 0,75 0,75 4,1 1,6 2,23 2,23
Входное напряжение
Нагрузка
Блок измерения тока
Делитель напряжения
Цифровой вход
Измеритель температуры
Аналоговый
модуль
Блок измерения температуры
На логическую матрицу ПЛИС СРОМТх
На логическую матрицу ПЛИС РАТОиТх
Fusion
Рис. 1. Структура аналогового модуля Fusion
To/from From
То ADC То ADC То ADC То ADC То ADC То ADC То ADC То ADC FPGA To/from ACE or
Рис. 2. Структура аналогового блока SmartFusion
Область применения SoC А^е!
Первоначально аналогово-цифровые ПЛИС планировались для применения в качестве контроллеров систем ТСА, однако в настоящее время они успешно используются в различных областях. Приведем лишь два примера.
Интеллектуальный драйвер двигателя постоянного тока
Электрические двигатели постоянного тока (коллекторные двигатели) находят широкое применение в различных областях техники и имеют значительное число достоинств, к которым относится,
например, простота подключения, однако у них есть и определенные недостатки. Основной из них состоит в том, что при обычном включении невозможно сохранить значительный момент на валу при пониженной скорости вращения.
Использование цифровой стабилизации скорости вращения позволяет не только преодолеть этот недостаток, но и получить дополнительные функциональные возможности (рис. 3).
Известно, что напряжение на коллекторном двигателе зависит от скорости его вращения:
идв = Ьв хКвн-Ер, (1)
Рис. 3. Структурная схема управления скоростью вращения коллекторного двигателя
где Ude — напряжение на выводах двигателя; 1де — величина тока, протекающего через обмотку двигателя; Rett — внутреннее сопротивление двигателя; Евр — противоЭДС вращения.
Противо-ЭДС вращения пропорциональна скорости вращения двигателя (Sep), таким образом:
SSp ~ Евр = hsxRStTUde- (2)
Другими словами, если мы измерили ток обмотки и напряжение питания двигателя, то можем вычислить скорость его вращения. Добавив несложный ПИД (пропорционально-интегральнодифференциальный) регулятор, правильно подобрав его коэффициенты и соединив его выход с затвором транзистора в цепи питания двигателя, мы получим стабилизатор скорости вращения, который позволит задавать и стабилизировать скорость вращения двигателя в широких пределах. Как показывает практика, такие драйверы коллекторного двигателя, даже выполненные в виде аналоговых устройств, позволяют изменять скорость вращения от одного оборота в секунду до нескольких тысяч оборотов в минуту без существенной потери момента на валу. Цифровая версия устройства имеет множество преимуществ перед аналоговой. К этим преимуществам относятся: возможность адаптивного управления коэффициентами ПИД в зависимости от скорости вращения или возможность контроля температуры двигателя для защиты его от перегрева, что позволит использовать повышенное напряжение питания для достижения лучших динамических характеристик устройства.
В качестве контроллера драйвера коллекторного двигателя можно применять как микросхемы семейств SmartFusion, так и Fusion, ведь для управления силовым транзистором может быть использован не только сигнал с выхода ЦАП, но и ШИМ-сигнал, сформированный в матрице ПЛИС. Для реализации такого драйвера часто бывает достаточно источника питания, силового транзистора и всего одной микросхемы семейства Fusion с минимальной внешней «обвеской». Поскольку ПЛИС семейства Fusion могут иметь в своем составе до 10 аналоговых модулей, а значительная часть вычислений может быть сделана в матрице ПЛИС, то одна такая микросхема может управлять системой с 10 двигателями.
Предположим теперь, что мы изготовили такой драйвер двигателя, настроили его и начали серийный выпуск. Представим себе, что один из заказчиков попросил модифицировать устройство, добавив инкрементный датчик положения вала, с целью цифрового контроля скорости вращения. Если бы мы выбрали для реализации системы другую элементную базу, скорее всего, дело бы закончилось перераз-водкой печатной платы...
Использование SoC Fusion, однако, позволяет добавить новую функциональность без изменения платы. Дело в том [2], что при вращении
двигателя, когда щетки переходят с одной контактной площадки коллектора на другую, ток потребления двигателя меняется скачкообразно. Поэтому сигнал тока, снимаемый с измерительного сопротивления, всегда промодулирован частотой, равной частоте вращения двигателя, умноженной на количество полюсов коллектора (N). Цифровая версия драйвера может считать эти импульсы и таким образом определять положение ротора с точностью до 1/N оборота; кроме того, поскольку процессор драйвера обладает информацией о скорости вращения, он может вычислить положение ротора во времени с еще большей точностью. На практике аналоговые устройства могут использовать модуляцию тока питания двигателя для стабилизации скорости вращения только в узком диапазоне этих скоростей, поскольку аналоговые средства измерения не позволяют выделить модулирующий сигнал, как при низких, так и при высоких угловых скоростях ротора. Цифровая система с программируемым коэффициентом усиления на входе АЦП свободна от этого недостатка и всегда может использовать модуляцию тока для компенсации ошибок управления.
Лазерный дальномер
Примером применения цифро-аналоговых микросхем SmartFusion может служить лазерный дальномер.
Работа всех оптических дальномеров основана на измерении времени задержки пришедшего сигнала относительно излученного. Поскольку скорость света равна примерно 3х109 м/с, то на проход одного метра туда и обратно свет тратит около 6,7 нс. Если мы хотим сделать дальномер с максимальной дальностью 100 м, то максимальная задержка сигнала составит 670 нс. Измерить такое время с высокой точностью довольно трудно, поэтому прибегнем к следующей хитрости: будем модулировать свет лазерного диода синусоидальным сигналом с частотой, линейно изменяющейся во времени. Пришедший сигнал будем перемножать с излучаемым и измерять частоту биений. Чем больше будет измеряемая дистанция, тем больше задержка пришедшего сигнала относительно излученного, тем больше будут отличаться их частоты, а частота биений будет прямо пропорциональна дистанции.
Таким образом, получается следующая конструкция дальномера: лазерный диод излучает модулированный свет, оптическая система формирует оптический пучок с малой расходимостью, так что на объекте пятно засветки имеет небольшие геометрические размеры. Свет, рассеянный поверхностью, до которой измеряется расстояние, попадает в приемный объектив и фокусируется на фотодиоде. Для увеличения отношений сигнал/шум и сигнал/помеха в приемном тракте должен быть установлен узкополосный оптический фильтр или интерференционное зеркало, для того чтобы на фотоприемник попадал только свет с длиной волны, близкой к длине волны лазерного диода, а посторонняя засветка не мешала работе. Входной тракт должен быть достаточно чувствительным, ведь при расстоянии до объекта 100 м и диаметре приемного объектива 10 см пришедший световой сигнал будет ослаблен относительно излученного примерно в 108 раз.
Поскольку частота дискретизации у наших АЦП 500 кГц, желательно ограничить полосу входного сигнала, скажем, в 200 кГц, чтобы избежать появления ложных частотных составляющих в оцифрованном сигнале. В нашем случае максимальная задержка — 670 нс, а частота биений должна быть не более 200 кГц, следовательно, скорость изменения частоты должна быть 200 кГц за 670 нс, или 300 МГц за 1 мс. Поскольку в настоящее время доступны микросхемы прямого цифрового синтеза (DDS) с тактовой частотой до 800 МГц, то формирование такого модулирующего сигнала возможно. Для того чтобы отстроиться от низкочастотных шумов радиочастотного тракта, будем изменять частоту модуляции не от нуля, а, скажем, от 1 МГц, это позволит также упростить выделение сигнала биений, поскольку его частота будет намного ниже.
Выберем время измерения около 1 мс так, чтобы АЦП успел сделать 512 измерений. Чтобы получить спектр сигнала биений, произведем быстрое преобразование Фурье (БПФ) над полученным набором отсчетов. Для этих целей Actel бесплатно предоставляет IP-ядро
для БПФ [3]. В простейшем случае в спектре биений будет присутствовать сигнал только одной частоты. Зная эту частоту биений fpa3 (кГц), можно определить дальность L (м) по формуле:
L = (fpJ200)xW0. (3)
Все эти выкладки верны в том случае, если поверхность, до которой измеряется расстояние, неподвижна, если же измеряемое расстояние меняется во время измерения, то к разностной частоте добавится со своим знаком доплеровская частота. Для того чтобы иметь возможность отличать доплеровский сдвиг от сдвига частоты, вызванного задержкой в пространстве, добавим к нашему устройству второй канал. Назовем его косинусным, поскольку в нем мы будем перемножать приходящий сигнал с модулирующим, сдвинутым на четверть периода. Для оцифровки этого канала как раз и подойдет второй АЦП, который есть в SmartFusion. Спроектированное устройство будет измерять дальность с точностью до 20 см. Оценка этой погрешности получена из следующих соображений: поскольку длина массива после БПФ равна длине исходного массива данных, то частота биений может быть измерена с точностью не лучше чем 200 кГц/512. Переводя это значение в дальность по формуле (3), получим ошибку измерения около 20 см. Точность, конечно, не очень большая, но надо отметить, что на измерение тратится всего 1 мс. Еще одним замечательным свойством такого дальномера является то, что, если на пути луча будут встречаться полупрозрачные преграды, мы сможем измерить расстояние до каждой из них в отдельности, ведь в спектре биений принимаемого сигнала будет своя частота для каждой такой преграды. Полупрозрачной преградой может быть не только стекло или поверхность жидкости, но и, например, туман и ветки деревьев.
Итак, как и в предыдущем случае, предположим, что устройство находится в стадии серийного производства. И, как это всегда бывает, один из заказчиков заявляет: «Мне не нужны все эти ваши возможности видеть сквозь туман и ветки растений: это все баловство, а вот точность измерения меня не устраивает!»
И что нам делать в этом случае? Создавать новое устройство с повышенной точностью, тратить на это время, деньги и силы. К счастью, использование микросхем SmartFusion при разработке нашего дальномера позволит нам только изменением софта достичь требуемой точности измерения.
Для уточнения дальности можно использовать следующий прием: из предыдущих измерений мы знаем оценку дистанции с точностью до 20 см, что соответствует задержке чуть больше 1 нс. Установим частоту модуляции лазерного излучения 300 МГц и попытаемся оценить сдвиг фазы пришедшего сигнала относительно излучаемого. Для этого можно воспользоваться отсчетами в синусном и косинусном каналах. Постоянная, составляющая напряжение на выходе первого канала, будет пропорциональна синусу сдвига фазы, а на выходе второго — косинусу. Использование 12-разрядного АЦП позволяет построить систему, позволяющую при такой схеме измерений оценить фазу с точностью не хуже чем 1/500 периода. Таким образом, мы сможем уточнить дальность до 1 мм без изменений в печатной плате. Более того, мы можем разослать нашу новую прошивку заказчикам, чтобы они на месте смогли модифицировать свои версии дальномеров, не опасаясь того, что кто-нибудь из них начнет производить наше устройство и конкурировать с нами на рынке. Ведь все Flash ПЛИС Actel позволяют использовать 128-битное шифрование прошивки, которая расшифровывается уже внутри ПЛИС, ключом, прошитым на производстве.
Стартовые наборы
Для ознакомления с возможностями семейств SoC Fusion и SmartFusion фирма Actel выпускает широкий набор оценочных плат. Обычно это универсальные платы, на которых, кроме самой ПЛИС, установлены разве что внешняя память, разъемы интерфейсов и переключатели, но есть и специализированные стартовые наборы. Об одном из них расскажем подробнее.
Рис. 4. Внешний вид набора разработчика для управления двигателями
Речь идет о наборе разработчика для управления бесколлекторными двигателями на базе микросхем семейства SmartFusion. Внешний вид этого набора показан на рис. 4. Набор предназначен для управления синхронными двигателями с постоянным магнитом (PMSM), иначе именуемыми как brushless DC (BLDC) — бесколлекторные двигатели.
В набор входят:
• блок управления двигателями;
• один бесколлекторный двигатель;
• сетевой кабель питания (120-240 В);
• сетевой адаптер для питания платы управления;
• программатор для программирования и отладки ПЛИС и микроконтроллера;
• программа управления двигателями с ПК (PC Motor Control software GUI);
• кабель Ethernet для связи между ПК и платой управления;
• доступ к демонстрационным проектам и их обновлениям.
Набор позволяет управлять работой одного бесколлекторного двигателя, однако плата управления поддерживает до 4 двигателей и плата силовых ключей разведена для работы с таким же количеством двигателей. При необходимости можно напаять на нее недостающие элементы, и вы получите устройство для одновременного управления четырьмя электромоторами. Набор поддерживает различные схемы питания двигателей, содержит полный набор soft- и hard-драйверов для управления ими. Программное обеспечение для ПК, поставляемое вместе с набором, позволяет собирать, анализировать и отображать данные о скорости вращения ротора, напряжении и токе питания с помощью интерактивного графического интерфейса пользователя.
Блок управления двигателями состоит из трех плат: управляющая плата, плата силовых ключей, блок питания в защитном корпусе. Управляющая плата собрана на аналогово-цифровой микросхеме SmartFusion A2F200, которая может работать с аналоговыми напряжениями в диапазоне ±12 В. В задачи платы входит формирование управляющих последовательностей для управления платой силовых ключей; кроме того, встроенные АЦП микросхемы A2F200 позволяют получать данные о положении ротора и токе обмоток. Плата допускает использование двух видов датчиков положения: либо внешний преобразователь положения в код, либо датчик положения, возбуждаемый сигналом, формируемым при помощи встроенного ЦАП микросхемы SmartFusion. На управляющей плате расположены также светодиодные индикаторы, отображающие работу двигателей раздельно по каждому каналу, и схема обнаружения перегрузок и защиты от них. На плате силовых ключей смонтированы высоковольтные драйверы для управления двигателем. Плата блока питания, построенная по схеме buck/boost преобразователя, предназначена для выработки стабилизированного напряжения питания платы силовых ключей, она работает при входном напряжении в диапазоне 120-240 В и обеспечивает активную коррекцию cos ф.
Программа для ПК, входящая в поставку демонстрационного набора, позволяет независимо управлять каждым из четырех двигателей, подключенных к устройству, отображать в графическом виде данные о температуре, токе, скорости вращения и моменте на валу каждого двигателя. Собранные данные могут быть экспортированы в текстовые файлы для дальнейшей обработки. Из графического интерфейса пользователя на ПК можно сконфигурировать работу системы, в частности, можно задать количество полюсов ротора, подключенного двигателя, коэффициенты ПИД-регулятора, положение и ускорение ротора.
Вместе с набором поставляются все исходные файлы (на языках С и RTL) для пяти готовых проектов:
• С возбуждением двигателя сигналами трапецеидальной формы, с использованием датчика Холла для обратной связи.
• Синусоидальное возбуждение с использованием датчика Холла для обратной связи. В этом проекте разгон двигателя начинается с трапецеидальным возбуждением, которое меняется на синусоидальное при достижении пороговой скорости вращения.
• Синусоидальное возбуждение с использованием датчика положения для обратной связи. В этом проекте двигатель стартует с трапецеидальным возбуждением, а после прихода первого фронта с датчика положения тип возбуждения меняется на синусоидальный.
• Трапецеидальное возбуждение без датчиков обратной связи. Плата управления позволяет получать информацию о положении ротора по величине наведенной электродвижущей силы, что и используется в данном проекте для формирования шестифазной трапецеидальной коммутационной последовательности.
• Интерактивное устройство управления двигателями по ЕШете! С этим проектом можно опробовать устройство удаленного управления движением объекта по 4 координатам через сеть Ethemet.
Заключение
С помощью ПЛИС Actel можно создавать аналогово-цифровые системы на кристалле, применение которых позволяет значительно уменьшить размеры устройств, сократить расходы времени и средств на поддержку и модификацию проектов.
Встроенные усилители с программируемым коэффициентом усиления дают возможность изменять чувствительность АЦП без ухудшения соотношения сигнал/шум в оцифрованных данных.
Расшифровка зашифрованной алгоритмом AES со 128-битным ключом прошивки, внутри микросхемы на лету, во время программирования через JTAG, допускает смену прошивки пользователем устройства без риска потери интеллектуальной собственности разработчика.
Все это позволяет сказать, что микросхемы SoC Actel семейств Fusion и SmartFusion являются перспективной платформой для разработки новых устройств во всех областях применения, начиная от бытовых приборов и медицинского оборудования до космических систем с короткой миссией. ■
Литература
1. Pigeon Point — http://www.actel.com/documents/PPS_PIB.pdf
2. Сергеев О. Стабилизатор частоты вращения коллекторного двигателя // Схемотехника. 2001. № 4.
3. CoreFFT v3.0 (четвертая версия ядра — CoreFFT v4.0 — предназначена только для работы в ПЛИС семейства RTAX-DSP, со встроенными аппаратными умножителями) — http://www.actel.com/products/ip/search/detail.aspx? id=624