`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Стандартные сети для самых маленьких

0 
 

Естественно, имеются в виду самые маленькие вычислители и де-факто стандартные в "настольных" и "офисных" системах сети. Когда мы присваиваем вычислителям эпитет "самые маленькие", речь идет не столько о габаритах (хотя и о них тоже) и даже не столько об энергопотреблении (хотя и это, несомненно, подразумевается), сколько о... цене. Низкая потребительская стоимость "самых маленьких" компьютеров обусловливается копеечной ценой комплектующих, практическим отсутствием потребности в обслуживании и, наконец, их узкой специализацией. Ну а низкая стоимость -- это, по сути, синоним массовости и даже востребованности. В случае с "микросетевыми устройствами" все перечисленные выше свойства в той или иной мере им присущи -- и цена действительно копеечная, и габариты -- сколь угодно малы, и энергопотребление может измеряться чуть ли не микроваттами. Короче говоря, все отлично... кроме массовости и востребованности. Можно было бы, конечно, посетовать на упомянутую "узкую специализацию" и искать оправдание такой ситуации именно в ней. Но понятие "специализированное устройство" в инженерии вовсе не является синонимом к "экзотическому устройству".

Идеи многих специализированных и одновременно массовых устройств вообще лежат на поверхности. Например, гибрид телефонного аппарата и "тонкого" e-mail-клиента, ориентированного на прием-передачу звуковых файлов, в котором всего-то и надо, что наговорить сколько-то там секунд, набрать на клавиатуре адрес и отправить сообщение. Или прослушать пришедшие сообщения -- как на автоответчике. Подобное вполне узкоспециализированное устройство может оказаться востребованным теми людьми, для которых компьютер, программа--почтовый клиент и прочие необходимые атрибуты для выполнения, в принципе, элементарной операции -- или слишком сложны и избыточны, или дороги, или и то и другое одновременно. Таких людей на самом деле очень и очень немало, а если к ним добавить и немалое количество тех, кому компьютеры просто-напросто не нравятся, аудитория потенциальных пользователей вполне может оказаться значительной. И причем привлекательность такого устройства достаточно очевидна как для потребительской аудитории (например, низкая тарификация междугородных и международных голосовых сообщений), так и для поставщиков услуг (например, для провайдеров, получающих возможность расширить спектр платных услуг за счет простого сервиса, не требующего существенных капиталовложений). Подобных устройств можно напридумывать сколько угодно и для сколь угодно разных применений, но у них всех будет две общие черты: воплощения их реальны, но воплощений их не существует. В принципе, эта статья как раз и адресуется тем, кто любит придумывать -- знания о возможностях "используемых материалов" очень часто позволяют находить им весьма нетривиальные и интересные применения.


Микро-Web

Приставка "микро" в данном случае означает, что устройства такого класса реализуются с использованием минимума простых и доступных дешевых компонентов. Функциональное назначение устройств также строго определено -- это специализированные Web-серверы с ограниченными возможностями. Аппаратная платформа микро-Web весьма разнообразна и включает в себя широкий спектр микроконтроллеров (фактически -- завершенных компьютеров, содержащих на одном кристалле центральный процессор, оперативную и долговременную память, подсистемы ввода/вывода и т. д.) с различной разрядностью (от 8 до 64 бит), а также немногочисленные аппаратные реализации распространенных сетевых протоколов. Наш обзор мы начнем именно с "аппаратных сетевых стеков" -- хотя бы потому, что такие чипы очень интересны сами по себе. Что важнее, их использование "развязывает" руки разработчику, освобождая его не только от необходимости создавать или приобретать громоздкие программные реализации сетевой подсистемы, но и от сопутствующего повышения стоимости изделия -- сложные программы приходится исполнять на более производительном (а следовательно, более дорогом во всех отношениях) вычислителе.

Стандартные сети для самых маленьких
Типовой отладочный набор разработчика микро-Web-серверов на основе самых распространенных микроконтроллеров семейства 8051 и Ethernet MAC-контроллеров RealTek

Начнем с грустного. В полном соответствии с упомянутым в самом начале статьи дисбалансом между способностями и возможностями разработчиков элементной базы и, если можно так сказать, "креативным потенциалом" создателей конечной продукции, компания Seiko, пионер в серийном выпуске аппаратных сетевых стеков, после непродолжительного периода производства вычеркнула из списков своей продукции замечательную микросхему S-7600A. Впрочем, свято место пусто не бывает -- S-7600A, изрядно "попутешествовав", трансформировалась в новую разработку -- nChip, которая близится к состоянию коммерческой готовности. В силу первенства S-7600A и фактического наличия ее последователя давайте немного внимания уделим этой микросхеме.

S-7600A -- типичная и в некотором роде образцовая аппаратная реализация минимального "джентльменского набора", необходимого для создания микро-Web-сервера. В маленьком и не требовательном к монтажу 48-выводном корпусе S-7600A "упрятана" весьма приличная функциональность, отвечающая за воплощение в кремнии четырех основных уровней модели OSI (естественно, с учетом несоответствия реалий TCP/IP и OSI) -- транспортного, сетевого, канального и физического. На транспортном уровне S-7600A предоставляет разработчику конечного изделия два "универсальных сокета" для соединения на уровне приложений (который реализуется на стороннем по отношению к S-7600A вычислителе) и модуль TCP/UDP -- для гарантированной/негарантированной доставки дэйтаграмм. Сетевой уровень S-7600A -- естественно, модуль IP. Канальный уровень -- PPP. И наконец, физический уровень -- удобный и конфигурируемый последовательный интерфейс, обеспечивающий соединение S-7600A к различным физическим каналам связи с минимальными затратами дискретных компонентов. Для сокращения требований к быстродействию стороннего вычислителя (реализующего уровень приложений) S-7600A обладает встроенной буферной памятью емкостью 10 KB, позволяющей в большинстве реальных задач даже 8-битному микроконтроллеру успевать или неторопливо готовить данные к отправке, или же неспешно обрабатывать уже принятые и буферированные. Аппаратные средства S-7600A обеспечивают подключение этой микросхемы фактически к представителям всех ведущих семейств микровычислителей -- от разнообразных наследников знаменитых восьмибитных микроконтроллеров 8031/8051 до 32-битных чипов 680x0.

Стандартные сети для самых маленьких
Один из лучших аппаратных TCP/IP-стеков -- "коммуникационная однокристальная машина" TNS010i

После столь краткого описания давайте остановимся на главном -- на том, что же дает разработчику конечного изделия использование микросхем такого класса? Ответ на этот вопрос лаконичен -- возможность простого (если не сказать -- элементарного) создания специализированного Web-сервера. Все, что требуется от разработчика, -- умение оперировать примитивными командами ввода/вывода выбранного для реализации уровня приложений микроконтроллера и, естественно, знание интерфейсных регистров и логики работы S-7600A. Все остальное, как то: адская механика конечных автоматов, с помощью которых реализуется TCP/IP и PPP, формирование дэйтаграмм, фреймов, пакетов в соответствии с требованиями протоколов и т. д. -- все это уже сделано в S-7600A. Не вдаваясь в детали, отметим, что чипы класса S-7600A сводят разработку микро-Web-сервера к процедурам записи данных в буфер, выдачи команды готовности буфера -- к передаче и к обработке прерывания, инициированного аппаратным TCP/IP-стеком при готовности принимаемых данных. Для выполнения таких сложных операций фактически не требуется сколько-нибудь значимая вычислительная мощность.

Кроме nChip, на рынке существует ряд производителей, предлагающих собственные, во многом аналогичные, разработки, но уже с более "узкоспециализированной" функциональностью. Если архитекторы S-7600A предполагали, что высокоуровневые сервисы (микро-http-сервер и т. д.) реализуются разработчиком конечной продукции, то, скажем, создатели микросхемы TNS010i включили в состав "кремниевого системного ПО" поддержку e-mail (SMTP и POP3) и HTTP. Причем "общение" микровычислителя с TNS010i осуществляется по последовательному каналу связи (RS232) и основано на совершенно примитивном наборе команд, что позволяет, например, с помощью библиотечных программ любого кросс-средства разработки, без написания единой специфической строки кода (!) отправлять электронную почту.

Стандартные сети для самых маленьких
Готовые промышленные микро-Web-серверы: при габаритах чуть больших разъема RG-45 -- производительный 32-битный вычислитель и мощные программные средства
Стандартные сети для самых маленьких
По сути, TNS010i открывает новый класс микро-Web-устройств -- ведь это уже не просто аппаратная реализация базовых протоколов, а некая высокоуровневая "машина ввода/вывода", полностью освобождающая разработчика от забот, связанных с созданием и сопровождением более чем непростых программных подсистем. При этом TNS010i ориентирована на применение в первую очередь в беспроводных системах (например, сигнализации, охраны и оповещения), которые построены с использованием стандартных мобильных телефонов, поддерживающих GPRS-передачу данных. Для этого архитекторы TNS010i даже предусмотрели так называемое "0-затратное" соединение микросхемы с мобильным телефоном (не нуждающееся в дополнительных компонентах) и ряд команд управления GPRS-соединением. Ну а в целом, в реальных конечных изделиях, в состав которых входит и микроконтроллер, TNS010i требует минимальной "обвески" -- всего нескольких конденсаторов и кварцевого резонатора.

Пока мы говорили о чипах, идеально подходящих для "неторопливых и удаленных" применений -- будь то чтение/передача небольших сообщений по электронной почте или Web-управление какими-то некритичными ко времени срабатывания (бытовыми) устройствами. Но класс современных аппаратных стеков этим не ограничивается. Корейская компания WIZnet пошла в деле аппаратной реализации микро-Web-серверов еще дальше и создала чип для скоростных локальных применений -- W3100A объединяет в скромном (по числу выводов) корпусе почти завершенный Ethernet-контроллер и довольно внушительный аппаратный TCP/IP-стек. Несмотря на потенциальную "скорострельность", W3100A может использоваться даже в "несуразных" комбинациях с 8-битными микроконтроллерами -- быстродействие стороннего микровычислителя в данном случае определяет разве что максимально достижимую скорость обмена, но ни в коем случае не принципиальную работоспособность завершенного изделия. Естественно, W3100A очень далек по простоте использования от TNS010i и как и первенец S-7600A требует самостоятельной реализации разработчиком программ высокоуровневых сервисов. А у TNS010i в этой области есть свой "почти аналог" -- кристалл IPµ8932 компании Ipsil. "Почти" аналог потому, что если TNS010i все-таки требовал внешнего микроконтроллера, то разработка Ipsil может полноценно работать в автономном режиме -- например как HTTP-сервер. Достаточно к этой микросхеме подсоединить чип долговременной памяти с HTML-страницами -- и микро-Web-сервер с Ethernet-интерфейсом готов (на самом деле это не совсем так -- требуется неизбежная "обвеска" дискретными компонентами, но это для нас непринципиально). Причем не просто сервер, "отдающий" страницы, но вполне способный управлять несколькими дискретными (включить/выключить) устройствами. При использовании "в дуэте" с микроконтроллером IPµ8932 сохраняет свою автономную функциональность и при этом позволяет существенно ее расширить, например за счет динамической генерации страниц или утилизации других сетевых протоколов. В принципе, такой дуэт практически ничем не отличается от "большого" сервера, разве что предельными характеристиками да удобством программирования.

Несмотря на существенные отличия, у всех четырех перечисленных разработок есть нечто общее -- все они "имеют место быть" и вполне востребованы, например создателями "умных" систем складского оборудования, лабораторных установок и измерительных приборов. В категорию "микро-Web" Ethernet-оснащенные "скорострельные" чипы включены весьма условно, но они открывают второй класс микросхем, достойных внимания.


Микро-Ethernet

Как бы там ни было, но границы области применимости сугубо "офисных" сетей Ethernet постепенно расширяются. Дешевизна, доступность и неплохие параметры -- вот главные тому причины. Соответственно, и элементная база, ориентированная на создание специализированных микровычислителей, хоть и не блещет разнообразием, зато отличается стабильностью -- по крайней мере, ни известная компания RealTek, ни именитая Crystal Semiconductor не собираются "ликвидировать" в своих модельных рядах весьма специфические Ethernet MAC-контроллеры, нацеленные на "микроприменения". Да, чипы RTL8019AS и CS8900A не блещут "скорострельностью" (10base-T Ethernet во времена гигабитных сетей не впечатляет), зато они легко подключаются к микроконтроллерам любой разрядности, отработаны, распространены и доступны (сказывается масштаб производителей). Соответственно, существует масса проектов с открытой документацией и спецификациями, которые можно использовать как в качестве "учебной парты микро-Web", так и как "отправную точку" при придумывании чего-то нового. Так, отлично проработанный проект Web51 предоставляет открытые исходные тексты реализаций сетевых протоколов и детальные аппаратные спецификации для "Ethernet-микро-Web"-сервера, построенного с использованием RTL8019AS и распространенного 8051-совместимого микроконтроллера. Проект модуля EE-100 предлагает практически то же самое, но на другой элементной базе -- RISC-микроконтроллере семейства AVR и CS8900A. Аналогичных разработок в Сети -- сотни, и главная их ценность на самом деле заключается в их... индикативной роли -- они индицируют два главных факта: разработка микро-Web-устройств вполне доступна небольшим коллективам или индивидуальным конструкторам, а стоимость таких устройств -- более чем привлекательна.


Микро-Web "на блюдечке"

Пока мы говорили о настоящих "полуфабрикатах", требующих для создания готового устройства какой-никакой, но все же программно-аппаратной разработки. Но на рынке есть и действительно завершенные микро-Web-системы промышленного качества, фактически снимающие с разработчика заботу об аппаратной части. Так, встраиваемый микросервер Digi Connect Me (www.digi.com), несмотря на габариты, имеет более чем впечатляющие характеристики: достаточно производительный 32-разрядный ARM-процессор, поддержка всех сетевых протоколов и базовых сервисов, поддержка middleware (SOAP) и XML, интегрированная виртуальная Java-машина, собственная операционная система, средства кросс-разработки загружаемых пользовательских приложений, возможность управления присоединенными RS232- и USB-устройствами. Аналогичная разработка Xport есть в перечне продукции компании Lantronix. Подобные практически готовые устройства, вероятно, не во всех случаях оптимальны (их функциональность и цена просто могут оказаться избыточными), но для серьезных, в первую очередь промышленных, применений, конкурентов им найти трудно.


Смещение

Стандартные сети для самых маленьких
Микро-Web-сервер на основе RISC-контроллера семейства Atmel AVR и Ethernet MAC-контроллера CS8900A
Самое главное надо приберегать. И как раз для него наступило время. Некогда, обсуждая микро-Web-системы ("Компьютерное Обозрение", # 20, 2000, "МикроWeb"), мы говорили в основном о промышленных применениях этой технологии. В том же году велись необъявленные соревнования по микроминиатюризации Web-серверов, в ходе которых были созданы совсем экзотичные крохотные однокристальные (на основе обычного микроконтроллера с долговременной флэш-памятью) разработки, питающиеся от самых немыслимых источников (например, от... сырых картофельных клубней). В общем, был расцвет массового интереса. По контрасту сегодняшнюю ситуацию иначе как "декадансом" назвать трудно -- несмотря на то что практически все ведущие производители микровычислителей предлагают разработчикам свободные от отчислений готовые программные TCP/IP-стеки для своих чипов, несмотря на наличие пусть немногочисленных, но очень удачных и удобных специализированных микросхем, и наконец, несмотря на доступность готовых мощных полноценных микро-Web-систем, "воз и ныне там". Перспективы промышленных применений микро-Web-технологии оказались несколько переоцененными. Причины, в принципе, очевидны -- далеко не всегда микро-Web-устройства соответствуют промышленной специфике (например, гарантируемому времени реакции), и далеко не всегда они нужны именно в микроисполнении (там, где реально нужны Web-сервисы, вполне можно обойтись более традиционными решениями). Но это не означает, что интерес к микро-Web угас вообще. Сейчас эта технология начинает серьезно интересовать создателей домашнего цифрового оборудования и бытовой техники. Речь идет уже не о ставшей былиной истории о включении с расстояния в 2500 км Web-управляемой кофеварки. Производительные специализированные домашние микросерверы могут играть роли и музыкальных центров, и фотовидеотек, их копеечные медленные собратья, встроенные в холодильники, стиральные машины и тренажеры, позволяют снижать стоимость последних за счет отказа от недешевых локальных органов управления и индикаторных панелей. И, естественно, в центре всей такой архитектуры новомодного "цифрового дома" оказывается "панель управления домом" -- по сути, обычный ПК с обычным броузером. Сегодня все это выглядит достаточно привлекательно -- примерно так же привлекательно, как 4 года назад выглядела идея "микроинтернетизации всего".

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

0 
 

Напечатать Отправить другу

Читайте также

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT