Применение ПЗУ для реализации произвольных логических функций

Одно из интересных применений ПЗУ - реализация произвольных логических функций . Для этого входные переменные подаются на адресные входы , а в соответствующие ячейки ПЗУ записываются значения функций . Так на ПЗУ с организацией 2K*8 можно реализовать восемь функций от десяти и менее аргументов , причем не требуется минимизировать функции . Сводная таблица истинности заданных функций и является картой заполнения ПЗУ .

Использовать ПЗУ целесообразно , когда преобразованию подлежат почти все комбинации входных переменных , а общее число переменных больше шести - восьми . Если в заданных для реализации функциях используется сравнительно малая доля всех возможных входных комбинаций , то рациональнее применять программируемые логические матрицы (ПЛМ) .

 

 

Программируемые логические матрицы.

 

ПЛМ имеет n входов , k элементов “И” , каждый из которых имеет 2n входов , которыми он связан с линиями входных сигналов и их инверсий. В линии связи включены специальные перемычки , которые можно выборочно разрушать (“пережигать”) . Таким образом могут быть получены k конъюнкций входных переменных или их инверсий . Каждая конъюнкция может быть подана на входы m элементов “ИЛИ” , выходы которых подключены к управляемым инверторам , т. е. элементам , которые , по желанию пользователя, могут или инвертировать входной сигнал , или повторять его . Выходы этих элементов являются выходами самой ПЛМ . Элементы “ИЛИ” , так же имеют на входах выжигаемые перемычки .

Порядок подготовки функций к реализации на ПЛМ следующий :

для всех функций получают минимальные ДНФ и вычисляются все конъюнкции , входящие в состав ДНФ всех функций ;

программируется слой элементов “И” , т.е. получаются все необходимые конъюнкции ;

программируется слой “ИЛИ” , т.е. набираются все ДНФ , при этом если значение функции равно “0” на меньшем половины числе входных комбинаций , выгоднее реализовать инверсию функции , а затем инвертировать ее с помощью выходного управляемого инвертора .

Типичный диапазон числа входов ПЛМ - 8-16 , различных конъюнкций -24- 96 , выходов -4-12 . Примером ПЛМ является микросхема К556РТ1 с n=16 , k=48 , m=8 совместимая по питанию и сигналам с ТТЛ сериями .


 

Последовательностные схемы

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

Комбинация входных сигналов и текущего состояния ЦА в данном такте определяет не только выходные сигналы, но и то состояние, в которое автомат перейдет к началу следующего такта.

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

Примерами простейших конечных ЦА являются триггеры .

1.17.

Триггеры

RS-триггер

Триггером (Т) называют логическую схему с положительной обратной связью, имеющую два устойчивых состояния, которые называются единичным и нулевым и обозначаются 1 и 0. Перевод триггера в единичное состояние путем воздействия на его входы называют установкой (set) триггера, а устанавливающий сигнал и вход, на который он воздействует, обозначают S (от set). Перевод триггера в нулевое состояние называют сбросом (reset), а соответствующий сигнал и вход обозначают R.

Схема простейшего триггера (рис.4.1,а) получается, если включить кольцом два элемента И-НЕ. Такой триггер имеет два входа R и S, два выхода Q и называется RS-триггером. Его обозначение на функциональных схемах показано на рис. 4.1, б.

а) б) в)

Рис.4.1. RS-триггер на элементах И-НЕ

Пока на обоих управляющих входах R и S уровни сигналов не активны, в данном случае R=S=1, триггер находится в каком-либо одном из двух устойчивых состояний. Если значение сигнала на выходе Q равно 1, то, как видно из схемы, этот единичный сигнал, поступая по цепи обратной связи на вход элемента 2, вызывает появление на выходе сигнала с нулевым уровнем. В свою очередь нулевой уровень выхода , поступая на вход элемента 1, поддерживает Q в состоянии 1. Иначе говоря, при входных сигналах R и S, равных 1, появившаяся по любой причине на выходе Q единица по цепи обратной связи будет сама себя поддерживать сколь угодно долго. Когда на прямом выходе Q сигнал равен 1, говорят, что триггер находится в состоянии 1 или что он установлен.

В силу симметрии схемы она будет столь же устойчива в своем противоположном - нулевом состоянии, когда Q =0, а =1. В этом случае говорят, что триггер сброшен. Режим RS-триггера, когда оба управляющих сигнала R и S неактивны, называют режимом хранения.

На рис. 4.1,в показана временная диаграмма переходных процессов в схеме при подаче на нее управляющих сигналов. Исходное состояние триггера - нулевое, на его входы поступают по очереди сначала сигнал S, затем, после его окончания - сигнал R.

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

Если на входы R и S подать одновременно нулевые сигналы, то на обоих выходах Q и появятся единицы . Если теперь одновременно снять нули со входов R и S, то оба элемента начнут переключаться в нулевое состояние, каждый стремясь при этом оставить своего партнера в состоянии 1. Какой элемент одержит в этом поединке победу, будет зависеть от скоростей переходных процессов и ряда других неизвестных заранее факторов. Для разработчика схемы результирующее состояние триггера оказывается неопределенным, неуправляемым. Поэтому комбинация R=S=0 считается запрещенной, и в обычных условиях ее не используют. Такую комбинацию допустимо применять, лишь когда обеспечено не одновременное, а строго поочередное снятие R и S-сигналов.

Основное назначение триггеров в цифровых схемах - хранить выработанные логическими схемами результаты. Для отсечения еще не установившихся, искаженных переходными процессами результатов между выходом логической схемы и входом триггера можно включить конъюнкторы, управляемые синхросигналом . Это решение оказалось очень эффективным, быстро стало типовым и побудило изготовителей триггеров ввести конъюнкторы в состав триггера. Так появились синхронные триггеры, которые переключаются в состояние, предписываемое управляющими входами, лишь по сигналу синхронизации, поступающему на вход С триггера.

а) б)

Рис. 4.2. Синхронный RS-триггер

 

Схема простейшего синхронного RS-триггера показана на рис.4.2,а. При С=0 триггер 3-4 отключен от управляющих S и R входов и находится в режиме хранения ранее полученной информации. При С=1 схема функционирует как обычный RS-триггер. Условное изображение синхронного RS-триггера показано на рис.4.2,б. Синхровход С может в принципе иметь и активный низкий уровень; в этом случае он, как обычно, помечается кружочком. Характерной особенностью схемы является то, что в течение всего отрезка времени, когда синхросигнал равен 1, как сами потенциалы на управляющих S и R входах, так и любые их изменения тут же передаются на выход.

О такой схеме можно сказать, что она прозрачна по S - и R - входам при C=1. Не все схемы синхронных триггеров обладают этим свойством.

 

4.1.2. D - триггер типа «защелка»

D-триггером называют синхронный триггер, имеющий два входа: вход данных D и вход синхронизации С. Этот тип триггера исключительно широко используется в цифровых устройствах. Другие его названия: прозрачная защелка (transparent latch), D-триггер, управляемый уровнем синхросигнала. D-триггер переключается только по сигналу на С-входе и притом в состояние, предписываемое D-входом. Условное обозначение D-триггера показано на рис. 4.3, а.

а) б)

Рис.4.3. D – триггер

 

На рис. 4.3, б показан универсальный способ построения D-триггера из синхронного RS-триггера: с помощью инвертора 1 однофазный вход данных D превращается в парафазный и подается на S- и R -входы.

Изменения D-входа при С= 0 никак не влияют на состояние выхода Q: триггер заперт по С-входу и находится в режиме хранения. Фронт С-сигнала вызывает переключение триггера в то состояние, которое было к этому моменту на входе D. При С=1 защелка прозрачна: любое изменение D-входа вызывает изменение выхода Q. По спаду синхросигнала триггер – защелка фиксирует на выходе то состояние, которое было на D-входе непосредственно перед этим моментом. Следующее изменение Q будет возможно только по фронту следующего синхроимпульса. Если на С-вход подать постоянный единичный уровень, то свойство запоминания у защелки проявляться никак не будет и она будет выполнять функции обычного буферного усилителя мощности в тракте передачи данных.

Чтобы процесс фиксации состояния D-входа прошел без сбоев, т. е. был бы однозначно предсказуемым, переходной процесс в схеме защелки, вызванный срезом С-сигнала, не должен накладываться на переходной процесс, вызванный переключением D-входа. Это значит, что всякие изменения состояния D-входа должны прекратиться за некоторое время до среза С-сигнала, называемое временем подготовки (setup time), и могут снова начинаться после среза С-сигнала не ранее чем через время выдержки (удержания) (hold time).

Необходимость введения и нормирования интервалов подготовки и выдержки характерна не только для защелки, но и для всех функциональных узлов, имеющих вход синхронизации. Кроме того, для защелки, как и для любого синхронного узла, существует минимально допустимая длительность синхроимпульса, обеспечивающая отсутствие сбоев из-за наложения переходных процессов от фронта и среза этого импульса.

Для триггеров-защелок, выпускаемых в виде микросхем, временные характеристики приводятся в справочниках. Примерами выпускаемых промышленностью D-триггеров-защелок могут служить интегральные микросхемы (ИМС) К155ТМ5, К155ТМ7, К561ТМЗ, которые содержат по четыре триггера с объединенными С-входами.

 

Двухступенчатые триггеры

На рис. 4.4, а показана схема, состоящая из двух последовательно включенных синхронных RS-триггеров, первый из которых называется ведущим или М-триггером (от master - хозяин), а второй—ведомым или S-триггером (от slave - раб). Благодаря общему синхросигналу С вся схема функционирует как единое целое и называется двухступенчатым или MS-триггером .Из временной диаграммы (рис. 4.4, б) видно, что информация, задаваемая уровнями на входах S и R, по фронту С-сигнала принимается в М-триггер, но в течение всего •времени, пока С-сигнал равен 1, не проходит в S-триггер, поскольку его входные конъюнкторы 5 и 6 в это время перекрыты инверсией С-сигнала. Они откроются лишь при С==1, т.е. на спаде С-сигнала, и только тогда S-триггер примет состояние М-триггера. Сказанное иллюстрирует очень важное отличие MS-триггера от триггера-защелки: MS-триггер, собранный по схеме рис.4.4,а, непрозрачен по управляющим R и S входам ни при С=0, ни при С=1. Каждая ступень его сама по себе прозрачна, но включены ступени последовательно, и какая-нибудь одна из них всегда оказывается запертой - или синхросигналом, или его отсутствием. Таким образом, в этом MS-триггере при С=1 (и тем более при С=0) никакое изменение на управляющем входе не может само по себе, без переключения С-сигнала, проникнуть на выход. Триггер может изменить состояние выхода только по спаду С-сигнала. В зарубежной литературе непрозрачные триггеры называютflip-flopв отличие от прозрачных D-триггеров, за которыми укрепился термин latch.

а) б)

Рис. 4.4; Двухступенчатый RS-триггер

Управляющие S- и R-сигналы могут обновляться по спаду того же синхроимпульса, который управляет триггером, и триггер при этом всегда будет воспринимать лишь предыдущее, еще не обновленное состояние S и R сигналов. На этом свойстве держится вся идеология однофазной синхронизации.

Свойство непрозрачности MS-триггера использовано для построения широко применяемого JK-триггера, схема которого показана на рис.4.5,а

Рис.4.5. JK – триггер

 

JK-триггер-это непрозрачный триггер, выходы которого петлями обратных связей накрест заведены на входные конъюнкторы 1 и 2. Внешние входы самого триггера при этом принято называть уже не S и R, а J и К.

При J= K=0 С-сигнал не может открыть входные элементы 1 и 2, и триггер находится в режиме хранения. При J=1, К=0 синхросигналом может быть открыт лишь элемент 1 и только при условии, что перед поступлением С-сигнала на выходе триггера был 0 (Q=0). Тогда по спаду синхросигнала триггер переключится в «1». Если же триггер до синхросигнала был в «1», то он так и останется в «1». Таким образом, J-вход выполняет функции синхронизированного S-входа. В силу симметрии схемы легко показать, что K-вход выполняет функции синхронизированного R-входа, переводя триггер в «0». Таким образом, при разных уровнях на J- и К-входах JK-триггер ведет себя как синхронный непрозрачный RS-триггер.

Существенно отличным от RS-триггера является поведение JK-триггера при J=K=1. Для RS-триггера такое сотояние входов запрещено. Диаграмма работы JK-триггера в этом режиме показана на рис. 4.5,б. При любом состоянии триггера сигналы обратной связи открывают для С-сигнала именно тот входной конъюнктор, пройдя через который, С-сигнал переведет триггер в противоположное состояние. Таким образом, при J=K=1 по спаду каждого С-сигнала JK-триггер меняет состояние своих выходов на противоположное. Это так называемый счетный режим, или Т-режим работы триггера (от toggle—кувыркаться).

Кратко функционирование JK-триггера описывается табл. 4.1. Новым символом в таблице является символ спада синхроимпульса, который изображается направленной вниз стрелкой. Таблица отражает тот факт, что для JK-триггера переключающей сущностью синхроимпульса является не уровень его, а перепад уровня.

Таблица 4.1.

 

Режим С Jt Kt Qt+1
Хранение X
Сброс ¯
Установка ¯
Инверсия предыдущего состояния ¯

 

Счетный
Схема, близкая к показанной на рис. 4.5, а, лежит в основе триггера К155ТВ1. Эта микросхема имеет тройные конъюнктивные входы J и K, т.е. сам двухступенчатый триггер получает J или K сигнал лишь при совпадении единиц на всех трех J или K входах микросхемы. Условное обозначение двухступенчатого JK триггера, имеющего тройные входы, показано на рис. 4.5, в. Две буквы Т указывают на наличие двух ступеней. Вход С, реагирующий не на уровень потенциала С, а на его отрицательный перепад, выделен специальным значком. Вход, реагирующий именно на перепад, иногда называют динамическим.