Игорь Бабанов, Алексей Емельянов

 

Идея создания миниатюрного, но в то же время не уступающего в производительности своим большим собратьям компьютера достаточно стара. Например, Intel специально для этих целей разработала целую серию встраиваемых микропроцессоров (семейства MCS-48/51/ 80/96/186/376). Среди других производителей таких устройств можно назвать компании NEC, Toshiba, IBM, Motorola, Sun, TI, ARM, Mitsubishi, Hitachi, Fujitsu, LSI Logic, Panasonic, SGS-Thomson и т. д., которые выпускают их по цене от нескольких долларов до нескольких сотен долларов за один микропроцессор.

В настоящее время множество управляющих компьютеров и контроллеров, предназначенных для встраивания в различные механизмы или приборы, создано на базе Intel-совместимых 386 или 486 микропроцессоров, разработанных и поддерживаемых такими известными компаниями, как Intel, Cyrix, AMD, TI. Большинство этих контроллеров, кроме совместимости по системе команд, повторяют в той или иной мере архитектуру PC.

PC on a Stick имеет размер SIMM-модуля

Спектр применения таких компьютеров/контроллеров необычайно широк. Это может быть управление шаговым двигателем станка или принтера, использование в медицинском приборе с графическим отображением, переносном сканере штрих-кодов, мобильном навигационном GPS-приборе, игровом автомате с мультимедийными расширениями или современном Internet-терминале. Каждый раз разрабатывать специализированное ПО для таких систем вряд ли целесообразно, поэтому при выборе типа контроллера совместимость c ПО персональных компьютеров играет первостепенную роль. При этом имеется в виду совместимость от уровня BIOS до уровня ОС. Хотя такие компьютеры/контроллеры сильно отличаются друг от друга по характеристикам, тем не менее для всех них используется термин “встраиваемые ПК”. Число приложений с подобными контроллерами неуклонно растет и уже занимает более 50% рынка промышленного оборудования, находя применение в переносных и мобильных системах.

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

PC on a Stick в монтажной плате

Все это привело к тому, что за последние четыре года ряд производителей разработал специализированные процессоры с высокой степенью интеграции. К наиболее известным из них можно отнести процессоры Intel 386 EX (www.intel.com), NS 486 SXF компании National Semiconductor (www.national.com), AMD 386 (486) SE/DE (www.amd.com), микромодули SMX 386 компании ZF Micro (www.zfmicro.com) и PC on Stick компании Industrial Control Links (www.iclinks.com). Каждый из этих модулей объединяет в одной микросхеме (кроме собственно микропроцессора типа 386 или 486) ряд компонентов, присущих архитектуре ПК (всякий раз свой). К таким компонентам можно отнести системный таймер, систему прерываний, последовательные или параллельные порты, контроллеры прямого доступа к памяти, управления памятью, управления локальной или системной шиной ISA, дисковых устройств, PCMCIA, а также видеоконтроллеры. Кроме стандартных, спецпроцессоры могут содержать и компоненты, специфичные для промышленного применения: сторожевой таймер, дискретные каналы ввода-вывода и пр.

Среди многообразия встраиваемых ПК наиболее заметно выделяются компьютеры (или контроллеры), построенные на базе архитектуры процессора Intel 386 EX. Поистине хрестоматийным стал контроллер EXPLR1, созданный компанией RadiSys специально для Intel в качестве демонстрационного набора средств разработки (development kit). В этой статье мы не будет останавливаться на его характеристиках, они достаточно полно представлены на web-узлах www.intel.com и www.radisys.com.

Прежде чем описывать типовые примеры использования встраиваемого PC 386 EX, необходимо коротко остановиться на характеристиках самого процессора Intel 386 EX и его месте внутри семейства Intel 386. Основное отличие процессора 386 от предшествующих ему процессоров 86/286 состоит в том, что он является 32-разрядным и может работать в так называемом защищенном режиме, в котором работают сейчас большинство современных ОС. Для разработки встраиваемых приложений компания Intel рекомендует целый набор процессоров Intel 386 серий CX, DX, EX и SX.

Микропроцессор Intel 386 EX разрабатывался специально для создания встраиваемых приложений, не требующих больших затрат электроэнергии. Он полностью совместим с IBM PC и дополнительно имеет систему мониторинга и контроля потребляемой электроэнергии. Кроме того, в процессор включен большой набор стандартных периферийных компонентов: подсистема настройки микросхем “обвязки”, счетчики и таймеры.

Микроконтроллер ДС1001

Микропроцессор Intel 386 CX используют прежде всего для работы с приложениями, предъявляющими жесткие требования к энергопотреблению. Он имеет богатый набор режимов, способствующих экономии энергии. Кроме того, внешняя 26-разрядная шина адресов позволяет обращаться к 64 Мб физической памяти.

Intel 386 SX имеет также режим экономичного питания и отличается от предыдущих своих собратьев большей скоростью работы. Его 16-разрядная внешняя шина данных и 24-разрядная внешняя шина адресов позволяют улучшить производительность, одновременно сокращая затраты разработчика на микросхемы обрамления (так как используют 16-разрядный внешний интерфейс при сохранении 32-разрядного внутреннего).

Для работы с многозадачными приложениями, требующими выполнения больших вычислений и большой емкости динамического ОЗУ, лучше всего подходят микропроцессоры Intel 386 DX. Их 32-разрядные регистры и информационные каналы поддерживают 32-разрядные интерфейсы по адресам и данным. Это позволяет адресовать до 4 Гб физической памяти и до 64 Гб виртуальной. Процессоры DX примерно на 50% превосходят по производительности модели CX, EX и SX.

Одноплатный компьютер EPC-30

Таким образом, встраиваемые микропроцессоры семейства Intel 386 различаются прежде всего по областям применения. Intel 386 DX предназначен для использования в управляющих машинах, где требуется высокая скорость работы при больших объемах ОЗУ. Микропроцессор Intel 386 CX достаточно эффективно может работать в переносных системах типа лаптоп или ноутбук, где особенно важны такие свойства, как малое энергопотребление (без значительной потери производительности). Intel 386 SX наиболее часто используется в промышленных компьютерах, для которых требования к размерам не суть важны (достаточно привести в пример серию промышленных процессоров компании Octagon Systems; www.octa.com). Микропроцессор Intel 386 EX наиболее эффективен и выгоден при разработке прикладных миниатюрных систем для переносных или мобильных устройств.

Интегрированный процессор Intel 386 EX обладает простой, но мощной архитектурой. Большинство стандартных контроллеров периферийных устройств, используемых в персональных компьютерах, встроены в микросхему процессора. Intel 386 EX упрощенно можно рассматривать как микропроцессор Intel 386 SX с добавленным набором специализированных подсистем. Назовем основные из них:

- два контроллера прерываний, программно-совместимых с 8259А;

- подсистема выбора микросхем “обвязки”;

- 16-разрядный таймер 8254А;

- подсистема регенерации содержимого динамического ОЗУ;

- сторожевой таймер;

- два последовательных канала, программно совместимых с микросхемой NS82450;

- синхронный быстрый последовательный канал;

- контроллер прямого доступа к памяти;

- логика управления энергопотреблением.

Сравнение ДС1001 и PC on a stick

Именно такая уникальная конфигурация процессора Intel 386 EX позволяет как можно лучше организовать структуру встраиваемого компьютера и значительно снизить время на разработку аппаратной части. Кроме того, развитый механизм управления энергопотреблением позволяет создавать мобильные и переносные устройства, питающиеся, например, от обычных батареек.

Intel 386 EX также поддерживает режим управления системой (System Management Mode, SMM). При работе процессора в данном режиме различные части системы могут быть временно отключены для уменьшения энергопотребления. Конкретно в процессоре Intel 386 EX данная функция реализована в виде двух режимов работы - режим холостого хода (idle) и режим снижения уровня энергопотребления (powerdown).

Контроллеры EPC-30 и EPC-41

Чтобы получить представление о микроконтроллерах на базе микропроцессора Intel 386 EX, рассмотрим четыре продукта, которые можно считать наиболее яркими представителями класса миниатюрных систем. Это PC on a Stick компании Industrial Control Links, одноплатный микроконтроллер ДС1001, разработанный в НПП “Дискретные Системы” (www.discret.ru), и два продукта компании RadiSys (www.radisys.com) - EPC-30 и EPC-41.

Все перечисленные микроконтроллеры совершенно по-разному реализованы конструктивно, имеют несхожие аппаратно-программные характеристики, возможности расширения и сферы применения. Но все они являются готовыми “кубиками” для достаточно быстрой разработки специальных устройств для использования во многих областях народного хозяйства.

PC on a Stick - это одна из последних разработок компании Industrial Control Links позиционируемая на рынке как миниатюрный (размеры и конструктивы SIMM-модуля) PC-совместимый компьютер для встраивания в специализированные приборы, средства связи, мультимедийные игры. Несмотря на малые размеры компьютера, для работы с ним используются все те же дешевые программные средства разработки, применяемые большинством программистов IBM PC-совместимых компьютеров. Помимо прочего PC on a Stick легко адаптируется для работы с нестандартными внешними устройствами посредством тестового набора.

PC on a Stick имеет следующие основные характеристики. На его плате смонтирован процессор Intel 386EX с тактовой частотой 33 МГц, три 16-разрядных таймера, два последовательных порта ввода-вывода, сторожевой таймер и ЗУ программной настройки микросхем “обвязки”. Память в нем разбита на две части: 2 Мб флэш-памяти и 512 Кб ОЗУ c автономным питанием от плоской литиевой батарейки, смонтированной на плате. Система последовательного ввода-вывода построена на основе двух или шести последовательных портов ввода-вывода стандарта 16550 UART. Причем в варианте с шестью последовательными портами два из них принадлежат процессору, а остальные четыре - самой плате, на которой также смонтирована подсистема часов реального времени с календарем, дополнительной оперативной памятью и автономным питанием от собственной литиевой батареи. PC on a Stick сохраняет работоспособность в диапазоне температур от -40°C до +85°C. И, наконец, в нем, как и в обычных компьютерах, предусмотрен энергосберегающий режим ожидания (< 200 mA). Обладая всеми этими характеристиками, PC on a Stick имеет размеры как у 72-контактного модуля памяти SIMM.

На PC on a Stick уже предустановлены версия 6.22 операционной системы ROM-DOS и стандартная BIOS. Флэш-диск емкостью 2 Мб несет на себе стандартный набор утилит для диагностики, передачи данных и обновления версий BIOS и DOS. Дополнительно на PC on a Stick можно установить набор инструментов Си/Си++ (с библиотечными функциями) с компилятором фирмы Borland. При этом предусмотрен вариант Си/Си++ без компилятора для того, чтобы можно было установить любой другой компилятор, создающий исполняемые файлы в формате DOS. Причем набор инструментов Си/Си++ может быть использован с PC on a Stick в обоих вариантах - стандартном и многозадачном. Также на эту машину можно установить различные системные инструменты, в том числе Paradigm и Concurrent.

Помимо PC on a Stick как самостоятельного продукта компания Industrial Control Links разработала для него тестовый набор (Evaluation Kit) компонентов. В этот набор входит сама плата PC on a Stick, монтажная плата для адаптации к нестандартным внешним устройствам и дополнительные инструменты к ней, а также ПО для диагностики и работы. На монтажной плате размещаются следующие элементы:

- 144-контактный розеточно-штырьевой разъем для крепления PC on a Stick;

- два последовательных порта, совместимых со стандартом RS-232;

- универсальный источник питания на 5 В (переключаемый на 10 В и 30 В);

- разъем для установки загрузочной ROM-памяти;

- переключатель режимов работа/отладка;

- кнопка перезагрузки и кнопка генерации сигнала NMI;

- разъемы для подключения стандартных периферийных устройств.

Отечественное научно-производственное предприятие “Дискретные Системы” разработало одноплатный микроконтроллер ДС1001, который предназначен для применения в тех областях, где повышены требования к габаритам, весу, потребляемой мощности, работе в расширенном температурном диапазоне и необходима возможность питания от аккумуляторов или бортовой сети, например:

- вычислительное ядро портативных и бортовых приборов и установок;

- вычислительное ядро стандартных промышленных установок;

- универсальное вычислительное ядро интеллектуальных модулей УСО со сложными алгоритмами обработки данных.

В микроконтроллер встроен флэш-диск емкостью 860 Кб, эмулирующий жесткий диск, а коммуникационные возможности расширены за счет использования следующих каналов:

- одного полного канала RS-232 (СОМ1);

- одного нуль-модемного канала RS-232 или RS-485 (СОМ2);

- синхронного канала RS-485 со скоростью обмена данными до 2,5 Мбит/с.

Универсальная 24-разрядная шина дискретного ввода-вывода (ДС1001) позволяет непосредственно подключить ЖК-дисплеи и клавиатуру. Микроконтроллер имеет восьмиразрядный разъем расширения РС/104. В качестве консоли может также использоваться последовательный терминал.

Кроме того, существуют модули расширения дискретного ввода-вывода ДС3004 и модуль сопряжения ДС3006 с конструктивами MicroPC компании Octagon Systems.

Программное обеспечение микроконтроллера состоит из стандартного системного ПО и утилит передачи файлов:

- базовая система ввода-вывода (BIOS) со встроенным отладочным монитором;

- операционная система PTS-DOS версии 6.65 или любая совместимая с ней;

- утилита передачи файлов.

Микроконтроллер может также работать и под управлением ядра реального времени RTKernel 4.5.

Сравнение характеристик ДС1001 и РС on a Stick представлено в таблице.

Продукты EPC-30 и EPC-41 компании RadiSys служат классическими образцами контроллеров на базе Intel 386 EX. Они имеют практически все стандартные функции офисных компьютеров, включая поддержку клавиатуры, видео, дисковых устройств и даже PCMCIA. Компания RadiSys также разрабатывает и поставляет наборы микросхем обводки R300EX и R400EX для поддержки специализированных микропроцессоров типа Intel 386 EX. Программное обеспечение для этих контроллеров можно использовать практически любое, как и в обыкновенных компьютерах подобного класса. Для применения контроллеров в особо важных промышленных приложениях компания разработала ОС “жесткого” реального времени INtime (по сути она является расширением систем реального времени для Windows NT).

С авторами статьи можно связаться по адресу: tt@iineum.dol.ru.