Мехатроника и динамика мини-роботов
.pdfsi 1 |
f xi 1, si , yi ; |
(6.2) |
yi 1 |
F xi 1, si , yi . |
(6.3) |
Формулы (6.1)–(6.3) представляют математическую запись алгоритмов вычисления выходных переменных Y по входным переменным X и называются конечными автоматами без памяти, см. рис. 6.1, а, и с памятью, см. рис. 6.1, б.
Конечный автомат – это устройство, работающее в дискретные моменты времени (такты). На вход конечного автомата в каждом такте поступает один из возможных входных сигналов, а на его выходе появляется выходной сигнал, являющийся функцией его теку-
щего состояния si и поступившего входного сигнала xi . Внутреннее состояние автомата si также меняется. Моменты срабатывания
(такты) определяются либо принудительно тактирующими синхросигналами, либо асинхронно, наступлением внешнего события – прихода сигнала.
Определим конечный автомат абстрактно.
Определение: Конечным автоматом Мили называется шес-
терка объектов: A S, X , Y, s0 , , ,
где S – конечное непустое множество (состояний);
X – конечное непустое множество входных сигналов (входной алфавит);
Y – конечное непустое множество выходных сигналов (выходной алфавит);
s0 S – начальное состояние;
: S X S – функция переходов;
: S X Y – функция выходов.
Для определения автомата можно использовать табличный способ, задавая функции переходов и выходов в виде таблиц, и диаграммный в виде графов.
Реализация конечного автомата
Рассмотрим компоненты реализации конечного автомата КА: программную и аппаратную.
180
Аппаратная реализация (hardwear) требует построения физических, технических устройств памяти для запоминания текущего состояния автомата. Обычно на практике используют двоичные элементы памяти (триггеры), запоминающие значение только одного двоичного разряда. Функциональный блок автомата реализуется как конечный функциональный преобразователь. Таким образом, общий подход к аппаратной реализации конечного автомата таков:
входные и выходные сигналы и внутренние состояния автомата кодируются двоичными кодами;
по таблицам переходов и выходов составляются кодированные таблицы переходов и выходов – фактически табличное задание отображения F;
по кодированным таблицам переходов и выходов проводится минимизация двоичных функций, и они реализуютсяв заданном базисе;
решаются схемотехнические вопросы синхронизации – привязки моментов выдачи выходного сигнала и изменения состояния внутренней памяти к моментам поступления входных сигналов на вход автомата.
Программную реализацию (softwear) можно выполнить на лю-
бом языке программирования высокого уровня разными способами. Топология блок-схемы программы повторяет топографию графа переходов конечного автомата. В зависимости от того, какой сигнал пришел на вход, выполняется та или иная функция и происходит переход к новому состоянию. Построив эту программу и добавив активные устройства, реализующие отдельные выходные операции, можно автоматизировать процесс (управления, диагностики и т. д.).
Часто как входные, так и выходные сигналы автомата кодируются непроизвольным образом: их кодировка обычно предопределена конкретным применением автомата. В то же время кодирование внутренних состояний автомата на логике его функционирования никак не сказывается (при любом кодировании состояний автомат будет реализовывать то же отображение входных последовательностей на выходные). Однако различное кодирование может влиять на надежность устройства, скорость его переключения, простоту реализации логического блока и т. д. Постоянно ведутся исследования по проблеме оптимального кодирования состояний конечного автомата при различных критериях оптимальности.
181
Если функции f иF не зависят от yi , то получаем алгоритм, описывающий автомат Мили:
si 1 f xi 1, si ;
yi 1 F xi 1, si .
Если к тому же функция F не зависит от x, то получаем автомат Мура:
si 1 f xi 1, si ;
yi 1 F si .
6.2. Анализ автоматов
Существуют различные постановки задачи анализа автомата. Например, задана схема автомата и нужно установить, какой оператор реализуется на ней.
Пусть известны элементы, из которых построена схема, известны ее уравнения, отношения подчиненности выходов входам. Первой задачей анализа является выяснение того, является ли схема логической сетью, т. е. удовлетворяет ли она требованиям правильной организованности. Если установлено, что схема является логической сетью, то возникает задача определения ограниченнодетерминированного оператора (канонических уравнений), который в ней реализуется в целом и на некоторых ее полюсах (входах). Третья задача – минимизация алфавита внутренних состояний (множества S).
Последовательным оператором называется соответствие, ука-
зывающее для любой конечной последовательности x1, , xk последовательность значений y1, , yk так, что последовательности x1, , xm (m k) соответствует подпоследовательность y1, y2 , , ym.
Последовательности x1, , xk |
и |
y1, , yk называются входными |
и выходными словами, xi , y j |
– |
буквами входного и выходного |
алфавитов. |
|
|
182
Конечный автомат является последовательным оператором. Обратное утверждение в общем случае не имеет смысла.
Резюмируя, можно сказать, что при постановке и решении задачи анализа автомата необходимо:
1)проверить правильность организации схемы в соответствии
сзаконами логических сетей;
2)составить канонические уравнения оператора, который реализуется схемой;
3)минимизировать алфавит состояний.
6.3. Синтез автоматов
Конечный автомат был определен как математическая модель устройства синхронного действия, перерабатывающего информацию в дискретном виде. В то же время реальные системы, в которых происходит процесс преобразования информации, характеризуются внутренней конструкцией, способом функционирования
ивыполняемыми операциями. С этой точки зрения конечный автомат – это совокупность двух понятий: схемы (логической сети)
иоператора (реализуемого схемой).
Процесс синтеза автоматов состоит из двух этапов:
1)изучение заданных требований с тем, чтобы выяснить, существует ли удовлетворяющий или ограниченно-детерминированный оператор и получить его канонические уравнения;
2)построение (синтез) логической сети по полученным каноническим уравнениям оптимальной (в смысле принятых критериев) логической сети.
При этом должны учитываться сдвиги во времени, которые в реальных системах связаны с определенной задержкой реакций.
Если решение задачи синтеза проводится, например, путем объявления канонических уравнений (таблиц) оператора такой стандартной формой его задания, исходя из которой находят решение задачи синтеза, то при таком подходе синтез логической сети можно рассматривать как перевод его стандартного языка канонических уравнений на язык логической схемы (язык схемотехники). Тогда анализ логической сети представляет собой перевод с языка схемотехники на стандартный язык уравнений.
183
Наиболее широко на практике применяются методы оптимального синтеза, основанные на том, что наиболее простая схема (независимо от набора элементов) получается при моделировании минимальных форм представления функций алгебры логики (минимальных формул), представленных в виде суперпозиции конъюнкции (И), дизъюнкции (ИЛИ) и отрицания (НЕ).
Представление информации в конечных автоматах. Для ко-
нечных автоматов все многообразие представления входных и выходных цифровых сигналов, посредством которых кодируется исходная информация, можно выразить параллельным и последовательным двоичными кодами.
При представлении информации параллельным кодом (рис. 6.2) на всех элементах конечного автомата, изображающих цифры соответствующих разрядов, одновременно будут либо высокие потенциа-
лы U1 , если в этих разрядах единицы, либо низкие U0 , если
в них – нули. Элементы будут находиться в указанном состоянии до тех пор, показначениекодируемойинформации остается неизменным.
U |
1 1 0 0 1 0 1 1 |
1 |
|
U0 |
Разряды |
|
Рис. 6.2. Распределение уровней напряжений, соответствующих параллельному коду
При представлении чисел последовательным кодом каждое число изображается последовательностью импульсов, возбуждаемых
в конечном автомате через равные интервалы времени Ти (рис. 6.3).
При этом разряд цифры определяется положением импульса во времени относительно начала изображения числа этой последовательности. Младшие разряды могут передаваться либо в начале формирования последовательности, либо в ее конце. Наличию импульса в нужный интервал времени соответствует цифра 1, а отсут-
184
ствию – 0. Для последовательной передачи кода заданной разрядности требуется некоторый промежуток времени Т, возрастающий с увеличением числа разрядов и уменьшающийся с возрастанием частоты следования импульсов. Причем за время передачи кодируемая величина не должна значительно измениться. От степени ее изменения зависит погрешность восстановления исходной величины.
U |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
T0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T |
|
|
|
|
Рис. 6.3. Представление последовательного кода импульсами |
||||||||
Разновидности конечных автоматов. Различают конечные ав-
томаты без памяти (обычно именуемые комбинационными или логическими устройствами, схемами) и с памятью (цифровые автоматы). Автомат первого типа формирует выходные сигналы без учета его предыстории работы. Выходные сигналы автомата с памятью определяются его внутренними состояниями.
Совместное использование таких автоматов находит широкое применение для построения разнообразных управляющих автоматов.
Комбинационные схемы. Выходные сигналы Y y1, y2, , yj ,
логической схемы (рис. 6.4) в некоторый дискретный момент времени t однозначно определяются значениями входных сигналов
X x1, x2 , , x j , , xn .
Здесь |
x1, , x j , , xn , |
|
y j L |
j 1, 2, , k; |
|
y j Y; |
xq Y , q 1, 2, , n; n – число входов. |
|
185
X |
Логическая |
Y |
|
схема |
|
Рис. 6.4. Обобщенное представление комбинационной схемы
Построение и логическое функционирование комбинационных схем основываются на физической реализации функций бинарной логики, например, на таких элементарных логических операциях, как И, ИЛИ и НЕ с конечным множеством входных сигналов
x1, , xn . Дешифратор и мультиплексор – примеры комбинаци-
онных схем.
Конечный автомат с памятью (цифровой автомат, последовательностный автомат). В отличие от комбинационной схемы такой автомат имеет некоторое число различных внутренних состояний, изменяющихся под воздействием входных сигналов. Внутреннее состояние цифрового автомата определяется совокупностью состояний запоминающих элементов. Каждый элемент памяти автомата имеет два устойчивых состояния, одно из которых кодируется цифрой 1, а другое – 0.
Реакция конечного автомата с памятью на входные сигналы может быть либо однозначной, либо случайной. В первом случае на-
зываются детерминированные автоматы, во втором – вероятно-
стные, которые в свою очередь подразделяются на автоматы с постоянной и переменной структурами.
Большая часть цифровых автоматов содержит не только элементы памяти, но и логические схемы (рис. 6.5). При такой организации информация обрабатывается последовательно во времени с запоминанием промежуточных состояний в памяти цифрового автомата. Примером конечного автомата с памятью служат триггерные системы.
186
|
Логическая |
|
Z |
схема |
Y |
2 |
|
X |
Логическая |
Память |
|
схема |
|
|
автомата |
|
|
1 |
|
|
|
Рис. 6.5. Обобщенная структура конечного автомата с памятью
В общем случае работа цифрового автомата в некоторый дискретный момент времени t 1 задается его начальным внутренним со-
стоянием S0 , входными сигналами X , функциями переходов из одного состояния в другое S Q . и выходов Y G . . По зависимо-
сти выходных сигналов различают автоматы Мура и автоматы Мили. Работа автоматов Мура описывается системой уравнений
St 1 Q St , X t ;
Y t G St .
Значения выходных сигналов таких автоматов зависят только от внутреннего состояния автомата. Поэтому в структуре автоматов Мура входные сигналы непосредственно не поступают на вход выходной логической схемы 2 (см. рис. 6.5). К классу автоматов Мура относятся различные логические схемы, в их числе – триггерные.
Работу автомата Мили описывает система уравнений
St 1 Q St, X t ;
Y t G St, X t .
187
Из уравнений следует, что внутреннее состояние автомата St 1
вдискретный момент времени t 1 определяется его состоянием St
впредыдущий дискретный момент времени и значениями входного
сигнала X t в этот же момент времени. Значения же выходного сигнала зависят как от состояния автомата, так и от значений входного сигнала.
Внутри цифрового автомата можно организовать асинхронный (нетактируемый) либо синхронный (синхронизируемый импульсами, подаваемыми от тактового генератора) обмен информацией. В асинхронном автомате значения выходного сигнала изменяются непосредственно после изменения значений входного сигнала. В то же время синхронные автоматы переключаются из одного состояния в другое только в строго фиксированные моменты времени, задаваемые тактовыми импульсами.
Автомат удобно представлять в виде функции Т на графе G V, U , каждой вершине которого взаимно однозначно соответ-
ствует состояние автомата, и если из состояния Si в состояние S j
автомат переходит в результате входного воздействия a, вырабатывая при этом выходной символ b , то соответствующие вершины
i и j соединены дугой i , j , взвешенной парой a, b . Таким
образом, областью определения функции Т является граф G V,U ,
построенный рассмотренным выше способом, а областью значений – входные, выходные символы и идентификаторы состояний автомата.
Реализуемый автоматный оператор Т можно представить в виде соответствующей функции на графе G V, U (рис. 6.6).
(x, a) |
|
|
(x, a) |
S2 |
(y, a) |
S1 |
(x, b) |
S3 |
(y, b) |
|
|
|
|
Рис. 6.6. Представление оператора T функцией на графе G
188
Если рассматривать автомат не как устройство, реализующее соот- |
|
ветствующую грамматику, а изучать его строение (структуру), то сле- |
|
дует представлять этот автомат в виде блок-схемы, изображенной на |
|
рис. 6.7, где M x – множество входных терминальных символов, M y |
– |
множество нетерминальных символов Ms M s , Ms . |
|
Память |
|
Комбина- |
|
ционная |
|
часть |
|
Рис. 6.7. Блок-схема автомата Мили |
|
Вторая абстракция использует понятие автоматного контура, состоящего из операционного и управляющего автоматов.
Одной из основных характеристик автомата является объем его памяти. Число внутренних состояний автомата называется объемом памяти автомата.
Преобразование информации является результатом выполнения некоторого алгоритма, при этом операционный автомат реализует шаги алгоритма, а управляющий автомат – порядок выполнения шагов. Операционный и управляющий автоматы различаются не только своими назначениями, но и объемами памяти. В операционном автомате происходит преобразование информации, которая задана в виде некоторого множества чисел, записанных в регистрах. Практически объем памяти операционного автомата бесконечен. Например, блок регистров, входящий в операционный автомат и состоящий из 22 16-разрядных двоичных регистров, имеет объем
памяти 2352 10100 бит. Объем памяти управляющих автоматов обычно составляет от нескольких десятков до нескольких десятков
189
