Ноу Інти, лекція, регістри

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


Мал. 8.20. Лінія затримки вхідного сигналу на регістрі зсуву

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


Мал. 8.21. Пристрій для формування імпульсів з тривалістю, що задається керуючим кодом

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

Нехай керуючий код дорівнює 5. Тоді в той момент, коли на виході 5 зсувного регістру з'явиться одиниця. вона буде передана на вихід мультиплексора КП7 з інверсією. При цьому нульовий сигнал на вході -R тригера скине тригер в нуль, тобто вихідний сигнал закінчиться.

Таким чином, тривалість вихідного сигналу буде визначатися керуючим кодом. Похибка установки цієї тривалості дорівнює одному періоду тактового сигналу і залежить від тимчасового зсуву між фронтом вхідного сигналу і фронтом найближчого до нього тактового імпульсу. Чим більше тривалість вихідного сигналу, тим менше відносна похибка установки його точності. Наприклад, при керуючому коді 0 тривалість вихідного сигналу може бути від 0 до Т, де Т - період тактового сигналу. А при керуючому коді 7 тривалість вихідного сигналу буде від 7Т до 8Т. При цьому ми не враховуємо затримок тригера, зсувного регістру і мультиплексора.

Зсувні регістри можуть також використовуватися для множення і ділення двійкових чисел на 2 n. де n - ціле число. більше нуля. Зрушення двійкового числа вправо (в сторону молодших розрядів) на один розряд рівносильний поділу на 2. Зрушення двійкового числа вліво (в сторону старших розрядів) на один розряд рівносильний множенню на 2. Для того щоб зсувний регістр примножував і ділив двійковий код, треба всього лише записати цей код в регістр і зрушити його потрібну кількість разів вправо або вліво. Найбільш зручний для цього регістр ІР13. При цьому необхідно, щоб в звільнилися розряди всувають нулі, тобто на входи розширення DR і DL регістра треба подати нульові сигнали.

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

Завдання полягає в тому, щоб вихідний сигнал або код міняв свої статки випадково (або майже випадково). Сигнал повинен випадково перемикатися з 0 в 1 і з 1 в 0, а код повинен випадково приймати значення з діапазону від 0 до (2 N-1), де N - число розрядів коду (наприклад, від 0 до 255 при 8-розрядному коді ). Псевдовипадкові послідовності мають ту перевагу перед істинно випадковими, що вони - передбачувані та періодичні, але в цьому ж і їх недолік.

Структура генератора квазіслучайном послідовності на сдвиговом регістрі дуже проста (рис. 8.22). Вона являє собою регістр зсуву з паралельними виходами (наприклад, ІР8), кілька (мінімум два) вихідних сигналів якого об'єднані за допомогою елемента виключає Або, з виходу якого сигнал подається на вхід регістра, замикаючи схему в кільце. Схема тактується сигналом з частотою fT.


Мал. 8.22. Структура генератора псевдослучайной послідовності

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

З таблиці видно, що вигідніше брати число розрядів не кратна 8, наприклад, 7, 15 або 31. У цьому випадку для зворотного зв'язку використовуються всього лише два виходи, тобто досить одного двухвходового елемента виключає Або.

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

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

Частоти в спектрі вихідного сигналу будуть слідувати з інтервалом (fT / 2 N -1). а огинає спектра буде практично постійною до частоти 0,25fT. тобто шум до цієї частоти можна вважати білим (спад в 3 дБ відбувається на частоті 0,45 fT).


Мал. 8.23. 31-розрядний генератор псевдослучайной послідовності на регістрах зсуву

На рис. 8.23 показана практична схема генератора псевдовипадковою послідовності на 31-розрядному сдвиговом регістрі. Зворотній зв'язок здійснюється з виходів 30 і 17 регістра через двухвходових елемент виключає Або з інвертором. Через застосування інвертора забороненим станом генератора є код 1111. 1 (а не код 000. 0), який в даному випадку виключається дуже просто - початковим скиданням регістрів в нуль при включенні харчування за сигналом -Сброс. Генератор видає квазіслучайном послідовність 31-розрядних кодів з усіх виходів регістра, а також квазіслучайном послідовність нулів і одиниць на будь-якому з виходів регістру. Такий генератор використовувала відома фірма Hewlett-Packard в своєму генераторі шуму.

Схожі статті