Интеллектуальные (или smart) цифровые системы автоматического управления (ицсау)
По принципу действия, выполняемым функциям и схемным особенностям выделяют два типа ИЦСАУ: комбинационные и последовательностные устройства.
Комбинационные устройства.
Устройства комбинационного типа обладают следующими свойствами и особенностями:
=> любой выходной сигнал однозначно определяется совокупностью значений (комбинацией) входных сигналов в данный момент времени, т. е.
Yn = F(XМ, ...,Xm, ..,Х0), (1)
где n = 0, .... N - 1. При этом Yn не зависит от предшествующих комбинаций входных сигналов и последовательности их поступления на вход устройства;
=> в схемах комбинационных устройств отсутствуют обратные связи, поэтому они не имеют информации о своем внутреннем состоянии:
=> комбинационные устройства не обладают памятью, о чем свидетельствует соотношение (1) и отсутствие обратных связей;
=> для описания комбинационных устройств используются логические функции, в которые не входит время.
Последовательностные устройства.
Для устройств последовательностного типа характерны следующие признаки:
=> любой выходной сигнал Yn (n = 0,..., Ν- 1) зависит не только от значений входных сигналов Хм,.., Хm,···, Х0 в данный момент времени, но и от предшествующих значений сигналов и последовательности их поступления на вход устройства;
=> в схемах последовательностных устройств используются обратные связи, поэтому они имеют информацию о своем внутреннем состоянии и состоянии выхода;
=> последовательностные устройства обладают памятью, о чем свидетельствует наличие обратных связей;
=> при описании последовательностных устройств используется время.
Функции комбинационных устройств.
На комбинационные устройства возлагаются основные функции при обработке информации цифровой системой. С помощью комбинационных устройств выполняются все логические и арифметические операции, операции контроля и диагностики функционирования цифровых систем, операции шифрации и
2
дешифрации, формирования и преобразования логических функций, разделения потока цифровой информации по отдельным каналам и объединения потоков информации отдельных каналов в один поток и многие другие. Рассмотрим некоторые из функций, выполняемых комбинационными устройствами.
Функции последовательностных устройств.
Главной функцией последовательностных устройств является функция хранения двоичной информации, или функция памяти. Помимо хранения результатов преобразования последовательностные устройства выполняют ряд функций, связанных с преобразованием информации. К ним относятся функции счета импульсов, сдвига отдельных битов кодового слова, преобразования параллельного кода в последовательный и последовательного в параллельный и др.
Основные логические функции и законы булевой алгебры
Архитектура цифровых устройств базируется на многократном повторении относительно простых базовых логических элементов. Связи между этими элементами строятся на основе формальных методов булевой алгебры (названа так по имени автора - английского математика Джорджа Буля, 1815-1864 гг.) или алгебры логики. Эти методы достаточно просты и легко поддаются автоматизации при проектировании устройств.
В отличие от обычной алгебры булева алгебра [2] оперирует с логическими переменными, которые могут иметь только два значения: логический нуль "О" и логическая единица "1". В устройствах эти значения, так же как и разряды двоичной системы счисления, реализуются в виде двух уровней напряжения, определяемых внутренней структурой элементов и принятыми соглашениями. Например, в так называемом формате ТТЛ (транзисторно-транзисторная логика - название произошло от аппаратной реализации логических элементов на биполярных транзисторах) логической единице соответствует положительное напряжение 5 В, а логическому нулю - 0 В. (Более точно: единицей признается напряжение в пределах от +2,4 до +5,5 В, а нулем - напряжение в пределах от 0 до +0,8 В.) Как и в обычной алгебре, переменные обозначаются буквами (латинскими) например Y, X, у, Х0 z5 и т. п. В уравнениях (выражениях) булевой алгебры вычисляемую функцию принято обозначать буквами Υ или у, а аргументы функции – Х0 Х1, Х2, ... или х0 х1, х2, .... Кроме переменных в выражениях могут употребляться и логические константы "1" и "0".
3
В алгебре логики существуют три простейшие операции (функции) над логическими переменными.
1. Логическое отрицание, или инверсия — изменяет значение логической переменной на противоположное: 0 меняет на 1; 1 меняет на 0. Это так называемая унарная операция, она выполняется над од ной переменной. В булевых выражениях обозначается чертой над
переменной: Υ — X (переменная Υ равна инвертированному значению переменной X). В схемотехнике устройство, реализующее операцию отрицания, обозначается словом "not", в отечественном варианте - "НЕ".
2. Логическое умножение, или конъюнкция. В выражениях записывается следующим образом: У = Х0 * Х1, или Υ = Х0 ^ Х1, или
Υ = Χ0Χ1 (переменная Υ равна логическому произведению переменных X0 и Х1). Далее в тексте будем использовать последний вариант записи как наиболее простой, кроме случаев, в которых это может затруднить понимание. Все возможные результаты логического умножения двух переменных приведены в табл. 1. Такие таблицы для логических функций (выражений) называются таблицами истинности. Как видно из табл. 1, для того чтобы результатом операции была 1, необходимо чтобы и первый аргумент, и второй были равны 1. Поэтому в цифровой технике эта операция называется функцией "И". Операция конъюнкции может применяться к большему, чем два, числу переменных. В схемотехнике устройства, выполняющие конъюнкцию, обозначаются словом "and", отечественный вариант - "И".
Таблица 1. Таблица истинности операции логического умножения
(конъюнкции) Y=X0*X1
Χ0 |
X1 |
Υ |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
3. Логическое сложение, .или дизъюнкция. Запись в выражениях следующая: Υ = Χ0 + Х1 или Υ = Χ0 ν X1 (переменная Υ равна логической сумме переменных Χ0 и Х1). Первый вариант записи является предпочтительным, поскольку позволяет отличать знак операции от буквы V, которая может быть использована в качестве имени переменной. Результаты операции дизъюнкции над двумя переменными представлены в табл. 2. При выполнении этой операции результат принимает значение 1, если иЛи первый, или второй, или
4
оба аргумента равны 1. Поэтому операция дизъюнкции называется функцией "ИЛИ". Дизъюнкция также может применяться к числу аргументов больше двух. Устройства, реализующие дизъюнкцию, обозначаются словом "or", в отечественной документации - "ИЛИ".
Таблица 2. Таблица истинности операции логического сложения (дизъюнкции) Y=X0+X1
Χ0 |
Х1 |
Υ |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
По существу рассмотренные операции являются булевыми функциями. Первая - от одной переменной, последние - от двух переменных. Функции, так же как и переменные, могут принимать только два значения - "1" и "О". В целом для одной переменной может существовать четыре функции (см. табл. 3).
Таблица 3. Булевы функции одной переменной Yn=f(X)
Функция |
Значение функции при: |
Название функции |
|
Х=0 |
Х=1 |
||
Y0 |
0 |
0 |
Константа 0 |
Υ1 |
0 |
1 |
Переменная X |
Υ2 |
1 |
0 |
Инвертированная X |
Υ3 |
1 |
1 |
Константа 1 |
Нетрудно убедиться путем перебора комбинаций, что для двух переменных существуют 16 функций (табл..4).
Таблица 4. Булевы функции двух переменных Yn=f(X0 X1)
Функция |
Значение функции при: |
Обозначение функции |
Название функции |
||||
Х0=0 |
Χ0=0 |
Χ0=1 |
Х0=1 |
||||
Х1=0 |
Х1=1 |
Х1=0 |
Х1=1 |
||||
Y0 |
0 |
0 |
0 |
0 |
0 |
Константа 0 |
|
Y1 |
0 |
0 |
0 |
1 |
Х0 Х1 |
Конъюнкция |
|
Y2 |
0 |
0 |
1 |
0 |
Χ0ΔΧ1 |
Запрет по Х2 |
|
Υ3 |
0 |
0 |
1 |
1 |
X0 |
Переменная Х[ |
|
Υ4 |
0 |
1 |
0 |
0 |
Χ0ΔΧ1 |
Запрет по Χι |
|
5
Функция |
Значение функции при: |
Обозначение функции |
Название функции |
|||
Х0=0 |
Χ0=0 |
Χ0=1 |
Х0=1 |
|||
Х1=0 |
Х1=1 |
Х1=0 |
Х1=1 |
|||
Y5 |
0 |
1 |
0 |
1 |
X1 |
Переменная Х1 |
Υ6 |
0 |
1 |
1 |
0 |
X0(+)X1 |
Исключающее ИЛИ |
Y7 |
0 |
1 |
1 |
1 |
X0+X1 |
Дизъюнкция |
Y8 |
1 |
0 |
0 |
0 |
X0↓X1 |
Стрелка Пирса |
Y9 |
1 |
0 |
0 |
1 |
X0~X1 |
Эквивалентность |
Y10 |
1 |
0 |
1 |
0 |
|
Отрицание Х0 |
Y11 |
1 |
0 |
1 |
1 |
X1→X0 |
Импликация от Х1 к X0 |
Yl2 |
1 |
1 |
0 |
0 |
1 |
Отрицание X1 |
Yl3 |
1 |
1 |
0 |
1 |
X0→X1 |
Импликация от X0к Х1 |
Y14 |
1 |
1 |
1 |
0 |
X0/X1 |
Штрих Шеффера |
y15 |
1 |
1 |
1 |
1 |
1 |
Константа 1 |
Для решения конкретных задач могут быть сконструированы новые булевы функции из других булевых функций с помощью суперпозиции. Она состоит в подстановке вместо аргументов других булевых функций. Такая подстановка возможна, поскольку булевы функции, как и переменные, могут принимать только значения "1" и "0".
В практике конструирования цифровых устройств в качестве аппаратно реализованных логических элементов из табл. 3 используются все функции, а из табл. 4 не все. Находят применение в первую очередь простейшие, а именно: Y1 - конъюнкция; Y7 - дизъюнкция. Кроме этого, еще три, получаемые путем суперпозиции простейших:
• Υ6 -исключающее ИЛИ (иногда называется - "сумма по модулю 2");
y14 - штрих Шеффера, более широко употребляемое название - "операция И-НЕ";
• Y8 - стрелка Пирса, более широко употребляемое название - "операция ИЛИ-НЕ".
Схемные логические элементы, реализующие названные функции, могут быть выполнены по различным технологиям. В современных условиях, в частности при проектировании цифровых устройств на ПЛИС, разработчику нет необходимости разбираться в тонкостях этих технологий. Достаточно знать условные обозначения элементов и их функции. Эти данные представлены в табл. 5. Названия и обозначения приведены в двух вариантах: традиционном отечественном и используемом в пакете САПР Quartus II, на котором базируются упражнения этого и последующих разделов.
6
Таблица 5. Основные элементы, реализующие логические функции
7
Для аппаратной реализации функций 1 и 2 необходимо проводник, напряжение на котором принимает значение функции, подключить либо к общему проводу (к земле: gnd - сокращение от ground), либо к питанию (vcc - цепь питания). Следует иметь в виду, что это справедливо только для обычной положительной логики. Другие варианты логики, например в которых нулевое напряжение принимается за логическую единицу, а положительное напряжение питания - за логический нуль, используются крайне редко и во внимание приниматься не будут.
Элементы, выполняющие функции 3 и 4, имеют по одному входу (на схемном обозначении входы - слева), так как эти функции имеют по одному аргументу. Функции 5, 6, 8, 9 могут иметь два или более аргументов. Они реализуются элементами с соответствующим числом, входов. Функция 7 может иметь только два аргумента. Поэтому схемный элемент "Исключающее ИЛИ" содержит только два входа. На всех изображениях элементов функция формируется на проводнике, находящемся с правой стороны.
Прежде чем реализовывать требуемую функцию с помощью схемных элементов, логическое выражение, представляющее функцию, необходимо привести к виду с минимальным количеством операций. Для этого исходное выражение подвергают преобразованиям в соответствии с законами булевой алгебры. Эти законы, кроме 4-го и 5-го, имеют две формы: для конъюнкции и дизъюнкции. Законы представлены ниже.
8
9
Из всего разнообразия цифровых элементов большинство можно отнести к разряду составных. Составными я называю те элементы, которые можно составить из других, более простых. А в основе всего разнообразия цифровых устройств лежат всего три простейших логических элемента. По этим стандартам стран СНГ цифровые элементы изображаются в виде прямоугольника ( элемент «И» обозначается &, элемент «ИЛИ» – 1, элемент «НЕ» - 1 и выход отмечается кружком - о). Все входы рисуются слева, а выходы—справа. Именно таким образом в этом стандарте можно отличить входы элемента от его выходов. Правда, в случае более сложных элементов это правило соблюсти не всегда возможно, так как часто бывает, что один и тот же выход служит одновременно и входом. Но для простых элементов это условие всегда соблюдается.
Элемент «И». На выходе этого элемента сигнал логической единицы появляется тогда и только тогда, когда на всех его входах будет присутствовать логическая единица. То есть единица должна быть И на первом, И на втором, И на третьем (если он есть), И на всех имеющихся входах. Если хотя бы на одном входе будет ноль, то и на выходе тоже будет ноль.
Элемент «ИЛИ». На выходе этого элемента сигнал логической единицы появится тогда и только тогда, когда хотя бы на одном из его входов появится единица. То есть единица должна быть ИЛИ на первом, ИЛИ на втором, ИЛИ на третьем — на любом из имеющихся входов или на нескольких сразу. Логический ноль на выходе будет только тогда, когда на всех входах будет сигнал логического нуля.
Элемент «НЕ», или инвертор. У этого элемента не может быть больше одного входа. Инвертор имеет один вход и один выход. И логика его работы очень проста. Когда на входе у инвертора сигнал логического нуля, на выходе логическая единица. И наоборот, когда на входе логическая единица, на выходе логический ноль.

0