Что такое сдвиговый регистр

Что такое регистр?

Регистр. Регистр сдвига

Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр

Регистр это устройство, выполненное на триггерах для выполнения ряда действий с двоичными числами. Для тех, кто не знает, что такое триггер, рекомендуем познакомиться с простейшим RS-триггером.

Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр

Обычно используются регистры, состоящие из 4, 8, или 16 триггеров. Изображение четырёхразрядного регистра на принципиальных схемах может быть таким.

Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр

На рисунке не показаны инверсные выхода триггеров и сигнал R. Регистры всегда обозначаются латинскими буквами RG. Если регистр сдвигающий, то под обозначением рисуется стрелка направленная влево, вправо или двойная.

Сдвигающие регистры или регистры сдвига.

Регистр сдвига это устройство, состоящее из нескольких последовательно соединённых триггеров, число которых определяет разрядность регистра. Регистры широко используются в вычислительной технике для преобразования кодов. Параллельного в последовательный и наоборот.

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

Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр

Регистр работает следующим образом. Первый информационный бит поступает на вход D0. Одновременно с этим битом приходит тактовый синхроимпульс на вход С. Входы С всех триггеров входящих в регистр, объединены между собой. С приходом первого тактового импульса уровень, находящийся на входе D0 записывается в первый триггер и с выхода Q0 приходит на вход следующего триггера, но записи во второй триггер не происходит, так как синхроимпульс уже закончился.

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

Допустим это уровни 01102. Тогда это двоичное число можно отобразить, подключив к выходам триггеров светодиоды. Так рассмотренный регистр изображается на принципиальной схеме.

Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр

Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр

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

V2 – вход управления. С его помощью выбирается режим работы регистра.

Q1 – Q4 выходы триггеров с которых снимается параллельный код.

V1 – вход для подачи последовательного кода.

C1, C2 – тактовые синхроимпульсы.

D1 – D4 – входы для записи параллельного кода.

Алгоритм работы регистра следующий. Если на вход V2 подать низкий потенциал, тактовые импульсы на C1, а на вход V1 подавать информационные биты, то регистр осуществляет сдвиг вправо. После приёма четырёх разрядов на выходах триггеров Q1 – Q4 мы получаем параллельный код. Таким образом осуществляется преобразование последовательного кода в параллельный.

Для обратного преобразования параллельный код записывается по входам D1 – D4, с подачей на вход V2 высокого потенциала и тактовых импульсов на вход С2. Затем подавая на вход V2 низкий потенциал, а тактовые импульсы на вход С1 мы сдвигаем записанный код, а с выхода последнего триггера снимается последовательный код.

По своей структуре это один из самых простых регистров сдвига.

Регистры сдвига в цифровой технике могут послужить основой, на которой собираются узлы с интересными свойствами. Это, например, кольцевые счётчики, которые называются счётчики Джонсона. Такой счётчик имеет количество состояний вдвое большее, чем число составляющих его триггеров. Например, если кольцевой счётчик состоит из трёх триггеров, то он будет иметь шесть устойчивых состояний. На вход счётчика ничего не подаётся кроме синхроимпульсов. В первоначальном состоянии все триггеры «сброшены», то есть на прямых выходах триггеров логические нули, а вот на входе D первого триггера с инверсного выхода третьего триггера находится логическая единица. Начнём подавать тактовые импульсы и процесс пошёл.

Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр

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

NQ2Q1Q0
1001
2011
3111
4110
5100
6000

Источник

Электроника для всех

Блог о электронике

Сдвиговый регистр

Иногда требуется ОЧЕНЬ много выходных портов. Особенно если хотим сделать что нибудь на светодиодах. Гирлянду какую-нибудь навороченную. Что делать? Брать под это дело ATMega128 с ее полусотней выводов? Избыточно — для ламеров. Ставить i 2 с расширитель портов? Дорого. Для мажоров. Тут на помощь из вековых глубин выплывает старая добрая дискретная логика. На этот раз нас выручит грошовый сдвиговый регистр. Возьму, для примера, 74HC164 он же, для любителей совковых трешевых микросхем в неубиваемом каменном корпусе, наш КM555ИР8.

Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр
Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр

От МК, как видно, требуется только четыре выхода. Одним (RESET) мы сбрасываем состояние регистра. Из второго (Data) побитно вылазит байтик, а тактовый CLC обеспечивает продвижение битов по регистру. Самих регистров тут три. Они сцеплены паровозом. Когда переполняется первый, то биты из него вылазят во второй, потом в третий. Итого, 24 вывода.
Катоды диодов подключены все вместе через транзистор и как только будет слово мы подаем сигнал Ready и зажигаем всю эту ботву.

Наполнять регистр просто:
1) Поднимаем и держим RESET в 1
2) Выдаем первый (старший) бит на Data.
3) Опускаем в 0 и поднимаем в 1 тактовый выход. На восходящем фронте происходит занос в регистр и сдвиг всей цепочки на один шаг.
4) Повторить со второго пункта пока все биты не выдадим.

А для сброса достаточно уронить Reset в ноль на пару микросекунд.
Все просто 🙂

Спасибо. Вы потрясающие! Всего за месяц мы собрали нужную сумму в 500000 на хоккейную коробку для детского дома Аистенок. Из которых 125000+ было от вас, читателей EasyElectronics. Были даже переводы на 25000+ и просто поток платежей на 251 рубль. Это невероятно круто. Сейчас идет заключение договора и подготовка к строительству!

А я встрял на три года, как минимум, ежемесячной пахоты над статьями :)))))))))))) Спасибо вам за такой мощный пинок.

120 thoughts on “Сдвиговый регистр”

mc14094 получше
я управлял 3мя индикаторами по 2м проводам

Источник

Сдвиговый регистр 74HC595

Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр

Функционал и назначение у сдвиговых регистров довольно велик. Сегодня мы познакомим одного из них с Arduino (Отличный способ множить выходы у Arduino: занимаем 3, получаем 8).

Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр

— выход Q7` не трогаем (предназначен для последовательного соединения таких регистров)

— ну и OE притягиваем к земле (подключаем к контакту GND).

Получается вот, такая схема:

Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр

На BreadBoard можно разместить вот, так:

Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр

Теперь к коду:

— как говорилось ранее, библиотека SPI использоваться не будет. Есть удобная функция shiftOut().

потом в void setup() обозначаем их как выходы и сразу ставим защёлке высокий уровень, чтобы регистр не принимал сигналов:

теперь давайте попробуем что-нибудь отправить на регистр:

— для начала ставим LOW на защёлку (начинаем передачу данных. Теперь регистр принимает сигналы с Arduino).

— потом отправляем данные (т. е. отправляем байт в цифровом или двоичном виде. В двоичном проще, т. к. каждый из 8 битов отвечает за свой разряд в регистре. Проще сориентироваться глазами):

Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр

Для начала отправим байт 0b10000000; (должен будет загореться первый светодиод):

— и в конце выставляем HIGH на защёлку (заканчиваем передавать данные).

В итоге весь наш код:

Теперь вгружаем в ардуину. Результат должен быть таким (зажёгся первый светодиод):

Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр

(если у вас зажёгся не первый, а последний светодиод, то в функции shiftOut поменяйте LSBFIRST на MSBFIRST и всё станет на свои места).

Итак, получилось! Предлагаю создать функцию для того, чтобы каждый раз не писать эти 3 СТРОЧКИ:

Я назову её: sendbyte;

Эта функция отправляет регистру состояние всех разрядов сразу. Это пригодится для управления семисегментом (например). Но, чтобы использовать регистр как расширитель портов, нужно управлять каждым разрядом по-отдельности (аналогично функции digitalWrite()):

(P. S.: Сейчас долгое и нудное объяснение (новичкам), кому не интересно, спуститесь чуть ниже :);

— Итак, сначала создаём, так называемую (мною), базу данных, в которой будет храниться состояние каждого разряда (включен(HIGH) или выключен(LOW)). тип: boolean:

Только что у нас появился массив переменных;

— Теперь напишем функцию (я назову её: sendpin). Она будет принимать 2 значения: номер разряда, и уровень, который нам надо этому разряду приписать: высокий(HIGH) или низкий(LOW).

— из-за того, что счёт начинается с нуля, нам придётся называть первый пин нулевым. Чтобы это исправить (мы будем писать как есть(первый, значит первый), а Arduino будет сама отбавлять один), Я написал:

— Затем отмечаем изменения в базе данных:

Теперь надо сформировать из 8 битов байт и отправить его на регистр.

— для начала создаём переменные:

теперь нам нужно прокрутить в базе данных все 8 переменных и сформировать байт (делать это будем с помощью цикла for():

Теперь остаётся только послать value на регистр:

В принципе, если понять, то всё очень просто.

Итак, давайте попробуем включить 2, 4, 6, и 8 разряды отдельно (4 раза напишем в цикле нашу функцию):

И кстати, в setup-e нужно очистить регистр (послать 0).

Источник

Всё о сдвиговом регистре

Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр

Ардуино: всё о сдвиговом регистре

Сдвиговый регистр — очень распространенное устройство, которое часто применяется для упрощения работы с сегментными индикаторами, с линейками и с матрицами светодиодов. Все эти устройства состоят из множества светодиодов, и если управлять ими напрямую, потребуется занять много выводов контроллера. К примеру, для подключения обычного сегментного индикатора необходимо задействовать восемь выводов. Два таких индикатора займут уже 16 ног Ардуино.

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

Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр

В электронике регистром называют устройство, которое может хранить небольшой объем данных для быстрого доступа к ним. Они есть внутри каждого контроллера и микропроцессора, включая и микроконтроллер Atmega328 — сердце Ардуино Уно. Как правило регистры представляют собой сборку из D-триггеров — элементарных ячеек памяти, с которыми мы уже встречались в отдельном уроке. Записывать данные в регистр можно либо последовательно, либо параллельно. Регистры первого типа называются сдвиговыми, второго типа — параллельными.

Считывать данные из регистра можно одновременно из всех ячеек. Именно это его свойство помогает нам работать с кучей светодиодов.

Источник

Принцип работы РСЛОС

Введение

Регистр сдвига с линейной обратной связью (РСЛОС, англ. Linear Feedback Shift Register, LFSR) — сдвиговый регистр битовых слов, у которого значение входного бита однозначно задается некоторой функцией, исходя из значений остальных битов регистра до сдвига. Регистр сдвига может представлять собой некоторую электрическую схему, составленную из дискретных компонентов: транзисторов, резисторов, также может быть интегрирован в микросхему или же реализован в программе. Добавление обратной связи превращает регистр сдвига в генератор псевдослучайных чисел, который находит широкое применение в криптографии. В статье мы разберем принцип работы РСЛОС от hardware до различных его применений.

Регистр, в общем случае – это схема, состоящая из связанных между собой однобитовых элементов памяти. Такие схемы умеют записывать, хранить, считывать n-разрядные двоичные данные. В статье рассматривается вид регистра, называемый регистром сдвига. Чаще всего регистр сдвига собирается на основе последовательно соединенных D-триггеров, притом количество этих триггеров равно числу разрядов n. С принципов работы D-триггера мы и начинаем статью.

D-триггер

Кратко затронем самые основы. Глобально, электронику можно разделить на два раздела: аналоговый и цифровой. Принципиальная особенность второго заключается в том, что сигналы задаются дискретными уровнями напряжения. Притом дискретных уровня всего два. Таким образом, вместо того, чтобы записывать напряжение в вольтах, достаточно просто называть один из двух дискретных уровней. Так и появляются названия «ноль» и «единица». В действительности, они определяют некоторые уровни напряжения, которые могут быть какими угодно. Хотя, в большинстве случаев, «ноль» обозначает уровень 0 Вольт, а «единица» уровень 5 В, 3.3 В, 1.8 В, 1.5 В и т.д. Таким образом, фраза «на входе ноль, на выходе единица» обозначает: «на входе напряжение, соответствующее уровню ноль, на выходе напряжение, соответствующее уровню единица».

Двигаемся далее. Теперь у нас есть цифровой сигнал, что же интересного можно с ним сделать? Подать на D-триггер и посмотреть, что будет! Но сначала дадим пару определений.

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

D-триггер – триггер, сохраняющий состояние входа. Притом, это состояние отображается на выходе

На электрической схеме устройства D-триггер выглядит ровно так же, как на рисунке ниже. Такой вид триггера обязательно имеет три вывода: D (вход), C (вход синхронизации, вход тактирования, тактовый вход, clk, clock) и Q (выход). Помимо них могут иметься еще: инвертированный выход, входы сброса и установки значения на выходе, вход разрешения работы. Однако, суть работы заключается именно во взаимодействии трех обязательных выводов, поэтому именно их мы и рассмотрим.

Что такое сдвиговый регистр. Смотреть фото Что такое сдвиговый регистр. Смотреть картинку Что такое сдвиговый регистр. Картинка про Что такое сдвиговый регистр. Фото Что такое сдвиговый регистр

Принцип работы D-триггера следующий: при подаче тактового сигнала на вход C, состояние на выходе становится равным состоянию на входе. Т. е. если в какой-то момент времени на входе был «ноль», а на выходе «единица», то в момент подачи тактового сигнала выход примет состояние входа и станет «нулём».

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *