Добавил:
Допоможу чим зможу) Відсигнальте якщо знайшли шось корисне) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
33
Добавлен:
11.03.2020
Размер:
213.55 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»

ДОСЛІДЖЕННЯ КОДОУТВОРЕННЯ ТА ПРИНЦИПІВ ПОБУДОВИ АЦП ПЕРЕМІЩЕННЯ З ВИКОРИСТАННЯМ КОДУ ГРЕЯ

МЕТОДИЧНІ ВКАЗІВКИ до лабораторної роботи № 4

з курсу “Засоби передачі інформації в системах технічного захисту інформації” для студентів базового напряму

6.170102 «Системи технічного захисту інформації»

Львів 2012

2

Мета роботи – вивчити особливості коду Грея, його кодуючих і декодуючих пристроїв, а також принципи побудови аналого-цифрових перетворювачів (АЦП) лінійного кутового переміщення з використанням кодів Грея.

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

Десятичний

Двійковий

Код

 

 

 

 

 

 

 

 

 

X3

X2

X1

X0

Y3

Y2

Y1

Y0

код

код

Грея

23

22

21

20

 

23

22

21

20

0

0000

0000

 

 

 

 

 

 

 

 

 

1

0001

0001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

0010

0011

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

0011

0010

 

 

 

 

 

 

 

 

 

4

0100

0110

 

 

 

 

 

 

 

 

 

5

0101

0111

 

 

 

 

 

 

 

 

 

6

0110

0101

 

 

 

 

 

 

 

 

 

7

0111

0100

 

 

 

 

 

 

 

 

 

8

1000

1100

 

 

 

 

 

 

 

 

 

9

1001

1101

 

 

 

 

 

 

 

 

 

10

1010

1111

 

 

 

 

 

 

 

 

 

11

1011

1110

 

 

 

 

 

 

 

 

 

12

1100

1010

 

 

 

 

 

 

 

 

 

13

1101

1011

 

 

 

 

 

 

 

 

 

14

1110

1001

 

 

 

 

 

 

 

 

 

15

1111

1000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.І. Таблиця і маска двійкового коду та коду Грея

Можливість появи настільки великих похибок при зчитуванні результатів перетворення є суттєвим недоліком двійкових шкал, що виключає їх використання в чистому вигляді. Для усунення похибки зчитування застосовуються різні методи, серед яких найвідомішим є метод двійкової щітки [3]. Однак реалізація цих методів призводить до значного ускладнення маски і схеми в зв’язку із збільшенням кількості доріжок маски і елементів зчитування.

У випадку використання коду Грея при зчитуванні не може одночасно змінитися декілька цифр і тому похибка від невизначеності зчитування на границях квантування не перевищує кроку квантування. При цьому кількість доріжок і елементів зчитування визначається розрядністю n двійкового коду [2, 3].

Однак недоліком коду Грея порівняно з двійковим кодом є його незваженість. Тому при необхідності арифметичних дій над результатами перетворення переміщення в код потрібне додаткове перетворення коду Грея в двійковий.

Код Грея Yn 1,Yn 2,Yn 3,...,Yi ,...,Y1,Y0

перетворюється у двійковий код

 

X n 1, X n 2, X n 3,..., Xi ,..., X1, X0 за таким алгоритмом :

 

X n 1 Yn 1;

 

X n 2 X n 1 Yn 2 ;

 

--------------

 

Xi

Xi 1 Yi ;

(1)

--------------

X1 X 2 Y1;

X 0 X1 Y0 ,

де Xi і Yi : позначення нуля або одиниці розряду двійкового коду і коду Грея.

Алгоритм оберненого перетворення двійкового коду в код Грея можна описати системою рівнянь

Yn 1 X n 1;

4

 

Yn 2 X n 1 X n 2 ;

 

--------------

 

Yi Xi 1 Xi ;

(2)

--------------

 

Y1 X 2 X1;

Y0 X1 X 0 ,

Практично це здійснюється додаванням за модулем два розрядів перетворюваної КК з такою ж КК, але зсунутою на один розряд праворуч з відкиданням молодшого розряду

результуючої КК Наприклад, X3X 2 X1X 0 =1001

1

0

0

1

 

 

 

1

0

0

1

1

1

0

1

 

Одержимо Y3Y2Y1Y0 =1101.

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

5

Якщо потрібно одержати послідовний двійковий код, до схеми (рис. 3) має входити перетворювач паралельного коду Грея в послідовний.

Роль суматора за модулем 2 перетворюваного розряду коду Грея і попередньо одержаного розряду двійкового коду згідно з алгоритмом (1) може виконувати тригер із лічильним входом. Для забезпечення правильності зчитування поточного результату додавання за модулем 2 із прямого виходу тригера передбачений елемент затримки, який подає тактовий імпульс на елемент зчитування лише після спрацювання тригера. Після перетворення останнього розряду лічильник і тригер обнулюються сигналом «СКИД».

1.2. АЦП ПРОСТОРОВОГО КОДУВАННЯ

Відмінністю АЦП переміщення, які реалізують метод зчитування, є наявність носія міри: кодової лінійки для лінійних і диска для кутових переміщень, за допомогою кодових шкал яких наперед здійснено квантування і кодування перетворюваної величини. Кодуючий диск (рис. 4) закріплюється на валу і повертається разом із ним відносно нерухомого пристрою зчитування коду. Оскільки кожне кільце кодуючого диска відповідає окремому розряду коду Грея, а елементи пристрою зчитування (джерело світла (ДС), лінзи (Л) і фотоприймачі (ФП)) розташовані строго радіально, то одночасно зчитуються всі розряди кодової комбінації.

Одержана КК є результатом перетворення кута повороту в коді Грея.

АЦП лінійного переміщення конструктивно виконуються у вигляді кодової лінійки (рис. 1), вздовж якої рухається головка зчитування. Очевидно, що фотоелементи пристрою зчитування, розташовані впоперек лінійки, зафіксують результат перетворення відносного переміщення в код Грея.

Кодові маски (лінійки і диски) можуть забезпечити одночасне перетворення в код, якоїнебудь функції просторового переміщення. Такі функціональні маски розвантажують ЕОМ, що працює разом із АЦП переміщення, від додаткових перетворень.

Виготовлення функціональних кодових масок складніше, ніж лінійних, оскільки розбивають коло диска або шкали лінійки не на рівномірні ділянки. Рис. 5 ілюструє принцип побудови функціонального кодового диска у випадку синусоїдної залежності та чотирирозрядного коду. Спочатку здійснюється адаптивна дискретизація функції в результаті чого знаходять значення аргументів, які відповідають кожному рівню квантування (рис. 5, а). Кодовий диск, на поверхні якого нанесені концентричні кола, за кількістю розрядів КК розбивають на сектори згідно із значенням цих аргументів (рис. 5, б).

Потім значення рівнів квантування записують в коді Грея і заштриховують відповідні сегменти диска. Кількість рівнів квантування визначає необхідну точність перетворення кута в код. Розміри диска повинні враховувати потрібну роздільну здатність на найкрутішій ділянці функції.

6

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

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

σm 2δkв3 , 100N 00 , N 2n ,

W ( ) 1/ , при / 2 м kв / 2

m 0, при м kв / 2, м kв / 2

де m і m - поточне та середньоквадратичне значення методичної похибки;

N - кількість рівнів квантування;

W ( m) - граничне значення методичної похибки.

Причиною інструментальної похибки є неточність виготовлення та розташування кодової маски, неточність встановлення фотоелементів і люфти головки зчитування, температурні коливання лінійного розширення і т.д. Внаслідок дії багатьох чинників можна припустити, що закон розподілу інструментальної похибки близький до нормального

7

W ( i ) i 12 e i2 / 2 i2 ,

де i і i - поточне та середньоквадратичне значення інструментальної похибки.

Оскільки методична та інструментальна похибки незалежні, то середньоквадратичне значення результуючої дорівнює

σ σm2 σi2 ,

Закон розподілу результуючої похибки W ( ) визначається співвідношенням складових.

Якщо i m (2/

 

 

 

 

3) , то розподіл буде нормальним, а якщо i (1/

3) - буде рівномірним.

У випадку, коли методична та інструментальна похибки співрозмірні i m , результуючий

закон розподілу є композицією законів розподілу складових. Його знаходження - складне завдання, але відомо кілька способів його вирішення.

Безмашинний метод підсумування похибок, викладений в [4], базується на характеристичних функціях, які ввів А. М. Ляпунов. В [4, 5] описано метод обчислення метрологічних характеристик вимірювальних перетворювачів з використанням ЕОМ, який дає змогу автоматизувати визначення та графічну побудову закону розподілу двох і більше складових.

У реальних АЦП переміщення i 2 m , тобто розрядність не є стримуючим чинником.

Сучасні оптичні системи мають 20 і більше розрядів, тому методична похибка становить 10-6, а результуюча визначається, в основному, інструментальною похибкою.

2. МЕТОДИЧНІ ВКАЗІВКИ

Лабораторна робота складається з двох етапів. На першому досліджують схеми паралельного та послідовного перетворювачів 8-розрядного коду Грея у двійковий код шляхом моделювання їх роботи у середовищі LogicWorks. Для чого необхідно:

Паралельний перетворювач коду Грея в двійковий код

1.Запустити програму LogicWorks (файл LogicWorks.exe).

2.Відкрити файл LR4_GrayP.cct. Це можна зробити через пункт меню File/Open. При

цьому в редакторі появиться схема перетворювача представлена на рис. 6, що здійснює перетворення паралельного 8-розрядного коду Грея у паралельний двійковий код і подальші індикацію розрядів двійкового коду. До складу схеми входять 8 перемикачів (Y7÷Y0) для задання коду Грея, 7 суматорів за модулем два і 8 індикаторів (X7÷X0)для відтворення двійкового коду.

3.Запустити моделювання схеми для чого необхідно вибрати пункт меню Simulation/Run або натиснути лівою клавішею мишки по піктограмі на панелі інструментів (див рис. 6).

4.З допомогою перемикачів Y7÷Y0 задати передбачені завданням кодові комбінації в коді Грея (щоб змінити положення перемикача потрібно навести на нього мишку і натиснути ліву клавішу).

5.Зчитати двійкові коди X7÷X0 та порівняти одержані кодові комбінації з розрахованими при домашній підготовці.

8

Рис. 6. Схема моделювання роботи перетворювача паралельного коду Грея в паралельний двійковий код в середовищі LogicWorks

Послідовний перетворювач коду Грея в двійковий код

1.Запустити програму LogicWorks (файл LogicWorks.exe).

2.Відкрити файл LR4_GrayS.cct. Це можна зробити через пункт меню File/Open. При

цьому в редакторі появиться схема перетворювача представлена на рис. 7. Схему здійснює перетворення спочатку із паралельного у послідовний код Грея, а потім у послідовний двійковий код, передачу, прийом та індикацію двійкового коду. До складу схеми входять 8 перемикачів (Y7÷Y0) та індикаторів для задання і відображення коду Грея, генератор тактових імпульсів ГТІ, двійковий лічильник імпульсів СТ2, мультиплексор МХ, лічильний тригер на основі D-тригера, елементи затримки DELAY, логічні елементи І для формування імпульсної послідовності, а також регістр зсуву REG для запису та зберігання результату перетворення і 8 індикаторів (X7÷X0) прийнятого двійкового коду. Також до складу схеми входять перемикачі RES (СКИД схеми) та SAVE (ініціалізація лічильника початковим значенням).

3.Запустити моделювання схеми для чого необхідно вибрати пункт меню Simulation/Run або натиснути лівою клавішею мишки по піктограмі на панелі інструментів (див рис. 7).

4.З допомогою перемикачів Y7÷Y0 задати передбачені завданням кодові комбінації в коді Грея (щоб змінити стан перемикача потрібно навести на нього мишку і натиснути ліву клавішу).

9

перетворювачапаралельногокодуГреяв

кодвсередовищіLogicWorks

Схемамоделюванняроботи

послідовнийдвійковий

Рис.7.

 

10

5. Перевести перемикач SAVE в положення 0. Після цього встановити перемикач RES у

стан 0.

6. Натиснути лівою клавішею мишки по піктограмі

на панелі інструментів (див рис. 7).

З’явиться меню представлене на рис. 8.

 

Рис. 8. Меню Simulation Trigger Setup (задання умови закінчення моделювання) У ньому потрібно вести дані представлені на рис. 8 та натиснути кнопку OK.

7.Перевести перемикач SAVE в положення 1.

8.Встановити перемикач RES у стан 1. Після цього починається моделювання роботи схеми, яке триває 8 тактів сигналу NCLK. Після 8 такту моделювання автоматично зупиняється, а

врегістрі REG (рис. 7) буде записана кодова комбінація у двійковому коді.

9.Зчитати двійкові коди Х7÷Х0 та порівняти одержані кодові комбінації з розрахованими при домашній підготовці.

10.Одночасно можна спостерігати часові діаграми роботи схеми (рис. 9), які виводяться у вікні Timing Window, що розташоване у нижній частині редактора схем. У разі якщо вікно Timing Window відсутнє, його можна вивести вибравши пункт меню Window/Timing Window.

Рис. 9. Часова діаграма роботи схеми

Вихідним двійковим кодом є сигнал OUT2, який синхронізується заднім фронтом імпульсів NCLK. З рис. 7 та 9 видно, що коду Грея 01111110 відповідає двійковий код 01010100.

На другому етапі роботи вивчається суть методу просторового кодування, побудови і принципу дії АЦП лінійного переміщення.

Соседние файлы в папке Лаби умови