Научная статья на тему 'IPC@CHIP или mаленькие ядра для большой артиллерии - 2'

IPC@CHIP или mаленькие ядра для большой артиллерии - 2 Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
116
98
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Пастушенков Дмитрий, Петров Игорь

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «IPC@CHIP или mаленькие ядра для большой артиллерии - 2»

178 встраиваемые системы www.finestreet.ru

Дмитрий ПАСТУШЕНКОВ Игорь ПЕТРОВ

[email protected]

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.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

Сначала настраиваем параметры последовательного порта компьютера, как показано на рис. 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

i Надоели баннеры? Вы всегда можете отключить рекламу.