Перспективы использования коммуникационных процессоров Ubicom для создания глобально распределенных IP-систем

№ 6’2004
Сегодня Интернет в широком смысле коммуникационная среда, скорость развития которой значительно превышает скорость развития телевидения, радио и других коммуникационных сред.

Введение

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

В настоящей статье рассматриваются платформы коммуникационных процессоров фирмы Ubicom, которые позволяют уже сегодня массово использовать Интернет для реализации бескомпьютерного взаимодействия типа «человек — устройство» и «устройство — устройство» для передачи команд управления и обмена информацией различной природы.

Встроенный Интернет

Термин «коммуникационная среда» используется в настоящее время в нескольких значениях. Последние достижения в области микропроцессорной техники дали толчок новому этапу ее развития — использованию для коммуникаций между устройствами, являющимися IP-узлами Глобальной сети. Судя по всему, очередной скачок в увеличении количества узлов Интернета ожидается в самое ближайшее время. Он будет связан с использованием Сети для информационного взаимодействия между устройствами, объединяемыми с ее помощью в глобально распределенные информационно-управляющие системы [2].

Перспектива использования Интернета для коммуникаций между встроенными системами управления привела к появлению такого понятия, как «встроенный Интернет» [3, 4], отражающего сочетание несовместимых еще недавно понятий встроенная система управления и сеть класса WAN. Следует отметить, что в настоящее время уже существует ряд разработок, представляющих собой серийно выпускаемые встроенные интернет-системы.

Являясь очень молодым и чрезвычайно перспективным направлением развития современных сетевых технологий, «встроенный Интернет» начинает применяться в таких областях [1], как:

  • промышленные информационно-управляющие системы, включая интеграцию с существующими SCADA-системами;
  • охранные системы и системы удаленного видеонаблюдения;
  • системы превентивной безопасности;
  • бытовые устройства и т. д. Распределенные системы на базе «встроенного

Интернета» имеют ряд характерных особенностей по сравнению с системами, построенными на основе персональных компьютеров [1]. Эти различия приводят к появлению круга специфических задач, включающих как разработку методов проектирования систем данного класса, так и выбор аппаратной поддержки на уровне специализированных коммуникационных микропроцессоров.

Концепция «виртуальной периферии» микроконтроллеров

На сегодняшний день для эффективной реализации функций коммуникаций производителями микропроцессорной техники выпускается целый спектр микроконтроллеров. Одними из самых высокопроизводительных среди 8-разрядных микроконтроллеров для этих целей являются устройства семейства SX фирмы Ubicom (ранее фирма Scenix) [5].

Используемая в процессорах семейства SX концепция «виртуальной периферии» предполагает ее программную реализацию. С точки зрения основной программы работа с виртуальными периферийными модулями не отличается от работы с реально существующими в архитектуре процессора. Чаще всего виртуальная периферия выполняется на одном основном таймере. Обработчиком прерываний от таймера является диспетчер запуска программных автоматов, которые реализуют необходимые периферийные функции.

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

Наличие «виртуальной периферии» является зачастую единственно возможным решением для реализации уникальных задач при минимизации используемой аппаратной части. В данном случае под уникальными понимаются задачи, требующие нестандартного сочетания или количества периферийных модулей. В качестве примера можно представить устройство, в котором необходимо реализовать большое количество интерфейсов UART, либо иметь одновременно несколько вариантов последовательных внутриплатных интерфейсов, таких как I2C и SPI, аппаратную поддержку которых чаще всего обеспечивает один и тот же периферийный модуль. Так же возможно разрабатывать «виртуальную периферию», которая в случае нехватки или экономии портов ввода-вывода процессора будет использовать выводы процессора, разделяемые с другими виртуальными периферийными модулями.

Для удобной реализации концепции «виртуальной периферии» от процессора требуется высокая скорость работы и быстрая реакция на прерывания с полным аппаратным сохранением контекста. Как правило, для этого используется только один источник прерывания — системный таймер. Разрешение прерываний от других источников может вызвать нарушение цикличности вызовов от системного таймера и, как следствие, нарушение работы требовательной к временным разрешениям виртуальной периферии.

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

8-разрядные коммуникационные процессоры семейства SX

Микропроцессорная платформа микроконтроллеров SX специально ориентирована на концепцию «виртуальной периферии» [5]. Отличительными чертами 8-разрядных RISC-микроконтроллеров SX являются:

  • Гарвардская модифицированная архитектура с 4-ступенчатым конвейером.
  • Производительность до 75 MIPS: тактовая частота до 75 МГц, одна инструкция за один такт, инструкции ветвления за 3 такта.
  • Быстрая и детерминированная система прерываний: с фиксированным временем реакции (3 такта) и с аппаратным сохранением контекстных регистров процессора.
  • Гибкая система ввода-вывода: до пяти 8-разрядных портов ввода-вывода, все выводы индивидуально программируются на ввод-вывод, на входной уровень сигналов TTL или CMOS. Все выводы имеют возможность использовать внутреннюю подтяжку и имеют нагрузочную способность до 30 мА.
  • Память программ до 4096 слов, память данных до 262 байт.
  • Встроенная периферия: один 8-битный счетчик-таймер, два 16-битных многофункциональных таймера, аналоговый компаратор, многовходовая система вывода из режима пониженного энергопотребления и неотъемлемые атрибуты микроконтроллеров: сторожевой таймер и система перезапуска по питанию.
  • Встроенный внутрисхемный эмулятор, позволяющий отлаживать программу непосредственно на процессоре через интерфейс программирования.

Микроконтроллеры SX могут служить основой системы управления различными процессами, средствами связи, измерительного оборудования и, что важно, одновременно реализовывать ряд различных коммуникационных функций. Семейство микроконтроллеров SX18/20/28/48/52 реализует программно такие периферийные модули, как последовательный интерфейс RS-232, параллельный интерфейс Centronics, последовательную шину I2C, протоколы SCI и SPI, шину X-10 и др.

К примеру, возможности микроконтроллера SX52BD позволяют реализовать Ethernet SX Stack — набор стандартных протоколов Интернет, оптимизированных для SX. Это протоколы TCP, UDP, IP, ICMP, DHCP, ARP, HTTP, SMTP. Однако из-за малого объема внутренней памяти реализация коммуникационных протоколов требует наличия внешней буферной памяти.

Опыт собственных разработок [6, 7] показывает, что для стека TCP/IP, базирующегося на Ethernet, приходится использовать внутреннюю память интерфейсных микросхем, таких, например, как RTL8019. Для стека TCP/IP поверх PPP без буферизации данных возможна только «проточная» реализация при побайтной их обработке в темпе поступления от источника.

Но если проблема хранения данных решается достаточно просто за счет возможности использования внешнего модуля памяти, то проблема полнофункциональной реализации протоколов стоит достаточно остро — объем памяти программ в 4К слов позволяет реализовать либо ограниченный набор протоколов, либо сильно урезать реализации, оставляя только самые необходимые элементы.

Поэтому микроконтроллеры SX могут быть рекомендованы для приложений, требующих высокоскоростной, но не сложной обработки потоковых данных.

8-разрядные коммуникационные микроконтроллеры семейства IP2000

Следуя линии развития коммуникационной направленности процессоров, сегодня фирма Ubicom предлагает микроконтроллер IP2022 семейства IP2000 [5], получивший название «Интернет-процессор». Название в полной мере характеризует назначение данного микроконтроллера. От предыдущих микроконтроллеров SX его отличают: достижимая производительность до 120 MIPS при такте в 8,3 нс, расширенный набор периферии: аппаратный умножитель 8×8 за один такт, 8-канальный 10-разрядный АЦП и др.

Большой интерес для разработчиков устройств с функцией «встроенный Интернет» представляет наличие 52 портов ввода-вывода. Два конфигурируемых сериализатора позволяют аппаратно реализовывать высокоскоростные последовательные интерфейсы UART, SPI, I2S (не путать с I2C), GPSI (General Purpose Serial Interface), 10Base-T Ethernet (MAC/PHY), USB 1.1.

Архитектура микроконтроллера IP2022 оптимизирована под С-компилятор. Программный код может выполняться непосредственно из Flash-памяти программ (64 кбайт) с производительностью до 40 MIPS, либо из RAM-памяти программ (16 кбайт) с производительностью до 120 MIPS. Память данных 4 кбайт. Кроме того, имеется возможность использовать для хранения данных RAM-память программ или внешнюю SRAM (128 кбайт), которая подключается через аппаратный параллельный интерфейс.

Программное обеспечение для семейства IP2000 содержит операционную систему ipOS и стек TCP/IP, включающий реализацию протоколов TCP, UDP, IP, ICMP, ARP, SMTP, PPP, Ethernet и сервисов DHCP, NTP, HTTP, TFTP. Таким образом, микроконтроллер IP2022 является на сегодня мощным средством для создания сетевых приложений с одновременной реализацией серьезных прикладных функций. Высокая производительность позволяет обрабатывать информацию от видеокодеков, аудиокодеков и осуществлять доставку указанных типов данных в потоковом режиме потребителю через сети Ethernet и Интернет с возможностью удаленно управлять устройствами и их параметрами [5].

Дальнейшим развитием коммуникационных процессоров фирмы Ubicom стал процессор IP3023 семейства IP3000, работающий на частоте 250 МГц и обладающий значительно большими объемами памяти программ (256 K) и памятью данных (64 кбайт). Реализованный по 0,13-микронной технологии, он имеет 32-разрядную организацию и отличную от предыдущих процессоров архитектуру, позволяющую выполнять до 8 параллельных процессов [5]. На сегодня микроконтроллер IP3023 является мощнейшим представителем коммуникационных процессоров, который может быть использован для создания серьезных сетевых модулей с одновременной реализацией сложнейших алгоритмов обработки информации.

Средства отладки и библиотеки

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

Из всех инструментов отладки доступны:

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

В то же время для микроконтроллеров SX имеется обширная библиотека периферийных модулей, которые можно использовать в сочетании друг с другом:

  • коммуникационные интерфейсы I2C, SPI, ISA, IrDA stack, UART, модемные функции;
  • стек интернет-протоколов: UDP, TCP/IP, HTTP, SMPT, POP3.
  • протоколы физического уровня SLIP, PPP и драйверы интерфейсных микросхем Ethernet;
  • большое количество телекоммуникационных интерфейсов, модулей для измерения и формирования частотных сигналов и т. п. Для перехода от микроконтроллеров семейства SX к IP2000 фирма-производитель предлагает целый спектр отладочных средств, а также большие библиотеки прикладного программного обеспечения для поддержки не только указанных выше, но и современных сетевых решений: драйверы RadioEthernet для карт PCMCIA стандарта 802.11b, а также точек доступа Bluetooth и HomePlug; различные алгоритмы криптоза-щиты. Имеется возможность создания встраиваемого веб-сервера и компактной реализации Java VM для встраиваемых приложений.

Заключение

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

На сегодня в России накоплен значительный опыт разработок сетевых устройств и необслуживаемых дистанционно-управля-емых IP-модулей для глобально распределенных систем на основе процессоров SX и IP2022. Поддержку разработок ASK Lab (Санкт-Петербургский государственный университет аэрокосмического приборостроения) в данной перспективной телекоммуникационной области осуществляет ООО «Электроснаб». Авторы выражают искреннюю благодарность его техническому директору М. Г. Родионову за оказываемую техническую помощь.

Литература

  1. Востриков А. А. Интернет как коммуникационная среда для встроенных систем управления. В кн.: Информационно-управляющие системы для подвижных объектов / Под общ. ред. М. Б. Сергеева. СПб: Политехника. 2002.
  2. Астапкович А. М., Востриков А. А., Чуди-новский Ю. Г., Сергеев М. Б. Информационно-управляющие системы на основе Интернет // Информационно-управляющие системы. 2002. № 1.
  3. http://www.embedded.com/internet.
  4. Kravotta Nicholas. Embedded TCP/IP: a smorgasbord of options // EDN. 2001. № 1.
  5. http://www.ubicom.com/products.
  6. Сергеев М. Б., Чудиновский Ю. Г. IP-сеть как основа построения распределенных информационно-управляющих систем. В кн.: Информационно-управляющие системы для подвижных объектов / Под общ. ред. М. Б. Сергеева. СПб: Политехника. 2002.
  7. Астапкович А. М., Востриков А. А., Касаткин А. А., Чудиновский Ю. Г., Bishop R. Опыт использования информационно-управляющих систем для передачи видеоизображений. В кн.: Информационно-управляющие системы для подвижных объектов / Под общ. ред. М. Б. Сергеева. СПб: Политехника. 2002.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *