русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

АСИНХРОННЫЕ ТРИГГЕРЫ


Дата добавления: 2014-12-01; просмотров: 883; Нарушение авторских прав


В процессе работы программам постоянно приходится обращаться к прог-раммам, находящимся на более высоком уровне привилегий (к драйверам внешних устройств, системам программирования).

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

Здесь наиболее интересный момент связан с реализацией этого шлюза. ● С одной стороны, пользователю необходимо предоставить возможность выполнить необходимую ему более привилегированную программу. ● Но, с другой стороны, бесконтрольный вызов таких программ, например, запуск драйвера с его середины вследствие ошибок программирования или злого умысла, может привести к непредсказуемым последствиям.

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

Шлюз должен быть предварительно помещен в таблицу дескрипторов. Дескрипторы шлюзов не определяют никакого адресного пространства, поэтому в них нет полей базы и предела, то есть они фактически не являются дескрипторами. Обращение к более привилегированным программам производится командами, аналогичными командам обращения к подпрограммам в другом кодовом сегменте (команды типа FAR CALL).

То есть нельзя перейти в более привилегированный сегмент командой с полной передачей управления: "пришел на уровень с более высокими привилегиями и там остался", а переход возможен только с помощью команд с возвратом. Эти команды должны адресовать шлюз вызова, а не сегмент кода назначения. Шлюз вызова определяет сегмент кода, которому передается управление, и точное смещение в этом сегменте, где начинается выполнение процедуры. Формат шлюза вызова представлен на рис. 3.



Рис. 3. Формат шлюза вызова

►Шлюз вызова содержит селектор того сегмента, куда передается управление, и смещение в этом сегменте. Это, с одной стороны, позволяет найти данную программу, но, с другой стороны, строго определяет точку входа в прог-рамму, чтобы можно было запустить ее только со строго определенного места.

Другими важными параметрами, определяемыми шлюзом вызова, являются:

P- бит присутствия; WC - количество параметров, передаваемых из стека текущей программы в стек вызываемой программы; DPL -уровень привилегий.

При использовании шлюза вызова проводится анализ уровней привилегий:

· значение DPL шлюза вызова должно быть больше или равно значению текущего уровня привилегий CPL и значению RPL селектора, вызывающего шлюз;

  • значение DPL шлюза вызова должно быть больше или равно значению DPL целевого сегмента кода;

· значение DPL целевого сегмента кода должно быть меньше или равно значению текущего уровня привилегий CPL.

Рис. 4. Использование шлюза вызова для обращения к программам на более высоком уровне привилегий
Порядок использования шлюза вызова - на рис. 4.

1. Как любая команда межсегментного пере-хода, команда FAR CALL содержит селектор сегмента и смещение в этом сегменте. Смещение, которое указано в команде, МП игнорирует: положение вызываемого кода в более привилегированном сегменте опреде-ляется не им, а шлюзом вызова. По селектору, определенному в команде, идет обращение к таблице дескрипторов. По типу дескриптора определяется, что это системный объект типа "шлюз вызова".

2. Селектор из шлюза вызова заносится в регистр CS микропроцессора, а смещение - в регистр - указателя команд EIP.

3. По полученному селектору обращаемся к дескриптору сегмента более привилегированной программы.

4. Из дескриптора извлекается базовый адрес нового сегмента. Его суммиро-вание со значением смещения из шлюза вызова, занесенного в EIP, определяет физический адрес начала новой программы.

 

Т.о., с помощью такой многоступенчатой обработки команды перехода полу-чаем доступ к более привилегированной программе. Но для этого поле DPL шлюза должно быть установлено таким, чтобы к нему могла обратиться менее привилегированная программа. Т.е., если мы хотим, чтобы пользова-тельские программы могли вызывать некоторую программу, находящуюся, на уровне привилегий 1, то DPL шлюза программы должен быть равен 3.

Предположим теперь, что пользователь хочет воспользоваться некоторыми системными утилитами. Пусть пользовательская программа имеет уровень привилегий 3, ядро ОС - уровень 0, утилиты ОС - уровень 1 (рис. 5).

Рис. 5. Последовательное обращение к более привилегированным программам

В этом случае шлюз утилиты должен иметь DPL = 3. Это позволит пользовательской программе вызвать утилиты ОС, но не ее ядро. При необходимости к ядру ОС могут обратиться утилиты.

Механизм вызова:

  • шлюзу утилит присваивается уровень привилегий 3, обеспечивая его доступность пользовательским программам;
  • шлюзу ядра присваивается уровень привилегий1, что делает его доступным для программ-утилит, но обращение пользовательских программ к шлюзу ядра невозможно.

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

Конкретная ОС необязательно должна поддерживать 4 уровня привилегий. ● ОС UNIX работает с двумя кольцами защиты: супервизор (уровень 0) и пользователь (уровни 1, 2, 3).

OS/2 поддерживает 3 уровня: код ОС - в кольце 0, специальные процедуры для обращения к устройствам ввода/вывода - в кольце 1, а прикладные программы выполняются в кольце 3.

● В Windows NT используются два уровня привилегий: нулевое и третье кольцо. В нулевом кольце работает ядро системы и системные драйверы, а в третьем - все запущенные приложения.

►Защита по привилегиямначинает работать уже на этапе загрузки селектора в сегментные регистры.

При загрузке селектора в сегментные регистры данных должно выполняться соотношение: DPL < max(CPL, RPL),

а при загрузке селектора в сегментный регистр стека SS должно быть выполнено соотношение: DPL = CPL.

При страничном преобразовании адреса применяется 2-х уровневый механизм защиты по привилегиям: пользователь (уровень 3 привилегий сегмента) и супервизор (уровни 0, 1, 2), указываемый в бите U/SЭТС.

При сегментно-страничной организации памяти производится объединение защиты сегментов и страниц:

□ сначала реализуется защита сегментов, а

□ затем защита страниц.

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

В такой ситуации элементы каталога таблиц страниц и/или элементы таблиц страниц должны иметь соответствующие значения атрибута R/W.

Краткие итоги.

ü Рассмотрены основные требования, предъявляемые к средствам защиты памяти,

ü механизмы защиты, используемые при управлении памятью и при защите по привилегиям,

ü доступ к программам на более высоком уровне привилегий посредством использования шлюзов вызова.

АСИНХРОННЫЕ ТРИГГЕРЫ

RS-триггер с прямыми входами. Логическая структура триг­гера представлена на рис. 3.1,а. Триггер построен на двух логи­ческих элементах ИЛИ-НЕ, связанных таким образом, что выход каждого элемента подключен к одному из входов другого. Такое соединение элементов ^в устройстве обеспечивает два устойчивых состояния, в чем легко убедиться.

Пусть на входах R и S действуют пассивные для элементов ИЛИ-НЕ уровни лог. 0, которые не влияют на состояние Тригге­ра. В состоянии 0 триггера на выходе элемента A Q=0; этот уро­вень подается на вход элемента В; при этом на обоих входах эле­мента В действует уровень лог. 0 и на выходе элемента 5=1; с выхода элемента В уровень лог. 1 поступает на вход элемента А, что и обеспечивает на его выходе уровень 0. Это одно из устой­чивых состояний триггера. В состоянии 1 триггера на выходе эле­мента A Q = 1,4to обусловливает на выходе элемента В ф = 0, при-этом на обоих входах элемента А действуют уровни 0, что и обе­спечивает на выходе этого элемента уровень лог, 1, Таким обра-


зом, в каждом из состояний триггера элементы А и В оказывают­ся в противоположных состояниях.

Переключение триггера из одного устойчивого состояния в дру­гое происходит при подаче активных сигналов на входы.

Под действием уровня R=l элемент А установится в состоя­ние, йри котором на его выходе Q = 0, следовательно, на инверс-Hpirf выходе Q=l, и, таким образом, триггер устанавливается в состояние 0. Если триггер и прежде, до подачи сигнала R=l, на­ходился в состоянии 0, то его состояние не изменяется. Если же триггер находился в состоянии 1, то при подаче сигнала /?=1 произойдет переключение элемента А и на его выходе установит­ся уровень Q=0; далее этот уровень, действуя на входе элемента В, переключит его и на выходе элемента В установится уровень Q=l, после чего триггер оказывается установленным в состояние 0. Таким образом, при переключении триггера из одного состоя­ния в другое его элементы последовательно переключаются и вре­мя переключения равно удвоенному среднему времени задержки распрбстранения сигнала в логическом элементе ИЛИ-НЕ:

■в Очевидно, чем меньше tneP, тем большее число переключений триггера удастся произвести в единицу времени, т. е. будет выше допустимая частота переключений или, иначе говоря, быстродей­ствие триггера.

Процесс установки триггера в состояние 1 при подаче на вход S уровня лог. 1 аналогичен описанному.

Одновременная подача активных уровней 1 на оба входа R и S не допускается, так как при этом на обоих выходах установится уровень 0, а после снятия со входов активных уровней состояние триггера .окажется неопределенным: в силу случайных причин триггер может установиться в состояние 0 либо к-На рис. 3.1,6 приведена таблица состояний RS-триггера в форме таблицы Вей-ча.. Из этой таблицы может быть построено логическое выраже­ние, определяющее функционирование RS-триггера:

т. е. триггер устанавливается в состояние 1 под действием вход­ного уровня 5=1 либо остается в этом состоянии 1, если R—Ou прежнее состояние триггера Q0=l-

На рис. 3.1,в показано условное обозначение асинхронного RS-триггера.

RS-триггерс инверсными входами.Логическая структура триг­гера приведена на рис. 3.2,а. Отличие от логической структуры рассмотренного выше RS-триггера с прямыми входами состоит лишь в том, что здесь использованы логические элементы И-НЕ.

Лри этом активным логическим уровнем на входах является уровень лог. 0; пассивным — лог. 1. Для того чтобы активными были, как и в предыдущем триггере, входные сигналы 5=1 и R=l, будем считать, что на входы подаются инверсии .5 и Я. Тог-


да при 5 = 1 (или R=l) 5=0 (или R = 0) и на входе триггера бу­дет действовать активный уровень лог. 0. Другое удобство такого обозначения входных величин состоит в том, что триггер с инвер­сными входами описывается той же таблицей состояний (рис. 3.1,6), что и триггер с прямыми входами.

Рассмотрим устойчивые состояния триггера. Пусть на входах действуют пассивные уровни 5 = 0 и R = 0 (5=1 и R = l). В со­стоянии 0 триггера Q = 0, этот уровень передается на вход элемен­та В и ^вызывает на его выходе уровень Q=l, уровень 1 с выхо­да элемента В подается на вход элемента А, и так как на обо­их входах элемента А уровень 1, то на выходе этого элемента Q = 0. Аналогично определяется второе устойчивое состояние триггера.

При подаче активного уровня 5 = 0 (5=1) на выходе элемен­та А устанавливается уровень Q=l, на выходе элемента В — уро­вень Q = 0 и триггер оказывается установленным в состояние 1. При подаче активного уровня Я = 0 (R=l) триггер устанавлива­ется в состояние 0. Как и для триггера с прямыми входами, однов­ременная подача активных уровней на оба входа не допускается.

На рис. 3.2,6 показано условное обозначение RS-триггера с ин­версными входами.

СИНХРОННЫЕ ТРИГГЕРЫ

СО СТАТИЧЕСКИМ УПРАВЛЕНИЕМ ;

Рассмотрим триггеры, в которых действие управляющих сигна­лов на входе С проявляется в течение всего времени существова­ния этих сигналов.

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

Таким образом, при С = 0 на входы асинхронного триггера не передаются активные уровни и триггер сохраняет ранее установ-


ленное в нем состояние Qo. При С=1 состояние триггера опре­деляется действующими на входах уровнями так же, как и., в рассмотренном выше асинхронном RS-триггере. Следовательно, функционирование синхронного RS-триггера может быть описано логическим выражением

Нормальная работа синхронного RS-триггера t требует, чтобы За вре,мя действия лог. 1 на синхронизирующем входе. С уровни на информацирнных входах S и R оставались неизменными. Смена уровней на входах допускается лишь в то время, когда С=0 и триггер не реагирует на уровни, действующие на входах S и R.

На р^с. 3,3,в показано условное изображение синхронных RSHTpnrrepoB в схемрх.

J D-триггер.Имеет лишь один информационный вход, называе­мый вводом D. Вход С управляющий и служит для подачи син­хронизирующего сигнала.


На рис. ЗА,б,в представлены логические структуры D-тригге­ра, состоящего из асинхронного RS-триггера с логическими эле-

Функционирование D-триггера определяется таблицей состоя-ций (рис. 3.4,а). Как видно из таблицы, при С=1, триггер уста­навливается в состояние, определяемое логическим уровнем на входе D (лри С=0 он сохраняет ранее установленное состояние Qo). Такое функционирование может быть описано логическим выражением


ментами на входах. При С = 0 на выходах элементов И (И-НЕ) образуются пассивные для входов асинхронного RS-трйггёра уро­вни. При С=\ уровень, поданный на информационный вход D, создает активный уровень либо на входе R (при D==0) либо на входе S (лри £)=1) асинхронного RS-триггера, и триггер устанав­ливается в состояние, соответствующее логическому уровню на входе D. Таким образом, D-триггер воспринимает информацию со входа D при С=\ и затем ее может хранить неопределенно дли­тельное время, пока С = 0.

На рис. 3.4,г показано символическое изображение D-триггера.

СИНХРОННЫЕ ТРИГГЕРЫ, ПОСТРОЕННЫЕ

ПО ПРИНЦИПУ ДВУХСТУПЕНЧАТОГО ЗАПОМИНАНИЯ

ИНФОРМАЦИИ

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

При изменении значения С (с значения С=\ на значение С = 0) ведущий триггер отключается от информационных входов и пере­стает реагировать на изменения значений сигналов на этих вхо­дах; ведомый триггер устанавливается в состояние, в котором на­ходится ведущий триггер. С этого момента на выходах устанав­ливаются значения, соответствующие входным сигналам, посту­павшим к моменту рассматриваемого фронта сигнала на синхро­низирующем входе.

Таким образом, управление процессами в триггере с двухсту­пенчатым запоминанием информации за время тактового периода осуществляется двумя фронтами сигнала на синхронизирующем входе: на положительном фронте происходит установка ведущего


 




 



триггера, на отрицательном фронте — ведомого Триггера. В каче­стве примера рассмотрим JK-триггер с двухступенчатым запоми­нание1^ информации.

JK-триггер.На рис. 3.6 таблица состояний JK-триггера пред-ставленр в форме диаграммы Вейча, из которой можно получить следующее логиче9кое выражение, определяющее функциониро­вание ЛК-триггер'а:

Из (3.5) следует, что состояние Q, в которое устанавливается 'триггер, определяется не только уровнями на информационных входам J и К, но и состоянием Qo, в котором ранее находился триггер. Это определяет возможность построения логической стру­ктуры JK-триггера с использованием двух RS-триггеров. Один из ( RS-триггеров (ведомый) предназначен для хранения текущего со-стоя'ния Qo; снимаемые с его выходов уровни Qo и Qo совместно с информационными сигналами входов J и К используются для формирования нового состояния Q в другом RS-триггере (веду­щем), JK-триггер с подобной логической структурой представлен на рис. 3.7,а. Так как каждый из триггеров совместно с элемента­ми И на входах образует схему синхронного RS-триггера, то ло­гическая структура может быть такой, как показано на рис. 3.7,6. Здесь ведущий триггер Тп имеет по две пары связанных операцией И входов J и К.

При уровне Лог. О на входе С триггер Тп не .реагирует на сигнашы входов J и К. На синхронизирующий, вход триггера Тг2 при 'этом, подается уровень лог. 1, и состояние ведущего триггера Тп передается ведомому триггеру Тг2. Оба триггера оказывают­ся в одном и том же состоянии. При переходе на входе С к уров­ню лог. 1 на синхронизирующий вход триггера Тг2 через инвертор подается уровень лог. О и логическая связь между триггерами об­рывается. Триггер Тп устанавливается в состояние Q, определяе-


 

мое выражением (3.5). Подача вновь на вход С уровня лог. О приводит к передаче состояния Q из триггера Тп в триггер Тг2. Символическое изображение опи­санного JK-триггера приведено на рис. 3.7,s.

На рис. 3.8 показано вклю­чение JK-триггера, при котором он выполняет функции D-триг-гера.

Т-триггер.На рис. 3.9а пока­зана логическая структура Т-триг-гера. При поступлении на вход Т импульса на положительном его фронте ведущий триггер х уста­навливается в состояние, проти­воположное состоянию ведомого триггера Тг2; на отрицательном

фронте входного импульса происходит передача состояния тригге­ра Tri в триггер Тг2.

На рис. 3.9,6 приведено символическое изображение Т-триг-гера.

Режим Т-триггера может быть получен с помощью^ JK-триггера либо D-триггера, как показано на рис. 3.10,а,б.

ТРИГГЕРЫ С ДИНАМИЧЕСКИМ УПРАВЛЕНИЕМ

В триггерах с динамическим управлением (управлением фрон­том синхронизирующего сигнала) процессы, связанные с пере­ключением, происходят в течение короткого времени вблизи фрон­та сигнала на синхронизирующем входе. Синхронизирующий вход, вызывающий переключение триггера при действии положительно­го сигнала, называется прямым динамическим входом (условное обозначение прямого динамического входа триггера показано на рис. 3.11,а); вход, вызывающий переключение на отрицательном фронте синхронизирующего сигнала, называется инверсным дина­мическим входом (условное обозначение инверсного динамическо­го входа триггера приведено на рис. 3.11,6).




i

, ^триггер. Рассмотрим функционирование D-триггера с логической структу­рой, приведенной на рис. 3.12,а.

Элементы И-НЕ / и 2 составляют простейшую выходную триггерную струк­
туру, состояние которой определяет состояние всего D-триггера. Элементы И-НЕ
3... 6 образуют схему, формирующую сигналы Yx и К2, которые переключают
выходную триггерную структуру. ,,м

| Запишем логические выражения, определяющие коммутирующие сигналы


Преобразуем эти выражения, пользуясь правилом де Моргана:

Так как Y4= D-Yt, jK3 = Ух4 == Yv (D-K,) , то, подставив в выражения У,,
Yi, получим !

Выражения построены таким образом, что переменные левых частей входят в правые части выражений. Такие выражения имеют следующий смысл: если в правые части подставить значения Y\ и Y2 для данного момента времени, то логические выражения определяют для этих переменных новые значения,- кото­рые установятся в последующие моменты времени.

При С=0(С=1) ^1 = 1 Уз= 1 и, таким образом, на входах выходной триг-герной структуры действуют пассивные уровни и в триггерной структуре сох­раняется ранее установленное в ней состояние.


Если на синхронизирующем входе С происходит переход с уровня лог. О к уровню лог. 1 (т. е. воздейстнует фронт положительной полярности), то для определения новых значений Yx и К2 в правые части выражений (3.6) и (3.7) следует подставить значения этих переменных, соответствующие моменту вре­мени до поступления фронта сигнала на вход С (т. е. значения К| = 1 и Kj=I). При этом К, = 0 и К2=£>.

Эти значения, будучи подставлены в правые части выражений (3.6) и
(3.7), приводят к тем же значениям для Yt и Y2. Это подтверждает ИХ устой­
чивость. ',,'; ,

Активная комбинация сигналов £> = 0, Yi = 0, действуя на входе; элемента И-НЕ 2, устанавливает на его выходе Q=l, на выходе элемента И-НЕ / уста­навливается Q = 0. Триггер оказывается установленным в состояние 6. При D = «=»1 и К|=0 активный уровень лог. О, действуя на входе элемента И-НЕ Л устанавливает на его выходе Q=l. Триггер оказывается в состоянии 1.

Таким образом, при действии на входе С положительного фронта сигнала триггер устанавливается в состояние, соответствующее поданной на вход D информации.

Заметим, что установленные в момент фронта сигнал С уровни Yx и Y2 в дальнейшем в течение всего времени действия сигнала С=1 остаются неизмен­ными, если даже и изменяется значение на входе D. Действительно, если под­ставить в правые части выражений (3.6) и (3.7), например, комбинацию зна­чений К, = 1 и Г2=0, то получим K,=OV1(1V0) = 1; Y2=0V0V0-D=0, что и подтверждает нечувствительность значений У, и Кг к значениям сигнала на вхо­де D после переключения триггера.

Для того чтобы могло произойти новое переключение триггера, необходи­мо воздействие на входе С нового фронта положительной полярности.

Для представления триггера данного типа в схемах используется условное изображение, показанное на рис. 3.12,6.

Триггеры обычно снабжают дополнительными асинхронными входами R<f (установки в состоянии 0) и S* (установки в состояние 1), сигналы на которых производят установку триггеров в соответствующее состояние, независимо от значения сигналов на входах D и С.

Цепи асинхронных входов Rd и S<< показаны на рис. 3.12,а штриховыми линиями. Условное обозначение D-триггера с асинхронными входами, Rd и Sd приведено на рис. 3.12,в.

На рис. 3.13 показана схема D-триггера, построенного на элементах ИЛИ-НЕ.

Выражения для логических уровней в точках Y\ и К2 данной схемы име­ют следующий вид (без учета входов R* и Si):

Анализ выражений, подобный приведенному пышс применительно к триг­геру, построенному на элементах И-НЕ, показываетт, что переключение тригге­ра происходит при отрицательном фронте сигнала на входе С. При этом пе­реключающие уровни определяются выражениями Yt = D и Y2—D.

На рис. 3.13,6 показано условное обозначение данного триггера.



Рассмотрим функционирование триггера со стороны установочных входов Rd и Sj. С учетом этих входов логические выражения для Y, и У2 имеют сле­дующий вид:

Для установки триггера в состояние Q = 0 подается сигнал Rd = \. При этом из (3.13) У2=0; из (3.12) при Г=0

Под действием таких управляющих сигналов Yt и У2 триггер устанавлива­ется в состояние Q=0. Заметим, что после того, как будет снят сигнал со вхо­да Rd, остаются неизменными уровни У| и У2 и они поддерживают установлен­ное в триггере состояние. Процессы при установке триггера в состояние 1 сиг­налом на входе Sd анализируются аналогично.

JK-триггер.Проанализируем работу триггера, схема которого приведена на рис. 3.15. Логические выражения для уровней на управляющих входах Yi и У2:



Т-триггер.Рассмотрим работу триггера, схема которого приведена на рис.

Логические выражения для уровней на управляющих входах У1 и У2 (по­строенные без учета показанных штриховой линией цепей установочных входов Rdи Б„):

При Г=1, Yi = Yi=Q входная триггерная структура сохраняет ранее уста­новленное в ней состояние.

Найдем для Yt и У2 выражения, соответствующие действию на входе Т от­рицательного фронта сигнала. Подставив в правые части выражений (3.10) и (3.11) значения У, = У2=О, получим

^1так, при Qo=O У2= 1 и этим уровнем выходная триггерная структура пе­реключается в состояние 'Q=*M; при Qo=l У^!, этим "уровнем выходная триг­герная структура переводится в состояние 0. Таким образом, при действии от­рицательного фронта сигнала на входе Т-триггер переключается в состояние Q, противоположное состоянию QO| в котором он ранее находился. Так«е функцио­нирование соответствует таблице состояний Т-триггера (табл. 3.2,г).



Уровни Yx и Y, здесь определяются следующими выражениями:

i i При С=0 на упраэляющих входах устанавливаются пассивные уровни У| =
= 1 и У2=1. не влияющие на состояние выходной триггерной структуры. При
положительном фронте сигнала на входе С уровни У\ и Уг определяются
выражениями, поручаемыми из (3:14) и (3.15) при подстановке С=\, Vi=l,
У2=1: ! ■ \ '' i

1 В ,1 табл. 3.3 приведены комбинации входных сигналов /, л и текущего сос­тояния тр!игге(ра (?о, действующих! в момент, непосредственно предшествующей моменту поступления- положительного фронта на вход С, а также значения У,, У2 и состояния триггера Q для ближайшего момента после фронта сигнала на входе С. Как видно из таблицы, действие сигналов У и К на состояние тригге­ра соответствует таблице состояний JK-триггера (табл. 3.26). I Отметим следующую особенность в работе рассматриваемого триггера. Из­менение сигналов на входах J и К, происходящее после положительного фрон­та, сигнала на входе С, может привести к изменению состояния триггера. Как видно из выражений (3.14) и (3.15), после действия положительного фронта сигнала на входе С изменение сигналов / или К с уровня лог. О к уровню лог. 1 окажет такое же действие, как в случае, если бы этот уровень лог. 1 был установлен на соответствующем входе J или К перед появлением фронта на в)рде С. Действительно, пусть перед поступлением фронта сигнала на вхо­де С .на информационных входах /j=0, К—0 и состояние триггера Qo=O. Оче­видно, I после действия фронта состояние триггера не изменится, но если затем

"значение на входе J изменится и станет /=1, то в соответствии с выражени­ем (3.14) на управляющем входе Y\ установится уровень У( = 0 и триггер пе­реключится в состояние Q=,l. Эту особенность работы рассматриваемого триг­гера следует учитывать при построении цифровых устройств.

ria рис. 3.16 приведена другая схема JK-триггера, лишенная этого недос­татка, i Проанализируем работу триггера, построенного по этой схеме.


При С=1 У,=0, У2=0.

Подставляя значения У,=-У2 = 0 » пыраженни (3.18) и (3.19), получаем для момента отрицательного фронта сигнала на входе С:

Пользуясь этими выражениями, можно построить таолицу состоянии трш-гера после действия фронта сигнала на входе С (табл. 3.4).

Отсюда следует, что функционирование триггера подчинено таблице пере­ходов JK-триггера (табл. 3.2,6).

Из табл. 3.4 видно, что значения У,, У2, Q встречаются в двух комбина­циях: У| = 1; У2 = 0; Q = 0 и Ki = 0; У2=1; Q=1. Если первую из этих комби­наций значений подставить в (3.18) и (3.19), то получим

т. е. комбинация К» = 1; У2=0 является устойчивой, и после действия; на входе С отрицательного фронта сигнала никакие изменения значений на входах J,. и К не могут изменить значений управляющих сигналов Y, и У?. Следовательно, триггер оказывается нечувствительным к изменению сигналов на входах J и К после действия отрицательного фронта сигнала на входе С.

Подстановка второй комбинации значений У,, У2, Q п (3.18) и (3.19) при­водит к

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

3.5. ШИФРАТОРЫ, ДЕШИФРАТОРЫ, ПРЕОБРАЗОВАТЕЛИ КОДОВ

ШИФРАТОРЫ

Шифратор (называемый также кодером) — устройство, осу­ществляющее преобразование десятичных чисел в двоичную си­стему счисления. Пусть в шифраторе имеется m входов, последо-



<== предыдущая лекция | следующая лекция ==>
Использование шлюзов вызова | Міністерство освіти і науки України


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.023 сек.