Параллельный N-разрядный регистр состоит из N
триггеров, объединённых общими цепями управления. В качестве примера на рисунке
3.3, а приведена схема 4-разрядного параллельного регистра, построенного на
RS-триггерах D5…D8. Элементы D1…D4 образуют цепь управления записью, а элементы
D9…D12 - цепь управления чтением. Условное графическое обозначение
параллельного регистра хранения цифровой двоичной информации приведено на
рисунке 3.3, б.
а - функциональная схема параллельного регистра
б - интегральная микросхема параллельного регистра
Рисунок 3.3 - Пример структуры
параллельного регистра хранения двоичной информации
Перед записью информации все триггеры регистра устанавливают в состояние «0» путём подачи импульса «1» на их R-входы.
Записываемая информация подаётся на входы DI1…DI4. Для записи информации подаётся импульс «Зп», открывающий входные элементы «И». Код входного числа записывается в регистр. По окончании импульса «Зп» элементы D1…D4 закрываются, а информация, записанная в регистр, сохраняется несмотря на то, что входная информация может изменяться.
Для считывания информации подают сигнал «1» на вход «Чт». По этому сигналу на выходные шины регистра на время действия сигнала передаётся код числа, записанный в регистр. По окончанию операции чтения выходные ключи закрываются, а информация, записанная в регистр, сохраняется. Поэтому возможно многократное считывание информации.
Последовательные регистры или регистры сдвига представляют собой цепочку последовательно включённых D-триггеров или RS- и JK-триггеров, включённых в режим D-триггера. Появление импульса на тактовом входе регистра сдвига вызывает перемещение записанной в нём информации на один разряд вправо или влево. Как и другие регистры, регистры сдвига используются для записи, хранения и выдачи информации, но основным их назначением является преобразование последовательного кода в параллельный или параллельного в последовательный.
Схема 4-разрядного регистра сдвига
приведена на рисунке 3.4. Схема работает следующим образом. Благодаря тому, что
выход предыдущего разряда соединён со входом «D» последующего, каждый тактовый
импульс устанавливает последующий триггер в состояние, в котором до этого
находился предыдущий. Так осуществляется сдвиг информации вправо.
Рисунок 3.4 - Структурная схема
регистра сдвига
Вход «D» первого триггера служит для приёма в регистр входной информации DI в виде последовательного кода. С каждым тактовым импульсом на этот вход должен подаваться код нового разряда входной информации.
Запись параллельного кода информации может быть произведена через нетактируемые установочные входы триггеров (на рисунке 3.4 нетактируемые установочные входы триггеров не показаны).
С выхода «Q4» последнего триггера снимается последовательный выходной код. Код на этом выходе регистра появляется с задержкой относительно входного последовательного кода на число периодов тактовых импульсов, равное числу разрядов регистра.
Параллельный выходной код можно снять с выходов Q1…Q4 всех триггеров регистра сдвига, снабдив их выходными ключами, подобными выходным ключам параллельного регистра.
Временная диаграмма работы
регистра сдвига показана на рисунке 3.5.
Рисунок 3.5 - Временная диаграмма работы
регистра сдвига
Реверсивные регистры сдвига обеспечивают возможность сдвига информации как вправо, так и влево. Они имеют специальный вход управления направлением сдвига.
Поскольку транзисторы и логические элементы способны передавать сигналы только в одном направлении с входа на выход (слева направо), то, для сдвига информации влево, необходимо информацию с выхода последующих триггеров по специально созданным цепям подавать на входы предыдущих триггеров и записывать их следующим тактовым сигналом. Это эквивалентно сдвигу информации влево.
Фрагмент функциональной схемы реверсивного регистра сдвига приведён на рисунке 3.6.
Рисунок 3.6 - Реверсивный регистр сдвига
Если сигнал на входе направления сдвига N=1, то
потенциал на входе «Di» триггера определяется выходом Q триггера, стоящего
слева от него. Если N=0, то выходом триггера, стоящего справа.
(3.2)
Таким образом, при N=1 тактовые импульсы производят сдвиг информации вправо, а при N=0 - сдвиг информации влево.
Интегральные микросхемы регистров, как и другие микросхемы, имеют дополнительные управляющие входы, расширяющие их функциональные возможности и делающие их универсальными. В качестве примера рассмотрим микросхему К155ИР13.
К155ИР13 - это 8-разрядный реверсивный регистр сдвига с возможностью параллельной записи информации.
Буферный регистр КР580ИР82, входящий в состав микропроцессорного комплекта КР580, построен на D-триггерах и предназначен для записи и сохранения 8-разрядных данных в течение заданного промежутка времени. Этот регистр называют также регистром-защёлкой. Например, в микропроцессорных системах на микросхеме КР580 он используется сохранения в течение машинного цикла байта состояния, а на микропроцессоре 1810 - адреса, поступающего по мультиплексированной шине адреса-данных.
Многорежимный буферный регистр (МБР) К589ИР12 является универсальным 8-и разрядным регистром, состоящим из D-триггеров и выходных буферных схем с 3-мя устойчивыми состояниями. МБР имеет также встроенную селективную логику: «Схема управления режимами» и отдельный D-триггер для формирования запроса на прерывание центрального процессора.
МБР предназначен для использования в качестве
портов ввода информации в микропроцессор от внешних устройств, или портов
вывода информации из микропроцессора во внешние устройства.
3.3 Назначение и
принцип действия электронных счётчиков
В устройствах цифровой обработки информации измеряемый параметр (угол поворота, скорость, давление и т. п.) преобразуются в импульсы напряжения, число которых в соответствующем масштабе характеризует значение данного параметра. Эти импульсы подсчитываются счётчиками импульсов и выражаются в виде цифр [9].
Основными показателями счётчиков являются ёмкость и быстродействие.
Ёмкость, численно равная коэффициенту счёта, характеризует число импульсов, доступное счёту за один цикл. Как уже было показано выше, ёмкость определяется количеством разрядов счётчика.
Быстродействие или максимально возможная скорость работы оценивается двумя параметрами:
) разрешающая способность tраз.сч - минимальное
время между двумя входными сигналами, в течение которого ещё не возникают сбои
в работе счётчика. Величина, обратная разрешающей способности, называется
максимальной частотой счёта fmax. fmax определяет количество импульсов, которое
может подсчитать счётчик за 1 с.:= 1/tраз.сч (3.3)
) время установки кода счётчика tуст - это время между моментом прихода входного сигнала и переходом счётчика в новое устойчивое состояние.
Для удовлетворения потребностей разработчиков цифровых электронных устройств различного назначения разработаны интегральные микросхемы счётчиков с широким спектром параметров. Всё многообразие счётчиков можно классифицировать по следующим признакам.
По направлению счёта: суммирующие, вычитающие, реверсивные.
По коэффициенту счёта: двоичные, двоично-десятичные (декадные), с постоянным произвольным коэффициентом счёта, с переменным коэффициентом счёта.
По способу организации внутренних связей: с последовательным или параллельным переносом, с комбинированным переносом, кольцевые.
Классификационные признаки независимы и могут встречаться в разных сочетаниях. Например, суммирующие счётчики могут быть как с последовательным, так и с параллельным переносом и могут иметь двоичный или десятичный коэффициент счёта.
Простейшим счётчиком является Т-триггер, считающий до 2-х, то есть осуществляющий счёт и хранение не более 2-х сигналов.
Счётчик, образованный цепочкой из n триггеров сможет подсчитать в двоичном коде 2n импульсов. Число n определяет количество разрядов двоичного числа, которое может быть записано в счётчик. Число 2n называется модулем или коэффициентом счёта:
СЧ = 2n. (3.4)
Схема простейшего 4-х разрядного счётчика
приведена на рисунке 3.7, а. Принцип работы счётчика проиллюстрирован
временными диаграммами, приведёнными на рисунке 3.7, б.
Рисунок 3.7 - Схема двоичного суммирующего
счётчика (а) и временные диаграммы его работы (б)
Первый разряд счётчика переключается с приходом каждого входного импульса, что соответствует алгоритму работы Т-триггера. На каждые два входных импульса Т-триггер формирует один выходной импульс.
Второй разряд переключается в состояние «1» после прихода каждого 2-го импульса.
Третий разряд - после прихода каждого 4-го импульса.
Четвёртый разряд - после прихода каждого 8-го импульса.
Таким образом, единичные значения сигналов на выходах триггеров регистра появляются с приходом 1, 2, 4, 8 импульсов, что соответствует весовым коэффициентам двоичного кода. Поэтому с выходов триггеров регистра можно прочитать параллельный двоичный код числа импульсов, поступивших на его вход. Например, после прихода 5 импульсов единичные значения установятся на выходах Q1 и Q3 (см. пунктирную линию на рисунке 60,б), что соответствует коду числа 5: 0101B. Аналогично, после прихода 13-и импульсов на выходах триггеров установится код 1101B.
Если число входных импульсов NВХ>KСЧ, то при NВХ=KСЧ происходит переполнение счётчика, после чего счётчик возвращается в нулевое состояние и повторяет цикл работы.
После каждого цикла счёта на выходе последнего триггера возникают перепады напряжения, то есть формируется один импульс. Это свойство определяет второе назначение счётчиков - деление числа входных импульсов.
Если входные сигналы периодичны и следуют с частотой fВХ, то частота fВЫХ:
ВЫХ = fВХ / KСЧ (3.5)
В этом случае коэффициент счёта определяется как коэффициент деления и обозначается KДЕЛ.
У счётчика в режиме деления частоты используется сигнал только последнего триггера, а промежуточные состояния остальных триггеров не учитываются.
Всякий счётчик может быть использован как делитель частоты.
Реверсивный счётчик может работать в качестве суммирующего и вычитающего.
Суммирующий счётчик, как было показано выше, получается при подсоединении к входу последующего каскада прямого выхода предыдущего.
Каждый входной импульс увеличивает число, записанное в счётчик, на 1. Перенос информации из предыдущего разряда в последующий происходит при смене состояния предыдущего разряда (триггера) с 1 на 0.
Вычитающий счётчик получается при подсоединении к входу последующего каскада инверсного выхода предыдущего. Он действует обратным образом: двоичное число, хранящееся в счётчике, с каждым поступающим импульсом уменьшается на 1.
Перенос из младшего разряда в старший имеет место при смене состояния младшего разряда с 0 на 1.
Переполнение происходит после достижения счётчиком нулевого состояния, при этом в счётчик записывается максимально возможное значение, т.е. во все разряды - единицы.
Путём включения в схему суммирующего счётчика
(рисунок 3.7), дополнительных ЛЭ, переключающих на вход последующего триггера
прямого и инверсного выходов предыдущего, получается схема реверсивного
счётчика. Фрагмент схемы реверсивного счётчика приведён на рисунке 3.8.
Рисунок 3.8 - Фрагмент схемы реверсивного
счётчика
Схема имеет два входа для подачи входных сигналов: +1 - при работе в режиме суммирования, -1 - при работе в режиме вычитания. Дополнительный управляющий вход N задаёт направление счёта. При N=0 схема (рисунок 3.8) работает как суммирующий счётчик, а при N=1 - как вычитающий.
Для практической реализации электронных
счётчиков используются интегральные микросхемы К155ИЕ2,
К155ИЕ4
и
К155ИЕ5
и более современных серий (например, К555), условные обозначения которых
приведены на рисунке 3.9
а,
б,
в.
Рисунок 3.9 - Микросхемы счётчиков К155ИЕ2,
К155ИЕ4 и К155ИЕ5
Структурные схемы счётчиков содержат по 4-е JK-триггера в счётном режиме. Первый триггер имеет отдельный вход C1 и прямой выход - 1, три оставшиеся триггера соединены между собой так, что образуют параллельные счётчики с коэффициентами счёта равными 5 (К15ИЕ2), 6 (К155ИЕ4) и 8 (К1ИЕ5). При соединении выхода первого триггера со входом C2 цепочки из 3-х триггеров образуются электронные счётчики с коэффициентами счёта 10, 12 и 16 соответственно.
Микросхемы имеют по два входа R, объединённые по «И». Микросхема К155ИЕ2 имеет кроме того входы установки в состояние 9, при котором первый и последний разряды устанавливаются в «1», а остальные в «0», то есть 10012=9.
Наличие входов установки, например, в «0», позволяет строить делители частоты (счётчики) с различными коэффициентами деления (счёта) в пределах 2-16 без использования дополнительных логических элементов.
На рисунке 3.9, г показано преобразование счётчика, имеющего коэффициент счёта KСЧ=12, в десятичный.
До прихода 10-го импульса схема работает как делитель частоты на 12. Десятый импульс переводит триггеры МС в состояние, при котором на выходах 4 и 6 МС формируются лог. «1».
Эти уровни, поступая на входы R, объединённые по «И», переводят МС в состояние «0»; в результате чего KСЧ (KДЕЛ) становится равным 10.
3.4 Разработка
структурной схемы восьмиразрядного регистра хранения
Регистры - это важнейшие элементы структуры микропроцессоров (МП) и микроконтроллеров (МК).
Под структурой МП (МК) понимается собственно структурная схема реализации МП (МК) в целом, а также его функциональных узлов и блоков. На рис. 3.10 представлена структурная схема типового МК общего назначения - МК семейства AVR фирмы Atmel, являющегося одним из наиболее распространенных в настоящее время. Обозначения на рисунке 3.10:
) ЭСППЗУ - электрически стираемое перепрограммируемое постоянное запоминающее устройство;
) БСС - блок синхронизации и сброса;
) АЛУ - арифметико-логическое устройство;
) блок Т/С - блок таймеров-счетчиков;
) порты В/В - порты ввода / вывода (в дальнейшем, для краткости - порты);
) БИ - блоки интерфейса.
Типовой МК общего назначения включает в себя следующие основные функциональные узлы:
) центральное процессорное устройство (называемое также ядром МК, по-английски core), состоящее из АЛУ, регистров общего назначения (РОН), регистра и декодера команд, программного счетчика (который определяет адрес очередной команды) и регистров статуса и управления; структура ядра, как правило, одинакова у всех МК семейства (подсемейства);
) память команд и данных;
) блок синхронизации и сброса МК;
) блок прерываний;