Лабораторна робота № 3 Моделювання і дослідження роботи вузлів комутації і контролю з використанням програми Electronics Workbench Мета роботи Метою лабораторної роботи є: отримання практичних навиків в побудові і контролі працездатності таких вузлів як дешифратори, шифратори мультиплексори, демультиплексори, перетворювачі коду розподільники сигналів і схем контролю парності; вивчення можливостей програми Electronics Workbench по побудові і дослідженню перерахованих вище вузлів; здобуття навиків в дослідженні різних схем методом моделювання.
Загальні відомості про вузли для комутації сигналів і перетворення коду У БЦВМ, окрім розглянутих раніше операційних вузлів, є велика група вузлів, яка використовується для вироблення різних керованих сигналів (серій керованих імпульсів), для перетворення код з одного вигляду в іншій, для комутації зв'язків між різними вузлами і так далі. Це особливий вигляд функціонально закінчених вузлів, які будуються з використанням логічних елементів, тригерів, регістрів і лічильників. Такі вузли можуть бути виконані у вигляді окремих мікросхем і застосовуються для побудови пристроїв БЦВМ. До них можна віднести дешифратори, шифратори, мультиплексори, демультиплексори, перетворювачі код, розподільники імпульсів і ін. Дешифратори Дешифратором називається комбінаційна схема з декількома входами і виходами, яка перетворить двійковий код, що подається на входи, в сигнал на одному з його виходів. У загальному випадку дешифратор з “n” входами може мати до 2n виходів, які зазвичай нумеруються десятковими цифрами, еквівалентними значенням двійкових код. Наприклад, в трехвходовом дешифраторі при подачі на вхід двійкової коди 011 одиничний сигнал з'явиться на виході 3, а на останніх виходах сигнал дорівнюватиме нулю. Робота дешифратора описується системою логічних рівнянь
де fi – значення функції дешифратора на i-ом виході, а означає або наявність інверсії змінної, або її відсутність. Кількість рівнянь дешифратора відповідає кількості його виходів. Величина «i» відповідає номеру набору змінних, при якому функції набувають одиничного значення. Дешифратори в БЦВМ використовуються в таких випадках: ( для формування керуючих сигналів, залежно від значення вхідної коди; ( для розшифровки коди операції виконуваних команд; ( для декодування адреси елементів оперативної або постійної пам'яті; ( у перетворювачах інформації з аналогово в цифровий і так далі За способом побудови схеми дешифраторів можуть бути одноступінчатими (лінійними) або багатоступінчастими. Спосіб побудови дешифратора визначається виглядом рівнянь, якими описується його робота. Приведена вище система рівнянь характерна для лінійного дешифратора. При побудові функціональної схеми дешифратора рівняння розглядаються як незалежні і реалізуються на логічних елементах. Розглянемо як приклад побудову лінійного дешифратора на три входи і вісім виходів. Таблиця істинності, яка описує роботу дешифратора, має вигляд таблиці 8.1. Таблиця 8.1. X Значення логічних функцій Система рівнянь логічних функцій
x2 x1 x0 f0 f1 f2 f3 f4 f5 f6 f7
0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0
1 1 1 0 0 0 0 0 0 0 1
Побудована по цих рівняннях схема (див. малюнок 8.1) представляє собою вісім незалежними трьохвхідних схемам логічних "І". Прямі і інверсні значення розрядів коди можуть зніматися з прямих і інверсних виходів регістра або лічильника. Недоліком такої схеми дешифратора є пряма залежність числа входів схем "І" від розрядності вхідної коди, що приводить до технологічних труднощів реалізації елементів у вигляді мікросхем. Якщо побудувати лінійний дешифратор на логічних елементах з невеликим числом входів, то це приведе до різкого збільшення їх числа. Наприклад, якщо побудувати приведену на малюнку 8.1 схему на елементах "І" на два входи, то їх буде потрібно в два рази більше, оскільки
У загальному випадку, якщо перетворити вихідну систему логічних рівнянь до вигляду
то можна отримати схему дешифратора пірамідального вигляду на двовхідних логічних елементах, при цьому зменшивши їх загальну кількість в порівнянні з кількістю елементів, необхідних для побудови лінійного дешифратора.
Як приклад, побудуємо пірамідальний дешифратор на чотири входи і шістнадцять виходів, робота якого описується системою рівняння типа.
Схема приведена на малюнку 8.2. Недоліком схеми є її багатоступінчастість, що приводить до збільшення як апаратурних затрат, так і часу спрацьовування. Тому часто на практиці будують лінійно-матричні дешифратори з використанням двовхідних логічних елементів. Загальна кількість елементів для побудови таких дешифраторів потрібна менше, ніж для пірамідальних дешифраторів. Принцип побудови таких дешифраторів полягає в розбитті вихідних логічних функцій на групи, в яких міститься від двох до n/2 змінних. Нехай вихідні рівняння розбиті на дві групи
Позначимо першу групу змінних через Аq, а другу групу - через Вq.Тоді:
Потім по цих рівняннях будують лінійні дешифратори окремо для Аq і Вq, використовуючи їх виходи для набуття остаточних значень вихідних функцій всього дешифратора fi . Нехай n=4 тоді:
Логічні функції матимуть вигляд: f0= A0B0, f0=A0B0, f1= A0B1, f2= A0B2, f3= A0B3, f4= A1B0, f14= A3B2, f15= A3B3. Схема дешифратора, побудована відповідно до цих рівнянь, показана на малюнку 8.3. Дешифратори, виконані у вигляді мікросхем, звичай мають обмежену кількість входів, а саме два, три або чотири. Проте, ці мікросхеми можна використовувати для побудови дешифраторів на будь-яку кількість входів. Для цього в мікросхемах є додаткові входи управління, при подачі сигналу високого рівня на яких дешифратор перетворить цифровий код на вході в одиничний сигнал на одному з виходів. При низькому рівні керуючого сигналу на вході, на всіх виходах дешифратора мають місце нульові сигнали. На малюнку 8.4 показаний приклад побудови дешифратора на чотири входи і шістнадцять виходів з використанням мікросхеми дешифратора на два входи і чотири виходи.
Нехай, наприклад, код на вході дешифратора відповідає коду
=0110, тобто 610. Тоді сигнал високого рівня з'явиться на f6=1. Шифратори Шифратором називається схема, яка перетворить сигнал на одному з його входів в двійковий код на виходах. Рівняння, що описують роботу шифратора, записуються з таблиці, в якій кожному з входів присвоюється цифровий код. Логічні функції, що становлять рівняння, є залежностями відповідного розряду коди від змінних, як які приймаються відповідні позначення входів. Код (адреса) датчика Номер датчика D
X3 X2 X1 X0
0 0 0 1 D1
0 1 0 0 D2
0 1 0 1 D3
0 0 1 0 D4
1 1 0 0 D5
1 0 0 1 D6
0 1 1 1 D7
1 0 1 0 D8
1 1 1 0 D9
1 1 1 1 D10
Таблиця 8.2 Принцип побудови і роботу шифратора доцільно розглянути на конкретному прикладі. Нехай деякий бортовий пристрій має 10 датчиків, з яких по певному алгоритму знімаються покази і заносяться по командах в процесор БЦВМ. Отже, кожному датчику має бути привласнений двійковий код, який є його адресою і вказується в команді опитування датчиків. Відповідність номера датчика і його адреси приведені в таблиці 8.2. З таблиці виписуються логічні рівняння: X0=D1+D3+D6+ D7+D10, X1=D4+D7+D8+ D9+D10, X2=D2+D3+D5+ D7+D10 X3=D5+D6+D8+ D9+D10
Після перетворення за правилом де Моргана отримаємо систему рівняння в базисі "І-НЕ".
Схема шифратора на елементах І-НЕ представлена на малюнку 8.5. Мультиплексори Мультиплексор є комбінаційною схемою, яка здійснює комутацію одного з n вхідних сигналів на загальний вихід залежно від значення коди адреси на адресних входах. Якщо число адресних входів «m», то можлива комутація «n ( 2 m » входів мультиплексора. Рівняння виходу мультиплексора записується в такому вигляді:
де Ai=am-1 am-2.a1 a0 є адресою i-го входу мультиплексора, Xi- значення сигналу на i-ом вході мультиплексора, а «~» означає наявність або відсутність заперечення змінної. Приклад побудови мультиплексора на чотири входи і його умовне графічне позначення показані на малюнку 8.6.
Сигнал на вході EN використовується для управління роботою мультиплексора. Якщо сигнал на цьому вході дорівнює нулю, то на всіх виходах дешифратора будуть низькі рівні сигналів, рівні логічному нулю, і на виході мультиплексора завжди буде нуль.
Мультиплексор з чотирма входами, виконаний у вигляді мікросхеми, може бути використаний для побудови мультиплексорів з великим числом входів і для реалізації простих логічних функцій. На малюнку 8.7 наведений приклад побудови мультиплексора на шістнадцять входів. Входи керування EN об'єднуються разом, також об'єднуються і однойменні адресні входи всіх мікросхем мультиплексорів.
Для реалізації логічної функції необхідно мати її таблицю істинності. Потім на адресні входи мультиплексора подати логічні змінні, а на комутовані входи - відповідні значення логічної функції. Нехай, наприклад, необхідно реалізувати на мультиплексорі таку логічну функцію:
На малюнку 8.8 приведена таблиця істинності цієї функції і сигнали, які необхідно подавати на входи при відповідному наборі значень змінних. Демультиплексори Демультиплексор виконує функцію, зворотну мультиплексору, і є комбінаційною схемою, що комутує вхідний сигнал на один з «n» виходів залежно від значення коди на адресних входах. Схема демультиплексора може бути побудована з використанням дешифратора і логічних схем. На малюнку 8.9 показана функціональна схема демультиплексора на чотири виходи і його умовне графічне позначення. Демультиплексор, виконаний у вигляді мікросхеми з невеликим числом виходів, може бути використаний для побудови демультиплексора з будь-якою кількістю виходів. На малюнку 8.10 змальований демультиплексор на вісім виходів, складений з двох мікросхем з чотирма виходами кожен.
Перетворювачі код У бортових цифрових обчислювальних пристроях використовуються різні способи кодування інформації. Коди символів, що виводяться на екрани дисплеїв і коди цифрової інформації, що зберігаються в пам'яті, можуть не збігатися. Цифрові коди, що формуються лічильниками в процесі рахунку імпульсів, залежать від схеми лічильника і можуть суттєво відрізнятися один від одного при підрахунку однакового числа імпульсів. Тому виникає необхідність в перетворенні коду з одного вигляду в іншій. Ці операції виконуються спеціальними вузлами, що отримали назву перетворювачів код. Розглянемо принцип побудови перетворювачів код на прикладі рішення конкретної задачі. Нехай, наприклад, необхідно побудувати схему управління 7-сегментним індикатором, який здійснює індикацію стану двійково-десяткового лічильника у вигляді десяткових цифр. Структурна схема управління індикатором і таблиця відповідності код двійково-десяткового лічильника формованим індикатором цифрам представлена на малюнку 8.11.
Якщо розглядати значення сигналів, що надходять на відповідні сегменти, як значення логічних функцій, а як змінні використовувати розрядні сигнали лічильника, то перетворювач код може бути описаний системою рівнянь, приведеною нижче. a=F(0,2,3,5,6,7,8,9); b=F(0,1,2,3,4,7,8,9); c=F(0,1,3,4,5,6,7,8,9); d=(0,2,3,5,6,8,9); e=F(0,2,6,8); f=F(0,4,5,6,8,9); g=F(2,3,4,5,6,8,9). У логічних функціях як аргументи перераховані номери наборів змінних, на яких функція набуває значення одиниця, тобто функції записані в досконалій диз'юнктивній нормальній формі. Такі функції зручно мінімізувати за допомогою карт Карно.
На підставі приведених вище карт Карно після мінімізації отримаємо систему рівнянь:
Система рівнянь записана в базисах І, АБО, НЕ і І-НЕ. На малюнку 8.12 зображена функціональна схема перетворювача коду, побудована відповідно до приведених вище рівнянь, в базисі І, АБО, НЕ. Вузли схем контролю Вузли схем контролю застосовуються в пристроях вбудованого контролю БЦВМ. Вони є частиною схем, призначених для перевірки правильності роботи обчислювальної машини при виконанні різних операцій. В процесі виконання операцій контролюється отриманий результат: позитивний або негативний, дорівнює нулю або не дорівнює нулю, більше або менше певної величини і так далі Крім того, контролюється правильність передачі інформації між вузлами або пристроями БЦВМ з використанням спеціальних код, порівняння результатів, отриманих при вирішенні однієї і тієї ж задачі різними обчислювальними пристроями і тому подібне. Схема визначення рівності нулю або одиниці Схема є комбінаційною схемою, побудованою на підставі рівнянь і для визначення рівності коду нулю або одиниці відповідно. У цих виразах xi є i-м розрядом коди. Рівняння можуть бути записані в іншому вигляді з використанням логічної операції І, а саме:
Схема визначення порозрядної рівності або нерівності двох код Схема будується відповідно до наступнихвиразів для визначення рівності коду:
і для визначення нерівності код:
У цих виразах X=xn-1 xn-2 .x1 x0 і Y=yn-1 yn-2. y1 y0 - порівнювані коди. Схема визначення рівності коду показана на малюнку 8.13. Схема визначення рівності двох з трьох однакових кодів У бортових обчислювальних комплексах для підвищення надійності їх роботи здійснюється резервування вхідних в комплекс обчислювальних пристроїв, що виконують одну і ту ж програму рішення задачі і що забезпечують отримання одного і того ж результату. В разі збігу результатів від двох або три незалежно працюючих БЦВМ отриманий результат вважається достовірним. На малюнку 8.14 показані вихідні регістри БЦВМ, однойменні розряди отриманого результату яких порівнюються між собою за мажоритарним принципом.
Схема порозрядного порівняння за принципом два з трьох є схемою І-АБО на три входи з одним виходом, на якому формується сигнал при збігу, принаймні, два з трьох сигналів, що поступили на входи. Схема реалізує логічну функцію
Схема визначення більшого (меншого) з двох кодів Схема використовується для визначення нерівності (X(((Y( або (Y( ((X(. В схемах подібного типу реалізується послідовне порозрядне порівняння, починаючи з старших розрядів. Якщо старші розряди не рівні, xn-1 ( yn-1, то для (X(((Y( значення функції
Якщо старші розряди рівні xn = yn , то виконується рівність. При рівності розрядів, порівнюються наступні по порядку розряди. При цьому, якщо (X(((Y(, то
Якщо позначити вихідний сигнал через D, то він дорівнюватиме одиниці при виконанні нерівності (X(((Y(. У загальному вигляді логічна функція для побудови схеми має вигляд:
Нехай, наприклад, необхідно побудувати схему визначення більшого з двох трьохрозрядних кодів X = x2 x1 x0 Y = y2 y1 y0 . Для (X (((Y(рівняння для побудови схеми має вигляд:
де
Функціональна схема, побудована по приведених вище рівняннях, дана на малюнку 8.15. При D=1 виконується нерівність(X(((Y(, а при D=0 –нерівність (Y( ((X(. Схема контролю код по парності (непарності) Схема дозволяє визначити парну або непарну кількість одиниць в коді, що перевіряється. Порушення парності або непарності свідчить про появу одиночної помилки, викликаною трансформацією якогось розряду з 0 в 1 або навпаки.
Логічна функція двох змінних, що виконує операцію «складання по mod 2», має вигляд :
Функция набуває значення «1» при нерівності значень змінних, тобто при непарній сумі одиниць в двох розрядах. Для визначення парної суми одиниць необхідно узяти інверсію цієї функції. Схема визначення непарності і парності суми два змінних показана на малюнку 8.16. Схема, приведена на малюнку 8.16, може бути використана для побудови схеми контролю парності і непарності багаторозрядної коди. Приклад побудови схеми контролю парності для п'ятирозрядного коду наведений на малюнку 8.17. Підготовка до виконання роботи При підготовці до роботи необхідно: 1.Повторити теоретичний матеріал, викладений в даному описі. 2.Повторити можливості програми, викладені в описі до роботи 5. Порядок виконання роботи Завдання 1. Побудувати дешифратор на два входи на логічних елементах І, перевірити його роботу в статичному режимі. Схема дешифратора дана на малюнку 8.18. Переконатися в працездатності схеми дешифратора, зняти його характеристики і помістити їх в звіт. Завдання 2. Досліджувати роботу мікросхеми 74138, що є дешифратором 3(8 з керуючим входом G1. Для цього зібрати схему, показану на малюнку 8.19. До входів А, В і С підключити генератор слів, а до виходів - логічний аналізатор.
Схему і осцилограми, представлені на малюнках 8.19 і 8.20, занести в звіт.
Завдання 3. Зібрати схему дешифратора на двох мікросхемах 74138. Для цього об'єднати входи А, В і С, а як додаткові входи використовувати входи G1 мікросхем. Схема для дослідження і осцилограми сигналів на виходах дешифратора 416 (показана на малюнку 8.21 і 8.22. Результати занести в звіт. Завдання 4. Досліджувати мікросхему 74148, що є пріоритетним шифратором, який привласнює будь-якому активному з восьми наявних входів трьохрозрядний двійковий код, відповідний номеру входу. Якщо
активізовано декілька входів одночасно, пріоритет завжди матиме старший по номеру вхід. Робота схеми описується таблицею 8.3. Таблиця 8.3 Вхід Вихід
Е1 0 1 2 3 4 5 6 7 А0 А1 А2
1 * * * * * * * * 1 1 1
0 1 1 1 1 1 1 1 1 1 1 1
0 * * * * * * * 0 0 0 0
0 * * * * * * 0 1 1 0 0
0 * * * * * 0 1 1 0 1 0
0 * * * * 0 1 1 1 1 1 0
0 * * * 0 1 1 1 1 0 0 1
0 * * 0 1 1 1 1 1 1 0 1
0 * 0 1 1 1 1 1 1 0 1 1
0 0 1 1 1 1 1 1 1 1 1 1
З таблиці виходить, що вихідний код формується при низькому рівні сигналу на вході Е1 і низькому рівні сигналу на відповідному вході шифратора. Слід мати на увазі, що вихідний код А0а1а2 представлений в інвертованому вигляді. Байдужі стани позначені «*». Схема представлена на малюнку 8.23. Результати дослідження занести в звіт.
Завдання 5. Побудувати мультиплексор на чотири входи, як показано на малюнку 8.24. Задаючи адресу комутованого входу перемикачами [4] і [5], переконатися в працездатності мультиплексора. Якщо на вибраний вхід по черзі подавати 0 і 1, то на виході повторюються ті ж сигнали. Якщо на невибрані входи по черзі подавати 0 і 1, то на виході завжди зберігається 0. Мікросхема 74138 є дешифратором 3(8, в якому використовується в схемі два входи і чотири виходи. Завдання 6. Зібрати схему для дослідження роботи мультиплексора на мікросхемі 74153 в статичному режимі (див. малюнок 8.25). Мікросхема включає два мультиплексори на чотири входи кожен. Перемикач «Spaсe» встановлює мультиплексор у відключений стан. Перевірити роботу мультиплексора в різних режимах. Схему і результати занести в звіт.
Завдання 7. Досліджувати роботу перетворювача коду, побудованого на мікросхемі 7447, в статичному режимі
Двійково-десятковий код задається перемикачами [1] [2] [3] [4]. Семисегментний цифровий індикатор фіксує код, що вводиться, у вигляді десяткових знаків. Схему, зображену на малюнку 8.26, і результати дослідження занести в звіт.
Завдання 8. Побудувати розподільник імпульсів на зсувному регістрі і дослідити його роботу в статичному і динамічному режимах.
На малюнку 8.27 дана схема з використанням мікросхеми 74164 для дослідження в статичному режимі. Мікросхема є восьмирозрядним зсувним регістром з послідовним входом і паралельними виходами. Регістр має асинхронне скидання (вхід CLR’) і два входи, об'єднаних логічним "І", для послідовного введення коди. Зсув коду здійснюється вправо по позитивному перепаду імпульсів на вході CLK.
Перемикачем [1] в молодший розряд регістра записується 1, перемикач повертається в нижній стан. Вихід старшого розряду QH через схему АБО пов'язаний з входами A і B. За допомогою перемикача [3] імітується подача синхроімпульсів. Робота схема контролюється за допомогою розрядних індикаторів 0,1,.7. Перемикач [4] повинен знаходитися у верхньому положенні. Результати моделювання занести в звіт. На малюнку 8.28 представлена схема включення розподільника імпульсів для роботи в динамічному режимі і тимчасові діаграми сигналів на виходах розподільника. Завдання 9. Зібрати схему для перевірки на парність, показану на малюнку 8.29. Схема побудована на мікросхемі 72280 і має 8 входів A,B,C,D,E,F,G,H (розряди 0,1,2,3,4,5,6,7) для введення контрольованої коди, два виходи EVEN і ODD для фіксації парного або непарного числа одиниць в коді і два входи дозволу. Стани входів дозволу NC і I мають бути протилежними. Коли NC =1, I=0 при парній сумі EVEN=1, а ODD=0.
Коди для контролю на парність задаються від генератора слів, який працює в режимі однократного задання вхідних кодів (Step). Коди, що задаються, і результати перевірки на парність звести в таблицю і помістити в звіт. Вміст звіту У звіт про виконану роботу включити такі матеріали: 1.Тему і мету роботи. 2.Результати виконання завдань: досліджувані схеми, отримані таблиці. 3.Аналіз отриманих результатів. 4.Висновки по роботі. Контрольні питання Які вузли називаються вузлами комутації і контролю? Які функції в цифрових пристроях виконує дешифратор? Як побудувати розподільник імпульсів з використанням дешифратора? Чи можна використовувати мультиплексори для реалізації логічних функцій? Як здійснюється управління роботою мультиплексора? З допомогою якого вузла можна перетворити десятковий код в двійково-десятковий? Скільки виходів може мати демультиплексор, якщо кількість адресних входів дорівнює 4? Чим відрізняються один від одного схема контролю парності і схема контролю непарності? Які логічні функції реалізуються в схемах контролю парності?