- •© Иркутский государственный университет
- •Сокращения
- •Введение
- •Глава 1 базовые понятия и конструкции систем управления дискретной автоматики
- •1.1. Переменные и функции алгебры логики
- •1.2. Двоичные коды переменных
- •Запишем аналитическое выражение для y1 в виде логической суммы (дизъюнкции) конъюнкций тех переменных, которые определяют единичное значение булевой функции:
- •1.3. Логические функции одной и двух переменных
- •1.4. Одноразрядный сумматор двух переменных
- •1.5. Дешифратор и шифратор двоичного позиционного кода
- •1.6. Цифровой и аналоговый мультиплексоры
- •1.7. Основные понятия минимизации булевых функций
- •1.8. Структурный синтез самодиагностируемых обратимых функциональных преобразователей информации
- •1.9. Дискретные преобразователи информации
- •Глава 2 системы управления дискретной автоматики
- •2.1. Операционные автоматы
- •2.2. Базовые модели систем управления
- •Окончание рис. 32
- •Системная модель преобразования информации
- •Расширение двухблоковой модели системы
- •2.3. Организация связей в информационно-управляющих системах
- •2.4. Проектирование преобразователей информации
- •2.5. Операторные схемы алгоритмов систем управления
- •Глава 3 конечные автоматы систем управления
- •3.1. Абстрактный синтез автоматов
- •3.2. Структурный синтез автоматов
- •3.2.1. Организация памяти автоматов
- •3.3. Структурная схема автомата Мура
- •3.4. Функциональная реализация автоматов управления
- •3.4.1. Функциональная подсистема автомата
- •3.4.2. Адресная подсистема автомата
- •3.4.3. Реализация автоматов управления на программируемых логических интегральных схемах
- •3.5. Синтез быстродействующих автоматов
- •Глава 4 системы автоматов управления
- •4.1. Декомпозиция автоматов
- •4.2. Автоматы с объединенными операторами
- •4.3. Синтез многорежимных автоматов
- •4.3.1. Многопрограммные формирователи временных интервалов
- •4.3.2. Режим реализации нескольких последовательностей временных интервалов (от 8 до 64)
- •Режим реализации
- •4.4. Синтез автоматов по декомпозированной схеме алгоритма
- •4.5. Управление взаимосвязанными процессами
- •Глава 5 сложные автоматы систем реального времени
- •5.1. Структурная организация сложных автоматов
- •5.2. Контроль автоматов управления в системах реального времени
- •5.3. Моделирование автоматов управления
- •5.4. Управление спецпроцессором функционального контроля пзу
- •5.5. Система управления коммутаций сигналов
- •Основная литература
- •Дополнительная литература
2.1. Операционные автоматы
Рассмотрим элементы с обратной связью. Если в структуре устройства появляется обратная связь, его свойства существенно меняются.
Рассмотрим роль обратной связи для простейшего примера. Пусть в структуре устройства с входами R и S находятся всего два элемента ИЛИ – НЕ, связи между которыми неизвестны. Если рассматривать только комбинаторный подход, то мы определим лишь одну возможность подсоединения входа S ко входу элемента 1 и соответственно входа R к элементу 2, т.е. получим дублирование функций (рис. 25 а).
Произведем другое соединение с введением обратной связи, т.е. выход X подсоединим к входу 2-го элемента, выход Y – к входу 1-го (рис. 25 б). Проанализируем функции: X = X(R, Y), Y = Y(S, X).
Рис. 25
Для
рис. 25 б
запишем
,
.
Подставим значения:
1. R = 1. |
S = 0. |
|
|
|
2. R = 0. |
S = l. |
|
|
|
З. R = 0. |
S = 0. |
|
|
|
Подача
R
= 0 или S
= 1 в виде
импульсного сигнала приведет к установке
этого элемента в единичное (X
= 0, Y
= l)
или нулевое (Х
= 1, Y
= 0) состояние,
которое будет потом сохраняться
бесконечно долго, т.к. при R
= S
= 0, X
=
,
Y
=
.
Пусть R = 1, S = 1. Если подставить эти значения в формулы, то получим X = Y = 0. Однако это состояние не может быть устойчивым, т.к. при разной длительности импульсных сигналов R и S по их заднему фронту возникнет ситуация либо R = l, S = 0, либо R = 0, S = 1. Поскольку соотношения реальной длительности импульсов R и S неизвестны, то остается неопределенным и само состояние после окончания импульсов. Поэтому режима R = S = 1 следует избегать, считая его запрещенным.
Итак, простейшая схема из 2 элементов при наличии обратных связей приобретает новое качество, новые свойства – она становится автоматом с двумя устойчивыми состояниями, который называется триггер. Триггер такого типа называется RS-триггером*.
Построение более сложных операционных устройств осуществляется тремя путями:
увеличением количества элементов при непосредственных связях между ними (от входа к выходу), т.е. построением каскадных схем;
увеличением числа каскадов;
увеличением «внутренних» связей между элементами разных каскадов, т.е. введением обратных связей.
Покажем, что новое качество системы можно получить и с помощью первого пути, т.е. комбинацией элементов. Вместо одного RS-триггера поставим в ряд n триггеров. Получим n-разрядный запоминающий регистр. В приведенном на рис. 26 запоминающем регистре введены дополнительные элементы «И», а также сигналы синхронизации (ci):
c1 – запись кода;
c2 – считывание обратного кода;
c3 – считывание прямого кода.
Рис. 26
Запоминающий регистр есть простой операционный автомат (ОА), который выполняет две функции:
преобразование во времени:
x(t + T) = x(t), т.к. код x(t), записываемый по сигналу c1 в момент времени t, может быть воспроизведен через произвольный интервал Т.
преобразование прямого кода x(t) в обратный код
(t
+ Т),
где Т
–
время хранения кода.
Количество состояний регистра памяти определяется его разрядностью (n) и уже при n = 16 становится равным 216 = 65 536.
Установим два запоминающих регистра с так называемым парафазным способом передачи информации между ними (рис. 27). Вместо n разрядов получен регистр на 2n бит, но первые n бит связаны со вторыми n битами парафазной связью, позволяющей без установки в нулевое состояние второго регистра переписывать в него код из первого регистра при подаче сигнала синхронизации C2. Обратим внимание на термин парафазная связь. Связь между двумя триггерами является парафазной, если подача сигнала на входы с одного триггера (или любого другого внешнего устройства) осуществляется одновременно как по сигнальному входу S, так и по входу установки R. Т.е. при записи «1» необходимо подать комбинацию S = l, R = 0, а при записи «0» – комбинацию S = 0, R = l. Такой способ записи (парафазный) не требует предварительной нулевой установки триггера, в который записывается «1» или «0». Этот же принцип используется и для системы триггеров (регистр). Какой бы код N(t) в регистре ни хранился до момента времени (t + 1), при парафазной записи новый код N(t + 1) «вытеснит» старый код N(t).
Рис. 27
Предыдущий код в первом регистре x(t) может быть переписан во второй регистр в момент t + τ, а на место x(t) может быть записано новое значение при подаче сигнала с1, т.е. для любого момента времени, разделенного интервалом τ, между переписью сигналов в обоих регистрах будет текущее состояние кода x(t) и его предыдущее состояние x(t – l), где единица эквивалентна интервалу τ. Такая «конструкция» регистров используется как память автоматов (что будет рассмотрено позднее).
Соединим регистры не прямой парафазной связью, как на рис. 27, а со сдвигом на один разряд через соответствующие схемы «И» с сигналом синхронизации с4 (рис. 28). Этот сдвиг будем называть сдвигом влево. На примере четырех разрядов покажем сдвиг влево и вправо (универсальный регистр сдвига) с возвратом сдвинутого кода со второго регистра на первый. Схемы «И» для упрощения на рис. 28 не показаны, но сохранены сигналы с4 (сдвиг влево) и с5 (сдвиг вправо).
Рис. 28
Очевидно, что для того чтобы производить сдвиг, необходим RS-триггер, хранящий направление сдвига. Необходим также и счетчик для подсчета количества произведенных сдвигов (рис. 29). Под сдвигом кода (имеющего к тому же числовое значение в ДПК) понимается такое логическое преобразование, которое при сдвиге на один разряд влево увеличивает числовое значение в два раза, а при сдвиге на один разряд вправо уменьшает числовое значение в два раза. Для сдвигов на два разряда числовые значения будут изменяться в четыре раза и т.д.
Например, пусть исходный 8-разрядный код имеет вид 00101100, что соответствует числу 44 в ДПК. При сдвиге на один разряд влево получим код 01011000, т.е. 88, при сдвиге на один разряд вправо – код 00010110, т.е. 22, на два разряда вправо – код 000010110, т.е. 11. Если будем сдвигать далее, то младшая цифра кода (1) потеряется (00000101), но при циклическом сдвиге получим код 10000101, т.к. значение младшего разряда (1) перенесется в старший разряд кода.
Пусть
необходимо произвести сдвиг на N
разрядов. Запишем на счетчик в параллельном
коде дополнительный код числа N,
т.е.
=
+ 1. Тогда, добавляя при каждом сдвиге в
счетчик одну единицу, после N
сдвигов на счетчике получим код
+
N,
но Ng
+ N
= (
+
N)
+ l.
Таким образом, получим «обнуление»
счетчика и единицу переполнения,
которую нужно записать на специальный
RS-триггер
переполнения для хранения условия
переполнения счетчика.
Рис. 29
Тогда весь операционный автомат для сдвига примет вид, приведенный на рис. 29. На рис. 30 а приведена блок-схема алгоритма управления регистром сдвига, а в табл. 17 дана расшифровка микроопераций. Этот операционный автомат для своей правильной работы требует подачи определенной последовательности импульсов во времени, т.е. подключения управляющего автомата для формирования этой последовательности импульсов с учетом значений логических сигналов (алгоритм рис. 30 б).
α1 – 1 – сдвиг влево, 0 – вправо.
α2 – 1 – все сдвиги произведены.
Существует несколько способов организации регистров сдвига [18, 35, 52]. Здесь рассмотрена одна из их реализаций.
