» »

Реєстри. Зсувний регістр Зсувний регістр принцип роботи

07.07.2023

1. Зміст

2. Введення …………………………………………………………… 2

3. Огляд літературних джерел ………………………………… 3

3.1. Загальні відомостіпро регістри ………………………………… 3

3.2. Загальні відомості про тригери …………………………….…... 6

3.3. Зсувні регістри ……………………………………….. 12

3.4. Універсальні регістри ……………………………………….. 20

4. Розробка схеми регістру зсуву ………………………………… 24

4.1. Вихідні дані ……………………………………………… 24

4.2. Порядок розробки регістру зсуву …………………..……… 24

4.3. Розробка чотирифазного регістру зсуву ……………………… 25

5. Висновок ……………………………………………………………. 27

6. Список використаної літератури …………………………………. 28


2. Вступ

Реєстри– найпоширеніші вузли цифрових пристроїв. Вони оперують із безліччю пов'язаних змінних, що становлять слово. Над словами виконується ряд операцій: прийом, видача, зберігання, зсув у розрядній сітці, порозрядні логічні операції.

Зсувні (послідовні) регістри використовуються для зсуву n-Розрядних чисел в одному напрямку. Крім того, їх можна застосовувати для зсуву нечислової інформації.

Регістри зсуву застосовують як запам'ятовуючі пристрої, як перетворювачі послідовного коду в паралельний, як пристрої затримки і лічильників імпульсів (правда, застосування зсувних регістрів як лічильників досить неекономічно).

3. Огляд літературних джерел

3.1. Загальні відомості про регістри

Регістри складаються з розрядних схем, в яких є тригери і найчастіше також і логічні елементи. Діють вони як єдине ціле.

За кількістю ліній передачі змінних регістри поділяються на однофазні та парафазні, за системою синхронізації на однотактні, двотактні та багатотактні. Однак головною класифікаційною ознакою є спосіб прийому та видачі даних. За цією ознакою розрізняють паралельні (статичні)регістри, послідовні (зсувні)і паралельно-послідовні .

У паралельних регістрах прийом та видача слів проводиться у всіх розрядах одночасно. Вони зберігаються слова, які можуть бути піддані порозрядним логічним перетворенням.

У послідовних регістрах слова приймаються та видаються розряд за розрядом. Їх називають зсуваючими, так як тактуючі сигнали при введенні та виведенні слів переміщують їх у розрядній сітці. Регістр, що зсуває, може бути нереверсивним (з односпрямованим зрушенням) або реверсивним (з можливістю зсуву в обох напрямках).

Послідовно-паралельні регістри мають входи-виходи одночасно послідовного та паралельного типу. Є варіанти з послідовним входом та паралельним виходом (SIPO, Serial Input – Parallel Output), паралельним входом та послідовним виходом (PISO, Parallel Input – Serial Output), а також варіанти з можливістю будь-якого поєднання способів прийому та видачі слів.

У паралельних (статичних) регістрах схеми розрядів не обмінюються даними між собою. Спільними для розрядів зазвичай є ланцюги тактування, скидання/установки, дозвіл виходу чи прийому, тобто ланцюги управління. Приклад схеми статичного регістру, побудованого на тригерах D-типу з прямими динамічними входами, має входи скидання R і виходи з третім станом, керовані сигналом EZ, показаний на малюнку 1 .

Малюнок 1.Схема статичного регістру (а) та його умовне графічне позначення(б)

Для сучасної схемотехніки характерна побудова регістрів на тригерах D-типу, переважно динамічним управлінням. Багато хто має виходи з третім станом. Деякі регістри відносяться до буферних, тобто розраховані на роботу з великими ємнісними та/або низькоомними активними навантаженнями. Це забезпечує їхню роботу безпосередньо на магістраль (без додаткових схем інтерфейсу).

Зі статичних регістрів складаються блоки регістрової пам'яті – регістрові файли.

Основні функції регістрів:

1) Зберігання інформації,

2) Прийом інформації,

3) Видача інформації,

4) Зрушення інформації,

5) Перетворення кодів,

6) Встановлення в нуль чи одиницю необхідного числа,

7) Порозрядні логічні операції: диз'юнкція, кон'юнкція, додавання за модулем 2.

3.2. Загальні відомості про тригерів

Тригери –великий клас електричних пристроїв, що дозволяють довго перебуває в одному з двох (або більше) стійких станів і чергувати їх під впливом зовнішніх сигналів (внаслідок регенеративного процесу (перехідний процес у електричного ланцюга, Охопленої ПОС)).

Тригер – імпульсний логічний пристрій із пам'яттю (елемент пам'яті – фіксатор).

Існує понад десяток різних інтегральних тригерів. В основу їх класифікації покладено:

Функціональна ознака,

Спосіб запису інформації у тригер.

За функціональною ознакою розрізняють Т-тригери, JK-тригери, RS-тригери, D-тригери, комбіновані тригери (TV, DV, E, R) і т.д.

За способом запису (прийому) інформації розрізняють:

8) Асинхронні тригери:

а) із внутрішньою затримкою;

б) керовані рівнем вхідного імпульсу;

9) Синхронні тригери (тактовані):

а) із внутрішньою затримкою;

б) керовані рівнем тактуючого імпульсу:

Однотактні дії (одноступінчасті);

Багаторазової дії.

Запис інформації в тригери, що тактуються, здійснюється тільки при подачі дозволяючого тактуючого імпульсу. Такі тригери ділять на керовані рівнем (для спрацьовування необхідний певний рівень сигналу) і керовані фронтом (не залежить від рівня сигналу, важлива його присутність) тактуючого імпульсу. Тактуючи імпульси іноді ще називають синхронізуючими, виконавчими, командними сигналами (на схемах зазвичай позначають буквою С - Clock).

Динамічний вхід може бути прямим та інверсним. Пряме динамічне керування має на увазі дозвіл на перемикання при зміні тактового сигналу з нульового значення на одиничне (). Інверсне динамічне керування – зміна тактового сигналу з одиничного на нульовий (). Керування фронтом тактуючого імпульсу: Управління спадом тактуючого імпульсу: Управління верхнім рівнем тактуючого імпульсу:

Управління нижнім рівнем тактуючого імпульсу:

Тригери, що тактуються, з внутрішньою затримкою (спрацьовують після закінчення дії сигналу) є, як правило, однотактними. Багатотактні тригери спрацьовують після nного імпульсу.

RS-тригер має два інформаційні входи: S (Set) і R (Reset). Одночасна подача сигналів S та R не допускається. на малюнку 2зображено синхронний RS-тригер, що спрацьовує по фронту тактуючого сигналу.

Малюнок 2.Синхронний RS-тригер

Крім входів, найпростіший RS-тригер має два виходи. Виходи позначають Qі

. Вихід Qназивають прямим, a – інверсним. Рівні напруги на обох виходах взаємно інверсні: якщо сигнал Q= 1, то = 0, або якщо Q= 0, то = 1. Необхідно зазначити, що стан тригера, у якому Q= 1, a = 0, називають одиничним. При нульовому стані тригера Q= 0 і = 1. Зі надходженням сигналів на входи тригера залежно від його стану або відбувається перемикання, або вихідний стан зберігається.

Малюнок 3.тригер: його умовне графічне позначення та схема з двома логічними елементами І-НЕ

Цей огляд присвячений, власне, початківцям Arduino або бажаючим долучитися до цієї справи. Йтиметься про збільшення кількості виходів мікроконтролера за допомогою зсувного регістру, причому це не вимагає великих витрат (у порівнянні з покупкою Arduino Mega, наприклад). Найпростіше застосування - поблимати світлодіодами, от і спробуємо це на практиці.

Коли починав знайомство з мікроконтролерами (власне і зараз все ще продовжую «починати знайомитися»), одне з перших питань було: як маючи всього десяток виходів на контролері керувати тією ж сотнею, тисячею світлодіодів? Так, можна використовувати мультиплексування сигналу, зустрічне включення і безліч інших хитрощів, але все одно максимальна кількість світлодіодів, що підключаються, обмежена, і необхідно шукати інше рішення. І підказали мені один із варіантів – «візьми одну, дві, десяток мікросхем зсувних регістрів і розважайся». Було вирішено відразу їх замовити, а в перспективі навіть зібрати світлодіодний куб з їх застосуванням. Від останнього правда довелося відмовитися, знайшов простіший варіант, але це тема іншого огляду.
Замовив одразу 20 штук 74HC595N, благо стоять справжні копійки. Літера N наприкінці маркування означає, що мікросхема в корпусі DIP-16, дуже зручно для експериментів на макетній платі, нічого навіть паяти не треба. Виглядає так:




Що ж являє собою ця мікросхема? Це восьмирозрядний зсувний регістр з послідовним введенням, послідовним або паралельним виведенням інформації, з тригером-клапанцем і трьома станами на виході.
Простіше кажучи, використовуючи лише 3 виходи контролера можна керувати 8 виходами зсувного регістру. А якщо мікросхеми з'єднати послідовно один за одним, то кількість контрольованих виходів можна нарощувати до будь-якої розумної межі (не знайшов граничної кількості, але сотнями начебто об'єднуються без проблем; якщо хтось знає, від чого залежить гранична кількість включених до каскаду мікросхем - цікаво було б дізнатися у коментарях).
Дані до мікросхем передаються послідовно. Біти 0 і 1 передаються в регістр один за одним, зчитування бітів відбувається при надходженні синхроімпульсу. Передав 8 біт – отримав 8 вихідних станів на виходах регістру. При каскадному включенні 74HC595 (при необхідності отримання 16, 24 тощо виходів) дані від першого регістру передаються до наступного.
Вихід регістру може бути у стані логічних 0 чи 1, а й у високоімпедансному стані, коли вихід відключений від схеми. У цей стан можуть бути переведені лише всі виходи відразу. Це рідко використовується, але може бути корисним при перемиканні управління на інший контролер, наприклад.

Розпинування входів/виходів

Q0…Q7 – виходи регістру, можуть бути в стані 0, 1 або високоімпедансному
GND – земля
Q7′ – вихід для послідовного з'єднання регістрів.
MR – скидання значень регістру
SH_CP – вхід тактових імпульсів
ST_CP – вхід «клацання» даних
OE – вхід, що переводить виходи з високоімпедансного в робочий стан
DS – вхід даних
VCC - живлення 2-6 вольт

Залишається перевірити роботу, для цього зберемо популярну серед новачків схему. GND (пін 8) підключаємо на землю, Vcc (пін 16) до живлення 5В, OE (пін 13) на землю, MR (пін 10) до живлення 5В. Тепер до зсувного регістру підключено живлення та всі виходи активні. Тепер час підключити мікросхему до Arduino: вхід даних DS (пін 14) підключимо до 9-го цифрового виходу ардуїно, вхід тактових імпульсів SH_CP (пін 11) до 10-го цифрового виходу, вхід-клацання ST_CP (пін 12) до 8-го піну Ардуїно. Між землею та клямкою рекомендується поставити конденсатор на 0,1 мкФ для мінімізації шумів.
Залишилося підключити світлодіоди – через резистори 150-300 Ом підключаємо їх від виходів регістру до землі. Власне, і все. Ось знайшов схему, хто любить наочні матеріали (зверніть увагу, розпинання реальної мікросхеми та схематичне зображення на цій схемі різняться!)


Зібрав схему на макетній платі, у мене вийшло так.

зібрана схема








В Ардуїно зручно скористатися функцією shiftOut(), яка виводить байт інформації на порт вхід/виходу послідовно (побітно). . Завантажуємо тестовий код в Arduino і отримуємо лічильник від 0 до 255 у двійковому вигляді:
int latchPin = 8; //ST_CP int clockPin = 10; //SH_CP int dataPin = 9; //DS void setup() ( pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); ) void loop() ( for (int numberToDisplay = 0; numberToDisplay< 256; numberToDisplay++) { // установка синхронизации "защелки" на LOW digitalWrite(latchPin, LOW); // передаем последовательно на вход данных shiftOut(dataPin, clockPin, MSBFIRST, numberToDisplay); //"защелкиваем" регистр, устанавливаем значения на выходах digitalWrite(latchPin, HIGH); delay(500); } }
Ось так вийшло у мене, все працює як належить:


Таким чином, при мінімальному використанні пінів контролера можна керувати великою кількістю світлодіодів (або ще чимось). Все б добре, але розповім і про недоліки. Як бачимо, струм для кожного світлодіода необхідно обмежувати резистором, і при побудові великих світлодіодних матриць це стає досить трудомістким. Є більше цікаве рішеннядля управління світлодіодами - драйвер DM13A, який є зсувним регістром, при цьому ще й обмежує струм на кожному виході. Про нього розповім наступного разу, а як бонус - той самий перший LED куб, 5x5x5, зібраний на спрощеній елементній базі, вже без застосування 74HC595.

Планую купити +37 Додати в обране Огляд сподобався +35 +61

Тригерним регістром зсуву називають сукупність тригерів з певними зв'язками з-поміж них, у яких діють як єдиний пристрій. Послідовні (зсувні) регістри є ланцюжком розрядних схем, пов'язаних ланцюгами переносу.

В однотактних регістрах зі зсувом на один розряд праворуч (рисунок 7) слово зсувається при надходженні сигналу синхронізації. Вхід та вихід послідовні (DSR – Data Serial Right). На малюнку 8 показана схема регістру зі зсувом вліво (вхід даних DSL - Data Serial Left), а на малюнку 9 ілюструється принцип побудови реверсивного регістру, в якому є зв'язки тригерів з обома сусідніми розрядами, але відповідними сигналами дозволяється робота тільки одних з цих зв'язків (команди «вліво» та «вправо» одночасно не подаються).

Малюнок 7. Схема право-зсувного регістру


Малюнок 8. Схема ліво-зсувного регістру


Рисунок 9. Схема реверсивного регістру

Відповідно до вимог синхронізації, в зсувних регістрах, що не мають логічних елементів у міжрозрядних зв'язках, не можна застосовувати одноступінчасті тригери, керовані рівнем, оскільки деякі тригери можуть за час дії роздільної здатності синхросигналу переключиться неодноразово, що неприпустимо. У цих схемах слід застосувати тригери з динамічним керуванням (двоступінчасті).

Поява у міжрозрядних зв'язках логічних елементів і, тим більше, логічних схем непоодинокої глибини спрощує виконання умов працездатності регістрів і розширює спектр типів тригерів, придатних цих схем.

Багатотактні зсувні регістри керуються декількома синхропослідностями. З-поміж них найбільш відомі двотактні з основним і додатковим регістрами, побудованими на простих одноступінчастих тригерах, керованих рівнем. За тактом С1 вміст основного регістру переписується в додатковий, а за тактом С2 повертається в основний, але вже в сусідні розряди, що відповідає зсуву слова. За витратами обладнання та швидкодією цей варіант близький до однотактного регістру з двоступінчастими тригерами.

У регістрі зсуву присутній набір тригерів з певними зв'язками з-поміж них і організація цих зв'язків така, що з подачі тактового імпульсу, загального всім тригерів, вихідний стан кожного тригера зрушується у сусідній. Залежно від організації зв'язків це зрушення може відбуватися ліворуч чи праворуч:

Зрушення вліво

Зсув праворуч

Введення інформації в регістр може виконуватися у різний спосіб, однак найбільш часто використовують паралельне або послідовне введення, при яких введення двійкового числа здійснюється або одночасно у всі розряди регістра, або послідовно в часі за окремими розрядами. У лічильниках імпульсів знаходять застосування зсувні регістри з послідовним введенням та виведенням інформації та зі зсувом вправо. На малюнку 10 a наведено схему чотирирозрядного регістра зсуву, виконаного на RS-тригерах. У цій схемі кожен вихід Q тригера з'єднаний з входом S наступного розряду, а кожен вихід з входом R. Тактові входи всіх тригерів з'єднані разом, і надходження сигналу синхронізації здійснюється одним загальним імпульсом через логічний елемент І-НЕ (DD7). Стан першого тригера визначається вхідними сигналами на входах Х1 Х2 логічного елемента І-НЕ (DD5). На вхід Х1 подається поточна інформація, але вхід Х2 сигнал дозволу передачі. Логічний елемент НЕ використовується (DD6), використовується для інвертування вхідного сигналу, що подається на вхід S.

На малюнку 10 б наведено часові діаграми вихідних сигналів тригерів та стану регістрів під час запису в перший розряд одиничного сигналу. Якщо при надходженні першого тактового імпульсу на входах Х1 і Х2 встановлені сигнали Х1 = Х2 = 1, які потім знімаються до приходу другого тактового імпульсу, то в результаті перший тригер буде записаний сигнал Q1 = 1. З приходом другого тактового імпульсу в перший тригер буде записаний сигнал Q1 = 0, але в виході другого тригера з'явиться сигнал Q2 = 1, який був на виході другого тригера. При надходженні наступних тактових імпульсів одиничний сигнал послідовно переміщається в третій і четвертий тригери, після чого всі тригери встановлюються в нульовий стан.


Рисунок 10. Схема чотирифазного регістру зсуву, часові діаграми його сигналів та стану регістрів під час запису в перший розряд одиничного сигналу

Зсувні регістри також можна реалізувати на D-тригерах або JK-тригерах. Для всіх регістрів зсуву характерні такі положення:

  • 1) необхідна попередня установка вихідного стану та введення одиниці в перший тригер
  • 2) для регістра з n тригерів після надходження n вхідних тактових імпульсів спочатку введена одиниця виводиться, внаслідок чого прямі виходи всіх регістрів виявляються в нульовому стані.

Інтегральні мікросхеми регістрів зсуву бувають реверсивними, тобто виконують зсув у будь-якому напрямку: вліво або вправо. Напрямок зсуву визначається значенням сигналу, що управляє.

Рисунок 11. Реалізація регістру зсуву на однотактних RS-тригерах

Послідовний регістр зсуву має два недоліки: він дозволяє вводити тільки по одному біту інформації на кожному тактовому імпульсі і, крім того, щоразу при зрушенні інформації в регістрі вправо втрачається крайній правий інформаційний біт. На малюнку 12 показана система, яка дозволяє здійснювати одночасне паралельне завантаження 4 біт інформації.

Малюнок 12. Структурна схема 4-розрядного паралельного регістру

Входи 1, 2, 3, 4 у цьому пристрої є інформаційними входами. Цю систему можна забезпечити ще однією корисною характеристикою - можливістю кільцевого переміщення інформації, коли дані з виходу пристрою повертаються на його вхід і не втрачаються.


Рисунок 13. Логічна схема чотирирозрядного паралельного кільцевого регістру

Схема 4-розрядного паралельного кільцевого регістра зсуву показана малюнку 13. У цьому регістрі зсуву використовуються чотири JK-тригера. Завдяки ланцюгу зворотного зв'язку введена в регістр інформація, яка зазвичай втрачається на виході четвертого тригера, буде циркулювати регістром зсуву. Сигналом очищення регістра (установки його виходів стан 0000) є рівень логічного 0 на вході CLR. Входи паралельного завантаження даних 1, 2, 3 та 4 пов'язані з входами попередньої установки тригерів (PS), що дозволяє встановлювати рівень логічної 1 на будь-якому виході (1, 2, 3, 4). Якщо на один із цих входів навіть короткочасно подати логічний 0, то на відповідному виході буде встановлена ​​логічна 1. Подача тактових імпульсів на входи C всіх JK-тригерів призводить до зсуву інформації в регістрі вправо. З четвертого тригера дані передаються перший тригер (кільцеве переміщення інформації).

№ рядка

№ тактового імпульсу

Принцип роботи паралельного регістру зсуву описаний у таблиці 1. При включенні живлення на виходах регістру може встановити будь-яка двійкова комбінація, така, наприклад, як у рядку 1 таблиці. Подача логічного 0 на входи CLR тригерів ініціює очищення регістра (рядок 2). Далі (рядок 3) здійснюється завантаження в регістр двійкової комбінації 0100. Послідовні тактові імпульси викликають зрушення введеної інформації вправо (рядки 4 - 8). У рядках 5 і 6 одиниця з крайнього правого тригера (четвертого) переноситься в крайній лівий тригер (перший). В даному випадку можна говорити про кільцеве переміщення одиниці в регістрі. Далі (рядок 9) знову ініціюється очищення регістру за допомогою входу CLR. Завантажується нова двійкова комбінація 0110 (рядок 10). Подача 5 тактових імпульсів (рядки 11-15) призводить до кільцевого зсуву інформації на 5 позицій праворуч. Для повернення даних у вихідний стан потрібно 4 тактові імпульси.

Якщо регістрі зсуву малюнку 13 розірвати петлю зворотний зв'язок, ми отримаємо звичайний паралельний регістр зсуву: можливість кільцевого переміщення інформації буде виключена.

Рисунок 14. Тритактний регістр зсуву на RS-тригерах

Для побудови регістрів використовуються послідовне з'єднання цих елементів.

Послідовний регістр (регістр зсуву або регістр зсуву) зазвичай служить для перетворення послідовного коду в паралельний і навпаки. Застосування послідовного коду пов'язане з необхідністю передачі великої кількості двійкової інформації щодо обмеженої кількості з'єднувальних ліній. При паралельній передачі розрядів потрібна велика кількість з'єднувальних провідників. Якщо двійкові розряди послідовно біт за бітом передавати по одному провіднику, можна значно скоротити розміри сполучних ліній на платі (і розміри корпусів мікросхем).

Принципова схема послідовного (зсувного) регістру, зібраного на основі і що дозволяє здійснити перетворення послідовного коду в паралельний, наведена на малюнку 1. Зверніть увагу, що якщо для паралельних регістрів підходили як тригери, що працюють за потенціалом (тригери-засувки), так і тригери, що працюють по фронту, то реалізації послідовного (зсувного) регістру підходять лише D тригери, працюючі по фронту!


Малюнок 1. Схема послідовного (зсувного) регістру

Усередині зсувного регістра тригери з'єднані послідовно, тобто вихід першого з'єднаний із входом другого і т.д. розглянутого послідовного регістру наведено малюнку 2.


Малюнок 2. Умовно-графічне позначення послідовного (зсувного) регістру

Входи синхронізації в послідовних (зсувних) регістрах, як і паралельних регістрах, об'єднуються. Це забезпечує одночасність зміни стану всіх тригерів, що входять до складу послідовного (зсувного) регістра.

Перетворення послідовного коду в паралельний послідовному (зсувному) регістрі проводиться наступним чином. Окремі біти двійкової інформації послідовно подаються на вхід регістру зсуву D0. Кожен біт супроводжується окремим тактовим імпульсом синхронізації, який надходить на вхід синхронізації послідовного регістру C.

Після надходження першого тактового імпульсу логічний рівень, присутній на вході D0, запам'ятовується в першому тригері послідовного (зсувного) регістра і надходить на його вихід, оскільки він з'єднаний з входом другого тригера, то і на його вхід. Якби послідовний (зсувний) регістр був зібраний на D тригерах, що працюють за потенціалом, цей біт тут же записався в другий D тригер! У нашому випадку цього не відбувається, тому що на цей момент фронт на вході синхронізації C вже закінчився.

Після надходження другого тактового імпульсу логічний рівень, присутній на вході другого тригера послідовного (зсувного) регістра, запам'ятовується в ньому і надходить на його вихід, оскільки він з'єднаний з входом третього тригера, то і на його вхід. Одночасно наступний біт вхідного коду послідовного запам'ятовується в першому тригері послідовного (зсувного) регістра.

Після надходження четвертого тактового імпульсу в тригерах послідовного (зсувного) регістра будуть записані логічні рівні біт, які були присутні на його вході D0. Тепер ці біти можна скористатися, наприклад, для відображення на індикаторах.

Нехай на вхід послідовного (зсувного) регістра надходить сигнал, тимчасова діаграма якого зображена малюнку 3, тоді стан виходів цього регістру буде послідовно приймати значення, записані в таблиці 1.



Рисунок 3. Тимчасова діаграма роботи зсувного регістру

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

№ такту 1 2 3 1
Q0 1 0 1 1
Q1 X 1 0 1
Q2 X X 1 0
Q3 X X X 1

Як приклад реалізації послідовного (зсувного) регістру можна назвати вітчизняну мікросхему 1564ІР1 або іноземну 74НС164.

jk-тригери можна увімкнути послідовно один за одним для збереження послідовності цифр. Така конструкція, звана регістром зсуву, показано на рис. 13.27. Свою назву схема отримала на основі

Мал. 13.27. 4-розрядний регістр зсуву, утворений послідовно включеними JK-тригерами.

ванні того, що вона на кожному тактовому імпульсі приймає одну нову цифру, зрушуючираніше запам'ятовані цифри на один розряд, щоб помістити нову.

Цей регістр діє за принципом першим увійшов – першим вийшов(First-In First-Out, FIFO).

Розглянемо роботу регістра зсуву, зображеного на рис. 13.27. Спочатку на шину скидання подається логічна 1, а потім значення сигналу на ній повертається в 0. Тепер припустимо, що сигнал на вході даних спочатку дорівнює 1 і що тактові послідовність імпульсів надходить на тактовий вхід. У цьому випадку тригер FF1 має на вході/високий рівень, а на вході ^низький рівень, так що після першого тактового імпульсу на виході Qвстановлюється найвищий рівень. Припустимо, тим часом вхідний сигнал повернувся до значення 0 і залишається таким. Під час дії другого тактового імпульсу високий рівень на вході/тригера FF2 передається на його вихід, та Q 2приймає значення логічної 1. У цей час на вході / тригера FF1 діє логічний 0, отже другим тактовим імпульсом на виході встановлюється низький рівень; якщо сигнал на вході даних залишається рівним 0, то на виході залишатиметься низький рівень з кожним тактовим імпульсом. Однак біт логічної 1 кожним тактовим імпульсом пересувається далі на один розряд, тому після чотирьох імпульсів він досягне виходу Q4.Усього тепер запам'ятано 4 біти вхідних даних. Наступні тактові імпульси призведуть до втрати цих даних, а нові дані будуть збережені.

У регістрі зсуву, показаному на рис. 13.27 є можливість, якщо потрібно, спостерігати запам'ятовані дані в паралельному вигляді, забезпечивши доступ до виходів Q v Q 2 , Q 3і Q4.Така схема відома як регістр з послідовним входом та паралельним виходом: дані повинні вводитися послідовно через єдиний вхід, після чого вони стають доступними у паралельному вигляді на виходах регістра. Таке перетворення послідовного представлення даних у паралельне є дуже поширеною операцією, що застосовується, наприклад, перетворення лічених з диска комп'ютера бітів програми в паралельний код для введення в основну пам'ять.

Якщо кожен тригер забезпечити окремим входом установки на додаток до загального входу скидання, дані можуть вводитися паралельно через ці входи. "Завантажені" таким чином дані можна, подаючи тактові імпульси, отримати на виході Q 4 у послідовному вигляді. Такий регістр служить перетворювачем паралельного коду в послідовний і часто застосовується для перетворення даних, що виводяться з мікропроцесора, представлених сигналами, що з'являються одночасно на великій кількості виходів (наприклад, на 16 виходах), в послідовний код для передачі по єдиній парі проводів в мережу або до модему. Популярною конструкцією, якою можна скористатися для перетворення даних з паралельного виду на послідовний і назад, є універсальний асинхронний приймач; він містить в одній інтегральній схемі необхідні регістри Зсуву, схему управління та формувачі для роботи на лінію.

Якщо у схемі, зображеній на рис. 13.27, вихід Q 4 з'єднати з входом даних, дані, які можна вводити в паралельному вигляді через входи установки, ніколи не зможуть покинути регістр, а просто циркулювати в ньому. Така схема називається регістром з циклічним перенесеннямабо кільцевим лічильником.Використовуючи 10 тригерів, з'єднаних у кільцевий лічильник і пронумерованих від 0 до 9, можна отримати десятковий лічильник. Спочатку в тригері з номером 0 встановлюється стан високим рівнема інші скидаються в нульовий стан. Потім імпульси, що підлягають рахунку, подаються на тактовий вхід, так що з приходом кожного логічного вхідного імпульсу 1 пересувається з одного тригера в інший. Після дев'яти імпульсів тригер з номером 9 запишеться логічна 1, а наступний імпульс відновить початковий стан. З'єднання виходу тригера з номером 9 із входом іншого кільцевого лічильника дозволить записувати в нього десятки, а ще один кільцевий лічильник зможе записувати сотні. Незважаючи на очевидну витонченість цієї схеми, майже завжди зручніше рахувати в двійковому вигляді, а потім перетворювати вихід двійкового лічильника на десятковий вигляд.

Іншим застосуванням кільцевого лічильника є заміна ним розподільника в електронній системі запалювання автомобіля. Замість механічного кулачка, що розмикає та замикає контактні точки для створення іскри запалювання, за допомогою оптичного або магнітного датчика, розташованого на маховику двигуна, формуються тактові імпульси. Тут використовується зсув логічної 1 по колу в кільцевому лічильнику, який має один розряд на кожен циліндр двигуна. Фазу тактового імпульсу можна ретельно виставити так, щоб логічна з'являлася 1 на кожному каскаді точно в потрібний час для запалювання суміші. Корекція моменту запалювання встановлюється, таким чином, легко, і, більше того, одного разу встановлений, він ніколи не буде змінюватися, оскільки в електронному розподільнику відсутнє механічне зношування.

Схему регістру зсуву, наведену на рис. 13.27, можна застосовувати як основний для експериментів з усіма типами регістрів зсуву та кільцевими лічильниками. Як /^-тригера рекомендується ІС 74LS76: кожна мікросхема містить два тригера, які спрацьовують по негативному фронту з окремими входами установки та скидання. Цоколівка цієї схеми дана у додатку 4.