ДОСЛІДЖЕННЯ КОДОУТВОРЕННЯ ТА ПРИНЦИПІВ ПОБУДОВИ АЦП ПЕРЕМІЩЕННЯ З ВИКОРИСТАННЯМ КОДУ ГРЕЯ
до лабораторної роботи № 4
МЕТА РОБОТИ – вивчити особливості коду Грея, його кодуючих і декодуючих пристроїв, а також принципи побудови аналого-цифрових перетворювачів (АЦП) лінійного кутового переміщення з використанням кодів Грея.
1. ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ
АЦП просторових переміщень (лінійних і кутових) широко застосовуються в різних галузях науки і техніки. Наприклад, в телемеханіці разом з первинними перетворювачами вони використовуються для вимірювання таких параметрів як тиск, температура, витрата (рідин і газів), та інших неелектричних величин, попередньо перетворених у переміщення. У радіолокації та військовій техніці з допомогою АЦП переміщень одержують дані про координати цілей безпосередньо в цифровій формі. Крім того, використовуючи такі АЦП, можна вирішувати завдання лінеаризації, функціональне перетворення шкал приладів і тому подібне.
АЦП переміщень найчастіше базуються на використанні методу зчитування (збігу), за якого координати простору безпосередньо перетворюються в код, а тому немає додаткових похибок від перетворення переміщення в проміжний параметр (тривалість імпульсу або частоту), який потім квантується і кодується. Метод збігу забезпечує також і найвищу швидкість перетворення. АЦП за цим методом містить набір всіх можливих рівнів квантування перетворюваної величини. Кожному дискретному рівню за допомогою спеціальних кодових шкал (масок) і пристроїв зчитування ставиться у відповідність вихідний код. Для усунення похибок зчитування використовується код Грея [1, 2].
1.1. КОД ГРЕЯ
Ідея утворення коду Грея полягає в тому, щоб перехід від однієї кодової комбінації (КК) до сусідньої, більшої або меншої на одиницю супроводжувався б зміною коду лише в одному розряді. При цьому перша і остання КК коду Грея також відрізняються цифрою лише в одному розряді, оскільки такі коди будуються за алгоритмом замкненні циклом. Саме тому код Грея називається також циклічним.
На рис. 1 наведені таблиця із записом чисел від 0 до 15 в чотирирозрядному двійковому натуральному коді та коді Грея, а також побудовані у повній відповідності до нього лінійні кодові маски. При цьому нулям в КК відповідають темні, а одиницям - світлі ділянки маски. Елементи зчитування розташовуються впоперек кодових доріжок лінійної шкали. Наведена таблиця і кодуючі маски дають змогу виділити такі характерні особливості коду Грея:
1. Кожна наступна КК завжди відрізняється від попередньої лише в одному розряді.
2. Змінюються значення розрядів коду при переході від одної КК до іншої рідше, ніж в натуральному двійковому коді. Це дає змогу забезпечити вищу точність кодування переміщення без зниження швидкодії.
3. В коді Грея можна виділити осі симетрії, відносно яких спостерігається ідентичність елементів у деяких розрядах КК, наприклад, симетрія відносно осі між числами 7 і 8. Саме тому код Грея називається рефлексним.
У двійкових кодових шкалах при зміні цифр лише в одному молодшому розряді значення методичної похибки в АЦП переміщення знаходиться в межах кроку квантування, а при зміні цифр у великій кількості розрядів значення похибки може виявитися значно більшим і досягти максимального значення перетворюваного просторового переміщення. Наприклад, при переході від положення, кодованого двійковим числом 0111 (рис. 1), до положення 1000, повинні одночасно змінитися значення цифр у всіх розрядах. Якщо ж умова одночасності зміни порушується, то на границі розділу чисел 7 (0111) і 8 (1000) можуть виникнути будь-які КК:
1. 0000 - цифри перших 3-х розрядів змінилися, а цифра 4-го старшого розряду затрималась;
2. 0001 — цифри 2-го і 3-го розрядів змінилися, а 1-го і 4-го затримались;
3. 1111 - цифра 4-го розряду змінилася, а 1-го, 2-го і 3-го затримались.

Рис.І. Таблиця і маска двійкового коду та коду Грея
Можливість появи настільки великих похибок при зчитуванні результатів перетворення є суттєвим недоліком двійкових шкал, що виключає їх використання в чистому вигляді. Для усунення похибки зчитування застосовуються різні методи, серед яких найвідомішим є метод двійкової щітки [3]. Однак реалізація цих методів призводить до значного ускладнення маски і схеми в зв’язку із збільшенням кількості доріжок маски і елементів зчитування.
У випадку використання коду Грея при зчитуванні не може одночасно змінитися декілька цифр і тому похибка від невизначеності зчитування на границях квантування не перевищує кроку квантування. При цьому кількість доріжок і елементів зчитування визначається розрядністю n двійкового коду [2, 3].
Однак недоліком коду Грея порівняно з двійковим кодом є його незваженість. Тому при необхідності арифметичних дій над результатами перетворення переміщення в код потрібне додаткове перетворення коду Грея в двійковий.
Код Грея перетворюється у двійковий код
за таким алгоритмом :
;
;
--------------
; (1)
--------------
;
,
де і : позначення нуля або одиниці розряду двійкового коду і коду Грея.
Алгоритм оберненого перетворення двійкового коду в код Грея можна описати системою рівнянь
;
;
--------------
; (2)
--------------
;
,
Практично це здійснюється додаванням за модулем два розрядів перетворюваної КК з такою ж КК, але зсунутою на один розряд праворуч з відкиданням молодшого розряду результуючої КК Наприклад, =1001

Одержимо =1101.
Вид технічних засобів перетворення коду Грея в натуральний двійковий код залежить від форми подання останнього. На рис. 2 наведена схема перетворювача 4-розрядного коду Грея в паралельний двійковий код, яка згідно з алгоритмом (1) містить (n-1) - суматорів за модулем 2.


Якщо потрібно одержати послідовний двійковий код, до схеми (рис. 3) має входити перетворювач паралельного коду Грея в послідовний.
Роль суматора за модулем 2 перетворюваного розряду коду Грея і попередньо одержаного розряду двійкового коду згідно з алгоритмом (1) може виконувати тригер із лічильним входом. Для забезпечення правильності зчитування поточного результату додавання за модулем 2 із прямого виходу тригера передбачений елемент затримки, який подає тактовий імпульс на елемент зчитування лише після спрацювання тригера. Після перетворення останнього розряду лічильник і тригер обнулюються сигналом «СКИД».
1.2. АЦП ПРОСТОРОВОГО КОДУВАННЯ
Відмінністю АЦП переміщення, які реалізують метод зчитування, є наявність носія міри: кодової лінійки для лінійних і диска для кутових переміщень, за допомогою кодових шкал яких наперед здійснено квантування і кодування перетворюваної величини. Кодуючий диск (рис. 4) закріплюється на валу і повертається разом із ним відносно нерухомого пристрою зчитування коду. Оскільки кожне кільце кодуючого диска відповідає окремому розряду коду Грея, а елементи пристрою зчитування (джерело світла (ДС), лінзи (Л) і фотоприймачі (ФП)) розташовані строго радіально, то одночасно зчитуються всі розряди кодової комбінації.
Одержана КК є результатом перетворення кута повороту в коді Грея.
АЦП лінійного переміщення конструктивно виконуються у вигляді кодової лінійки (рис. 1), вздовж якої рухається головка зчитування. Очевидно, що фотоелементи пристрою зчитування, розташовані впоперек лінійки, зафіксують результат перетворення відносного переміщення в код Грея.
Кодові маски (лінійки і диски) можуть забезпечити одночасне перетворення в код, якої-небудь функції просторового переміщення. Такі функціональні маски розвантажують ЕОМ, що працює разом із АЦП переміщення, від додаткових перетворень.
Виготовлення функціональних кодових масок складніше, ніж лінійних, оскільки розбивають коло диска або шкали лінійки не на рівномірні ділянки. Рис. 5 ілюструє принцип побудови функціонального кодового диска у випадку синусоїдної залежності та чотирирозрядного коду. Спочатку здійснюється адаптивна дискретизація функції в результаті чого знаходять значення аргументів, які відповідають кожному рівню квантування (рис. 5, а). Кодовий диск, на поверхні якого нанесені концентричні кола, за кількістю розрядів КК розбивають на сектори згідно із значенням цих аргументів (рис. 5, б). Оскільки одному і тому ж кроку квантування відповідають різні зменшення похідної функції.
Потім значення рівнів квантування записують в коді Грея і заштриховують відповідні сегменти диска. Кількість рівнів квантування визначає необхідну точність перетворення кута в код. Розміри диска повинні враховувати потрібну роздільну здатність на найкрутішій ділянці функції.

Однією з найважливіших характеристик АЦП переміщення як вимірювального пристрою є похибка перетворення, яка містить дві складові — методичну та інструментальну . Методична похибка є похибкою квантування, а тому визначається розрядністю п АЦП і розподілена за рівномірним законом [4, 5]:
, , ,


де і - поточне та середньоквадратичне значення методичної похибки;
N - кількість рівнів квантування;
- граничне значення методичної похибки.
Причиною інструментальної похибки є неточність виготовлення та розташування кодової маски, неточність встановлення фотоелементів і люфти головки зчитування, температурні коливання лінійного розширення і т.д. Внаслідок дії багатьох чинників можна припустити, що закон розподілу інструментальної похибки близький до нормального
,
де і - поточне та середньоквадратичне значення інструментальної похибки.
Оскільки методична та інструментальна похибки незалежні, то середньоквадратичне значення результуючої дорівнює
,
Закон розподілу результуючої похибки визначається співвідношенням складових. Якщо , то розподіл буде нормальним, а якщо - буде рівномірним.
У випадку, коли методична та інструментальна похибки співрозмірні , результуючий закон розподілу є композицією законів розподілу складових. Його знаходження - складне завдання, але відомо кілька способів його вирішення.
Безмашинний метод підсумування похибок, викладений в [4], базується на характеристичних функціях, які ввів А. М. Ляпунов. В [4, 5] описано метод обчислення метрологічних характеристик вимірювальних перетворювачів з використанням ЕОМ, який дає змогу автоматизувати визначення та графічну побудову закону розподілу двох і більше складових.
У реальних АЦП переміщення , тобто розрядність не є стримуючим чинником. Сучасні оптичні системи мають 20 і більше розрядів, тому методична похибка становить 10-6, а результуюча визначається, в основному, інструментальною похибкою.