Pull to refresh

Простейшие логические цепи. Часть 1: общая информация о логических цепях и простые логические модули

Reading time3 min
Views29K
Приветствую всех.
Решил написать несколько статей про простейшие логические цепи.
Этот топик будет интересен скорее для людей, имеющих слабое представление об алгебре логики и логических конструкциях, чем для профессионалов и знатоков данной темы.

Итак, начнём.

Что такое комбинационная логическая цепь?


Это – цепь, способная обрабатывать бинарные электрические сигналы. В каждый момент времени исходящие сигналы комбинационной логической цепи (КЛЦ) зависят исключительно от входящих сигналов. Следовательно, одной и той же комбинации входящих значений соответствует одна и та же комбинация исходящих.

Характеристикой КЛЦ является отсутствие памяти. Тоесть не имеют значения сигналы, ранее поступавшие в цепь. («Важен текущий момент», – так сказал один из героев фильма «21».)

Математическая модель КЛЦ


Для лучшего понимания, анализа и изображения сложных цепей используются их несколько упрощённые математические модели.
В большинстве моделей во время разработки КЛЦ не принимается во внимание время взаимодействия элементов цепи. Поэтому мы будем считать, что выходные сигналы цепи моментально реагируют на изменения во входящих сигналах. Также, вместо функции сигнала от времени x(t), который может менять свою суть в зависимости от используемой технологии (например, 0 и 5 вольт в TTL; 0 и 3.1 вольт в CMOS), мы будем использовать логическую функцию x, которая может принимать значения 0 и 1.

Описание работы КЛЦ


Для описания работы КЛЦ используется так называемая таблица истинности. Эта таблица указывает значения выходных сигналов при определённых значениях входящих сигналов. Это может выглядеть так:



В таблице истинности значения каждого из сигналов располагаются в колонках, а ряды обозначают соответствия между сигналами.

Приведу пример логической задачи, которая решается с помощью такой таблицы.

Допустим, что у нас есть водонапорная башня. Чтобы создавать необходимый напор в тробопроводной системе, в башне круглые сутки должен находиться некий объём воды. Но нельзя всё время набирать воду в башню – она не безразмерна, да и элекроэнергия недешёвая. Нам нужно создать контроллер, который будет включать и выключать подачу воды в башню в зависимости от нескольких показателей.



На картинке показаны несколько датчиков:
X – время суток, где 1 – это день, а 0 – ночь (ночью электроэнергия дешевле);
Y и Z – датчики влажности, для них 1 – есть вода, а 0 – сухо.

W же будет управлять вентилем, включая его (1) и выключая (0) при необходимости.

Таблицы истинности для данного случая будут выглядеть вот так:



а) мы просто перечисляем все возможные сочетания показаний X, Y и Z;
b) смотрим самые простые варианты: если и Y, и Z имеют значение 0, то это значит, что воды нет совсем, поэтому W нужно включить, и без разницы, ночь ли сейчас или день. Если же и Y и Z – имеют значение 1, то это значит, что резервуар полный, соответственно W нужно выключить;
c) теперь об экономии: если Z=1, а Y=0, то уровень воды в баке – между двумя датчиками. При этом, если это происходит ночью (X=0), то стоит набрать воды до максимума (W=1), а днём (X=1( – оставить всё как есть (W=0);
d) без невероятного никуда: есть шанс, что Y будет иметь значение 1 при Z=0. Тогда, по логике, следовало бы отправить сообщение о неисправности в системе, но мы просто покажем, что такого просто не может быть.

Простые логические модули


Рассмотрим самые простые КЛЦ: модули Not-1, And-2 и Or-2.

Not-1


Это – самая простая КЛЦ, с одним входом и одним выходом. Функция этого модуля заключается в выводе значения, обратного входу. Так как вход один, то вариантов выхода всего два:



And-2


Этот модуль уже немного сложнее. У него два входа и один выход. Функция модуля And-2 заключается в следующем: выход будет иметь значение 1 только если оба входа также равны единице:



Or-2


Теперь ещё один модуль с двумя входами и одим выходом. Только теперь на выходе 1 будет если хотя бы один из входов имеет значение 1:



Продолжение следует.


На днях напишу ещё несколько статей – на очереди мультиплексоры, half- и full-adder'ы, а также всевозможные сочетания модулей.
Спасибо за внимание.
Tags:
Hubs:
+41
Comments28

Articles

Change theme settings