В последнее время в профильных хабах слышатся мнения о том, что давно пора использовать мощные вычислительные системы или даже компьютеры в качестве основы встраиваемых систем, от выключателя до стиральной машины. Не холивора ради, а интересу для заглянем внутрь некоторых embedded-девайсов, волею судьбы оказавшихся на рабочем столе, пока они не в силах противиться руке инженера с отверткой. Заодно выясним, что применяют, я не побоюсь этого слова, флагманы электротехнической и электронной промышленности в устройствах промышленной (и не очень) автоматики.
Подопытные (слева направо):
1. реле контроля напряжения CM-EFS.2 (ABB) — мертвое;
2. логическое реле Logo! (Siemens) — живое;
3. термостат для умного дома 5070ТНВ системы С-Вus (Сlipsаl) — живой;
4. модуль аналогового ввода 2AI RTD для ET200S (Siemens) — мертвый;
5. станция распределенного ввода-вывода ET200S (Siemens) — живая.
Часть устройств героически погибла во время эксплуатации (хотя по внешнему и внутреннему виду и не скажешь, возможно программный отказ?) и была похоронена в ящике стола, другие устройства работают и будут работать, а разобраны были исключительно ради удовлетворения природной любознательности.
Итак:
РКН
Реле контроля напряжения предназначено, что следует из названия, для контроля диапазонов однофазного напряжения от 3В до 600В, со встроенным реле времени и двумя выходными перекидными контактами (реле). Пределы контролируемого напряжения и уставка реле времени настраиваются с помощью потенциометров, функции выходных реле — с помощью dip-переключателей. На передней панели имеются 3 светодиода для индикации режимов работы.
Сердце девайса — 8-битный микроконтроллер ST7FLITE25F2M6 (STMicroelectronics) [1](здесь и далее цифры в квадратных скобках соответствуют цифрам на фотографиях), с флеш-памятью программ на 8 кБ, оперативной памятью на 384 байта, периферия: 10-битный АЦП, SPI интерфейс. Тактируется внутренним RC-генератором, частота 1 МГц. Да, даже в «обычном» реле теперь можно встретить микроконтроллер :) Для коммутации различных источников напряжения к АЦП микроконтроллера служит 8-канальный аналоговый мультиплексор/демультиплексор CD4051BCM [2]. В реле встроен блок питания с широким диапазоном питающего напряжения (24-240В AC/DC), можно питаться и от контролируемого напряжения.
LOGO!
Самый простой промышленный контроллер — логическое реле. Имеет 6 дискретных входа, 4 дискретных выхода, дисплей и 6 кнопок. Может программироваться как с компьютера, через специальный кабель с помощью софта (языки релейной логики LAD и функциональных диаграмм FBD), так и автономно с помощью кнопок на языке релейной логики.
Термостат
Предназначен для управления системами отопления, кондиционирования и вентиляции в помещении в составе системы «умного дома». В принципе, самодостаточное устройство, но требует питания по сети C-Bus.
Содержит сразу 2 микроконтроллера: 8-битный MC68HC705B16N (Freescale) [4] и 16-битный MSP430F448 (Texas Instruments) [5]. MC68HC705B16N — принадлежит известной серии MC68HC05 и имеет характеристики: 15 кБ памяти программ, 352 байта оперативной памяти, 4х8 порта ввода-вывода. MSP430F448 входит в не менее популярную серию MSP430 и имеет 48 кБ памяти программ и 2 кБ оперативной памяти, а также 12-битный АЦП и возможность управления LCD-дисплеем. Функции 8-битного контроллера покрыты мраком (возможно, сетевой обмен информацией), т.к. контроль дисплея, кнопок управления, снятие показаний с датчика температуры и управление 5-ю встроенными реле лежит на MSP430.
AI RTD
Предназначен для подключения термосопротивлений типа PT1000 и тысяч других, 2 канала измерения. Умеет компенсировать сопротивление соединительных проводов для повышения точности измерений (при 3-х и 4-х проводном подключении). Функция: получить результаты измерения с АЦП и передать по внутренней шине на центральное устройство (станцию распределенного ввода-вывода).
Примененный микроконтроллер: 8-битный 89C51RD2 (Atmel) [6], классическое и любимое многими семейство 80C51. 64 кБ памяти программ и 1 кБ оперативной памяти. Тактируется кварцем 19.66 МГц. В комплекте: 4х8 порта ввода-вывода, UART, 3 таймера, PWM и прочее. Коммутация аналоговых сигналов: целых 3 сдвоенных 4-канальных мультиплексора DG409DY [7]. Главный по измерениям — AD7714 (Analog Devices) [8] 24-битный сигма-дельта АЦП со SPI-интерфейсом, однако, просто зверь по характеристикам. Связь с внутренней шиной (и со всей системой) — специализированная микросхема ESSA1 (Siemens) [9] для конспирации.
ET200S
Является устройством распределенного ввода-вывода (дискретные и аналоговые входы-выходы, физически находящиеся вдали от промышленного контроллера) для систем автоматизации на базе контроллеров S7-300, S7-400. Связь осуществляется по полевой шине Profibus-DP (RS-485).
Контроллер специализированный IBC16-SXA1020B2 (Infineon), без данных о мощности и возможностях. Косвенно, и довольно приблизительно, о вычислительной мощности устройства можно судить по утверждениям специалистов, что системы класса S7-300 равноценны i386, а S7-400 — i486. Связь с модулями ввода-вывода по внутренней шине — специализированная микросхема ESSA2 (Siemens). Для работы устройства требуется блок питания +24В.
Таким образом, можно выделить некоторые ключевые особенности встраиваемых систем:
- совмещение всех функций устройства, по возможности, в одной-двух микросхемах (с поправкой на системы с аналоговыми компонентами).
- нет внешних запоминающих устройств (жесткие диски, карты памяти), даже внешние микросхемы памяти в пациентах не обнаружены. Сразу оговорюсь, что конечно же применяются и микросхемы памяти, и карты памяти в системах автоматики, но не повезло нам сегодня.
- минимум энергопотребления, при этом используются встроенные в устройство блоки питания, в том числе и с широким допуском питающих напряжений.
- минимум тепловыделения, нет элементов с массивными радиаторами, вентиляторов, при этом устройство может сохранять работоспособность в широком интервале температур.
- практически все заложенные функции могут выполняться 8-и и 16-битными микроконтроллерами. Linuxам пока здесь не место, а место здесь максимум для специально заточенных RTOS.
И надо заметить, универсальные решения, например Logo!, применяются и в промышленности (привет, Arduino), и заточены они, в большей степени под непрофессионалов (но тем не менее под технических специалистов).
Автор: Int_13h