Научная статья на тему 'Системы на FPGA — это просто!'

Системы на FPGA — это просто! Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
230
68
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ван Парейс Руди

Компания EBV Elektronik завершила разработку своей пятой по счету референсной (эталонной) платформы. На этот раз компания создала плату промышленного управления MercuryCode на основе FPGA Cyclone III от Altera.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Системы на FPGA — это просто!»

Системы на FPGA —

это просто!

Руди ван ПАРЕЙС (Rudy Van PARIJS), вице-президент компании EBV Elektronik по техническому развитию

Компания EBV Elektronik завершила разработку своей пятой по счету ре-ференсной (эталонной) платформы. На этот раз компания создала плату промышленного управления MercuryCode на основе FPGA Cyclone III от Altera.

На выставках SPS/IPC/Drives и Embedded World одним из экспонатов стенда EBV Elektronik была игра — настольный футбол, где любой желающий мог сразиться с электронно-механическим противником. Здесь всегда собиралась большая толпа. Лишь изредка самым настойчивым игрокам удавалось одержать победу. Так вот, основой роботизированного управления этого настольного футбола является рефе-ренсная платформа, разработанная когда-то компанией EBV на базе FPGA Cyclone-II Altera.

С приходом следующего поколения FPGA компании EBV Elektronik и Altera совместно выводят на рынок новую эталонную платформу под названием MercuryCode, так как старая плата, содержавшая «всего» 20 000 логических элементов, достигла пределов своей вычислительной мощности. Кроме того, рынок настойчиво требовал продуктов с новыми функциями.

Основной элемент платы MercuryCode — интегральная схема FPGA EP3C40 — входит в состав новейшего семейства Cyclone III ком-

пании Altera и имеет 40 000 логических элементов: вдвое больше, чем у платы EP2C20.

Компания EBV Elektronik реализовала на базе FPGA программный процессор Nios, работающий с внешней памятью. Кроме того, EBV встроила в плату различные промышленные драйверы для сопряжения FPGA с внешними устройствами и собрала пакет драйверов и программного обеспечения.

Долгосрочная доступность

Поскольку поставки FPGA от компании Altera возможны в течение 10 лет, компания EBV Elektronik уже выполняет одно из основных требований промышленности — требование долгосрочной доступности. Это справедливо также и в отношении микропроцессора, так как он реализован на базе FPGA в виде программного ядра.

Все элементы, для которых необходимы специальные драйверы (Ethernet, CAN, специальные УАПП), реализованы в FPGA. Как следствие, драйверы доступны в форме VHDL-кода, и для них не существует такого

понятия, как «снятие с производства». Даже если через десять лет будет снята с производства используемая ИС FPGA, VHDL-код можно будет перенести на платформу следующего поколения. Таким образом, нужно будет переработать только аппаратное обеспечение, а особенно трудоемкое в разработке программное обеспечение можно будет использовать в том виде, в каком оно есть.

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

Прямое управление сенсорными TFT-Экранами

Плата MercuryCode обеспечивает возможность реализованного в FPGA непосредственного управления графическими TFT-панелями, подключаемыми по LVDS с обеспечением

разрешения XGA (1024x768). Одновременно может отображаться 256 цветов из палитры, содержащей 218 цветов. Таким образом, можно добиться, например, точной цветопередачи корпоративных цветов в логотипе компании, обеспечив соответствие требованиям корпоративного стиля без дополнительных расходов. Ограничение в 256 отображаемых цветов обусловлено тем, что компания EBV Elektronik намеренно сделала видеопамять «всего лишь» 16-разрядной. А 256 цветов — более чем достаточно для большинства промышленных приложений. Иным словами, достигнут хороший компромисс, поскольку задача состоит в отображении графики, а не фотографий.

Благодаря контроллеру сенсорной панели TSC2200 компании Texas Instruments, который также встроен в плату, разработчики могут воспользоваться преимуществами сенсорного дисплея.

Для эффективной реализации интерактивного человеко-машинного интерфейса компания EBV Elektronik предоставляет прямую поддержку и адаптированный комплект разработчика с сенсорным экраном, а также подходящий инвертор и графическую библиотеку компании Segger. Это позволяет разработчикам создавать графическое меню, из которого можно выбирать отдельные элементы для отображения на сенсорном экране.

Таким образом, компания EBV Elektronik вносит существенный вклад в сокращение времени выхода разработки на рынок: за счет повторного использования наработок, в которые было вложено много ресурсов, пользователи экономят месяцы разработки. Одновременно значительно снижается риск, связанный с проектированием, поскольку разработчики уже на ранней стадии могут убедиться, что их аппаратное обеспечение действует надлежащим образом.

Высокоточная временная синхронизация

Плата MercuryCode сопряжена с интерфейсом Ethernet на физическом уровне посредством новых ИС DP83640 компании National Semiconductor, установленных на плате и оборудованных встроенным модулем временных меток IEEE 1588. Это означает, что системы, расположенные в разных уголках мира, можно синхронизировать друг с другом с погрешностью менее чем 100 нс. Распределенный тактовый генератор работает синхронно с величиной джиттера менее 100 нс.

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

ном расстоянии от физического уровня, по истечении различных времен распространения), при использовании MercuryCode добавление временной метки производится на физическом уровне с помощью новых ИС компании National Semiconductor, так что джиттер и задержка оказываются гораздо меньше.

Защищенное остается защищенным

Плата содержит также защищенную память AT88SC0808 компании Atmel, обеспечивающую возможность обмена данных по шифрованному каналу между FPGA и микросхемой памяти. Это позволяет поставщику IP-ядра (IP здесь — Intellectual Property, интеллектуальная собственность) ограничивать его использование одной физической платой, на которой пользователь может спокойно опробовать или тестировать свое решение. Однако использование данного ядра на второй плате невозможно.

Эта функция чрезвычайно практична и обеспечивает экономию времени уже на стадии разработки. Но огромный потенциал, связанный с использованием защищенной памяти, проявляется в полной мере только на стадии производства. Это связано с тем, что интеллектуальная собственность пользователя защищена от копирования, несанкционированного изготовления дополнительных экземпляров производственными подрядчиками и других действий подобного рода, наносящих ущерб бизнесу. Такое шифрование давно уже реализовано в высококлассных компонентах серии Stratix компании Altera. Эту особенность можно использовать и в недорогих компонентах семейства Cyclone с помощью внешней защищенной памяти, подобной той, которая встроена в плату MercuryCode.

Поток данных конфигурации FPGA не защищен и с чисто теоретической точки зрения может быть отслежен и/или скопирован. Защита начинается с момента начала работы IP-ядра, когда ядро предпринимает попытку подключения к защищенному СППЗУ и обмена кодами. Но если в СППЗУ хранится неверный ключ, IP-ядро прекращает работу ввиду запуска на ненадлежащей плате. Хотя такая защита интеллектуальной собственности с давних пор является предметом дискуссий в потребительском сегменте рынка, в промышленном секторе ее значение неуклонно повышается.

Богатый набор периферийных интерфейсов

Еще одна сильная сторона FPGA компании Altera — это богатый набор интерфейсов ввода/вывода, и компания EBV Elektronik использует многие из них в плате MercuryCode. Например, помимо интерфейса TFT-LVDS, имеется также два проприетарных высокоскоростных LVDS-интерфейса, позволяющих объединять несколько плат в кластер, если раз-

работчики желают создать распределенную систему. EBV Elektronik также предоставляет необходимые драйверы для всех интерфейсов, что, несомненно, тоже сокращает сроки разработки конечного продукта.

Плата MercuryCode имеет интерфейсы RS485 и CAN, это обеспечивает возможность подключения по протоколу CANopen в промышленном окружении. Интерфейсы RS485 используются в модулях управления электродвигателями — например, для подключения инкрементального вращательного датчика положения (энкодера). С помощью интерфейса RS485 можно подключать и другие системы полевых шин, например Interbus-S и Profibus.

Интерфейс Ethernet с двойным физическим уровнем подходит для полевых шин на базе Ethernet. Скорость передачи данных 10/100 Мбит/с обеспечивает ту полосу пропускания, которая в настоящее время используется в системах полевых шин реального времени на базе Ethernet.

Поддержку всех распространенных на рынке систем полевых шин осуществляет в общей сложности десять партнерских компаний. Это позволяет разработчикам испробовать все представленные на рынке полевые шины с платой MercuryCode. Традиционные платы не позволяют это делать, поскольку они ориентированы на конкретного производителя, а ни один производитель не позволит реализовывать интеллектуальную собственность конкурентов на своих платах. Поскольку компания EBV Elektronik независима, ее партнеры не возражают против переноса полевых шин на плату MercuryCode. Для конечного потребителя есть еще одно преимущество: если ему понадобится сменить систему полевых шин, он сможет это сделать на базе имеющегося аппаратного обеспечения. Это также влечет выгоды в плане сбыта и маркетинга продукции.

Возможен также непосредственный обмен данными в среде микропрограммного управления (SPS, PLC) по шинам ввода/вывода на напряжение 24 В, а также прямое управление исполнительными устройствами.

К имеющемуся на плате интерфейсу USB можно подключать карты памяти. Этот же самый компонент позволяет устанавливать каналы связи с ПК.

Плата содержит светодиоды и 7-сегмент-ный индикатор для сообщения о статусе и т. д. Это дает возможность быстро запрограммировать первоначальную демонстрационную версию системы. В комплект также входят кнопки и разъем JTAG для конфигурации и программирования платы.

Дополнительная поддержка

Чтобы максимально сократить этап первоначального ознакомления, компания EBV Elektronik предлагает не только документацию, но и вводную инструкцию, в которой содержатся ответы на вопросы вроде «Как реализо-

вать ядро Nios?», «Как добавлять компоненты?», «Как сконструировать систему?» и т. п. С образцовой платой компания EBV Elektronik также поставляет образцы веб-сервера, USB-устройства и демонстрационного CAN-устройства.

Для SPS-программирования на базе ядра Nios компания KW-Software предоставляет пакет под названием NIOSghost.net. Это позволяет программировать на языке IEC 61131, а также языках C# (логическое развитие языка C++ в рамках платформы .Net), Visual-Basic с использованием библиотек NIOSon для Microsoft.Net.

C Ethercat.org разработчики получают Ethercat-систему, с Automata — систему на базе SERCOS III, а с Ixxat — Ethernet IP. Компания Softing предлагает программное обеспечение для подключения к Profinet, а B&R предоставляет средства для работы с прото-

колом Powerlink. Таким образом, плата MercuryCode поистине универсальна.

Плата MercuryCode в составе системы

Компания ЕБУ занимает ведущие позиции на рынке с уже имеющимися референс-ными платформами 8пакеБу1е8, Dragonfire, ChameleonARM и FalconEye, и разработка этих плат и комплектов продолжается. Ре-ференсные платформы ЕБУ никогда не являются изолированными решениями — это всегда системы, задуманные в рамках некоторой концепции. Как следствие, плата MercuryCode, например, хорошо подходит для сопряжения с полевыми шинами и управления электродвигателями в приводах.

Исходный вариант системы управления электродвигателем FalconEye был оборудо-

ван цифровым контроллером сигналов компании Freescale в качестве вычислительного модуля. Теперь же компания EBV Elektronik предлагает FalconEye FPGA — вариант на базе платы FPGA, это законченная образцовая конструкция для управления электродвигателями на базе ядра Nios II.

На главном разъеме платы имеется 32 контакта прямого ввода/вывода с FPGA на напряжение 3,3 В, чтобы разработчики могли реализовывать те интерфейсы, которые им необходимы — SPI, I2C и т. д., что обеспечивает возможность расширения. Например, это позволяет конструировать платы адаптеров для систем Echelon, и, таким образом, реализовывать LON-узлы в различных вариантах. И это лишь один из множества вариантов применения, возможных благодаря исключительной универсальности образцовых плат компании EBV Elektronik. ■

i Надоели баннеры? Вы всегда можете отключить рекламу.