Обзор современных принципов управления
Автор: Силуанов А.Ф.
Статья подготовлена для сборника магистерских работ ДонНТУ
Принцип микропрограммного управления был предложен М. Уилксом в 1951 г. и с того практически не претерпел никаких изменений. Согласно ему любое электронное устройство (начиная от самого современного микропроцессора и заканчивая электронными часами) может быть представлено в виде пары: устройство управления — операционное устройство. Где на долю управляющего устройства приходится полный контроль работы операционного устройства (сюда входит анализ текущего состояния устройства, контроль параметров, принятие решений и т.д.) и по большому счету своей собственной; а на долю операционного устройства приходится вся "грязная работа": непосредственно осуществление полученных команд и преобразование контролируемых величин (в том числе и своего состояния) в удобный для управляющего устройства вид. Вроде бы все просто и понятно, не кроется ли здесь подвох спросите вы, и будете абсолютно правы.
Подводный камень кроется в описании поведения управляющего устройства, собственно именно это и представляет наибольшую сложность (и наибольшие затраты на разработку и реализацию), по сравнению с которой любое сколь угодно сложное контролируемое устройство бледнеет; и именно разработка простых и эффективных устройств управления пожалуй является основным направлением схемотехники.
Что ж, перейдем непосредственно к рассмотрению самих методов организации устройств управления. Самым старым, но как ни странно до сих пор актуальным, является организация управляющего устройства в виде конечного автомата, т.е. в виде устройства обладающего памятью, и результат работы которого зависит от его текущего состояния. Схематически пару управляющее устройство — операционное устройство можно представить следующим образом — Рис. 1.

Рисунок 1. Пара управляющее устройство — операционное устройство
Как видно из рисунка УУ (т.е. управляющее устройство) получает сигналы о текущем состоянии — вектор Х, и выдает управляющие сигналы — вектор У, переход из одного состояния в другое происходит по тактовым импульсам — Clock (т. е. схема является синхронной, что в общем-то необязательно). Операционный же автомат контролирует поведение чего-то, а может быть только себя с выдачей результатов работы, на основе полученных сигналов.
На текущий момент можно выделить три группы управляющих автоматов:
- автоматы с жесткой логикой, хотя сейчас их наверное следовало бы назвать автоматами с гибкой/изменяющейся логикой, поскольку основная их реализация на текущий момент осуществляется на микросхемах семейства ПЛИС и FPGA, но об этом позднее. В эту группу входят автоматы Мили(Mealy) и Мура(Moor);
- автоматы с программируемой логикой (на сегодняшний день изжили себя, как класс и могут рассматриваться лишь в историческом контексте): автоматы с принудительной адресацией, естественной адресацией и соответственно комбинированной;
- композиционные устройства управления — объединяют преимущества двух предыдущих типов устройств, однако они, на мой взгляд, так же уже не актуальны на сегодняшний день.
Собственно говоря, относительно недавно можно было подумать, что конечные автоматы изжили себя в качестве устройств управления, в неспециализированных задачах (например при разработке процессоров и прочих сложных СБИС они являются единственной альтернативой). Казалось бы они полностью сдали свои позиции микроконтроллерам и специализированным микросхемам, однако с появлением микросхем программируемой логики — PLIC (программируемые логические интегральные схемы) и FPGA (программируемые матрицы логических элементов), последние получили наибольшее распространение, автоматы начали потихоньку возвращать утраченные позиции. Пусть их применение не всегда целесообразно, однако можно с уверенностью сказать, что элемент управления выполненный в виде конечного автомата будет наиболее быстрым и наиболее экономичным (если, конечно не придется вводить для него новую микросхему) решением.
Поговорим о других распространенных устройствах управления — микропроцессорах и микроконтроллерах, первые используются в стационарных решениях и там где требуется большая вычислительная мощность, вторые же используются в портативных маломощных (как по питанию так и по вычислительной мощности) решениях; причем последние обладают дополнительным специфическим набором функций (в зависимости от специализации). Типичную структурную схему устройства использующего вышеназванное решение можно увидеть на Рис. 2.

Рисунок 2. Типичная схема микропроцессорного устройства.
Где ЦП — собственно процессорный элемент; ША, ШД, ШУ — шины адреса, данных, управления соответственно; ОЗУ — текущая память (обычно используется для хранения результатов работы); ПЗУ — обычно содержит набор команд определяющих работу ЦП; В/В 1 … В/В N — устройства вода вывода. При чем для микроконтроллера, эта схема будет несколько отличаться: так например память находится на одном кристалле с ЦП (а так же все прочие непоказанные устройства — контроллер памяти, портов ввода/вывода, прерываний и т.д.) устройства подключенные к портам ввода/вывода не могут самостоятельно управлять шиной и т.п.
Собственно программирование поведения микропроцессора (в дальнейшем МП)/микроконтроллера (в дальнейшем МК) выполняется записью необходимой информации в ПЗУ со стартового адреса. Собственно в этом и заключается еще одно отличие МК и МП — поведение МК практически полностью определяется содержимым его ПЗУ (в большинстве своем они в состоянии выполнять команды только из адресного пространства ПЗУ); МП же могут изменять свое поведение загружая различные программы в ОЗУ, что делает их более гибкими. Однако это нельзя поставить в недостаток МК, т.к. они по определению являются компактными устройствами и не могут иметь большой объем памяти. МК и МП выпускаются в большом количестве и разнообразии для всевозможных задач, что делает возможным подобрать устройство наиболее подходящее по параметрам и соответственно облегчить жизнь разработчику.
К положительным сторонам МК и МП можно отнести сравнительную простоту разработки решений на их базе — наличие большого числа стандартных схем сопровождения, простоту программирования, наличия специализированных программных продуктов для них, стандартность большинства решений (для проектирования большого числа проектов управляющая часть не понесет никаких изменений). К недостаткам можно отнести то, что даже при разработке минимальной схемы необходимо будет весь необходимый минимум микросхем — сателлит (различные контроллеры и т.д.).
Еще одна система управления появившаяся сравнительно недавно — управление с помощью ЭВМ. Подобная схема стала возможной в связи огромным развитием, за последние десятилетия, вычислительной техники. Обычно такая система строиться по следующей структуре (Рис. 3): есть несколько рабочих станций (станции могут быть объединены в локальную сеть) которые осуществляют наблюдение за некоторыми объектами (обычно производственными), в задачу станций входит снятие показаний и отправка их по сети серверам (при чем они могут находится в разных сетях и сообщаться друг с другом посредством модема или беспроводной связи), задача которых сохранять полученную статистику. При этом в зависимости от требований рабочие станции могут либо самостоятельно осуществлять управление объектом либо дожидаться указаний с сервера. В первом случае система более автономна, однако алгоритм управления не может требовать больших вычислительных ресурсов (рабочие станции редко обладают большой вычислительной мощностью).
Во втором случае предоставляется большая свобода относительно алгоритма управления, однако надежность системы сильно зависит от надежности связи хост — сервер (в таких случаях рабочая станция обладает возможностью аварийной остановки, при необходимости). Возможен так же вариант, когда обе функции в себе совмещает единый ПК.
Сервера, как и рабочие станции, могут дублировать друг — друга, а могут работать независимо. Чаще всего истина находиться где-то посередине.
К преимуществам подобной системы можно отнести: простота и удобство работы и перепрограммирования, возможность контроля поведения системы в реальном времени, наличие статистических данных ну и прочие прелести работы с ПК. Недостатками являются: сравнительно низкое быстродействие, огромные аппаратные затраты (по сравнению с вышеописанными структурами); однако последнее не столь критично, если большая часть аппаратного обеспечения уже существовала до организации системы — сервера, рабочие станции, развитая сеть.

Рисунок 3. Распределенная система управления
Итак, подведем итоги вышеизложенному:
- принципы управления введенные в середине прошлого века продолжают быть актуальными и по сей день. Не то чтобы ничего нового не было придумано, просто это то же самое что и четыре базовых арифметических операции в математике — без них никуда;
- старые механизмы управления (пусть доработанные и улучшенные) продолжают использоваться, хотя и значительно сдав свои позиции. А в последнее время наблюдается обратная тенденция — с появлением FPGA конечные автоматы начинают отвоевывать утраченные позиции;
- среди устройств непромышленного масштаба прочное лидирующее положение занимают микроконтроллеры (хотя как уже упоминалось выше — эти позиции уже не такие и прочные);
- с широким развитием/распространением в последнее время персональных компьютеров и компьютерных сетей появилась возможность управления, для специфических задач (чаще всего это системы с большим расстоянием между компонентами и низким быстродействием, например, промышленное производство), с помощью системы клиент — сервер.
|