|
|
<< Предыдущая страница | К оглавлению | www.mirmk.ru | Следующая страница>> |
Глава 6. Хранение информации.
Для хранения цифровой информации используются более сложные цифровые элементы, такие, как D-триггеры, JK-триггеры и различные регистры. Рассмотрим сначала устройство и логику работы D- триггера. Схемное обозначение типичного D-триггера приведено на рис. 15. На рисунке изображен не просто D-триггер, а комбинированный элемент. В этом элементе объединены два триггера. Как видите, у него имеются входы R и S. Если использовать только эти входы, то мы получим уже знакомый RS-триггер. В режиме D- триггера на входах R и S должен присутствовать сигнал лог. 1. У чистого D-триггера имеются всего два входа: вход D и вход C. Вход D – это вход данных (DATA). На него приходит логический сигнал, который необходимо запомнить в D-триггере. Вход C – называется тактовым. На него поступает тактовый импульс, по которому сигнал с входа D записывается в триггер. Вообще вход со стрелкой в условном обозначении любого элемента означает, что данный вход работает по фронту или по спаду входного сигнала. То есть не важно, ноль или единица присутствует на входе. Когда сигнал на таком входе не изменяется, это не влияет на состояние триггера. Все изменения происходят либо по фронту, либо по спаду входного сигнала. Фронтом входного сигнала называют момент перехода входного сигнала из состояния логического нуля в состояние логической единицы. А спадом – момент перехода входного сигнала из состояния логической единицы в состояние логического нуля. Стандартный D-триггер работает по спаду входного сигнала. В момент, когда на входе C сигнал логической единицы меняется на сигнал логического нуля, происходит запись информации в триггер со входа D. Если в момент прохождения спада сигнала на входе C на D была лог. 1, то триггер установится в единичное состояние. То есть на выходе Q будет лог. 1, а на выходе Q – лог. 0. Если в момент спада на входе D был лог. 0, то и триггер установится в нулевое состояние (Q = 0, не Q = 1).
Теперь представим, что у нас имеется, какой ни будь, изменяющийся во времени цифровой сигнал и в определенный момент времени необходимо запомнить его мгновенное значение, то для этого удобно использовать D-триггер. Сигнал подается на вход D триггера. На вход C подается тактовый импульс с таким расчетом, что бы его спад пришелся на тот момент времени, когда требуется запоминание. Один D-триггер способен запомнить только один двоичный разряд. Для того, например, что бы запомнить восьмиразрядное двоичное число потребуется восемь D-триггеров. При этом все C-входы необходимо соединить вместе, и на них подать тактовый импульс. Каждый разряд шины данных, по которой будет передаваться двоичное число, подлежащее запоминанию, подключается к соответствующему D-входу своего отдельного триггера. Такой способ часто используется для выборки из цифрового потока нужного числа. На шине данных микропроцессорного устройства в разные моменты времени присутствуют разные цифровые сигналы. Обычно это ряд цифр, которые направляются от процессора к разным ячейкам памяти и периферийным устройствам. А так же и в обратном направлении, от ячеек к процессору. Подключенные к шине данных несколько D-триггеров получают от процессора тактовый сигнал, по которому эти триггера запоминают предназначенное для них число именно в тот момент, когда оно будет присутствовать на шине данных. В нашем позиционере спутниковой антенны, два D-триггера используются именно таким образом для запоминания сигнала управления двигателем. Рассмотрим еще один вид триггеров - JK-триггер (см. рис. 16.). Как видно из рисунка, вместо одного D-входа такой триггер имеет два входа – J и K. Логика работы такого триггера более сложна, чем у D-триггера. Если на J-вход подать сигнал логической единицы, а на K-вход – сигнал логического нуля, то по спаду тактового сигнала триггер установится в единичное состояние. Если на J подать лог. 0, а на K - лог. 1, то по спаду тактового импульса триггер установится в нулевое состояние. Если на обоих информационных входах лог. 1, то по каждому спаду тактового импульса триггер будет переключаться в другое, противоположное положение. После первого импульса триггер в единичном состоянии, после второго в нулевом, после третьего, опять в единичном. И так далее. То есть, в этом случае триггер будет работать как делитель частоты. Так как частота следования импульсов на выходе триггера будет в два раза меньше, чем частота импульсов на тактовом входе. Если на J и на K входах триггера присутствует сигнал логического нуля, то триггер остается в одном и том же состоянии и не реагирует на тактовые импульсы. Нужно заметить, что JK-триггеры довольно редко применяются в цифровой и микропроцессорной технике.
Теперь перейдем к устройствам хранения информации более высокого уровня. Обычно для запоминания цифровых сигналов используются параллельные регистры. Параллельный регистр – можно представить как несколько соединенных параллельно D-триггеров, выполненных в виде отдельного устройства. На рис. 17 показан параллельный регистр на 8 разрядов. Регистр имеет 8 входов данных (D0…D7). Каждый из входов, по сути, является D-входом соответствующего D-триггера. Регистр так же имеет 8 прямых выходов. В регистрах не принято выводить инверсные выходы. Это связано с ограничениями на число выводов микросхем. Далее, у регистра имеется тактовый вход C и вход сброса R. Вход C можно рассматривать, как единый вывод параллельно соединенных между собой, C входов всех восьми, входящих в регистр D-триггеров. Аналогично , вход R регистра – это единый вход всех, параллельно соединенных R входов внутренних триггеров регистра. Рассмотрим логику работы параллельного регистра. Для нормальной работы регистра на вход R, как и в предыдущих случаях, необходимо подать сигнал лог. 1. На входы D0…D7 регистра подается цифровой сигнал с восьмиразрядной цифровой шины данных. Для того, что бы записать цифровой код с шины данных в регистр, в нужный момент времени на вход C подается тактовый импульс записи. По спаду тактового импульса цифровой сигнал со входов записывается во все разряды регистра. В тот же самый момент он появляется на соответствующих выходах. Вход R служит для начальной установки (сброса) регистра. При подаче на вход R сигнала логического нуля все внутренние D-триггеры установятся в нулевое состояние. При этом на всех выходах так же установится низкий логический уровень. Вход R имеет приоритет над всеми другими входами регистра. Это значит, что если на вход R подан сигнал лог. 0, то все триггеры регистра сбрасываются, не зависимо от сигналов на остальных его входах. Вход сброса регистра нужен в сложных цифровых устройствах для того, что бы можно было установить все регистры устройства в начальное состояние. Вход S для регистров не имеет смысла и никогда не выводится. На рисунке 18 изображен более сложный параллельный регистр. Это регистр специально орентирован на применение в микропроцессорной технике. В этом регистре отсутствует вход начальной установки R. Зато у него имеются два новых управляющих входа.
Во первых, это вход CS. Это так называемый вход выбора микросхемы (Chip Select). Этот вход инверсный, что отмечено кружочком на условном изображении регистра. Инверсным вход называется потому что, если на него подан сигнал логической единицы, то микросхема не выбрана. Выбор микросхемы происходит по нулевому сигналу на входе CS. Когда микросхема не выбрана, она отключена по всем остальным своим входам и не реагирует не на какие входные сигналы. Если подать на вход CS сигнал низкого логического уровня, то регистр переходит в рабочее состояние. При этом входы D0…D7 и вход C будут работать так же, как и в регистре, приведенном в предыдущем примере (рис. 17.). Наличие входа выбора микросхемы позволяет соединять параллельно входы нескольких регистров, но таким образом, что бы была возможность задействовать каждый из них по отдельности. Вместе соединяются одноименные входы данных регистров (входы D0 – D7), а так же входы синхронизации C. При этом входы CS регистра вместе не соединяются и служат для активизации разных регистров в разные моменты времени. Сначала сигнал выбора микросхемы подается вход CS лишь одного из параллельно соединенных регистров. На входы CS остальных сигнал выбора не подается (там остается лог. 1). При этом с шиной будет работать лишь один выбранный регистр. Затем таким же образом активизируется другой. У регистра на рис. 18 имеется еще один, ранее неизвестный для нас вход. Это вход OE. Он предназначен для перевода выходов Q0…Q7 регистра в состояние, когда они отключены от внутренней схемы регистра. Это так называемое «высокоимпендансное состояние». Импенданс, как известно – это полное сопротивление цепи (с учетом активной и реактивной его составляющей). То есть, если на вход OE подать сигнал лог. 1, то выходы внутренних D-триггеров регистра при помощи специальных внутренних ключей будут отключены от выводов микросхемы. Выводы при этом окажутся никуда не подключенными, и не будут влиять на схему, куда подключен данный регистр. При подаче на вход OE сигнала лог. 0, выходы внутренних D-триггеров регистра подключатся к схеме. Такое устройство выходов регистра позволяет выходы нескольких регистров соединять параллельно. При этом появляется возможность осуществлять выбор одного из параллельно подключенных регистров, но уже по его выходам. Для этого только у одного из регистров на вход OE должен присутствовать сигнал лог. 0, активизирующий его выходы. На входы OE остальных регистров необходимо подать сигнал лог. 1, отключающий их от схемы. Таким образом, к одной шине данных можно подключить любое количество регистров, которые могут выполнять роль портов ввода/вывода или ячеек памяти. Это один из основополагающих принципов построения микропроцессорных устройств, когда к одной шине подключены множество устройств и каждое из них может передавать цифровой сигнал любому другому устройству и получать сигнал от любого другого устройства, но в разные моменты времени. В каждый момент времени существует только одно устройство, передающее цифровой сигнал в шину и одно устройство, принимающее этот сигнал. |