Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
42 Мухопад Теория дискретных устройств.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
10.48 Mб
Скачать

Глава 1 базовые понятия и конструкции систем управления дискретной автоматики

1.1. Переменные и функции алгебры логики

В основе создания всей цифровой вычислительной техники и цифровых (дискретных) систем управления лежит принцип использования элементов, вы­ходные параметры которых принимают два значения, «0» и «1». В данном случае это есть математическое обозначение сигналов, соответствующих «0» и «1». При практической реализации им могут соответствовать различные параметры. Например, для оптоэлектроники:

«0» – отсутствие светового импульса (темнота);

«1» – наличие светового импульса.

Для пневматики:

«0» – давление в сети равно атмосферному;

«1» – импульсное увеличение давления в 1,5 раза.

Для релейной техники:

«0» – разомкнутые контакты реле, т.е. отсутствие тока в цепи;

«1» – замкнутые контакты реле с наличием тока в цепи.

Для электромагнитной техники:

«0» – степень намагниченности ферритового кольца с прямоугольной петлей гистерезиса (или участка пленки с ферритовым напылением) в направлении «южного» полюса (–Hm), определяется напряженностью H магнитного поля;

«1» – степень намагниченности в направлении «северного» полюса (+Hm).

На рис. 1 обозначено:

1 – обмотка записи «1»; 2 – обмотка записи «0»; 3 – обмотка считывания информации о состоянии намагниченности феррита; 4 – ферритовое кольцо; 5 – транзистор; 6 – сопротивление нагрузки; Iw·W – произведение тока I на число витков W обмотки (магнитодвижущая сила); Hm – уровень максимальной намагниченности; 7 – петля гистерезиса, т.е. зависимость намагниченности от IW.

Для серийных ферритовых материалов при W = 1, I = 0,1 A.

Ферритовая техника с использованием колец ушла в прошлое, однако пленки и диски с магнитным напылением применяются. Здесь приведен этот фрагмент для иллюстрации того, что понятию «0» и «1» могут соответствовать действи­тельно самые разные физические параметры.

В наиболее распространенной современной технике используется потенци­ально-импульсная элементная база, в которой «0» соответствует нулевому уровню напряжения, а «1» – уровню пяти вольт. Простейшая реализация импульсно-потенциальных логических элементов на диодах и полевых транзисторах представлена на рис. 2. Использовано свойство транзистора, который имеет в открытом состоянии сопротивление R0 < 0,5 Ома, а в закрытом R3 >> 1 МОма.

Может использоваться также и так называемая «отрицательная» логика, в которой отсутствие напряжения рассматривается как третье высокоимпедансное состояние. Тогда наличие импульса 5 В (3,5 В) – это «1», а отсутствие импульса – это «0». Различные типы логических элементов и устройств подробно рассмотрены в [18, 35, 52]. С помощью дискретных элементов с сиг­налами «0» и «1» могут быть реализованы различные функции, значения которых также соответствуют «0» и «1».

Рис. 1. Феррит-транзисторный элемент

Рис. 2. Логические элементы дискретной автоматики

1.2. Двоичные коды переменных

В вычислительной технике и автоматике принято записывать переменные в наборе справа налево, т.е. не x1, x2, x3, …, xn, а xn, xn-1, …, x2, x1, и нумеровать пере­менные, начиная с i = 0, т.е. xn-1, xn-2, …, x2, x1, x0. В этом случае упорядоченный набор xi, который называется кортеж, можно рассматривать как число в двоичной позиционной системе счисления, в ко­торой вес каждого последующего разряда в кортеже в два раза больше предыду­щего*, а само число N определяется по формуле

(1)

Для трехразрядного кортежа x2, x1, x0 получим табл. 1.

Таблица 1

N

0

1

2

3

4

5

6

7

x2, x1, x0

000

001

010

011

100

101

110

111

В данном случае номеру N соответствует определенное значение переменных в наборе, другими словами, код. Способ кодирования по формуле (1), которому соответствует табл. 1, называется двоичным позиционным кодом, или сокращенно ДПК. Кроме ДПК в системах управления широкое применение нашел так назы­ваемый соседний код, или код Грея (ДКГ), который от ДПК отличается тем, что при переходе от цифры Nj к Nj + 1 изменения происходят только в одном разряде кода (табл. 2). Используется также унитарный код (код с одной «1» в n разрядах), код с фиксированным m – числом единиц в n разрядах, а также большая группа кодов, допускающих обнаружение и исправление ошибки при передаче информации. Все эти коды, оставаясь двоичными, не являются позиционными, т.к. к ним не применима формула (1). Поэтому в ряде случаев отступают от этого правила обозначения и перечисляют переменные начиная с j = 1, 2, …, n.

Таблица 2

N

0

1

2

3

4

5

6

7

ДПК

000

001

010

011

100

101

110

111

ДКГ

000

001

011

010

110

111

101

100

Заметим, что ДКГ, будучи двоичным, не относится к позиционной системе счисления, как ДПК, т.к. для ДКГ не применима формула (1), хотя, как видно из табл. 2, легко найти соответствие между ДПК и ДКГ.

В данном пособии приведены только примеры кодов, соответствующих целым числам. Дробные числа, а также числа с плавающей запятой подробно рассмот­рены в учебной литературе [37].

В цифровой технике используется много типов кодов, которые будут рас­сматриваться далее в соответствующих разделах пособия. В частности, сигналы двоичные по форме могут иметь основание не 2, а 3, если они представлены в виде –1, 0, +1, например, напряжение –5 В, 0, +5 В. Такая система представления сиг­налов используется при передаче информации по каналам связи (квазитроичный код). При импульсном представлении двоичных сигналов (+1 соответствует им­пульс положительной полярности, а –1 – импульс отрицательной полярности) код называется ЧПИ, т.е. код с чередованием полярности.

Троичные коды и троичная система счисления используются и в вычисли­тельной технике, однако в теории дискретных устройств принято иметь дело с двоичными переменными xi {0, 1}.

Двоичные наборы переменных xn, xn-1, …, x2, x1 могут рассматриваться как комплекс двоичных переменных некоторой функции y = ƒ(xn, …, x2, x1), которая называется переключательной или булевой функцией, так как и {x} и y . Один и тот же набор xi, может «порождать» систему булевых функций y1, y2, …, ym. Двоичные переменные называют булевыми переменными.

1.2.1. Этот раздел параграфа, который приводится здесь, очень хорошо из­ложен в учебнике А.Я. Савельева (стр. 167–169) [37].

Две функции равносильны друг другу, если принимают на всех возмож­ных наборах переменных одни и те же значения f1 (x1, х2, ..., xп) = = f2 (х1, х2, ..., хп).

Булевы переменные могут быть действительными или фиктив­ными.

Переменная xi действительна, если значение функции f (x1, х2, ..., xi, ...

..., хп) существенно изменяется при изменении xi.

Переменная xi фиктивна, если значение функции f (x1, ..., xi, ..., хп) не изменя­ется при изменении xi.

Логическая функция от трех переменных показана в табл. 3.

Из таблицы видно, что переменные х1 и х2 – действительные, а переменная x3 – фиктивная, так как f (x1, x2, 0) = f (x1, x2, 1) для всех наборов x1, x2.

Таблица 3

x3

x2

x1

f (x1, x2, x3)

x3

x2

x1

f (x1, x2, x3)

0

1

0

1

0

0

1

1

0

0

0

0

0

0

1

1

0

1

0

1

0

0

1

1

1

1

1

1

1

1

0

0

Таким образом, появляется возможность сокращать или расши­рять количе­ство переменных для логических функций удалением или введением фиктивных переменных. Так как число значений переменных хi ограничено, то можно определить ко­личество N функций от любого числа переменных: N = , где n – количе­ство переменных xi.

Пример. Предположим, что имеется система кондиционирования воздуха для помещения, где установлена ЭВМ, состоящая из двух кондиционе­ров ма­лой и большой мощности и работающая при таких условиях:

  1. кондиционер малой мощности включается, если температура воздуха в по­мещении достигает 19 °С;

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

  3. оба кондиционера включаются при температуре воздуха 30 °С.

Пусть информация о температуре воздуха поступает от датчиков, которые соответственно срабатывают при достижении температуры 19, 22, 30 °С. Каждый из этих датчиков выдает входную информацию для устройства управления кон­диционерами. Первые три датчика определяют рабочие режимы, и их можно представить как входы управляющего автомата. Используя двоичный алфавит для задания состояний датчика (0 – нет сигнала о достижении заданного уров­ня тем­пературы, 1 – есть сигнал), функционирование системы управления кон­диционе­рами можно описать следующим образом (табл. 4):

Таблица 4

z3

z2

z1

ω2

ω1

0

0

0

1

0

0

1

1

0

1

1

1

0

0

1

1

0

1

0

1

Здесь z1 – датчик, срабатывающий при t = 19 °C; z1 = 0, если температура меньше 19 °С; z1 = l, если температура равна или больше 19 °С; z2 датчик, срабатывающий при t = 22 °С, z2 = 0, если t < 22 °C, z2 = l при t ≥ 22 °С; z3 – датчик, срабатывающий при t = 30 °С; z3 = 0 при t < 30 °C, z3 = l при t30 °С; ω1 и ω2 – соответственно управление маломощным и мощным кондиционерами (ω = 0 – кондиционер выключен, ω = 1 – кондиционер включен). Таблица описывает функционирование системы управления без нарушений работы.

Впервые теория Дж. Буля была применена русским ученым П.С. Эренфестом к анализу контактных цепей (1910 г.). Возможность описания переключательных схем с помощью логических формул оказалась весьма ценной по двум причинам. Во-пер­вых, с помощью формул удобнее проверять работу схем. Во-вторых, зада­ние условий работы любой переключательной схемы в виде формул упрощает процесс построения самой переключательной схемы, так как оказалось, что суще­ствует ряд эквивалентных преобразований, в результате которых логические формулы упрощаются. При описании переключательных схем замкнутый контакт прини­мается за истинное высказывание, а разомкнутый – за ложное, поэтому по­сле­довательное соединение контактов можно рассматривать как функцию И, а параллельное – как функцию ИЛИ.

Использование логических функций оказалось особенно полезным для опи­сания работы логических элементов ЭВМ.

ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ

Булевы функции, или функции алгебры логики (ФАЛ), могут быть заданы не­посредственно в виде логического выражения, объединяющего логические пере­менные со значением x или с помощью знаков конъюнкции ( ) и дизъюнкции ( ). Эти логические выражения могут быть получены также из таблиц, в строках которых перечислены все возможные комбинации значений переменных, от кото­рых зависит функция, и в столбце напротив каждой строки указано значение этой функ­ции. Такие таблицы называются таблицами истинности. Если для одних и тех же комбинаций переменных определяется несколько функций, то значения этих функций записываются в независимых столбцах.

Пусть задан набор двоичных (булевых) переменных x1, x2, x3, …, xn. Функция y = ƒ(x1, x2, x3, …, xn) называется булевой функцией, если она принимает значение 0 или 1 на любом из наборов переменных x1, x2, x3, …, xn. Поскольку любая пере­менная xi(i = ) принадлежит множеству из 0 и 1 (xi {0, 1}), то количество набо­ров переменных равно 2­n.

Рассмотрим правило определения булевой функции на конкретном неболь­шом примере, приведенном в работе [12] на стр. 136.

Пример. Насос принудительного водоснабжения должен быть вклю­чен ав­томатически, если сработает по крайней мере один из двух дат­чиков (аварийного или предупреди­тельного падения давления на объ­екте) и датчик понижения тем­пера­туры охлаждающей воды ниже 5 °С. Кроме того, включение насо­са должно быть осуществлено авто­матически, если срабатывает дат­чик понижения уровня воды в си­стеме при условии отсутствия сиг­налов от обоих датчиков давления и от датчика температуры. В ос­тальных случаях включение насо­са не происходит.

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

I этап. Выделим и обозначим входные переменные:

x1 – ­­сигнал от датчика, преду­преждающего о снижении дав­ления;

x2 – сигнал от датчика аварийно­го снижения давления;

Таблица 5

№ п/п

Наборы входных

переменных

Значения

выходной

функции y1

x1

x2

x3

x4

0

0

0

0

0

0

1

0

0

0

1

1

2

0

0

1

0

0

3

0

0

1

1

0

4

0

1

0

0

0

5

0

1

0

1

0

6

0

1

1

0

1

7

0

1

1

1

1

8

1

0

0

0

0

9

1

0

0

1

0

10

1

0

1

0

1

11

1

0

1

1

1

12

1

1

0

0

0

13

1

1

0

1

0

14

1

1

1

0

1

15

1

1

1

1

1

x3 – сигнал от датчика темпера­туры при t < 5 °С;

x4 – сигнал от датчика снижения уровня воды.

Выпишем возможные набо­ры переменных столбиком в табл. 5.

Как следует из этой таблицы, зависимости значений выходной функции от последовательности по­ступления входных сигналов нет.