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