Лічильники на регістрах зсуву

Для побудови лічильників на регістрах зсуву потрібно використовувати спеціальне кодування їх внутрішніх станів. Якщо на вхід х (див. рис. 2.32) подати деяку періодичну послідовність символів 0 і 1, то внутрішні стани регістра зсуву (комбінації значень сигналів Qr) будуть також періодично повторюватися, тобто регістр зсуву буде лічильником за mod M, якщо зазначена періодична послідовність сформована самим регістром зсуву. З цього випливає, що кодування внутрішніх станів, наприклад, лічильника за mod 5 може бути задано схемою .

Просуваючи через регістр, що складається з трьох тригерів Q1, Q2 та Q3, певну періодичну послідовність символів 0 і 1, одержимо п'ять різних кодових комбінацій (внутрішніх станів): 000, 001, 011, 110, 100. При подальшому зсуві виходять ті самі кодові комбінації, тому що послідовність символів 0 і 1 періодична.

На рис. 2.49 показаний граф переходів лічильника за mod 5 з отриманим способом кодування внутрішніх станів. Склавши за графом переходів діаграму Вейча для функції Q1+ (рис. 2.50), одержимо . Діаграму Вейча можна скласти за графом переходів без укладання таблиці істинності. Наприклад, розглянемо перехід між внутрішніми станами 000 і 001. Стан 000 є вихідним (Q3 =0, Q2 = 0, Q1 = 0), тому відповідне йому двійкове число визначає номер клітини в діаграмі Вейча i = 0. Стан 001 для цього переходу є наступним, тому функції Q3+ = 0, Q2+ = 0, Q1+ = 1. З цього випливає, що в клітину діаграми Вейча для функції Q1+ з номером i = 0 слід записати значення функції Q1+ = 1. У такий спосіб записують усі п'ять значень функції Q1+ = 1. У клітини, що залишилися незаповненими, записують довільні значення Ф, тому що три внутрішніх станине використовуються.

Рисунок 2.49 — Граф переходів лічильника за mod 5

Рисунок 2.50 — Синтез лічильника за mod 5 на регістрі зсуву

Функції збудження D2 = Q1 і D3 = Q2 (на підставі використаного методу кодування внутрішніх станів), у чому легко переконатися, склавши діаграми Вейча для функцій Q2+ та Q3+ . Якщо при побудові принципової схеми використовувати функцію збудження , то одержимо схему, показану на рис. 2.51.

Рисунок 2.51 — Схема за mod 5 на регістрі зсуву

У разі кодування внутрішніх станів лічильників за допомогою періодичної послідовності символів 0 і 1 слід дотримуватися таких правил:

1) число символів М в одному періоді послідовності визначає коефіцієнт перерахування лічильника;

2) мінімальне число тригерів т знаходять з умови одержання при зсуві періодичної послідовності символів 0 і 1 М різних кодових комбінацій.

Виконаємо синтез лічильника за mod 8, заданого періодичною кодовою послідовністю 00001111.00001111. Якщо взяти три тригера (23 = 8), то при зсуві будуть отримані внутрішні стани 000, 000, 001, 011, 111, 111, 110 та 100, серед яких є однакові. Отже, потрібно збільшити число тригерів. Якщо взяти чотири тригери, то кодування внутрішніх станів буде визначатися схемою: . У цьому випадку всі вісім внутрішніх станів будуть різними. Граф переходів, що відповідає цьому кодуванню внутрішніх станів, зображено на рис. 2.52, а. Склавши діаграму Вейча для функції Q1+ (рис. 2.53), одержимо .

Рисунок 2.52 — Графи переходів лічильника за mod 8, виконаного

на регістрі зсуву

Рисунок 2.53 — Синтез лічильника за mod 8 на регістрі зсуву

Лічильник за mod 8, складений з чотирьох тригерів, має вісім станів, які не використовуються. Треба перевірити, як він буде поводитися, якщо випадково (у момент увімкнення чи при збоях) потрапить в один з цих станів. Припустимо, що лічильник виявився в стані 0010 (Q4=0, Q3=0, Q2=1, Q1=0). Тоді функції збудження Dr, приймуть значення:

Отже, наступний внутрішній стан буде 0101 (Q4+=D4 =0, Q3+=D3 =1, Q2+=D2= 0, Q1+=D1= 1). Проаналізувавши перехід лічильника для інших внутрішніх станів, які не використовуються, можна переконатися, що він буде функціонувати відповідно до графа переходів, наведеного на рис. 2.30, б, тобто лічильник за mod 8 має кодування внутрішніх станів, яке не відповідних заданому. Щоб уникнути цього явища, потрібно або примусово встановити лічильник в один із використовуваних станів (наприклад, у нульове) після його переходу за будь-якими причинами в стан, що не використовується, або змінити функцію збудження першого тригера так, щоб він автоматично переходив у використовуваний стан. Наприклад, якщо, використовувати інший спосіб повного визначення функції Q1+ (рис. 2.53) та реалізувати функцію збудження D1 у формі

(2.17)

то лічильник буде самостійно виходити з усіх станів, що не використовуються (рис. 2.54), у чому можна переконатися, проаналізувавши перехід за викладеною раніше методикою.

Рисунок 2.54 — Повний граф переходів лічильника за mod 8
на регістрі зсуву, який автоматично виходить з
внутрішніх станів що не використовуються

Принципову схему лічильника за mod 8, виконану відповідно до функції збудження D1 (2.17), зображено на рис. 2.55, а часові діаграми, що пояснюють його роботу, — на рис. 2.55 (регістр зсуву, виконаний на мікросхемі К155ИР1).

Рисунок 2.54 — Схема лічильника за mod 8 на регістрі зсуву

Рисунок 2.55 — Часові діаграми лічильника за mod 8 на регістрі зсуву

Виконаємо синтез лічильника за mod 10, кодування внутрішніх станів якого задається періодичною кодовою послідовністю 0000011111.0000011111.

У цьому випадку для одержання десяти різних внутрішніх станів потрібно використати п'ять тригерів; тоді лічильник буде функціонувати відповідно до графа переходів, зображеного на рис. 2.56 (замість кодів внутрішніх станів зазначені відповідні їм десяткові цифри, тобто для одержання кодів внутрішніх станів десяткові числа потрібно перевести в двійкові).

Рисунок 2.56 — Граф переходів лічильника за mod 10,
виконаного на регістрі зсуву

Склавши по графу переходів діаграму Вейча для функції Q1+ (рис. 2.57), можна одержати мінімальну форму . Якщо проаналізувати перехід лічильника для станів,що не використовуються, то можна одержати граф переходів, приведений на рис. 2.58. Залежно від того, в якому з цих станів перебуває лічильник, він може функціонувати як лічильник за mod 10 при кодуванні внутрішніх станів,які не відповідають заданому, або навіть як лічильник за mod 2. Змінивши функцію першого тригера на можна переконатися, що лічильник самостійно вийде зі станів які не використовуються.

Рисунок 2.57 — Синтез лічильника за mod 10 на регістрі зсуву

Рисунок 2.58 — Граф переходів лічильника за mod 10,
на регістрі зсуву для невикористаних станів

В табл. 2.18 наведено функції збудження D1 для деяких лічильників за mod M, виконаних на регістрах зсуву, а також функції збудження J1 і K1, якщо як тригер Q1 використані JK -тригери.

Таблиця 2.18 — Функції збудження D1 для деяких лічильників за mod M

М Кодова послідовність m D1 J1 K1
       
     
     
     
     
     
     

Лічильники часто використовуються у генераторах кодових послідовностей. Як приклад розглянемо синтез генератора коду Баркера,який має 11 символів: + + + - - - + - - + -. Якщо задати лічильник періодичною кодовою послідовністю 11100010010.11100010010, то внутрішні стани всіх тригерів змінюватимуться відповідно до коду Баркера, тобто виходом генератора може бути вихід будь-якого тригера. Для одержання 11 різних внутрішніх станів потрібно використовувати 5 тригерів. Тоді генератор коду Баркера задаватиметься графом переходів, показаним на рис. 2.59. Виконавши синтез автомата, одержимо

Рисунок 2.59 — Граф переходів генератора
коду Баркера з одинадцяти символів

Принципова схема генератора приведена на рис. 2.60. На виходах
Q1, Q2, …, Q5 є 5 зсунених один щодо одного послідовностей символів коду Баркера.

Рисунок 2.60 — Схема генератора коду Баркера з одинадцяти символів


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: