Процессорный модуль. Процессорный модуль на базе микроконтроллера фирмы INFINEON

В качестве модуля управления, центрального процессораили процессорного модуля (CPU) понимается модуль ПЛК, выполняющий функции управления процессом, обработку прикладных программ, доступ к периферийным модулям, контроль/управление всей системой, функции управления логикой ПЛК и функции коммуникаций (обмен информацией через интерфейс программировании, а также для обмен данными с другими интеллектуальными устройствами системы автоматизации).

Рисунок 2.2 - Типовая архитектура ПЛК

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

Наконец, на основании программы ПЛК "записывает" или обновляет управляющие выходы через выходные интерфейсы. Этот процесс, называемый циклом сканирования, постоянно выполняется в одной и той же последовательности без остановки и изменяется или при возникновении определенных, заранее оговоренных событий, или когда вносятся изменения в управляющую программу.

Процессорный модуль включает в себя микропроцессор (центральное процессорное устройство - ЦПУ), запоминающие устройства, часы реального времени и сторожевой таймер. Термины "микропроцессор" и "процессор" в настоящее время стали синонимами, поскольку все вновь выпускаемые процессоры выполняются в виде СБИС, т.е. являются микропроцессорами.

Основными характеристиками микропроцессора являются разрядность (в ПЛК используются 8-ми, 16-ти и 32-разрядные микропроцессоры), тактовая частота, архитектура, наличие операций с плавающей точкой, типы поддерживаемых портов ввода-вывода, температурный диапазон работоспособности и потребляемая мощность.

Производительность микропроцессоров с одной и той же архитектурой пропорциональна тактовой частоте. Большинство контроллеров используют микропроцессоры с сокращенным набором команд (RISC - Reduced Instruction Set Computing), в которых используется небольшое количество команд одинаковой длины и большое количество регистров. Сокращенный набор команд позволяет строить более эффективные компиляторы и конвейер процессора, способный за каждый такт выдавать результат исполнения очередной команды.

Для контроллеров, выполняющих интенсивную математическую обработку данных, важно наличие математического сопроцессора (вспомогательного процессора, выполняющего операции с плавающей точкой) или сигнальных процессоров, в которых операции типа Y=A*B+X выполняются за один такт. Сигнальные процессоры позволяют ускорить выполнение операций свертки или быстрого преобразования Фурье.



Емкость памяти определяет количество переменных (тегов), которые могут быть обработаны в процессе функционирования ПЛК. В микропроцессорах время доступа к памяти является одним из существенных факторов, ограничивающих быстродействие. Поэтому память делят на несколько уровней иерархии, в зависимости от частоты использования хранящихся в ней данных и быстродействия. Иерархия памяти относится к существенным характеристиками архитектуры процессора, поскольку она позволяет снизить отрицательное влияние медленной памяти на быстродействие микропроцессора. Основными типами памяти является постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ) и набор регистров. Регистры являются самыми быстродействующими элементами памяти, поскольку они используются арифметико-логическим устройством (АЛУ) для исполнения элементарных команд процессора. ПЗУ используют для хранения редко изменяемой информации, такой, как операционная система, драйверы устройств, загрузчик, исполняемый модуль программы пользователя. ОЗУ используется для хранения данных, которые многократно изменяются в процессе работы контроллера, например, значения тегов, результаты промежуточных вычислений, диагностическая информация, массивы, выводимые на графики, данные для отображения на дисплее.

В качестве ПЗУ (или ROM - "Read Only Memory") обычно используется электрически стираемая перепрограммируемая память (EEPROM - "Electrically Erasable Programmable ROM". Разновидностью EEPROM является флэш-память, принцип действия которой основан на хранении заряда в конденсаторе, образованном плавающим затвором и подложкой МОП-транзистора. Особенностью флэш-памяти является ее энергонезависимость, т.е. сохраняемость данных при выключенном питании. Стирание и перезапись во флэш-памяти выполняется не отдельными ячейками, а большими блоками, поэтому она получила название, происходящее от английского "flash" - "вспышка" . Недостатком всех ПЗУ является низкое быстродействие.

В качестве ОЗУ современные микропроцессоры используют статическую память (SRAM - Static Random Access Memory) и динамическую (DRAM - "Dynamic Random Access Memory"), SDRAM ("Synchronous DRAM"). SRAM выполняется на триггерах, информация в которых сохраняется неограниченно долго при наличии питания. В динамической памяти информация хранится на конденсаторах и поэтому DRAM требует периодической регенерации (перезарядки конденсаторов). К недостаткам триггерной памяти относится ее высокая стоимость, связанная с низкой плотностью компоновки триггеров на кристалле, и малое отношение емкости к цене. Достоинством является высокое быстродействие, достигающее гигагерц, в то время как память на конденсаторах не может работать на частотах выше сотен герц. Оба типа памяти (DRAM и SRAM) не могут сохранять информацию при отключении питания ПЛК. Поэтому некоторые типы ПЛК используют батарейное питание памяти для сохранения работоспособности системы автоматизации после кратковременного прерывания питания.

Моноблочные и модульные контроллеры используют, как правило, параллельную шину для обмена данными с модулями ввода-вывода, что позволяет на порядок повысить быстродействие их опроса по сравнению с последовательной шиной. Параллельные шины могут быть стандартными (ISA, PC/104, PCI, ComactPCI, VME, CXM) или частнофирменными. Последовательная шина контроллера (на основе интерфейса RS-485) используется для подключения к нему удаленных (распределенных) модулей ввода-вывода.

Сторожевой таймер (Watchdog Timer - WDT) представляет собой счетчик, который считает импульсы тактового генератора и в нормальном режиме периодически сбрасывается (перезапускается) работающим процессором. Если процессор "зависает", то сигналы сброса не поступают в счетчик, он продолжает считать и при достижении некоторого порога вырабатывает сигнал "Сброс" для перезапуска "зависшего" процессора.

Часы реального времени (РВ) представляют собой кварцевые часы, которые питаются от батарейки и поэтому продолжают идти при выключенном ПЛК. Часы РВ используются, например, для управления уличным освещением в зависимости от времени суток, в системах охраны объектов и других случаях, когда необходима привязка данных или событий к астрономическому времени.

Николай Семенов [email protected], Алексей Некрасов - [email protected]

В большинстве случаев разработка технического устройства связана с задачей сбора данных с устройств ввода, их обработкой и передачей управляющего воздействия на устройства вывода. Пока вычисления не требуют высокой производительности, а устройства ввода/вывода стандартны, можно воспользоваться микроконтроллерами или «системами на кристалле» (System-On-Chip, SoC). Но что делать, если производительности микроконтроллера не хватает или интерфейсы, предусмотренные задачей или областью применения, нестандартны?

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

Процессорный модуль (Computer-On-Module, CoM) является дальнейшим развитием «систем на кристалле» (System-On-Chip, SoC). Такие модули характеризуются небольшими размерами, наличием стандартных интерфейсов и хорошей поддержкой операционными системами. При их использовании экономится время на разработку, тестирование, поддержку, написание системного ПО и адаптацию операционных систем, поскольку чаще всего все это уже входит в готовый процессорный модуль. Таким образом его использование существенно сокращает время выхода готового устройства на рынок.

Сам термин CoM был введен компанией VDC Research Group, Inc. (бывшая Venture Development Corporation, USA) для описания целого класса производимых компьютерных плат, он прижился и широко используется, в основном после принятия промышленного стандарта COM-Express.

Классификация процессорных модулей

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

Высокопроизводительные модули

Рис. 1. «Компьютер-на-модуле» стандарта COM-Express: RadiSys CEQM77 с процессором Intel Core i7 IvyBridge

Высокопроизводительные модули практически всегда требуют активного охлаждения, потребляют 5–10 Вт и более и являются полноценными компьютерами, основанными чаще всего на микропроцессорах фирмы Intel. Они достигают производительности топовых версий Intel Core i7 с практически неограниченным количеством памяти в виде модулей расширения и высокоскоростными интерфейсами, такими как PCIexpress, GBE, SATA3 и т. д. Основная задача таких модулей - предоставить все возможности высокопроизводительного персонального компьютера в компактном одноплатном исполнении с возможностью подключить к ним как стандартные платы расширения, так и специализированные, рассчитанные на решение конкретной задачи. Стандартизация таких модулей производится по внешним габаритам, типам и расположениям разъемов:

  • ETX (Embedded Technology eXtended - «расширение встраиваемых технологий», ) - форм-фактор материнских плат, имеющий размеры 95×114 мм и стандартное расположение интерфейсных разъемов. На разъемах выведены порты ввода/вывода архитектуры PC/AT (последовательный, параллельный и т. д.), USB, аудио- и видеоразъемы, Ethernet, а также полноценная реализация шин ISA и PCI.
  • XTX - это развитие стандарта ETX с 75%-ной совместимостью по контактам . В XTX убрана шина ISA и добавлены PCI-Express, SATA и LPC. На сегодня эти стандарты уступают по популярности более новому стандарту COM-Express, однако по-прежнему поддерживаются достаточно большим количеством производителей , . В качестве примеров ETX и XTX можно рассмотреть модули от таких производителей, как Avalue, Congatec, Kontron, MSC, Norco, SECO и др.
  • COM-Express (COMe) - это стандарт «компьютера-на-модуле», созданный для замены устаревших ETX и XTX . Он был представлен в 2005 г. консорциумом PIСMG и определяет как размер модуля (рис.1), так и его интерфейсы. На сегодня вышла вторая ревизия стандарта, которая описывает семь различных типов цоколевки разъемов, и четыре возможных форм-фактора модулей (от 55×84 до 110×155 мм). Стандарт характеризуется применением в высокопроизводительных системах, обязательна поддержка Ethernet10/100/1000, SATA, LPC, 8×USB (включая поддержку USB 3.0), 6×PCI-Express, аудио, видео. Питание 12 В. К самым известным производителям модулей COMExpress можно отнести RadiSys и Kontron, Congatec и AdLink.

Кроме того, к высокопроизводительным модулям можно отнести процессорные платы магистрально-модульных систем, таких как CompactPCI и AdvancedTCA.

CompactPCI - это системная шина, широко используемая в промышленной автоматике и магистрально-модульных системах. Электрически она совместима с шиной PCI, но позволяет подключить больше устройств. Поддерживается «горячее» подключение плат, но в настоящее время данный стандарт фактически устарел по пропускной способности. Основной конкурент - шины VME, VME32, VME64, используемые в военной технике НАТО, но в России данные стандарты распространения не получили. Разрабатываются расширения, такие как PCI-E, но перспективы их использования не определены.

Рис. 2. «Компьютер-на-модуле» стандарта Qseven: SECO QuadMo747-X/i.MX6 с процессором Freescale iMX6

AdvancedTCA, MicroTCA (Telecom­munications Computing Architecture - «архитектура для телекоммуникационных вычислений») - архитектура, разработанная при участии более 100 компаний - производителей промышленного и телекоммуникационного оборудования под руководством PICMG и являющаяся новым поколением стандартизованных телекоммуникационных вычислительных платформ, пришедшим на смену устаревшего CompactPCI. Механически представляет собой стандартные корзины для подключения плат стандартных размеров со стандартными разъемами и расположением контактов на них. Поддерживает «горячее включение» плат и несколько топологий связи между ними. Основной средой передачи информации между платами является Ethernet, хотя дополнительно на разъеме есть и тестовые сигналы JTAG, тактовые импульсы (clock), а также сигнальные провода, проходящие через коммутатор сигналов (Switch Fabric). Дополнительно в стандарте описана система охлаждения процессорных модулей, единая на всю корзину. Процессорные модули с интерфейсом TCA могут использоваться в широком диапазоне применений - как для построения кластера для облачных вычислений (где основной интерфейс между модулями Ethernet), так и для телекоммуникационных решений с синхронными последовательными интерфейсами, подключением видеокамер, звука, внешних датчиков и т. д.

Малопроизводительные модули

Рис. 3. «Компьютер-на-модуле» стандарта Qseven: SECO uQ7-OMAP5 40×70 мм с процессором Texas Instruments OMAP5

До недавнего времени к малопроизводительным можно было отнести различные модули SoDIMM и 2,5” одноплатные компьютеры, выполненные на ARM-процессорах (чаще всего производителями используется ARM9). Стандартизации таких модулей не предполагалось, поэтому каждый производитель сам определял форм-фактор и срок жизни выпускаемой продукции. Что, естественно, влекло за собой определенные риски для разработчиков, так как изначально никакой совместимости модулей от разных производителей не предполагалось. Однако на сегодня ситуация немно­го изменилась: с выходом спецификации Revision 2.0 открытого промышленного стандарта Qseven , с одной стороны, и выпуском новых малопотребляющих процессоров (к примеру, таких как Freescale i.MX6 Solo, рис. 2), с другой. Сейчас у разработчиков появилась возможность использовать малопроизводительные модули без рисков для срока жизни полученной продукции. Поскольку соблюдение стандарта различными производителями означает взаимозаменяемость модулей между собой, разработку не придется начинать с нуля: можно просто подобрать аналогичный модуль в стандарте Qseven от другого производителя. Кроме этого, новая ревизия спецификации Qseven предусматривает модули половинного размера - всего 40×70 мм (рис. 3), что как нельзя лучше подходит для сегмента начальных и малопроизводительных систем.

Модули средней производительности

В том случае, когда нужны недорогие процессорные модули, отличающиеся низким потреблением и относительно высокой вычислительной производительностью, которые не требуют активного охлаждения, единственное существующее на данный момент решение - это модули, также выполненные в стандарте Qseven. Кроме того, по сравнению с остальными открытый промышленный стандарт Qseven дает разработчику наибольшую гибкость при разработке технических устройств, поскольку является кросс-платформным для архитектур ARM и x86. Другими словами, модули, выполненные на процессорах x86, и модули, выполненные на процессоре ARM, являются взаимозаменяемыми в рамках стандарта Qseven. Это значит, что, выполнив разработку устройства на привычном процессоре x86, в дальнейшем можно будет перейти на ARM-процессор с целью снижения энергопотребления устройства и общей себестоимости .

Что касается доступности модулей и срока их жизни, то здесь можно отметить следующие положительные особенности. С одной стороны, в модулях используются встраиваемые процессоры с долгим сроком жизни таких производителей, как Intel, AMD, VIA Technology, NVidia, Texas Instruments и Freescale. С другой стороны, на сегодняшний момент насчитывается уже более 50 производителей процессорных модулей в стандарте Qseven. К тому же при необходимости можно на уже выпускаемой продукции заменить процессорный модуль Q7 на аналогичный собственной разработки. При этом срок выпуска продукции (time-to-market) получится небольшим, и можно будет перейти на собственную вычислительную платформу или иметь широкий диапазон процессорных модулей в едином стандарте под разные задачи.

Таким образом, у разработчика есть выбор не только между производителем как процессора, так и самого модуля, что дает большую свободу в выборе наиболее подходящего устройства, исходя из поставленной задачи (таблица).

Таблица. Классификация модулей
Производитель Начальный уровень Мультимедиа Высокая
производительность,
вычислительные
задачи
Ответственное
применение, широкий
температурный диапазон
Seco QuadMo747-X/i.MX6 uQ7-OMAP5 uQ7-OMAP5 QuadMo747-X/i.MX6
QuadMo747-X/OMAP3 QuadMo747-X/T30 QuadMo747-GSeries QuadMo747-X/OMAP3
QuadMo747-Z5xx QuadMo747-X/T20 QuadMo747-X/i.MX6 QuadMo747-XL
QuadMo747-X/i.MX6 QuadMo747-X/T30 QuadMo747-EXTREME
QuadMo747-X/i.MX51 QuadMo747-E6xx
QuadMo747-GSeries
QuadMo747-E6xx
Avalue EQM-CDV
EQM-A50M

Если рассматривать стандарт Qseven более подробно, то можно отметить следующие основные особенности, выгодно отличающие его от других стандартов «компьютеров-на-модуле».

Рис.4. Основные промышленные интерфейсы стандарты Qseven

Во-первых, стандарт дает полное логическое описание всех сигналов, получаемых из модулей с процессорами как на ядре ARM, так и на архитектуре x86. В том числе, это касается:

  • высокоскоростных интерфейсов, таких как PCI Express, SATA, USB 2.0+, GigabitEthernet и т. д.;
  • графических интерфейсов, таких как LVDS, SDVO, HDMI и DisplayPort;
  • основных промышленных интерфейсов (включая CAN, SPI, SDIO, I 2 C и т. п.) (рис. 4).

Во-вторых, в стандарте приведены:

  • полное электрическое описание сигналов указанных интерфейсов;
  • полное конструкторское описание соединительного разъема (недорогого и доступного MXM) с указанием местоположения сигналов на нем;
  • конструкторское описание самих модулей.

Размеры модулей всего 70×70 мм, тогда как для COM-Express это 125×95 мм, а для ETX/XTX - 114×95. Готовые одноплатные компьютеры формата PC/104 имеют больший размер - 96×90 мм. Данная информация носит открытый характер и доступна любому желающему в документации на стандарт Qseven .

Опыт использования модулей

Рис. 5. Структура предлагаемого устройства

Для построения многоканального видеорегистратора с хранением данных на жестком диске и управлением по локальной сети была предложена структура, показанная на рис. 5.

Блоки AVx содержат АЦП аудио и видео. DSPx обеспечивает сжатие полученных данных и отправку сжатого потока через FPGA на процессорный модуль PC. Процессорный модуль принимает данные от нескольких видеокамер, формирует из них контейнеры для хранения и записывает на жесткий диск, а также прокидывает сквозной канал для просмотра и архивирования данных по локальной сети.

Поток данных внутри такой системы оказался достаточно большим, и малопроизводительные модули для реализации оказались непригодны. Высокопроизводительные модули выделяют слишком много тепла, так что внутри компактного регистратора их установить невозможно. Поэтому в качестве процессорных модулей были выбраны Qseven - SECO QuadMo747-Z5xx, содержащие процессор Intel Atom Z500 series 1,6 ГГц, 1 Гбайт памяти DDR2, GBE и SATA2. Наличие NAND-drive диска позволило установить прямо на модуль операционную систему Linux, чтобы не зависеть от наличия и исправности жесткого диска. После оптимизации ПО и уменьшения количества одновременно используемых камер оказалось возможным перейти на модуль с частотой процессора не 1,6, а 1,1 ГГц, а также перейти на процессорные модули с ARM-процессорами. Внешний вид устройства представлен на рис. 6.

Выбор описанных модулей существенно сократил время разработки устройства и сделал его проще, надежнее и функциональнее. Например, не заложенная изначально функция беспроводного управления регистратором оказалась возможной с установкой миниатюрного модуля USB-Wi-Fi. Точное время может быть получено с внешнего устройства GPS, также подключенного через USB. Для расширения температурного диапазона использования устройства впоследствии был подключен программно управляемый вентилятор охлаждения. В результате получился многофункциональный компактный прибор, выполняющий все необходимые заданные функции и даже больше. Есть запас ресурсов по расширению функциональности.

Выводы

Рис. 6. Сверху — внешний вид устройства; снизу — расположение плат

В статье были рассмотрены различные варианты управляющих процессорных модулей для встраиваемых систем. Можно сделать следующие выводы:

  1. В перспективных разработках в качестве компактных высокопроизводительных модулей стоит рассматривать COM-Express. Они производительные, недорогие, но требуют внешнего охлаждения или большого радиатора.
  2. Для построения кластера из большого числа как однородных, так и разнородных модулей удобно использовать стандарт AdvancedTCA или его уменьшенный вариант MicroTCA. Процессорные модули в таких системах дороже, чем тот же COM-Express, но зато легко собираются в кластеры, в корзине стандартно находится блок охлаждения, решены вопросы обмена информацией между модулями питания и резервирования.
  3. В качестве малопотребляющего производительного модуля, способного работать без активного охлаждения, рекомендуется использовать модули стандарта Qseven. Это целое семейство процессорных модулей различной производительности, построенных на различных платформах, но имеющих стандартные интерфейсы, такие как Ethernet, USB, SATA, SPI, LPC и др. Есть опыт практического использования серийных устройств на базе таких модулей.
  4. Для управления медленными процессами можно использовать любой из целого класса малопроизводительных модулей, подходящий по размерам, интерфейсам и цене.

Рост темпов производства после экономического кризиса 90-х годов предопределил необходимость принятия срочных мер по реновации оборудования.

Серьёзную проблему для машиностроителей представляет отсутствие в стране средств автоматизации отечественного производства, а так же наличие большого парка станков с устаревшими электронными системами управления: программоконтроллеры "МикроДАТ", УПУ ТП и др. Для модернизации программоконтроллеров этих и других типов фирма НТБ разработала процессорный модуль на базе микроконтроллера SAFB-C165-LF, который обладает следующими характеристиками:

  • FLASH ПЗУ и статическое ОЗУ по 128 Кб;
  • резидентная программа для загрузки программного обеспечения;
  • объём памяти пользовательских (технологических) программ 46 или 62 Кб;
  • сохранение содержимого FLASH-памяти в течение не менее 10 лет;
  • возможность программирования через последовательный порт RS-232;
  • сброс при сбоях питания;
  • раннее предупреждение о разрядке литиевой батареи;
  • таймер Watchdog;
  • ток потребления в рабочем режиме - 100 мА;
  • напряжение питания - 5 В;
  • минимальное напряжение питания - 4,65 В;
  • частота кварцевого резонатора - 40 МГц;
  • температура эксплуатации - 0...+70 (-45...+85) °С.

Все характеристики и надёжность модуля проверены трёхлетним опытом применения его на шести заводах в самых суровых условиях эксплуатации. Ни один модуль не дал ни одного серьёзного сбоя. Там, где этой суровости не хватало, модуль тестировался в специальных условиях, например, в печах - 24 часа непрерывной работы при температуре 75°C.

Структурная схема модуля показана на рис. 1.

Рис. 1. Структурная схема модуля

Модуль полностью выполнен методом SMD-монтажа с двухсторонним расположением элементов (рис. 2). Размер платы 90x96x1,5 мм. Высота в сборе с батарейкой - до 21 мм, без батарейки - 13 мм. Электрический контакт обеспечивается двумя штыревыми разъёмами X1 и X2 по 20 точек на разъём. Механическое крепление осуществляется четырьмя винтовыми соединениями через пластиковые вставки по углам платы.

Рис. 2. Топология печатной платы модуля

В состав модуля входят:

  • микроконтроллер SAF-C165-LF с тактовой частотой 20 МГц;
  • 128 Кб статического ОЗУ TC551001 с низким уровнем энергопотребления для системных данных и технологической программы;
  • 128 Кб FLASH ПЗУ AM29F010 для хранения системной программы и копии технологической программы;
  • супервизор контроля питания LTC1235;
  • трансивер LT1281A для последовательного порта RS-232;
  • литиевая батарея габаритов R6/AA для хранения технологической программы в ОЗУ (опционально).

Системная программа хранится во FLASH ПЗУ и, в зависимости от того, как с помощью программного обеспечения (ПО) установлены биты в файле состояния программы пользователя, может автоматически загружаться в процессор при включении питания. Из 128 Кб программа пользователя может занимать 46 или 62 Кб, в зависимости от выбранного в ПО рабочего типа процессора.

Программирование модуля осуществляется через последовательный порт RS-232, при этом в качестве программатора может выступать любой IBM-совместимый компьютер с процессором i386 и выше. Скорость обмена выбирается в ПО и может составлять от 110 до 57600 бит/с.

Для визуального контроля состояния модуля на внешние индикаторы выводятся пять сигналов, которые показывают следующее:

  • Питание (зелёный) - подаётся ли напряжение 5 В на модуль;
  • Работа (зелёный) - находится ли модуль в состоянии РАБОТА;
  • Форсаж (жёлтый) - есть ли форсажи в программе и запрещены или разрешены они;
  • Разряд источника (жёлтый) - установлена ли литиевая батарея и достаточно ли её напряжение;
  • Ошибка (красный) - находится ли модуль в состоянии ОШИБКА.

Кроме этого, при использовании процессорного модуля в сети с помощью интерфейсной платы PControl, действуют ещё два маленьких индикатора:

  • Запись (зелёный) - идёт процесс передачи данных из модуля;
  • Чтение (красный) - идёт процесс приёма данных в модуль.

Для работы с модулем в ПО используется язык релейно-контактных схем со следующими типами инструкций: битовые (6 шт.), таймеры и счётчики (6), сравнения (8), логики и перемещения (6), математические (14), управления выполнением программы (12), файловые (2), сдвига и шаговые (9), управления входами/выходами и сообщений (8), специальные (3). 1 Кбайт битовых инструкций выполняется за 1,6 мс, а, например, выполняемая логическая инструкция "И" - за 14,4 мкс.

Все внутренние и внешние (входные/выходные) характеристики полностью соответствуют заявленным характеристикам комплектующих и используются в полной мере.

Данный модуль применяется в контроллерах АСУ PControl производства фирмы НТБ. Также модуль используется с другими контроллерами АСУ, в целях их усовершенствования и модернизации, например:

  • МикроДАТ МБ 57.0. Изготовитель г. Киев, Украина.
  • PS2000. Изготовитель - VEB NUMERIK iUKARL MARXl. Karl-Marx-Stadt, DDR.
  • УПУ-ТП. Изготовитель - НПО "ЭЛЕКТРОМЕХАНИКА"

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

Преимущество первого применения в том, что владельцы оборудования получают более дешевый, по сравнению с импортными, контроллер, не уступающий им ни в чем. ПО модуля выполнено российскими специалистами на русском, естественно, языке. Не следует забывать и о подробном комплекте русской документации, позволяющей легко самообучиться работе с процессорным модулем.

Преимущество второго применения в том, что замена самого уязвимого узла (МикроДАТ) или сразу нескольких узлов (PS, "Пенза") контроллера приводит к резкому улучшению его эксплуатационных характеристик. При этом снятые "родные" модули могут служить ремонтной базой для оставшихся немодернизированных контроллеров.

ПО процессорного режима работает как в режиме На-Связи (on-line) так и в режиме Вне-Связи (off-line) и обеспечивает удобный интерфейс и реализацию всех возможностей модуля. ПО и системная программа модуля поддерживают вышеуказанные контроллеры без каких-либо изменений.

Возможность создания переходных плат для разных контроллеров, а также добавление и в ПО поддержки новых видов контроллеров определяется только экономической целесообразностью.

Услышать слова «встраиваемая система» в разговорах вокруг нас удается весьма редко, а если и удается, то, скорее всего, это разговоры специалистов (или тех, кто считает себя таковыми). Видимо, это как-то связано с особенностями «великого и могучего», потому как на самом-то деле эти «встраиваемые системы» сопровождают нас достаточно давно - первой подобной системой был компьютер, установленный на борту космического корабля «APPOLO 11», всемирно известного по совсем другой причине.

Итак, давайте вспоминать и размышлять. Как утверждают весьма компетентные источники, встраиваемая система (Embedded system) - это специализированная компьютерная система, полностью инкапсулированная в устройство, которым она управляет. Если читатель не против, будем пользоваться далее именно этим определением. Собственно встраиваемые системы можно поделить на два основных типа (сознательно жертвую деталями для подчеркивания сути).

Первый тип - микроконтроллерные системы. Строятся на базе специализированной микросхемы (или нескольких микросхем), выполняют одну-две-три вполне определенные функции. Ярчайший пример - современный телевизор: процессор обработки различных видеоформатов и собственно настройки телевизора, процессор обработки стереозвука, подсистема обработки телетекста. Вроде ничего не забыл?.. Работают они все по заранее заложенной программе (firmware) и перепрограммированию поддаются с большим трудом, а то и не поддаются вовсе. Кроме телевизора можно привести еще массу устройств со встраиваемой системой этого типа - пейджер, сотовый телефон, сканер, стиральная машина. Да в одном инжекторном автомобиле (а в иномарке - тем более) можно насчитать несколько десятков таких устройств - контроллер впрыска, контроллер АBS, контроллер курсовой устойчивости...

Второй тип - микропроцессорные системы. В отличие от систем первого типа, строятся на базе микропроцессоров, применяемых в обычных персональных компьютерах. Даже структура этих систем часто напоминает структуру персоналки. Есть, правда, разница - зачастую встраиваемые системы лишены некоторых деталей, в которых они не нуждаются в силу специфичности решаемой задачи. Согласитесь - цифровому фотоаппарату не зачем иметь мощную видеокарту с 3D-ускорителем. Ну вот, проговорился раньше времени... Ну да ладно, все равно пришлось бы об этом сказать. В чем же основное отличие систем этого типа? Вариантов ответа может быть несколько, но есть пара главных: во-первых, это перепрограммируемые системы. Во-вторых, это более-менее легко перепрограммируемые системы, ибо они программно совместимы с компьютерами, для которых уже написана масса программного обеспечения и на которых это программное обеспечение пишется. Примеры систем этого типа приводить несколько сложнее по причине их меньшей распространенности в обиходе: большинство бытовых DVD-проигрывателей, уже упомянутые цифровые фотоаппараты, автомобильные компьютеры (подчеркиваю - не простейшие маршрутные компьютеры, которые относятся к первому типу, а серьезные компьютеры под управлением Windows Automotive, с GPS, MPEG2 и т. п.), КПК, наладонники и почти все то, что связано с нишей PDA (Personal Digital Assistant), а также разные экзотические устройства типа холодильника с выходом в Internet...

Наибольшее распространение встраиваемые системы второго типа получили в промышленности, ибо их применение снижает время разработки, упрощает обслуживание и прочая, и прочая... Не буду перечислять здесь все преимущества - их можно найти практически в любой литературе на эту тему. Именно по этим причинам современные методы автоматизации немыслимы без использования подобных систем. Естественно, спрос рождает предложение. Что мы и имеем сегодня: немалое количество стандартов на «кирпичики» для создания встраиваемых систем и еще большее количество фирм, выпускающих эти самые «кирпичики». Посудите сами: только в Консорциуме PC/104 (организации, объединяющей фирмы-изготовители плат указанного стандарта) сейчас больше 200 участников. А если взять еще и PC/104Plus, CPCI, VME? Сотни изготовителей, тысячи наименований продукции. И все это для удобства разработчиков рынка встраиваемых систем.

Но закон сохранения энергии еще никто не отменил (хотя были попытки), и за эти преимущества нужно платить. Причем в прямом смысле - зачастую микропроцессорная система дороже микроконтроллерной. И в процессе разработки новой встраиваемой системы приходится решать некое экономическое уравнение. Переменных, входящих в это уравнение, не так много - стоимость разработки устройства на микроконтроллере или покупка готовой микропроцессорной платы, стоимость разработки программного обеспечения или стоимость написания firmware, стоимость обслуживания любой из систем, время ее жизни и возможность ее модернизации в это время. Уравнение получается достаточно сложное, и решается оно далеко неоднозначно. Скажем, кассовые аппараты обычно делают на микроконтроллере, а игровые автоматы - на микропроцессоре. Но бывает и наоборот!

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

Историческая справка

Компания CompuLab Ltd. (Израиль) была основана в 1992 году и начала свою деятельность с консультаций в области инженерных решений в электронике. В последующие пять лет компания принимает участие в нескольких десятках заказных разработок. Накопленный опыт, деловая активность, изучение рынка и высочайший инженерный потенциал позволили CompuLab Ltd. в достаточно короткие сроки заняться проектированием собственной продукции. В 1997 году компания выпускает собственную разработку - семейство процессорных модулей CORE. К сожалению, несмотря на инновационность технических и инженерных решений, заложенных в первое поколение модулей, архитектура используемого в них процессора (i960) не оправдала надежд разработчиков на широкое внедрение.

Второе поколение модулей увидело свет в 1999 году. Эти модули базировались на процессоре AMD ELAN SC400 (архитектура х86) и назывались 486CORE. На тот момент это были самые маленькие в мире компьютеры. Фантастический успех 486CORE на рынке подтвердил правильность выбранной стратегии. С тех пор семейство модулей CORE неоднократно пополнялось и, смеем надеяться, будет расти и в дальнейшем.

Сочетание большой вычислительной мощности и малых габаритов модулей способствовало быстрому завоеванию рынка встраиваемых систем. Сегодня продукцией компании CompuLab пользуется более 300 фирм в 50 странах мира, а сама компания производит почти 20% продукции этого рынка. Среди основных покупателей этих модулей можно упомянуть таких известных гигантов, как Cisco Systems, Marconi, General Electric, OKI и многих других производителей, не так широко известных в России.

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

Техническая справка № 1

Процессорные модули CompuLab Ltd. - это полнофункциональные вычислительные системы с оперативной памятью, встроенными Flash-дисками, контроллером Ethernet, поддержкой стандартной для настольных компьютеров периферии и другими красивыми и полезными мелочами, которые так упрощают жизнь разработчику. Все необходимые для их работы электрические линии выведены на унифицированные компанией разъемы (CAMI - CompuLab"s Aggregated Module Interface) и предназначены для стыковки с соответствующей платой-носителем (обычно формата PC/104). Платы эти могут содержать (а могут и не содержать - об этом позднее) следующие устройства: преобразователь питания, шинные формирователи последовательных портов, шины PC/104 и PC/104 Plus, дополнительный контроллер Ethernet, контроллер PCMCIA и пр. Будучи соединенными вместе, плата-носитель и процессорный модуль образуют компьютер с возможностями, идентичными обычному ПК, но гораздо меньших габаритов.

Искушенный читатель может поглумиться над этими строчками, потому как ничего нового в этом описании нет. А вот сейчас - самое интересное: на платы-носители есть электрическая схема и даже рекомендации по разводке собственных плат-носителей. Ну как? Впечатляет? Достаточно сделать свою плату и поставить в нее готовое вычислительное ядро - и все! Нужен игровой автомат - пожалуйста, нужен бортовой накопитель (в каком-нибудь форм-факторе типа ARINC-429) - пожалуйста! Нет предела совершенству! Кстати, именно так и поступает большая часть заказчиков компании CompuLab.

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

Техническая справка № 2

В 2005 году компания изменила наименование своей продукции, поэтому далее будем пользоваться только новыми определениями. Таблица с сайта изготовителя приводится здесь с небольшими сокращениями и комментариями:

  1. Кроме указанных опций, все модули имеют в своем составе шину PCI, часы реального времени, интерфейсы жесткого диска и звуковой кодек.
  2. Высота модулей указана без радиатора.
  3. Производительность замерялась тестом SiSoft Sandra.
  4. В таблице приведены данные только на новые и самые популярные модули. Где можно получить более подробную информацию, сообщу позднее.

Таблица. Характеристики вычислительных модулей CompuLab Ltd.

Как вы могли заметить, наряду с более привычной всем архитектурой х86 в списке продукции присутствуют и изделия на процессорах типа RISC. Первоначально данная статья планировалась как обзор СМ-Х255 (модуль СМ-Х270W был анонсирован во время ее написания), поэтому с этой платы и начнем. Сразу хочу внести ясность - версий модуля СМ-Х255 существует две (2.0 и версия 3.0, называемая также «GX»), речь пойдет только о последней.

Структурная схема модуля представлена на рис. 1. Обратите внимание на позиции, отмеченные строчкой «opt». Это как раз и есть заказные позиции («option») в конфигурации процессорной платы, которые могут устанавливаться (или сниматься) по желанию заказчика.

Рис. 1. Структурная схема модуля СМ-Х225

Теперь - обзор основных составляющих этой платы. Думаю, что логично будет начать с процессора. Итак - Intel XScale PXA255. В принципе, только ему можно было посвятить весь номер этого журнала, но так как речь не только о нем, то постараюсь быть кратким:

  • Кристалл процессора изготовлен по 0,18-микронной технологии, что обеспечивает низкое энергопотребление при высокой тактовой частоте (400 МГц).
  • Процессор совместим с архитектурой ARM v.5TE.
  • Intel Media Processing Technology (включая 40-битный аккумулятор и операцию 16-битного умножения) ускоряет декодирование аудио/видеопотоков.
  • Кроме собственно вычислителя в состав процессора входит поддержка PCMCIA/Compact Flash, 17 линий ввода/вывода общего назначения (GPIO), часы реального времени (RTC), сторожевой таймер (watchdog), контроллер управления питанием, контроллер прерываний, контроллер прямого доступа к памяти, контроллер аппаратного сброса (reset controller), графический контроллер с поддержкой ЖК-панелей, в том числе и TFT, три последовательных порта, Bluetooth, IrDA (SIR и FIR), I2C, I2S, AC97, SPI, USB, JTAG, контроллер MMC, два независимых тактовых генератора (32768 Гц и 3,6864 МГц).
  • Процессор выпускается для обычного и расширенного температурных диапазонов.

Совсем уж как-то коротко получилось... Тем, кто ожидал большего, советую посмотреть список литературы в конце статьи.

Теперь чуть подробнее об остальных компонентах и характеристиках модуля (рис. 1).

Оперативная память типа SDRAM с 32-разрядной шиной и частотой 100 МГц.

Flash-диски двух типов - NOR и NAND. Первый мегабайт NOR используется для хранения программы-монитора (ARMMON), остальное - для хранения ядра Linux или загрузчика Windows CE. В состав ARMMON входит драйвер поддержки памяти NAND, что позволяет записывать туда файловую систему Linux или образ Windows CE. Оба диска имеют аппаратную защиту от записи (одна из линий разъема CAMI).

Interface Bridge представляет собой микросхему так называемого чипа-компаньона (companion chip), расширяющего возможности процессора. В состав этой микросхемы входят контроллер SDRAM, контроллер шины PCI (версия 2.1, частота 33 МГц), расширение контроллера прерываний, расширение контроллера прямого доступа к памяти, четырехканальный счетчик-таймер, контроллер шины LPC, два дополнительных канала USB (типа Host, 1,5–12 Мбит/с) и еще один последовательный порт.

Про контроллер Ethernet долго распространяться не буду: 10–100 Мбит/с.

Звуковой кодек и контроллер сенсорного экрана (touchscreen) расширяют возможности интерфейса AC97, заложенного в процессор. При установленном кодеке (Crystal CS4299 или UCB1400) у модуля появляется монофонический микрофонный вход, стереофонические линейный вход и выход. Часть микросхемы UCB1400 является контроллером четырехпроводного резистивного сенсорного экрана.

Микросхема Super-I/O. Возможно, специалисты могли бы сейчас снисходительно похлопать меня по плечу, заявив, что бывает и не такое. Возможно. Но, если честно, умел бы писать стихи - написал бы оду CompuLab за красоту инженерных решений. Одно из них - использование контроллеров типа Super-I/O. Это решение применяется во всех модулях, выпускаемых компанией, и сильно облегчает жизнь разработчикам. В данном случае на CM-X255 установлена микросхема IT8711F, поддерживающая следующие устройства: клавиатуру и мышь типа PS/2, параллельный порт (с возможностью подключения накопителя на гибких магнитных дисках) и еще один последовательный порт.

Еще один контроллер RTC (MAX6902) установлен на модуле для учета времени при выключенном процессоре .

Единственный формирователь линии RS-232 для последовательного порта (COM-A) установлен прямо на модуле. Этот порт выполняет роль консольного при работе с ARMMON, его же можно использовать для диагностики и отладки при работе в Linux иWindows CE.

Весьма сухую информацию о габаритах модуля (табл.) можно слегка оживить его фотографией (рис. 2). Два больших 180-контактных разъема на нем и есть упоминавшиеся ранее CAMI.

Рис. 2. Модуль СМ-Х225 - вид снизу

Теперь несколько слов о плате-носителе. Точнее - о платах-носителях, ибо для данного модуля их существует две разновидности. Начнем с меньшей по размерам.

Техническая справка № 3

Плата SB-X255 (старое название ARMBASE). Представляет собой носитель для CM-X255, выполненный в форм-факторе PC/104 (на рис. 3 SB-X255 показана с установленным на нее процессорным модулем). Жаль, что современные средства массовой информации пока не позволяют задействовать все органы чувств...