Сложные схемы


Предыдущая | Следующая
Сложные схемы
Триггеры. Триггер можно построить на двух электронных лампах, двух биполярных транзисторах, двух полевых транзисторах и других приборах. Для реализации триггера из двух элементов NAND, последние включаются так, как показано на рис. 7.36,6". Ключевой момент связан с перекрестным соединением двух элементов. Напомним, что триггер — это схема, которая может хранить Н- или L-уровень. Он хранит логический бит, когда один из двух элементов включен, а другой выключен. Триггер изменяет состояние, когда внешний сигнал заставляет измениться состояния элементов. Другими словами, выключенный элемент включается, а включенный выключается.
На рис. 7.36 показано соединение двух элементов NAND для образования запоминающего элемента, называемого RS-триггером. RS-триггер (рис. 7.37) обозначается квадратом с буквами FF (Flip-Flop — триггер). RS-триггер имеет два входа и два выхода. Вход установки S подан на контакт 5 нижнего элемента NAND, а вход сброса R — на контакт 1 верхнего элемента NAND. Выход О показывает состояние бита, а выход *Q — инвертированное состояние бита. Если, например, триггер хранит Н-уровень, на выходе О будет Н-уровень, а на выходе *Q — L-уровень.
Внутри контакт 3 выхода О соединен с контактом 4 нижнего элемента NAND, а контакт б выхода *Q — с контактом 2 верхнего элемента NAND. Таким образом, RS-триггер имеет два.входа и два выхода в отличие от элементов, имеющих два входа и только один выход. Поведение RS-триггера описывает таблица истинности, приведенная на рис. 7.38.

 

 

Базовый RS-триггер называется еще бистабильным триггером. Бистабильность означает, что один из элементов включен, а второй выключен, и два элемента будут сохранять такое состояние до воздействия внешнего импульса. При этом состояния элементов изменяются и остаются стабильными до подачи следующего импульса.
RS-триггер просто хранит один двоичный бит. Напомним, что логические элементы пропускают двоичные биты. Взаимодействие элементов и триггеров обеспечивает цифровую обработку.
Защелки. Защелка тоже предназначена для хранения бита. Типичной защелкой служит D-триггер (буква D означает Data — данные). Защелка, как и триггер, может^хранить Н- или L-уровень. Группа из восьми D-триггеров может хранить байт данных. Схематически D-триггер показан на рис. 7.39. Защелка имеет один вход для данных и еще один вход Е (Enable — разрешение), который служит ключом ВКЛ/ВЫКЛ триггера.
Триггер имеет два О и *Q. На выходе О действует состояние хранимого бита, а на выходе *Q — противоположное состояние. Микросхема 7475 имеет 16-контактный корпус DIP и содержит четыре бистабильных защелки (рис. 7.40), которые могут хранить четыре бита. Две такие микросхемы обеспечивают хранение байта данных.
Каждый триггер реализован на двух элементах AND, двух инверторах и элементе NOR (рис. 7.41). Элементы AND имеют перекрестные связи и могут хранить логическое состояние, которое выводится на выход О. Входной бит данных подается на один из входов элемента AND. Вторым входом служит сигнал разрешения. Когда на входе D действует L-уровень, а на входе разрешения Н-уровень, на выходе элемента AND появляется L-уровень. Он подается на один из входов элемента NOR. Тот же бит D проходит через инвертор и превращается в Н-уровень. Этот Н-уровень поступает на второй элемент AND, на втором входе которого действует Н-уровень сигнала разрешения. В результате элемент AND подает Н-уровень на второй вход элемента NOR.
Два элемента AND обеспечивают формирование выходов О и *Q, но они же соединены перекрестными связями. Таким образом, при подаче L-уровня на вход D и Н-уровня на вход разрешения на выходе О появляется L-уровень, а на выходе *О — Н-уровень. Если на вход D подан Н-уровень, на выходе О будет Н-уровень, а на выходе *О — L-уровень. При подаче L-уровня на вход разрешения триггер отключается и хранит введенные данные. Рассмотренные действия показаны в таблице истинности.
Мультиплексоры. В компьютерах часто применяются микросхема мультиплексора, которая представляет собой набор логических элементов для управления передачами битов по линиям шины. Например, в 8-битовом компьютере с динамическим ЗУПВ мультиплексор можно использовать на шине адреса. Такой компьютер имеет 16 линий адреса, которые могут адресовать память 64 Кбайт. Однако микросхемы 4164 динамических ЗУПВ имеют только восемь линий адреса. Следовательно, 16 бит необходимо подавать в два приема по восемь битов. Именно такую задачу и решает мультиплексор.

 

 

Микросхема 74LS257 представляет собой счетверенный двухвходовый мультиплексор с тристабильным выходом (рис. 7.42). Она содержит четыре независимые секции мультиплексора и может быть одним входным битом переведена в высокоимпедансное состояние. Микросхема может адресовать восемь линий, а две микросхемы могут управлять 16 линиями адреса 8-битового компьютера (рис. 7.43).
На рис. 7.44 показано, что каждая секция состоит из двух элементов AND и элемента OR. На один вход элемента AND каждой секции подается линия адреса. Каждая микросхема имеет восемь входов линий адреса и четыре выхода линий адреса.
Рассмотрим одну секцию, состоящую из двух элементов AND и одного элемента OR. Каждый элемент AND имеет вход от линии адреса и второй вход от контакта выбора (Select). На один из элементов AND подан прямой сигнал выбора, а на второй — инвертированный. В результате два входа выбора имеют противоположные состояния (когда один из них имеет Н-уровень, второй имеет L-уровень и наоборот). Следовательно, один будет проводить выбор, а второй не будет.
Выходы элементов AND подаются на входы элемента OR. Эти элементы допускают высокоимпедансное состояние, управление которым является общим. Сигнал управления подается на контакт 15 управления выходом. При подаче Н-уровня на вход 15 выходы микросхемы переходят в высокоимпедансное состояние. Таблица истинности покажет все другие комбинации входов и выходов.

 

Обычно микросхемы работают следующим образом. В микросхеме 4164 имеется матрица из 256 строк и 256 столбцов. Для адресации строки и столбца требуется по восемь битов. Все 16 линий адреса можно подать на 16 входов адреса двух микросхем мультиплексоров, по восемь линий в каждую микросхему.
Все биты адреса подаются параллельно. Подается также сигнал выбора. При Н-уровне сигнала разрешения в каждой микросхеме включаются по четыре элемента AND из восьми. Всего включается восемь элементов AND и восемь битов выводятся через элементы OR. Они представляют собой адрес строки микросхемы 4164.
При подаче L-уровня на вход выбора включенные элементы AND выключаются, а выключенные включаются. Через восемь элементов OR выдаются следующие восемь битов 16 линий адреса и адресуют столбец в микросхемах 4164.
Дешифраторы. Дешифратор в некотором смысле противоположен мультиплексору, поэтому иногда называется демультиплексором. Если мультиплексор воспринимает большое число входных линий и выводит меньшее их число, то дешифратор — наоборот. Например, микросхема 74LS138 имеет три входа данных и формирует из них восемь выходных сигналов.
Дешифратор 74LS138, показанный на рис. 7.45, имеет восемь выходов. Три входных бита образуют восемь комбинаций LLL, LLH, LHL, LHH, HLL, HLH, HHL и ННН. Каждая из этих комбинаций дешифруется внутренними элементами и выбирает одну из восьми выходных линий.
16-контактный корпус типа DIP (рис. 7.46) имеет*три входа выбора и восемь выходов. Имеется также три входа разрешения, упрощающих применение микросхемы. Питание +5 В и земля подаются на стандартные контакты.
Внутри дешифратора есть восемь элементов NAND (рис. 7.47). Выходы элементов NAND выведены на внешние контакты YO — Y7. Каждый элемент NAND имеет четыре входа. Сигналы на входы не подаются непосредственно с входных контактов, а берутся с промежуточных элементов, на которые поданы сигналы выбора и разрешения.

Три входа разрешения Gl, G2A и G2B подключены к элементу AND, выход которого становится одной линией разрешения. Отметим, что входной бит G1 пропускается через инвертор, а затем подается на инвертированный вход AND. Следовательно, входной бит инвертируется дважды и сохраняет то состояние, которое он имеет на входе G1.
Сигналы G2A и G2B при подаче на входы элемента AND инвертируются. В результате элемент AND включен и микросхема разрешена, когда на входе G1 имеется Н-уровень, а на входах G2A и G2B — L-уровни. В противном случае микросхема запрещена (выключена). Выход разрешающего элемента AND подан на один из входов всех элементов NAND. Он либо включает, либо выключает все элементы в соответствии с состояниями трех входов.
На каждой линии выбора имеется по два инвертора. У сигнала выбора, который берется между двумя инверторами, состояние инвертировано. Следовательно, каждая из этих трех линий содержит инвертированное состояние входа выбора. Отметим, что каждая из этих линий подключена ко входу четырех элементов NAND.
Каждый элемент NAND воспринимает четыре входа. Один вход подается от разрешающего элемента AND и три — от схем выбора. Элемент NAND включается, когда все четыре входа имеют Н-уровень. Таблица истинности (табл. 7.1) показывает, что элемент включается, когда он разрешен и выбран. При включенном состоянии элемент NAND выводит L-уровень; в противном случае на его выходе действует Н-уровень.
Проследим по рис. 7.47 один из восьми наборов входов и покажем, как три входных сигнала определяют один выход Y. Предположим, что входы С, В и А содержат уровни L —Н —L (три входа разрешения должны иметь уровни Н — L —L для любой из восьми выбирающих комбинации). L-уровень на входе С проходит через инвертор и становится Н-уровнем, который сразу же передается на элементы Y3, Y2, Y1 и Y0. Этот Н-уровень проходит также через второй инвертор и превращается в'L-уровень. Он подается на Y7, Y6, Y5 и Y4 и выключает их. Четыре элемента NAND Y3 —Y0 имеют Н-уровни на двух входах — от входов разрешения и от входа выбора С.

Одновременно Н-уровень подается на вход В, инвертируется и превращается в L-уровень, который подается на элементы Y5, Y4, Y1 и Y0 и выключает их. Далее L-уровень проходит через второй инвертор и превращается в Н-уровень, который подается на элементы Y7r Y6, Y3 и Y2. К настоящему моменту времени на все элементы NAND, кроме Y2 и Y3, подан хотя бы один L-уровень, который выключил их. Остались только элементы Y3 и Y2. Бит по входу А определит, какой из этих элементов включен.
На входе А действует L-уровень. Он проходит через инвертор и превращается в Н-уровень, который подается на элементы Y6, Y4, Y2 и Y0. Единственным кандидатом, не имеющим на входе L-уровня, является элемент Y2. Теперь на всех четырех входах элемента Y2 имеются Н-уровни: от входа А, от входа В, от входа С и от входа разрешения. Элемент Y2 включается и выводит на выход L-уровень. На всех остальных выходах действуют Н-уровни.
Рекомендуется самостоятельно проследить, каким образом любая входная комбинация выбирает только один выход.
Счетчики. Мультиплексоры и дешифраторы являются довольно простыми комбинациями логических элементов. Когда на элемент подается Н- или L-уровень, он распространяется на выход схемы и запоминающие элементы отсутствуют. Время учитывается только в задержке распространения, которая составляет примерно 15 не на элемент.
При объединении логических элементов и триггеров можно построить совершенно новые цифровые схемы, одной из которых является счетчик. Если, например, к двум элементам AND (рис. 7.48) добавить триггер, то получается схема, которая может считать. Конечно, она не сможет считать большие числа, но способна сосчитать двоичные нули и единицы, которые кодируются двумя уровнями напряжения (табл. 7.2).
Триггер и два элемента AND образуют двоичный счетчик. Счетчик может формировать также арифметический перенос.

 

Рассмотрим, как схема образует перенос. Триггер имеет два входа и два выхода. Выходы элементов AND подключены на входы триггера. Выходы триггера с помощью перекрестных связей подаются на входы элементов AND. Вторые входы элементов AND соединены и действуют как вход счетчика. Вход может быть одним логическим состоянием или потоком прямоугольных импульсов.
Если после подачи питания счетчик содержит нуль, то происходит следующее. На выходе О действует нуль, а на выходе *Q — единица. При L-уровне на выходе О считается, что счетчик содержит нуль, а при Н-уровне на выходе О счетчик содержит единицу. Выход О показывает хранимое состояние.
Когда в счетчике содержится нуль и на вход подается единичный импульс от внешнего источника, состояние триггера изменяется и на выходе О появляется Н-уровень. Выход *Q, как всегда, оказывается в противоположном состоянии. Так как на выходе О появилась единица, в счетчике хранится единица. Таким образом, состояние счетчика изменилось с нуля на единицу, т.е. он сосчитал поступившую на вход единицу.
Рассмотрим ситуацию до одновременной подачи единицы на оба элемента AND. Внешний вход содержит нуль. Сигнал нуль с выхода О подается на элемент AND перед входом установки, а единица — с выхода *О подается на вход элемента AND перед сбросом. Пусть теперь от внешнего источника поступила единица. Элемент AND перед установкой имеет входы 0 — 1, элемент AND перед сбросом имеет входы 1 — 1. Такая ситуация приводит к изменению состояния триггера.

На выходе О появляется состояние единица, а на выходе *О — состояние нуль. Следовательно, теперь счетчик содержит единицу. Кроме того, на выходе элемента AND перед сбросом появится единица. Если на счетчик подается поток прямоугольных сигналов, на каждый импульс он будет изменять свое состояние, т.е. считать 0, 1, 0, 1 и т.д. Если счетчик содержит единицу, то при поступлении нового импульса счетчик выводит единицу как арифметический перенос.
Один триггер является одноразрядным счетчиком (он может находиться в двух состояниях: нуль и единица). Если триггер находится в состоянии единица и на вход поступает сигнал «1», то триггер обнуляется и на выходе триггера появляется сигнал «1». Таким образом реализуется перенос в старший разряд при сложении единицы разряда двоичных чисел. При необходимости считать более единицы нужно просто увеличить число разрядов (рис. 7.49). Подключение второго разряда к выходу переноса обеспечивает добавление к счетчику еще двух двоичных цифр и можно считать 0, 1, 10, 11. При добавлении третьего разряда счет происходит в последовательности 0, 1, 10, 11, 100, 101, ПО, 111. Четвертый разряд обеспечивает счет в виде 0, 1, 10, 11, 100, 101, ПО, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111 (табл. 7.3).
Как видно, каждый дополнительный разряд удваивает диапазон представимых чисел. Отметим также, что при счете образуются все комбинации двоичных единиц и нулей или Н- и L-уровней. Этих два факта играют важную роль во взаимосвязях электронных схем и вычислений.
Для вашей последующей работы по ремонту компьютеров целесообразно запомнить двоичные числа от 0 до 16 и знать их 16-ричные представления.
Четырехбитовый двоичный счетчик. Четыре бита, которые могут представлять десятичную или 16-ричную цифру, являются базовой единицей для компьютеров. Они называются тетрадой или полубайтом. Байт состоит из двух тетрад и содержит две 16-ричные цифры.

 

В четырех битах имеется 16 комбинаций в виде десятичных чисел от 0 до 15. При рассмотрении содержимого регистров компьютера нуль считается обычным числом. Вам придется научиться считать с нуля, а не с единицы, как обычно.
Регистры компьютера кратны четырем битам. 16-битовый регистр содержит четыре десятичных цифры, а 32-битовый — восемь цифр. Довольно легко преобразовать двоичное содержимое любого регистра в тетрады с их десятичными значениями от 0 до 15.
В 16-ричной системе счисления кроме привычных цифр 0 — 9 имеются буквенные цифры А, В, С, D, Е и F, которые заменяют числа 10, 11, 12, 13, 14 и 15. Вам придется изучить 16-ричные числа и научиться осуществлять преобразования между системами счисления. Они довольны просты и не требуют сложных вычислений. Необходимость таких знаний связана с прослеживанием сигналов с помощью двоичных чисел.
Вам часто придется записывать двоичные числа и считывать их. Современные персональные компьютеры непосредственно не воспринимают двоичных чисел, хотя в них применяется только двоичная система счисления. Вам придется вводить двоичные числа, привлекая язык Бейсик или ассемблер. Для Бейсика вы должны уметь превращать двоичные тест-наборы в десятичные числа. Если, например, в Бейсике вам нужно поместить двоичное число 1101 в тетраду, вы вводите десятичное число 13. При работе на ассемблере тот же набор можно поместить в тетраду как 16-ричную цифру букву D.
В микросхеме 74L93 (рис. 7.50) задействовано десять из 14 контактов, а четыре контакта не используются. На контакты 5 и 10 подается питание +5 В и заземление. Счетчик имеет четыре входа и четыре выхода. Два входных сигнала поступают на элемент NAND, который осуществляет сброс счетчика. Когда на обоих входах имеются Н-уровни, счетчик сбрасывается в нуль, т.е. в триггерах образуется состояние LLLL. В противном случае микросхема готова к счету.
Вход А служит входом счетчика. Вход В подключается к выходу первого триггера группы (контакт 12). При этом вход В не мешает счету и соединяет первый разряд со вторым.
Рассмотрим подробнее устройство счетчика. Он состоит из четырех разрядов, каждый из которых может хранить один бит и имеет свой выход Qa, Ob, Ос и Od. Разряд Оа воспринимает единицу со входа А (контакт 14). Он сохраняет первый импульс и показывает единицу на выходе Оа (контакт 12). Вход В (контакт 1) соединен с Оа. Пусть на входе А появляется вторая единица. Соединение Оа и контакта 1 (входа В) передает выход Оа во второй разряд Ob и в нем сохраняется единица.

Можно проследить процесс счета по табл. 7.4. Когда на входе А появляется новая единица, разряды сохраняют ее и выводят Н-уровень в следующий разряд. В начале счета триггеры содержат LLLL, а после 15 импульсов — НННН. Четыре разряда будут содержать двоичный код числа импульсов, поданных на вход А.
Для получения 8-битового счетчика можно объединить две микросхемы 74S93. Восемь битов позволяют считать от 0 до 255. Два четырехбитовых счетчика образуют две тетрады, которые называются старшей и младшей. Младшая тетрада считает от 0 до 15, а старшая обеспечивает счет до 255.
После того как младшая тетрада доходит до 15, она передает Н-уровень в старшую тетраду и будет передавать его каждый раз, когда будет достигнуто число 15. Максимальное содержимое двух тетрад равно НННННННН, что эквивалентно десятичному числу 255. При объединении четырех тетрад они считают до НННННННННННННННН, т.е. до двоичного кода числа 65535, называемого 64 К. В 16-ричной системе это число равно FFFF. Каждая тетрада НННН соответствует одной цифре F.
Счетчики играют в компьютерах важнейшую роль, выполняя все расчеты, которые должен делать компьютер. Компьютер может прибавить к содержимому счетчика или вычесть из счетчика, применяя дополнительный код. С помощью счетчиков компьютер может умножать и делить. Для ремонта компьютеров можно не знать этих процессов, и они упомянуты только для того, чтобы подчеркнуть важность счетчиков.
Регистры сдвига. Кроме проведения счета триггеры и логические элементы могут действовать как регистры сдвига. Регистр сдвига — это группа триггеров, которые могут сдвигать свое содержимое на один бит вправо или влево. Что же полезного может дать сдвиг битов? Оказывается, сдвиг полезен во многих отношениях. Во-первых, он решает проблему преобразования последовательных потоков данных в параллельные

 

 

группы. Например, при вводе через модем данные представлены в форме последовательного потока L- и Н-уровней, которые передаются по телефонной линии. В компьютере данные необходимо поместить на шину данных. Шина данных состоит из восьми медных полосок, расположенных на печатной плате. Последовательный поток необходимо преобразовать в параллельную группу, что и осуществляет регистр сдвига.
Регистр сдвига может проводить и обратную операцию. Если компьютер имеет параллельные выходные данные, которые нужно превратить в последовательную форму, для этого также привлекается регистр сдвига.
Кроме преобразования последовательных битов в параллельные, регистр сдвига может осуществлять некоторые операции умножения и деления. Предположим, что в байтовом регистре сдвига младший бит содержит единицу. Содержимое регистра имеет вид 00000001, что соответствует десятичному числу 1. Сдвинем единицу в соседний старший бит или влево. В регистре окажется код 00000010, что соответствует числу 2. Еще раз сдвинем содержимое регистра влево. Теперь в нем окажется код 00000100 или десятичное число 4. После следующего сдвига в регистре будет число 8, затем число 16 и т.д. Нетрудно заметить, что сдвиг бита влево удваивает содержимое регистра. Аналогично при сдвиге вправо реализуется операция деления. В этом заключается одна из важных функций регистра сдвига.
В главе 5 рассматривался последовательно-параллельный регистр сдвига в составе сложной микросхемы ввода-вывода. Микросхема 7491 8-битового регистра сдвига (рис. 7.51) не проводит никаких последовательно-параллельных преобразований. Она просто имеет последовательный вход, сдвигает данные и затем выводит последовательные данные.
Из 14 контактов корпуса микросхемы 7491 задействованы только семь контактов. Контакты 5 и 10 служат для подключения питания +5 В и заземления. На контакты 11 и 12 подаются входы А и В, а на контакты 13 и 14 выведены сигналы О и *О последнего разряда. Синхронизация на контакте 9 обеспечивает сдвиг содержимого регистра.
Таблица истинности регистра сдвига очень проста (табл. 7.5). Если оба входа А и В имеют Н-уровень, то на выходе Q имеется Н-уровень, а на выходе *О — L-уровень. В противном случае на выходе Q действует L-уровень, а на выходе *Q — Н-уровень.
Схема на рис. 7.51 показывает восемь RS-триггеров, соединенных последовательно. Импульсы синхронизации проходят через инвертор, подаются на все восемь триггеров и синхронизируют их одновременно. Входы А и В подаются на элемент NAND, выход которого раздваивается, и один сигнал подается на инвертор, а второй — на вход сброса первого триггера. Выход с инвертора подается на вход установки первого триггера. Входы сброса и установки дополняют друг друга.
Триггеры соединены последовательно . Выходом регистра служат выходы Q и *О последнего триггера. При действии сигналов синхронизации входные сигналы с А и В проходит от триггера к триггеру до достижения Q и *Q. Биты данных сдвигаются по нарастающему фронту сигнала синхронизации.

 

 Поиск и устранение неисправностей в персональных компьютерах