Embedded Internet
Способы подключения к Internet
Подключение микроконтроллеров к Ethernet
Разработки фирмы Scenix Semiconductor, Inc.
Некоторые проблемы подключения контроллеров к Internet
Ни для кого не секрет, что Internet бурными темпами захватывает все сферы нашей жизни. Совсем недавно область его применения ограничивалась передачей файлов, а теперь крупные производители бытовой техники (такие как Samsung, Bosch, Electrolux) задумываются над обеспечением возможности подключения своей продукции к Internet. Так, уже серийно производятся микроволновые печи, способные самостоятельно найти в Internet рецепт приготовления помещенного в них полуфабриката.
последнее время в различных специализированных изданиях и в телеконференциях все чаще поднимается вопрос об управлении удаленными объектами через Internet. Плюсы такого метода очевидны:
- управляющая система не привязана пространственно к исполнительным устройствам и датчикам, вследствие чего появляется возможность создания распределенной системы управления;
- в большинстве случаев отсутствует необходимость прокладки дополнительной кабельной сети для связи компонентов системы;
- отсутствие необходимости написания специального программного обеспечения (для управления системой можно использовать стандартный Internet-браузер).
Ниже рассмотрены некоторые из аспектов создания систем управления такого рода.
Способы подключения к Internet
о недавнего времени единственным возможным способом подключения электронных устройств к сети Internet было использование специального компьютера (gateway computer, рис. 1), занимающегося трансляцией данных из Internet во внутреннюю сеть управляющей системы в соответствии с определенным протоколом, а также, возможно, реализующего в себе часть функций контроллера. Невозможность прямого подключения микроконтроллеров к Internet была связана с тем, что для полноценной реализации протокола TCP/IP требуется как довольно значительный (по меркам микроконтроллерной техники) объем памяти, так и определенная вычислительная мощность. Кроме того, два-три года назад производители не могли предложить недорогие контроллеры для реализации Ethernet-интерфейса в микроконтроллерных системах. Однако в последние два года ситуация резко изменилась. Во-первых, на рынке появились микроконтроллеры, обладающие достаточной вычислительной мощностью для полной реализации на них протокола TCP/IP. Во-вторых, практически одновременно с этим несколько производителей (например, Crystal Semiconductor, Realtek и др.) начали выпуск однокристальных решений для встраивания Ethernet-интерфейса. Кроме того, фирмой Seiko Instruments, Inc. была выпущена микросхема, реализующая TCP/IP-стек аппаратно (технология была названа iReady). Если прибавить к этому общее обвальное падение цен на рынке микроэлектроники, становится понятно, что скоро у многих бытовых устройств появится возможность подключения к Глобальной сети. Таким образом, сегодня возможно создавать системы удаленного управления и мониторинга без использования специальных компьютеров (рис. 2). В этом случае блоки контроллеров и датчиков подключаются к сети либо напрямую, либо через некоторый базовый блок.
В целом в настоящее время используется два варианта подключения микроконтроллеров к Internet:
- подключение через последовательный порт (RS-232) с использованием протоколов PPP (Point to Point Protocol) или SLIP (Serial Line Internet Protocol); этот вариант наиболее популярен при разработке простых устройств, хотя для его реализации и требуется наличие компьютера в пределах досягаемости от контроллера;
- подключение через Ethernet-интерфейс (в основном 10Base-T); в качестве интерфейсных микросхем могут использоваться, например, CS8900A фирмы Crystal Semiconductor (http://www.crystal.com/) или RTL8019AS и RTL8139B фирмы Realtek (http://www.realtek.com.tw/), краткое описание которых приводится ниже.
Подключение микроконтроллеров к Ethernet
связи с активным развитием направления Embedded Internet рядом фирм были выпущены специализированные контроллеры Ethernet, ориентированные на применение во встраиваемых системах.
Наибольшее распространение получила микросхема CS8900A (рис. 3) фирмы Crystal Semiconductor, фактически представляющая собой законченный контроллер Ethernet. Для ее работы требуется минимальное количество внешних компонентов (кварцевый резонатор, сигнальный трансформатор и пять резисторов); при этом выпускается как пяти-, так и трехвольтовая версия микросхемы, что в сочетании с низким энергопотреблением и наличием power-down-режимов позволяет применять ее в малогабаритных и малопотребляющих системах. На сайте Crystal Semiconductor можно найти Application Note по подключению данной микросхемы к различным типам микроконтроллеров, а также исходные тексты драйверов для различных операционных систем.
В качестве другого варианта подключения к Ethernet можно рассматривать микросхемы RTL8019AS и RTL8139B фирмы Realtek. И если первая из них по своим функциональным возможностям практически совпадает с CS8900A, то вторая позволяет создавать более мощные системы с использованием интерфейса Ethernet 100Base-T. Обе микросхемы, как и CS8900A, практически не требуют внешних компонентов для работы и поддерживают несколько power-down-режимов. На сайте компании (http://www.realtek.com.tw/) можно найти схемы подключения этих микросхем к различным микроконтроллерам, схемы сетевых адаптеров, построенных на их базе, а также драйверы для наиболее распространенных операционных систем. Однако следует отметить, что Crystal Semiconductor предоставляет драйверы под несколько большее количество операционных систем, в том числе под Windows CE и некоторые RTOS.
Реализация TCP/IP-стека является одной из наиболее сложных задач при подключении микроконтроллеров к Internet. Чтобы облегчить разработку подобных устройств, фирмой Seiko Instruments, Inc. (http://www.seiko-usa-ecd.com/) была выпущена микросхема S7600A (рис. 4), реализующая протоколы PPP, IP, TCP и UDP на аппаратном уровне. Эта микросхема ориентирована в первую очередь на использование в dial-up-системах, поэтому для организации физического интерфейса со средой-носителем в ее состав был включен универсальный асинхронный приемопередатчик.
Также хотелось бы отметить проявившуюся в последнее время тенденцию использования при проектировании различных устройств все более мощных микроконтроллеров. Связано это в первую очередь с постоянным падением цен на них, а также с растущими требованиями пользователей. Наибольшей популярностью на рынке сегодня пользуются микроконтроллеры, построенные на основе 32-разрядного процессорного ядра ARM7TDMI фирмы ARM. Это ядро наряду с достаточно низким энергопотреблением обеспечивает высокую производительность. Не так давно одна из наиболее известных фирм, производящих микроконтроллеры на ядре ARM7TDMI, — фирма Crystal Semiconductor — выпустила микроконтроллер CS89712, фактически сочетающий в одном корпусе процессорное ядро с достаточно богатой периферией и поддержкой SDRAM-памяти, и рассмотренный выше контроллер Ethernet CS8900A (собственно, наименование микросхемы состоит из частей наименований двух микросхем, которые в ней объединены: процессора EP7312 и контроллера Ethernet CS8900A — рис. 5).
Обзор существующих решений
Микро-Web-серверы
Известно уже достаточно большое число реализаций микро-Web-серверов на микроконтроллерах. Практически все они подключаются к Internet через последовательный порт по протоколу PPP или SLIP и реализуют лишь очень ограниченное подмножество функций Web-сервера. К их преимуществам можно отнести чрезвычайно маленькие размеры и низкую стоимость. В качестве центрального процессора в них используются младшие модели микроконтроллеров фирм Microchip (PIC12C509), Atmel (микроконтроллеры линейки Tiny AVR), Fairchild (ACE1101). Для хранения данных часто применяется внутреннее EEPROM, хотя возможно и подключение микросхемы внешнего EEPROM. Подобные системы оказываются удобными в том случае, когда требуется организовать мониторинг небольшого количества параметров либо реализовать несложные алгоритмы управления. В таблице приведена сводная информация по нескольким подобным проектам, среди которых выделяется picoWeb (рис. 6), который имеет встроенный Ethernet-интерфейс и создан на базе более мощного микроконтроллера AVR AT90S8515 фирмы Atmel; он также позволяет управлять линиями ввода-вывода посредством некоего языка запросов.
Особо следует отметить, что для некоторых проектов исходный код распространяется без всяких ограничений, что позволяет использовать его в коммерческих разработках.
Разработки фирмы Scenix Semiconductor, Inc.
Осенью 1999 года Scenix Semiconductor (http://www.scenix.com/) открыла для свободного доступа исходные тексты реализации TCP/IP-стека для своих микроконтроллеров. Фактически было создано три модуля: UDPEvKit, iSX и eSX, которые были объединены под общим названием SXStack. Все модули выполнены с поддержкой протоколов PPP и IP, что позволяет использовать их при построении небольших dial-up-систем. Наибольший интерес представляют собой модули iSX и eSX, первый из которых является реализацией Web-сервера, а второй — реализацией e-mail-клиента с поддержкой протоколов SMTP и POP3. Возможность разработки подобных приложений для микроконтроллеров появилась благодаря очень высокому (по сравнению с другими продуктами в том же ценовом диапазоне) быстродействию микроконтроллеров фирмы Scenix Semiconductor. Так, для работы модулей iSX и eSX требуется, чтобы микроконтроллер работал на частоте 50 МГц, что приблизительно соответствует 50 MIPS.
Микрокомпьютеры
На сегодняшний день несколько фирм (в том числе такие гиганты, как Hewlett-Packard и Dallas Semiconductor) выпускают микрокомпьютеры, которые помимо всего прочего обладают возможностью подключения к Internet. Как правило, подобные системы имеют модульную архитектуру (часто на основе SIMM- или DIMM-модулей), позволяющую производить компоновку системы в требуемой конфигурации. Все они имеют сравнительно малые размеры (часто не больше пары спичечных коробков) и низкое энергопотребление, что позволяет использовать их в системах с автономным питанием. Однако, несмотря на небольшие габариты, такие системы обладают достаточной вычислительной мощностью для реализации довольно сложных алгоритмов управления. Ниже рассмотрены некоторые из подобных устройств.
MatchboxPC, Stanford Wearable Computing Laboratory (wearables.stanford.edu). Система имеет модульную архитектуру, в состав которой входят четыре платы (рис. 7, 8):
- плата центрального процессора — содержит процессор Elan SC400 фирмы AMD, работающий на частоте 66 МГц, 16 Мбайт оперативной памяти и 16 Мбайт flash-памяти, а также стандартный (для PC) набор контроллеров: один параллельный порт, два последовательных порта, контроллер дисковода и контроллер жестких дисков;
- плата ввода-вывода — содержит контроллер VGA/LCD-монитора (CLGD-6235 фирмы Cirrus Logic), контроллер Ethernet и два дополнительных последовательных порта;
- плата расширения — содержит разъем для подключения карт CompactFlash или жесткого диска Microdrive фирмы IBM;
- плата с разъемами — содержит все необходимые разъемы для подключения внешних устройств (питание, VGA, 10Base-T Ethernet, PS/2-клавиатура, дисковод, два разъема последовательных портов и один параллельный порт).
Все перечисленные платы устанавливаются в специальную материнскую плату, которая также содержит преобразователь напряжения для питания устройства. Система работает под управлением RedHat Linux, что значительно упрощает разработку программного обеспечения.
TINI (Tiny InterNet Interface), Dallas Semiconductor (http://www.ibutton.com/TINI/index.html). Система состоит из основной платы, выполненной в виде SIMM-модуля, и платы с разъемами и преобразователем питания (рис. 9). Вся система построена на специализированном наборе микросхем, разработанном фирмой Dallas Semiconductor и состоящем из центрального процессора, микросхемы flash-памяти и контроллера Ethernet. В процессор интегрированы последовательный и параллельный порты, а также контроллеры интерфейсов-Wire и CAN (Controller Area Network). Контроллер работает под управлением специально разработанной операционной системы, которая включает поддержку TCP/IP и Java VM. Структура программного обеспечения системы показана на рис. 10. На сайте Dallas Semiconductor можно найти всю необходимую документацию и средства разработки программного обеспечения, что облегчает построение на базе этого контроллера систем удаленного управления.
BFOOT Industrial Ethernet, Hewlett-Packard (http://www.hpie.com/). Система представляет собой контроллерную плату (рис. 11), которая содержит микроконтроллер (68000), работающий на частоте 40 МГц, DRAM объемом 1 Мбайт, flash-память объемом до 2 Мбайт и компоненты, необходимые для реализации Ethernet 10Base-T-интерфейса. В качестве базового программного обеспечения предлагаются операционная система и Web-сервер. Кроме того, поддерживаются протоколы ftp и JavaVM. Однако, несмотря на маленькие размеры (рис. 12) и низкое энергопотребление, данная система не слишком хорошо подходит для реализации систем удаленного управления, поскольку Hewlett-Packard не предоставляет никаких средств разработки программного обеспечения (предлагая вместо этого заказывать разработку у них).
Некоторые проблемы подключения контроллеров к Internet
заключение хотелось бы упомянуть о двух проблемах, возникающих при разработке устройств удаленного управления через Internet.
Первой проблемой все еще остается реализация интерфейса Ethernet. Несмотря на сдвиги, наметившиеся в этом направлении, однокристальные контроллеры 10Base-T Ethernet остаются все еще достаточно дорогими, что может удвоить общую стоимость устройства при встраивании Ethernet-контроллера в несложные системы управления. Выходом здесь может стать создание некоторого базового блока, имеющего Ethernet-контроллер и транслирующего запросы из Internet в некоторую внутреннюю сеть (например, с использованием протоколов SPI или I2C), а также подключенных к этому блоку нескольких исполнительных устройств или датчиков.
Вторая проблема не является чем-то специфическим, а скорее представляет собой глобальную проблему всех компьютерных сетей — речь идет о проблеме безопасности. Действительно, при разработке систем удаленного управления особое внимание следует обращать на возможность несанкционированного доступа к системе, иначе есть риск появления нового вида хакеров, специализирующихся на взломе управляющих систем.
КомпьютерПресс 3'2002