178 встраиваемые системы www.finestreet.ru
Дмитрий ПАСТУШЕНКОВ Игорь ПЕТРОВ
IPC@CHIP,
или Маленькие ядра для большой артиллерии-2
В первой статье [1] авторы предложили использовать компактные мезонинные платы для построения встраиваемых систем и контроллеров. Очевидно, что использование таких плат («процессорных ядер») является интересной альтернативой микроконтроллерам. Это позволяет нам мгновенно пройти путь первоначального «оживления» нового устройства. Нам уже не нужен специализированный программатор, да и ассемблер можно отложить в запасной ящик.
Однако при серьезных плюсах подобные платы не пользуются массовым спросом. Почему? В первую очередь, конечно, из-за цены. Если сложить стоимость всех комплектующих и программного обеспечения, то она не кажется высокой. Но мы все равно неминуемо проводим сопоставление с ценами на микроконтроллеры и верим в своих программистов, которые при помощи бесплатных средств привыкли творить чудеса. Бесспорно, для встраиваемых систем цена — это решающий фактор. Второе — это технологические ограничения. Мини-плата — это, в любом случае, усложнение конструкции и дополнительные разъемы, то есть источник ненадежности. Третья важнейшая проблема — это ПО. Программист ПК вооружен мощью операционной системы (ОС) и огромного числа готовых средств. Например, отправить данные из прикладной программы в Интернет для просмотра — это детская задача. Для программиста же «однокристальной ЭВМ» 8051 или ЛУИ — это скорее просто сон, а не практическая возможность. «Аутсорсинг» в отсутствии ОС связан с множеством практических ограничений.
Итак, наша мечта — это надежный однокристальный микроконтроллер с приемлемой ценой и встроенной ОС, близкой по воз-
можностям к ПК. С одной стороны, это многофункциональный микроконтроллер, с другой — устройство простое в применении, как сотовый телефон. Позволяет ли современный технологический уровень микроэлектроники создать такое устройство? В принципе, да.
Остается немного: найти средства на разработку и организацию производства, его сертификацию по ISO 9001 и прочие «мелкие» детали. «Все это реально», — решили специалисты Beck IPC GmbH. Первым шагом стала реализация 186-го процессора на кристалле специализированной интегральной микросхемы (ASIC). Первые экземпляры микросхем, получивших название IPC@CHIP, были поставлены пользователям в ноябре 1999 года [2]. За прошедшие годы более 4000 пользователей создали свои продукты с поддержкой Web на основе IPC@CHIP. Причем, как правило это — коммерческие серийные продукты [3]. Семейство IPC@CHIP (рис. 1) развивается сегодня очень интенсивно. В планах компании стоит новая линейка со 100-мегагерцовым процессором, новым корпусом, расширенным температурным диапазоном, CAN-интерфейсом и многими другими расширениями.
Но давайте вернемся в день сегодняшний и посмотрим на IPC@CHIP исключительно
с практических позиций. Начнем с краткого обзора аппаратных средств, после чего подробно разберем программное обеспечение и практические примеры применения.
Семейство IPC@CHIP
В настоящее время в семейство 1РС@СН1Р входят 5 типов микросхем: ЭС11, 8С12, вС13, вС11 1ЕС и 8С13 1ЕС. Конструктивно все они абсолютно одинаковы (рис. 2).
Рис. 2. Чертеж IPC@CHIP
встраиваемые системы
179
Таблица. Основные характеристики IPC@CHIP
SC11 SC12 SC13
Процессор BECK186 AMD 186ED BECK186
Тактовая частота, МГц 40 20 40
Ethernet Нет 10BaseT 10/100BaseT
Последовательные каналы 2 UART, I2C, SPI
Программируемые I/O 14 PIO
Внешняя шина 8-битная Intel AD-Bus
Входы прерываний 6
DMA 2
Аппаратные таймеры 2
Таймер-сторож 1
Напряжение питания, В 5
Потребляемый ток, мА 250 1 180 1 300
Flash, кбайт 512
ОЗУ, кбайт 512
Температурный диапазон, °C 0-70
Корпус DIL32 (22x44x9,5 мм)
Все они оснащенні 186-м процессором и полностью совместимы как программно, так и аппаратно, на уровне выводов. Основные характеристики семейства приведены в таблице.
Внешняя шина — 8-разрядная мультиплексированная (WR, RD, ALE + 6 CS). Применяется для подключения внешнего диска CompactFlash или пользовательских периферийных устройств.
До 14 выводов используется побитно как входы или выходы. Часть из них перекрывается альтернативными функциями.
Число входов маскируемых прерываний может быть расширено за счет применения внешнего контроллера по каскадной схеме. Один вход немаскируемого прерывания служит для сигнализации аварии питания.
UART двухканальный, причем с поддержкой сигналов CTS и RTS. Это позволяет поддержать RS-232 с аппаратным контролем потока данных или полудуплексный интерфейс RS-485. I2C и SPI поддержаны программно на любых свободных выводах.
SC12 и SC13 имеют встроенный Ethernet-контроллер, удовлетворяющий требованиям стандарта IEEE 802.3. Для работы в сети на витой паре необходим только внешний трансформатор и разъем RJ45. Отдельный вывод предназначен для подключения светодиодного индикатора загрузки сети. Использование SC13 в 100-мега-битной сети требует некоторых дополнительных согласующих элементов и предъявляет специальные требования к монтажу. Для преодоления этой сложности Beck IPC предлагает специальные микромодули FS23, содержащие все необходимые компоненты.
SC11 IEC и SC13 IEC аналогичны SC11 и SC13. Индекс IEC говорит о том, что данные микросхемы поставляются с лицензией на систему исполнения CoDeSys [1]. То есть в них есть специальный аппаратный ключ. IPC@CHIP с поддержкой CoDeSys появились на рынке в начале этого года. Это открыло пользователям IPC@CHIP выход на современный рынок систем промышленной автоматизации без характерной многолетней подготовки. Но это тема для отдельной статьи.
В сравнении с решениями на микропроцессорах 186/188 IPC@CHIP дает выигрыш
как по цене, так и по габаритам. Не говоря уже о простоте применения.
Простейшее устройство на SC13 — это малогабаритный Интернет/Интранет-сервер. Он поддерживает любые прикладные протоколы стека TCP/IP: http, ftp, telnet и др. Принципиальная схема такого устройства для работы в сети Ethernet приведена на рис. 3.
Индикатор Traffic LED необязателен, он служит для индикации загрузки сети. Резистор R2 фиксирует состояние неиспользуемого входа приемника последовательного порта. Дополнив схему MAX232, мы получим интерфейс RS-232. Если подключить такое устройство к контроллеру или измерительному прибору, то мы получим возможность отображать его данные или даже управлять им с компьютера локально либо через Интернет. Причем, для компьютера не нужно будет писать никакой специальной программы, достаточно иметь Internet Explorer.
Для SC11 характерны применения, не требующие сетевых функций. Однако достаточно широко он применяется и как веб-сервер с подключением по PPP через проводной или
сотовый модем. Например, это может быть некий блок управления с функцией регистрации аварийных событий в файл протокола. Для снятия данных необходимо извлечь Flash-карточку, либо соединиться с блоком с удаленного компьютера.
Встроенное ПО IPC@CHIP
Принципиальное отличие IPC@CHIP от микроконтроллеров в том, что они поставляются с предустановленной многозадачной ОС РВ. В нее входит файловая система, загрузчик и монитор задач, стек TCP/IP, веб-сервер, открытый прикладной интерфейс приложений (API) и многое другое. Вы можете установить один из 6 вариантов RTOS, обладающих разным набором функций. Максимально полный вариант включает поддержку внешнего flash-диска, TCP/IP PPP-клиента и сервера, серверы Telnet, FTP и HTTP. Система исполнения CoDeSys запускается как одна из задач ОС. Структура такого варианта RTOS показана на рис. 4.
RTOS — это операционная система, построенная на базе MS DOS и совместимая с ней
МЭК61131-3 задачи Пользовательские приложения, исполняемые как задачи RTOS
SysLib CoDeSys SP
АРЕ: RTOS, TCP/IP, аппаратура, ДОС Int21h, web-сервер CGI, последовательный канал (Fossil), Ethernet, l2C, SPI...
TFTP
Сервер
DHCP
Клиент
FTP
Сервер
Web
Сервер
Telnet
Сервер
Прикладной интерфейс сокетов
ЕХЕ
загрузчик
Процессор
команд
Стек TCP/IP
ARP, ICMP, TCP, UDP, IGMP
Ethernet
драйвер
РРР клиент
РРР сервер
Драйверы
пользователя
RTOS@CHIP и файловая система
Рис. 4. Структура RTOS IPC@CHIP
180
встраиваемые системы
Рис. 7. Настройка Ethernet
сверху вниз. То есть прикладные программы, созданные для DOS, будут работать и в RTOS. Это очень удобное свойство. Прикладного ПО, инструментов программирования и учебной литературы по DOS существует очень много. Основные дополнения RTOS — это многозадачность и поддержка стека TCP/IP.
Второй ярчайшей чертой IPC@CHIP является наличие веб-сервера. Создание миниатюрных приборов со встроенным вебсервером — это наиболее распространенный вариант применения IPC@CHIP. Для создания Интернет-сайта необходимо подключиться к микросхеме по FTP и загрузить в нее нужные HTML-странички. Для создания динамических страниц можно написать CGI-приложение. В случае с CoDeSys вообще ничего программировать не нужно, достаточно только включить опцию веб-визуализации.
Через тот же FTP происходит и «прошивка» прикладной программы, то есть запись на встроенный или внешний Flash-диск. Удаленный отладчик позволяет проводить символьную отладку в Borland C++. Причем, нет разницы, лежит ли микросхема на вашем рабочем столе или подключена через Интернет удаленно. После многолетней практики отладки микроконтроллеров с ультрафиолетовым ПЗУ подключение к микросхеме по FTP вызывает некоторое сомнение, но привыкнуть к этому несложно.
Для управления RTOS и предварительной настройки IP-адреса необходимо подключиться к IPC@CHIP любой терминальной программой через RS-232. Вы получаете доступ к командной строке RTOS. Работа с командной строкой аналогична DOS. Естественно, для поддержки расширенных функций добавлены дополнительные команды,
Благодаря RTOS достигается возможность применения одного и того же текста приложения для любого члена семейства IPC@CHIP.
Еще одна важная черта системного ПО IPC@CHIP заключается в том, что оно доступно на сайте Beck IPC бесплатно. Многие части доступны в виде исходных текстов.
DK51
Человеку, имеющему опыт работы с микропроцессорами, освоить работу IPC@CHIP не представляет сложности. Для начала практической работы необходимо подать на IPC@CHIP питание 5 В, обеспечить подключение RS-232 и Ethernet. Это минимальные требования. Самостоятельное изготовление оценочной платы не требует высокой квалификации, но отнимает драгоценное время. При этом сложно учесть сразу все, что может потребоваться.
Оптимальное решение дает набор Beck IPC DK51. Набор включает оценочную плату DK50, микросхему SC13 IEC, блок сетевого питания, нуль-модемный кабель RS-232 и CD с программным обеспечением. Все это упаковано в специальный пластиковый кейс,
Плата DK50 (рис. 5) содержит 2 интерфейса RS-232 и Ethernet, разъем для подключения карты CompactFlash, 8 дискретных входов и входов со светодиодными индикаторами, кнопки «сброс» и «авария питания». Кроме того, плата имеет специальное монтажное поле, к которому выведены шины адреса, данных и управляющие сигналы.
На плату DK50 можно поставить и SC11 без Ethernet. В этом случае для использования TCP/IP нужно создать PPP-соединение через RS-232.
Давайте рассмотрим 4 шага, которые необходимо сделать для того, чтобы создать вебсервер на базе BECK IPC@CHIP.
Первые шаги мы будем проходить именно с DK51, но все сказанное ниже верно для всех устройств на базе BECK IPC@CHIP.
Шаг первый. Подключение к BECK IPC@CHIP по RS-232
Откройте кейс DK51 и достаньте из него плату DK50.
Для физического подключения платы DK50 к COM-порту вашего компьютера используйте нуль-модемный кабель, который имеется в составе DK51. Подключение кабеля не-
обходимо проводить при выключенном питании.
Подключите к плате сетевой источник питания. О включении питания напоминает светодиод Power LED (рис. 5).
Из программного обеспечения для подключения к чипу по RS-232 достаточно использовать одну из терминальных программ, например, HyperTerminal.
Рис. б. Параметры порта
Сначала настраиваем параметры последовательного порта компьютера, как показано на рис. 6.
После подключения к устройству нажимаем Enter и в окне терминала получаем доступ к командной строке RTOS. Работа с ней очень похожа на работу с командной строкой DOS. Список наиболее часто используемых команд можно получить, введя команду help.
Шаг второй. Конфигурирование сети
Для того чтобы получить доступ к устройству через сеть Ethernet, необходимо настроить два параметра — ip-адрес устройства и маску подсети. Для этого в командной строке терминальной программы выполняем команды ip и netmask (рис. 7),
встраиваемые системы
181
Рис. 8. Работа с командной строкой RTOS
Изменения параметров сети вступят в силу после программного (команда restart) или аппаратного (кнопка reset) сброса. Если в вашей сети установлен DHCP-сервер, то настраивать чип не надо — ip-адрес и маска подсети будут сконфигурированы автоматически. Физически Ethernet подключается к плате стандартным кабелем с разъемом RJ45.
Теперь мы можем работать с протоколами прикладного уровня, такими как telnet, ftp, http и т. д.
Например, с помощью telnet можно получить доступ к командной строке RTOS (рис. 8). В качестве логина и пароля укажите: Login: tel Password: tel
Шаг третий. Подключение к файловой системе RTOS
Для получения доступа к файловой системе IPC@CHIP используется протокол FTP, то есть файловая система устройства будет выглядеть как обычный удаленный диск.
Для настройки соединения с файловой системой воспользуемся FTP-клиентом Windows Commander (рис. 9).
В качестве пароля используйте ftp.
Подключившись к устройству по FTP, можно просматривать файлы, хранящиеся на Flash-диске чипа, и совершать с ними типичные операции (рис. 10).
Заметим, что при работе с IPC@CHIP вы не ограничены только внутренней памятью самого чипа (512 кбайт). Дополнительно можно подключить внешний диск CompactFlash объемом до 2 Гбайт.
Шаг четвертый. Конфигурирование и работа веб-сервера
Для работы веб-сервера нужно настроить такие параметры как имя страницы, загружаемой по умолчанию, и имя корневой директории. Эти настройки нужно прописать в текстовом файле chip.ini, как показано на рис. 11.
Теперь загрузим страницы, которые будет отображать веб-сервер (рис. 12).
Файловая система RTOS поддерживает файлы в только формате 8.3, так что следите, чтобы ваши страницы имели короткие имена.
Для просмотра страницы используйте любой веб-браузер (рис. 13). В строке ввода адреса необходимо указать заданный выше ip-адрес устройства.
Мы рассмотрели простейший пример применения IPC@CHIP в сетевых приложениях. Конечно, возможности чипа не ограничены только статическими веб-страницами. RTOS поддерживает интерфейс CGI, благодаря которому вы можете создавать веб-приложения. С помощью таких приложений, например, можно удаленно через Интернет управлять входами и выходами устройства или получать информацию о работе оборудования.
Давайте рассмотрим более интересные возможности IPC@CHIP. Но мы не станем более продолжать движение мелкими шагами. Мы сразу же сделаем «ход конем». ■
Продолжение следует.
Литература
1. Петров И. В. Маленькие ядра для большой артиллерии // Компоненты и технологии. 2005.
№4.
2. http://www.prolog.smolensk.ru/beck/ipc_chip.htm
3. http://www.beck-ipc.com
Рис. 9. Настройка FTP
Рис. 11. Редактирование ini-файла
Рис. 12. Загрузка содержимого веб-сервера
» Window* Commander 4. Я UegHtrred £ ffc К
I £екя Дтиш» Kont^w Вад |>фіу
М м. & * и * * se 191
F IP PnmetMM l**>. doc и ІЛІ ~3. Dminmiw ; ОГМТЄ С«Се«ре -J122S Cbwig dele ccrnocbon 2
ї вТЗ *»//!« 16*0 117 \ !| с 1 » L"«"J 5 788 £40 из W 07в 544 I cooda»» \ |.
Ии* !тТотР*ма* І—
-Ии
-,сн|.
JCW
<OIR> 00 00 19
Э 711 22.03 2005 00.13 НИ SOU 22 01 2005 0013 COO СО 27 03 ТОО!» 00 01 600
t~l 1
_j|Hoe4l ІИПВвІ
гГ)ЕпдтКеетм4_? doc
«jP* 01 Виз
Зрж 02
-jp«:.03 •г*
-1-е 04 и
* ис_0/
- рос 03 <*•
•3*0° *
<01И> 23 ОС 2005 1G 31.
*DIR> 04 0/ 2006 1311 -1U9I2 29 06 20Ю 17.2S-4 7 651 ОСП2006 14 51 4 20 04C 27 0C 2005 1 7.2S 9 702 22 ОС 2006 1* 17 . 15СВЗС 11 К 2005 0951 1 34 093 04 072005 13.И 4 «2 400 04 07 2005 14 02 -4 11 103 04 07 7005 14 04 ч 10 694 04 07.2006 14.00 <
OalUaOialM
ал Г
О из 4U к ■ 0 ю 9 «ійЦіи) о
■Шдгеяйв_____ИЯавіи______ЕШвд_______
_____[masas_____{±1*.
Рис. 10. Работа с диском IPC@CHIP в Windows Commander
Рис. 13. Отображение стартовой страницы в Internet Explorer