IPC@CHIP или Mаленькие ядра для большой артиллерии — 2

№ 6’2005
В первой статье [1] авторы предложили использовать компактные мезонинные платы для построения встраиваемых систем и контроллеров. Очевидно, что использование таких плат («процессорных ядер») является интересной альтернативой микроконтроллерам. Это позволяет нам мгновенно пройти путь первоначального «оживления» нового устройства. Нам уже не нужен специализированный программатор, да и ассемблер можно отложить в запасной ящик.

В первой статье [1] авторы предложили использовать компактные мезонинные платы для построения встраиваемых систем и контроллеров. Очевидно, что использование таких плат («процессорных ядер») является интересной альтернативой микроконтроллерам. Это позволяет нам мгновенно пройти путь первоначального «оживления» нового устройства. Нам уже не нужен специализированный программатор, да и ассемблер можно отложить в запасной ящик.

Однако при серьезных плюсах подобные платы не пользуются массовым спросом. Почему? В первую очередь, конечно, из-за цены. Если сложить стоимость всех комплектующих и программного обеспечения, то она не кажется высокой. Но мы все равно неминуемо проводим сопоставление с ценами на микроконтроллеры и верим в своих программистов, которые при помощи бесплатных средств привыкли творить чудеса. Бесспорно, для встраиваемых систем цена — это решающий фактор. Второе — это технологические ограничения. Мини-плата — это, в любом случае, усложнение конструкции и дополнительные разъемы, то есть источник ненадежности. Третья важнейшая проблема — это ПО. Программист ПК вооружен мощью операционной системы (ОС) и огромного числа готовых средств. Например, отправить данные из прикладной программы в Интернет для просмотра — это детская задача. Для программиста же «однокристальной ЭВМ» 8051 или AVR — это скорее просто сон, а не практическая возможность. «Аутсорсинг» в отсутствии ОС связан с множеством практических ограничений.

Итак, наша мечта — это надежный однокристальный микроконтроллер с приемлемой ценой и встроенной ОС, близкой по возможностям к ПК. С одной стороны, это многофункциональный микроконтроллер, с другой — устройство простое в применении, как сотовый телефон. Позволяет ли современный технологический уровень микроэлектроники создать такое устройство? В принципе, да.

Остается немного: найти средства на разработку и организацию производства, его сертификацию по ISO 9001 и прочие «мелкие» детали. «Все это реально», — решили специалисты Beck IPC GmbH. Первым шагом стала реализация 186-го процессора на кристалле специализированной интегральной микросхемы (ASIC). Первые экземпляры микросхем, получивших название IPC@CHIP, были поставлены пользователям в ноябре 1999 года [2]. За прошедшие годы более 4000 пользователей создали свои продукты с поддержкой Web на основе IPC@CHIP. Причем, как правило это — коммерческие серийные продукты [3]. Семейство IPC@CHIP (рис. 1) развивается сегодня очень интенсивно. В планах компании стоит новая линейка со 100-мегагерцовым процессором, новым корпусом, расширенным температурным диапазоном, CAN-интерфейсом и многими другими расширениями.

IPC@CHIP
Рис. 1. IPC@CHIP

Но давайте вернемся в день сегодняшний и посмотрим на IPC@CHIP исключительно с практических позиций. Начнем с краткого обзора аппаратных средств, после чего подробно разберем программное обеспечение и практические примеры применения.

Семейство IPC@CHIP

В настоящее время в семейство IPC@CHIP входят 5 типов микросхем: SC11, SC12, SC13, SC11 IEC и SC13 IEC. Конструктивно все они абсолютно одинаковы (рис. 2).

Чертеж IPC@CHIP
Рис. 2. Чертеж IPC@CHIP

Все они оснащены 186-м процессором и полностью совместимы как программно, так и аппаратно, на уровне выводов. Основные характеристики семейства приведены в таблице.

Таблица. Основные характеристики IPC@CHIP
Основные характеристики IPC@CHIP

Внешняя шина — 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.

Принципиальная схема подключения Ethernet
Рис. 3. Принципиальная схема подключения Ethernet

Индикатор 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 IPC@CHIP
Рис. 4. Структура RTOS IPC@CHIP

RTOS — это операционная система, построенная на базе MS DOS и совместимая с ней сверху вниз. То есть прикладные программы, созданные для 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
Рис. 5. Плата DK50

На плату 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.

Параметры порта
Рис. 6. Параметры порта

После подключения к устройству нажимаем Enter и в окне терминала получаем доступ к командной строке RTOS. Работа с ней очень похожа на работу с командной строкой DOS. Список наиболее часто используемых команд можно получить, введя команду help.

Шаг второй. Конфигурирование сети

Для того чтобы получить доступ к устройству через сеть Ethernet, необходимо настроить два параметра — ip-адрес устройства и маску подсети. Для этого в командной строке терминальной программы выполняем команды ip и netmask (рис. 7).

Настройка Ethernet
Рис. 7. Настройка Ethernet

Изменения параметров сети вступят в силу после программного (команда restart) или аппаратного (кнопка reset) сброса. Если в вашей сети установлен DHCP-сервер, то настраивать чип не надо — ip-адрес и маска подсети будут сконфигурированы автоматически. Физически Ethernet подключается к плате стандартным кабелем с разъемом RJ45.

Теперь мы можем работать с протоколами прикладного уровня, такими как telnet, ftp, http и т. д.

Например, с помощью telnet можно получить доступ к командной строке RTOS (рис. 8). В качестве логина и пароля укажите:

Login: tel

Password: tel

Работа с командной строкой RTOS
Рис. 8. Работа с командной строкой RTOS

Шаг третий. Подключение к файловой системе RTOS

Для получения доступа к файловой системе IPC@CHIP используется протокол FTP, то есть файловая система устройства будет выглядеть как обычный удаленный диск.

Для настройки соединения с файловой системой воспользуемся FTP-клиентом Windows Commander (рис. 9).

Настройка FTP
Рис. 9. Настройка FTP

В качестве пароля используйте ftp.

Подключившись к устройству по FTP, можно просматривать файлы, хранящиеся на Flash-диске чипа, и совершать с ними типичные операции (рис. 10).

Работа с диском IPC@CHIP в Windows Commander
Рис. 10. Работа с диском IPC@CHIP в Windows Commander

Заметим, что при работе с IPC@CHIP вы не ограничены только внутренней памятью самого чипа (512 кбайт). Дополнительно можно подключить внешний диск CompactFlash объемом до 2 Гбайт.

Шаг четвертый. Конфигурирование и работа веб-сервера

Для работы веб-сервера нужно настроить такие параметры как имя страницы, загружаемой по умолчанию, и имя корневой директории. Эти настройки нужно прописать в текстовом файле chip.ini, как показано на рис. 11.

Редактирование ini-файла
Рис. 11. Редактирование ini-файла

Теперь загрузим страницы, которые будет отображать веб-сервер (рис. 12).

Загрузка содержимого веб-сервера
Рис. 12. Загрузка содержимого веб-сервера

Файловая система RTOS поддерживает файлы в только формате 8.3, так что следите, чтобы ваши страницы имели короткие имена.

Для просмотра страницы используйте любой веб-браузер (рис. 13). В строке ввода адреса необходимо указать заданный выше ip-адрес устройства.

Отображение стартовой страницы в Internet Explorer
Рис. 13. Отображение стартовой страницы в Internet Explorer

Мы рассмотрели простейший пример применения 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

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

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