Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DE7.doc
Скачиваний:
19
Добавлен:
19.11.2019
Размер:
678.91 Кб
Скачать

7.6.2. Регістрові лічильники імпульсів (розподілювачі)

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

Простіше функцію розподілювача може виконувати регістр зсуву, якщо лише в один його розряд помістити одиничний сигнал. При подачі синхроімпульсів записана одиниця переміщуватиметься по розрядах регістра, відображаючи на лінійній шкалі кількість поданих синхроімпульсів (наприклад, загоряння лампочки номеру поверху в ліфті). Значно більші можливості мають регістри зсуву, що з’єднані в кільце, а точніше, мають зворотний зв’язок з виходів на вхід. У літературі такі схеми, у залежності від характеру зворотних зв’язків, називають кільцевими лічильниками, лічильниками Джонсона, лічильниками Мебіуса, лічильниками в коді Лібау-Крейга, кільцями Реженера.

Загальна структура кільцевого лічильника з використанням регістра зсуву приведена на рис. 7.31.

Рис. 7.31

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

.

Тому можемо взаємозв’язок між входами/виходами кожного розряду зобразити у вигляді систем рівнянь:

Ланка зворотного зв’язку формує сигнал 0 або1, задаючи тим самим черговий стан схем лічильника.

У загальному плані аналіз таких схем досить складний, тому розглянемо ряд конкретних широко використовуваних схем лічильників. Найпростіший варіант зворотного зв’язку має схема кільцевого лічильника, в якій виходи тригера старших розрядів безпосередньо з’єднані з входами тригера молодших розрядів (рис. 7.32).

Рис. 7.32

Схема доповнена входом сигналу початкової установки S, високий рівень на якому встановлює тригер DD0 в одиничний стан, а решту – в нульовий. Часова діаграма лічильника при подачі серії синхроімпульсів матиме вигляд, приведений на рис. 7.33. Записана в DD0 одиниця переміщується в черговий розряд (старший або молодший у залежності від напрямку зсуву) і затримується в ньому на інтервал часу, що дорівнює періоду синхроімпульсу T. Решта тригерів знаходиться в нульовому стані.

Рис. 7.33

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

Розглянута схема може повністю замінити описану вище пару “двійковий лічильник - дешифратор” при перетворенні кількості вхідних імпульсів у код, що задається кількістю тригерів регістра. Вихідна частота імпульсів по будь-якому з виходів дорівнює , де m – кількість тригерів. Оскільки в схемі, що розглядається, відсутні зовнішні логічні елементи, то кільцеві лічильники мають високу швидкодію. Але одним з недоліків кільцевих лічильників є велика кількість використовуваних тригерів.

Розглянута схема має досить широке використання. Так вона може виконувати функцію розподілення імпульсів по декількох каналах, кількість яких рівна m.

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

Приклад 7.6. Розробити схему, яка б автоматично і циклічно генерувала сигнал типу, що зображений на рис. 7.34.

Рис. 7.34

Розв’язання.

1. Підраховуємо цикли повторення сигналу. Він складає 12 секунд.

2. Вибираємо зсувний регістр, за допомогою якого можемо створити кільцевий лічильник з кількістю тригерів 12, що має виходи з прямого виходу для тригера. В якості такого регістра вибираємо набір D-тригерів KP1533ИP23.

3. Вибираємо дві мікросхеми і з’єднуємо в кільце 12 тригерів. Розробляємо схему початкової установки тригерів у регістрі. В якості такої можемо вибрати елементи , що виходами приєднуються до входів D0D11 через елемент АБО.

Рис. 7.35

Фрагмент схеми приводиться на рис. 7.35. Перед запуском усі тригери, за винятком першого, встановлюються в нуль. При подачі періодичної послідовності імпульсів на вхід С- з періодом 1 секунда записана у перший тригер одиниця перемішуватиметься по кільцю. Сигнал, що знімається з входів D, D, D, D, D, на ЛЕ АБО дасть на виході необхідну імпульсну послідовність.

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

.

Це означає, що замість безпосереднього зворотного зв’язку необхідно подати сигнал на вхід D, об’єднавши всі інверсні виходи тригерів через елемент АБО. Якщо після вмикання схеми на деяких тригерах будуть встановлені одиничні рівні, то через декілька тактів вони заміняться нулями, після чого в перший буде записаний сигнал високого рівня.

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

Коли ми розглядали двійкові лічильники, то визначились, що його граф-схема має 2m станів, і для чотирьохрозрядного лічильника їх було 24 = 16. Якщо порівняти, наприклад, два десятирозрядні лічильники – двійковий і кільцевий, то можемо сказати, що двійковий матиме 210 = 1024 стани, а кільцевий – тільки 10. Але 10 – це тільки стани, що використовуються, адже ми маємо 10 тригерів, і кожен з них може прийняти один з двох можливих станів. Звідси витікає, що кільцевий лічильник має (1024 – 10) = 1014 заборонених до використання станів. Отже, ймовірність можливого переходу кільцевого лічильника в один з заборонених станів досить висока, тому внаслідок дії перешкод він може взагалі не перейти до правильної послідовності відліку без сторонньої допомоги.

При роботі кільцевого лічильника можливі дві основні помилкові ситуації. Перша з них полягає в тому, що внаслідок дії перешкод у будь-якому з тригерів може з’явитись ще один сигнал логічної одиниці, який циркулюватиме у схемі. Друга обумовлена переходом у нуль (зброс) єдиної одиниці в кільці. Тому, щоб забезпечити працездатність лічильника, його необхідно доповнити допоміжними засобами, які повинні виявляти зайву одиницю, а також виявляти ситуацію, при якій одиниця в тригерах лічильника взагалі не існує. Такі задачі легко розв’язуються для простих лічильників. Наприклад, для лічильника з m = 4 і виходами Q, Q, Q, Q3 функція виявлення зайвої одиниці матиме вигляд:

y1 = Q0 Q1 + Q0 Q2 + Q0 Q3 + Q1 Q2 + Q1 Q3 + Q3 Q4 =

Q0 (Q1 Q2 Q3) + Q1 (Q2 + Q3) + Q3 Q4 .

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

Для того, щоб визначити ситуацію, коли всі тригери встановлені у нуль, можна використати функцію:

.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]