Код Джо́нсона (англ. Johnson code; також скручений кільцевий код, код Мебіуса) — клас циклічних двійкових кодів, що утворюються на виході k-розрядного лічильника Джонсона (twisted ring counter). Послідовність має рівно 2k різних станів; будь-які дві сусідні комбінації відрізняються рівно одним бітом (властивість «ґреєподібності»), а перша й остання також суміжні у циклі.
Код Джонсона відрізняється від класичного коду Ґрея тим, що охоплює не всі 2^k двійкових слів, а лише 2k станів, що генерує конкретна конфігурація регістра зі зворотним інверсним зв’язком.
Опис і принцип роботи Лічильник Джонсона складається з k тригерів, з’єднаних у кільцевий зсувний регістр; інверсний вихід останнього подається на вхід першого. На кожному імпульсі такту в кільці «біжить» блок одиниць, за яким іде блок нулів (або навпаки), формуючи послідовність із одиничною зміною біта.
Приклад (k = 4). Для початкового стану 0000 лічильник проходить цикл: 0000 → 1000 → 1100 → 1110 → 1111 → 0111 → 0011 → 0001 → 0000 → …
Декодування Завдяки структурі коду Джонсона кожен із 2k станів можна отримати комбінацією з двох сусідніх виходів лічильника (з інверсією одного з них). Для непарних k існують систематичні схеми дешифрування до десяткових чисел на базі 2-входових 2-вихідних компараторів; для парних k доведено неможливість аналогічної побудови.
Реалізації та застосування Широко відомі КМОП-мікросхеми CD4017 (5-ступенева Johnson-структура з 10 декодованими виходами) та CD4022 (4-ступенева, 8 виходів). Їхніми типовими функціями є дільники частоти та послідовні керувальні дешифратори для індикаторів/світлодіодів. Код Джонсона застосовують у простих послідовниках фаз/імпульсів, індикаторах, подільниках частоти, а також як частину блоків часових діаграм, яким потрібні безскидові (glitch-free) декодовані імпульси.
Історія Концепцію лічильника/коду Джонсона розробив американський інженер Роберт Ройс Джонсон у Bell Labs у 1950-х роках; відповідний патент на «двійкові тригерні лічильники» видано у 1958 році. Біографічні джерела також прямо пов’язують його ім’я з «лічильником Джонсона».
Див. також Лічильник Джонсона Код Ґрея Кільцевий регістр Дешифратор (електроніка)
Примітки
Посилання