- Основний принцип роботи декодера:
- Недоліки стандартних декодерів:
- Пріоритетний декодер:
- 3: 8 декодери:
- 4:16 Дешифратор:
- Програми:
Декодер - це тип комбінованої схеми, яка декодує значення малого біта у велике бітове значення. Зазвичай він використовується в поєднанні з кодерами, що робить прямо протилежне тому, що робить декодер, тому прочитайте тут про кодери, перш ніж продовжувати роботу з декодерами. Знову ж, як і кодери, існує також багато типів декодерів, але кількість вихідних рядків у декодері завжди буде більше, ніж кількість вхідних рядків. У цьому підручнику ми дізнаємося, як працює декодер, і як ми можемо створити його для нашого проекту.
Основний принцип роботи декодера:
Як вже було сказано раніше, декодер є лише зустрічною частиною кодера. Він приймає певну кількість двійкових значень як вхідні дані та декодує, а потім у більше рядків за допомогою логіки. Нижче показаний зразок декодера, який приймає в якості вхідних даних 2 рядки і перетворює їх у 4 рядки.
Іншим основним правилом декодерів є те, що якщо кількість входів розглядається як n (тут n = 2), то кількість виходів завжди буде дорівнює 2 n (2 2 = 4), що в нашому випадку становить чотири. Декодер має 2 вхідні лінії та 4 вихідні лінії; отже, цей тип декодерів називають декодерами 2: 4. Два вхідні штифти називаються як I1 та I0, а чотири вихідні штифти називаються від O0 до O3, як показано вище.
Важливо також знати, що звичайний декодер, як показано тут, має недолік, який не в змозі розрізнити стан обох входів нульовим (не підключеним до інших ланцюгів) і обома входами низьким (логіка 0). Цей недолік можна вирішити за допомогою пріоритетного декодера, про який ми дізнаємося далі в цій статті. Таблиця істинності звичайного декодера наведена нижче
З таблиці істинності декодера ми можемо написати логічний вираз для кожного вихідного рядка, просто слідкуйте за тим, де висновок стає високим, і формуйте логіку І на основі значень I1 та I0. Це дуже схоже на метод Encoder, але тут ми використовуємо логіку AND замість логіки OR. Булевий вираз для всіх чотирьох рядків наведено нижче, де символ (.) Представляє І логіку, а символ (') - НЕ логіку
O 0 = I 1 '.I 0 ' O 1 = I 1 '.I 0 O 2 = I 1.I 0 ' O 3 = I 1.I 0
Тепер, коли ми маємо всі чотири вирази, ми можемо перетворити ці вирази в комбінаційну логічну схему воріт, використовуючи ворота І, а НЕ ворота. Просто використовуйте шлюзи AND замість (.) Та ворота NOT (перевернуту логіку) замість ('), і ви отримаєте наступну логічну схему.
Давайте побудуємо схему декодера 2: 4 на макеті і перевіримо, як це працює в реальному житті. Щоб це працювало як апаратне забезпечення, потрібно використовувати логічний мікросхемний шлюз, такий як 7404 для NOT gate і 7408 для AND gate. Два входи I0 та I1 забезпечуються за допомогою кнопки, а вихід спостерігається через світлодіодні ліхтарі. Після встановлення з’єднання на макеті це буде виглядати приблизно так на малюнку нижче
Плата живиться від зовнішнього джерела живлення + 5 В, яке, в свою чергу, живить мікросхему воріт через штифти Vcc (контакт 14) і землю (контакт 7). Вхідні дані подаються за допомогою кнопок, при натисканні це логіка 1, а при не натисканні - логічна 0, по вхідних лініях також додається випадаючий резистор значення 1k, щоб запобігти плаваючому виводу штифтів. Вихідні лінії (від O0 до O3) подаються через ці червоні світлодіодні ліхтарі, якщо вони світяться - це логіка 1, інакше це логіка 0. Повна робота цієї схеми декодера показана на відео нижче
Зверніть увагу, що таблиця істинності для кожного входу відображається у верхньому лівому куті, а світлодіод також світиться в однаковому порядку. Так само ми можемо створити комбінаційну логічну схему для всіх типів декодерів і побудувати їх на апаратному забезпеченні, як це. Ви також можете переглянути доступні мікросхеми декодера, якщо ваш проект це підходить.
Недоліки стандартних декодерів:
Так само, як кодер, стандартний декодер також страждає від тієї ж проблеми, якщо обидва входи не підключені (логіка X), вихід не залишиться рівним нулю. Натомість декодер буде розглядати це як логіку 0, а біт O0 буде високим.
Пріоритетний декодер:
Отже, ми використовуємо пріоритетний декодер, щоб подолати цю проблему. Цей тип декодера має додатковий вхідний штифт, позначений як “E” (Увімкнути), який буде зв’язаний з дійсним висновком пріоритетного декодера. Блок - схема для пріоритетного декодер показаний нижче.
Таблиця істинності для кодера пріоритетів також показана нижче, тут X не означає жодного зв’язку, а „1” - високий рівень логіки, а „0” - низький рівень логіки. Зверніть увагу, що біт активації дорівнює 0, коли на вхідних лініях немає з'єднання, а отже, вихідні рядки також залишаться нульовими. Таким чином ми зможемо подолати згаданий вище недолік.
Як завжди з таблиці істинності, ми можемо керувати булевим виразом для вихідних рядків O0 - O3. Булевий вираз для наведеної таблиці істинності показаний нижче. Якщо ви придивитесь уважніше, ви зможете помітити, що вираз такий самий, як і у звичайного декодера 2: 4, але біт Enable (E) був зроблений для AND із виразом.
O 0 = EI 1 '.I 0 ' O 1 = EI 1 '.I 0 O 2 = EI 1.I 0 ' O 3 = EI 1.I 0
Комбінаційну логічну діаграму для вищезазначеного булевого виразу можна побудувати, використовуючи пару інверторів (НЕ шлюзи) та 3-вхідні І шлюзи. Просто замініть символ (') на інвертори, а символ (.) - на І, і ви отримаєте таку логічну схему.
3: 8 декодери:
Існують також деякі декодери вищого порядку, такі як декодер 3: 8 та декодер 4:16, який використовується частіше. Ці декодери часто використовуються в IC-пакетах для ускладнення схеми. Також дуже часто комбінують декодери нижчого порядку, такі як декодери 2: 4, щоб сформувати декодер вищого порядку. Наприклад, ми знаємо, що декодер 2: 4 має 2 входи (I0 та I1) та 4 виходи (O0 до O3), а декодер 3: 8 має три входи (I0 до I2) та вісім виходів (O0 до O7). Ми можемо використовувати наступні формули для обчислення кількості декодерів нижчого порядку (2: 4), необхідних для формування декодера вищого порядку, такого як 3: 8 декодер.
Необхідна кількість декодера нижчого порядку = м2 / м1 Де, м2 -> кількість виходів для декодера нижчого порядку m1 -> кількість виходів для декодера вищого порядку
У нашому випадку значення m1 буде 4, а значення m2 буде 8, тож застосовуючи ці значення у наведених формулах, ми отримуємо
Необхідна кількість декодера 2: 4 для декодера 3: 8 = 8/4 = 2
Тепер ми знаємо, що нам знадобляться два декодери 2: 4, щоб сформувати декодер 3: 8, але як слід з'єднати ці два для збору. Наведена нижче блок-схема показує саме це
Як ви можете бачити, входи A0 і A1 з'єднані як паралельні входи для обох декодерів, а потім штифт Enable першого декодера виконаний як A2 (третій вхід). Інвертований сигнал A2 подається на штифт Enable другого декодера для отримання виходів Y0 до Y3. Тут виходи Y0-Y3 називаються нижчими чотирма термінами, а виходи Y4-Y7 називаються вищими чотирма термінами. Мінінтерми нижчого порядку отримуються з другого декодера, а мінтерми вищого порядку - з першого декодера. Хоча одним помітним недоліком цього типу комбінованого дизайну є те, що декодер не матиме штифта Enable, що робить його сприйнятливим до проблем, про які ми вже говорили раніше.
4:16 Дешифратор:
Подібно до декодера 3: 8, декодер 4:16 також може бути побудований комбінуванням двох декодерів 3: 8. Для декодера 4: 16 ми матимемо чотири входи (від A0 до A3) і шістнадцять виходів (від Y0 до Y15). Тоді як для декодера 3: 8 ми матимемо лише три входи (від A0 до A2).
Ми вже використовували формули для розрахунку кількості необхідного декодера, в цьому випадку значення m1 буде 8, оскільки декодер 3: 8 має 8 виходів, а значення m2 буде 16, оскільки декодер 4:16 має 16 виходів, отже, застосовуючи ці значення у наведених формулах, ми отримуємо
Необхідна кількість декодера 3: 8 для декодера 4:16 = 16/8 = 2
Тому нам потрібні два декодери 3: 8 для побудови декодера 4:16, розташування цих двох декодерів 3: 8 також буде подібним до того, що ми робили раніше. Блок-схема для з'єднання цих двох декодерів 3: 8 разом показана нижче.
Тут результати Y0 до Y7 розглядаються як вісім нижчих термінів, а результати від Y8 до Y16 - як вісім менших термінів. Нижні праворучні мінтерми створюються безпосередньо за допомогою входів A0, A1 і A2. Ті самі сигнали також подаються на три входи першого декодера, але штифт Enable першого декодера використовується як четвертий вхід Pin (A3). Інвертований сигнал четвертого входу A3 подається на контактний штифт другого декодера. Перший декодер виводить вище значення восьми мінтермів.
Програми:
Декодер зазвичай використовується в поєднанні з кодером, і, отже, вони обидва мають однакові програми. Без декодерів та кодерів вивести сучасну електроніку, таку як мобільний телефон та ноутбуки, було б неможливо. Нижче наведено кілька важливих програм декодерів.
- Застосування сигналу послідовності
- Програми синхронізації
- Мережеві лінії
- Елементи пам'яті
- Телефонні мережі