|
Тема18.Компаратори кодів
Мікросхеми компараторів кодів (англійське Comparator) застосовуються для порівняння двох вхідних кодів і видачі на виходи сигналів про результати цього порівняння (про рівність або нерівність кодів). На схемах компаратори кодів позначаються двома символами рівності: «==». Код типу мікросхеми компаратора коду у вітчизняних серіях - СП.
Прикладом мікросхеми компаратора кодів може служити СП1 - чотирьохрозрядний компаратор кодів, що порівнює величини кодів і видаючий інформацію про те, який код більше, або про рівність кодів (малюнок 18.1).
Малюнок 18.1.Чотирьохрозрядний компаратор кодів СП1 (два варіанти позначення).
Крім восьми входів для порівнюваних кодів (двох чотирьохрозрядних кодів, А0...A3 і B0...B3) компаратор СП1 має три управляючі входи для нарощування розрядності (А>В, А<В, А=В) і три виходи результуючих сигналів (А>В, А<В, А=В). Для зручності на схемах управляючі входи і виходи іноді позначають просто «>», «<» і «=». Нульові розряди кодів (АТ і В) - молодші, треті розряди (A3 і ВЗ) - старші.

Таблиця істинності компаратора кодів здається на перший погляд досить складною, але насправді все просто.
Якщо використовується одиночна мікросхема, то для її правильної роботи достатньо подати одиницю на вхід А=В, а стани входів А<В і А>В не важливі: на них можна подати як нуль, так і одиницю. Призначення виходів зрозуміле з їх назви, а полярність вихідних сигналів позитивна (активний рівень - одиниця). Якщо мікросхеми компараторів кодів каскадують (об'єднуються) для збільшення числа розрядів порівнюваних кодів, то вихідні сигнали мікросхеми, оброблювальної молодші розряди коду, потрібно подати на однойменні входи мікросхеми, оброблювальної старші розряди коду (малюнок 18.2).

Малюнок 18.2 Збільшення розрядності компараторів кодів.
В зарубіжні стандартні серії входять також і 8-розрядні компаратори, порівнюючі два коди по величині (тобто мають виходи «=», «>» і «<»). Прикладом може служити мікросхема SN74AS885.
Одне з основних вживань компараторів кодів полягає у відборі вхідних кодів. В цьому випадку достатньо мати інформацію тільки про рівність кодів на входах компаратора, а не про співвідношення їх величин. Код (еталонний), що цікавить нас, подається на один вхід компаратора, а код (вхідний), що змінюється, - на інший вхід. Використовується тільки вихід рівності кодів А=В. Для подібних вживань випускаються і спеціальні компаратори, що визначають рівність кодів. Прикладами можуть служити 8-розрядні мікросхеми SN74ALS520, SN74ALS521, DC102A фірми Dionics (вітчизняний аналог - КР559СК1), а також 6-розрядна мікросхема DM8136 фірми National Semiconductors (вітчизняний аналог - КР559СК2).
Невизначені стани на виходах компараторів кодів можуть виникати при будь-якій зміні будь-якого з двох вхідних кодів. Це пов'язано з неодночасною зміною розрядів кодів. На всіх виходах компаратора СП можуть з'являтися короткі паразитні імпульси. Щоб усунути їх вплив на подальшу частину схеми, застосовується синхронізація і стробування. Але для цього треба точно знати момент зміни вхідних кодів, що далеко не завжди можливе.
При вживанні компараторів треба також враховувати, що при каскадуванні затримки мікросхем підсумовуються, і з'єднаний компаратор, що складається з п мікросхем, буде в п раз повільніше одиночного. Затримки компараторів кодів по входах розрядів кодів зразкові вчетверо більше затримок логічних елементів, а по входах розширення - зразково втричі. Отже ці мікросхеми досить повільні в порівнянні з іншими комбінаційними мікросхемами. Точні значення затримок можна знайти в довідниках.
Якщо нам важливий тільки факт рівності або нерівності вхідних кодів, то збільшити швидкодію при об'єднанні компараторів можна, якщо подавати їх вихідні сигнали на елемент І. В цьому випадку сумарна затримка схеми перевищить затримку одного компаратора всього лише на затримку елемента І. При вживанні компараторів з інверсним виходом (наприклад, SN74ALS521) потрібно використовувати елемент АБО з потрібним числом входів.
При необхідності порівняння кодів не тільки на рівність, але ще і по величині, такого простого рішення не існує. Але ця задача зустрічається набагато рідше.

попередня тема наступна тема
|