Застосування ЦАП

Цифро-аналогові перетворювачі (ЦАП, DAC – “Digital-to-Analog Converter”) і аналого-цифрові перетворювачі (АЦП, ADC – “Analog-to-Digital Converter”) головним чином застосовуються для спряження цифрових пристроїв і систем із зовнішніми аналоговими сигналами, з реальним світом. При цьому АЦП перетворює аналогові сигнали у вхідні цифрові сигнали, що надходять на цифрові пристрої для подальшої обробки або зберігання, а ЦАП перетворює вихідні цифрові сигнали цифрових пристроїв в аналогові сигнали.

ЦАП і АЦП застосовуються у вимірювальній техніці (цифрові осцилографи, вольтметри, генератори сигналів і т.д.), у побутовій техніці (телевізори, музичні центри, автомобільна електроніка і т.д.), в комп’ютерній техніці (введення і виведення звуку в комп’ютерах, відеомонітори, принтери і т.д.), в медичній техніці, в пристроях радіолокацій, в телефонії і в багатьох інших областях. Застосування ЦАП і АЦП постійно розширюється в міру переходу від аналогових до цифрових пристроїв.

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

Відразу ж треба відзначити, що для грамотного і професійного використання мікросхем ЦАП і АЦП абсолютно не достатнє знання цифрової схемотехніки. Ці мікросхеми відносяться до аналого-цифрових, тому вони вимагають також знання аналогової схемотехніки, що істотно відрізняється від цифрової. Практичне застосування ЦАП і АЦП вимагає розрахунку аналогових кіл, врахування численних похибок перетворення (як статичних, так і динамічних), знання характеристик і особливостей аналогових мікросхем (в першу чергу, операційних підсилювачів) і багато чого іншого. Існує багато літератури, спеціально присвяченої саме питанням застосування ЦАП і АЦП. Тому в даній статті ми не будемо говорити про специфіку вибору і принципи включення конкретних мікросхем ЦАП і АЦП, ми будемо розглядати тільки основні особливості методів з’єднання ЦАП і АЦП з цифровими вузлами. Нас буде в першу чергу цікавити організація цифрових вузлів, призначених для з’єднання з ЦАП і АЦП.



Застосування ЦАП
У загальному випадку мікросхему ЦАП можна представити у вигляді блоку, що має кілька цифрових входів і один аналоговий вхід, а також аналоговий вихід.

dac
Рисунок 1

На цифрові входи ЦАП подається n-розрядний код N, на аналоговий вхід – опорна напруга Uоп (інше поширене позначення – UREF). Вихідним сигналом є напруга Uвих (інше позначення – U0) або струм Iвих (інше позначення – I0). При цьому вихідний струм або вихідна напруга пропорційні вхідному коду та опорній напрузі. Для деяких мікросхем опорна напруга повинна мати строго заданий рівень, для інших допускається змінювати її значення в широких межах, в тому числі і змінювати її полярність (позитивну на негативну і навпаки). ЦАП з великим діапазоном зміни опорної напруги називається ЦАП множення, так як його можна легко використовувати для множення вхідного коду на будь-яку опорну напругу.

Крім інформаційних сигналів, мікросхеми ЦАП вимагають також підключення одного або двох джерел живлення і загального проводу. Зазвичай цифрові входи ЦАП забезпечують сумісність зі стандартними виходами мікросхем ТТЛ.

Найчастіше в разі, якщо ЦАП має струмовий вихід, його вихідний струм перетвориться в вихідну напругу за допомогою зовнішнього операційного підсилювача і вбудованого в ЦАП резистора Rос, один з виводів якого виведений на зовнішній вивід мікросхеми. Тому, якщо не обумовлено інше, ми будемо надалі вважати, що вихідний сигнал ЦАП – напруга U0.

07-02
Рисунок 2

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

Як приклад на рис. 3 показано 4-розрядне (n = 4) цифро-аналогове перетворення на основі резистивної матриці R-2R і ключів (в реальності використовуються ключі на основі транзисторів). Правому положенню ключа відповідає одиниця в даному розряді вхідного коду N (розряди D0 … D3). Операційний підсилювач може бути як вбудованим (у разі ЦАП з виходом по напрузі), так і зовнішнім (у разі ЦАП з виходом по струму).

03
Рисунок 3

Першим (лівим по рисунку) ключем комутується струм величиною UREF/2R, другим ключем – струм UREF/4R, третім – струм UREF/8R, четвертим – струм UREF/16R. Тобто струми, комутовані сусідніми ключами, розрізняються вдвічі, як і ваги розрядів двійкового коду. Струми, комутовані усіма ключами, сумуються і перетворюються в вихідну напругу за допомогою операційного підсилювача з опором Rос = R в колі негативного зворотного зв’язку.

При правому положенні кожного ключа (одиниця у відповідному розряді вхідного коду ЦАП) струм, комутований цим ключем, надходить на підсумовування. При лівому положенні ключа (нуль у відповідному розряді вхідного коду ЦАП) струм, комутований цим ключем, на підсумовування не надходить.

Сумарний струм I0 від всіх ключів створює на виході операційного підсилювача напругу U0 = I0 Rос = I0R. Тобто вклад першого ключа (старшого розряду коду) в вихідну напругу складає UREF/2, другого – UREF/4, третього – UREF/8, четвертого – UREF/16. Таким чином, при вхідному коді N = 0000 вихідна напруга схеми буде нульовою, а при вхідному коді N = 1111 вона дорівнюватиме -15UREF/16.

У загальному випадку вихідна напруга ЦАП при Rос = R буде пов’язано зі вхідним кодом N і опорним напругою UREF простою формулою

Uвих = -N • UREF 2-n
де n – кількість розрядів вхідного коду. Знак мінус виходить через інверсії сигналу операційним підсилювачем. Цей зв’язок можна проілюструвати також табл. 1.



Таблиця 1 – Перетворення ЦАП в однополярному режимі

Вхідний код NВихідна напруга Uвих
000 . . . 0000
000 . . . 001-2-n-UREF
. . .. . .
000 . . . 0000
100 . . . 000-2-1-UREF
111 . . . 111-(1-2-n)UREF

Деякі мікросхеми ЦАП передбачають можливість роботи в біполярному режимі, при якому вихідна напруга змінюється від нуля до UREF, а від -UREF до + UREF. При цьому вихідний сигнал ЦАП Uвих множиться на 2 і зсувається на величину UREF. Зв’язок між вхідним кодом N і вихідною напругою Uвих буде наступним:

Uвих = UREF (1-N • 21-n)

Це можна проілюструвати табл. 2. Таке біполярне перетворення при можливості зміни знака опорної напруги називається також чотириквадрантним множенням (Тобто і опорна, і вихідна напруги можуть бути в даному випадку як позитивними, так і негативними).

Таблиця 2 – Перетворення ЦАП в біполярному режимі

Вхідний код NВихідна напруга Uвих
000 . . . 000UREF
. . . . . .
011 . . . 1112-nUREF
100 . . . 0000
. . . . . .
111 . . . 111-(1-21-n)UREF

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

Іноді буває необхідно зменшити кількість розрядів ЦАП. Для цього потрібно подати сигнали логічного нуля на потрібне число молодших розрядів ЦАП (але ніяк не старших розрядів). На рис. 4 показано, як з 10-розрядного ЦАП можна зробити 8-розрядний, подавши нулі на два молодших розряди. Збільшення кількості розрядів ЦАП являє собою набагато складнішу задачу, що вимагає побудови складних аналогових схем, тому воно зустрічається досить рідко. Значно простіше підібрати мікросхему з потрібною або з більшою, ніж потрібна, кількістю розрядів.

dac4
Рисунок 4

Перетворення послідовності кодів у вихідну напругу (рис. 5)

07-05
Рисунок 5

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

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

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

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

У простому випадку як джерело вхідних кодів ЦАП можна використовувати звичайний двійковий лічильник (рис. 6). Вихідна напруга ЦАП буде наростати при цьому на величину 2-nUREF з кожним тактовим імпульсом, формуючи пилковидні вихідні сигнали амплітудою UREF. Тривалість кожної сходинки дорівнює періоду тактового генератора Т, а період усього вихідного сигналу дорівнює 2nТ. Кількість сходинок в періоді вихідного сигналу рівне 2n. Якщо в даній схемі використовувати синхронні лічильники з синхронним переносом, то вхідний регістр ЦАП не потрібен, так як всі розряди лічильника перемикаються одночасно. Якщо ж використовуються асинхронні лічильники або синхронні лічильники з асинхронним перенесенням, то вхідний регістр ЦАП необхідний.

dac-06
Рисунок 6 – Генератор пилкоподібного аналогового сигналу

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

dac7
Рисунок 7 – Генерація сигналів довільної форми

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

Як і в попередньому випадку, вихідний сигнал ЦАП складатиметься зі сходинок, висота яких кратна 2-nUREF. Амплітуда вихідного сигналу не перевищує UREF. Якщо адреси пам’яті перебираються лічильником, то період вихідного аналогового сигналу дорівнює 2mT, де T – період тактового сигналу читання з пам’яті “-Чт.”, А m – кількість адресних розрядів пам’яті.

dac-08
Рисунок 8 – Обчислення кодів вибірок періодичного сигналу

Якщо треба обчислити коди вибірок для генерації якогось періодичного сигналу, то необхідно його період розділити на 2m частин і обчислити відповідні 2m значень цього сигналу Ui. Потім треба перерахувати значення сигналу в коди за формулою Ni = 2nUi/A де A – амплітуда сигналу, і взяти найближче ціле значення коду. Нульове значення сигналу дасть при цьому нульовий код 000 . . . 000, максимальне значення сигналу (рівне амплітуді А) дасть максимальний код 111 . . . 111. В результаті подачі цих кодів на ЦАП з періодом Т буде генеруватися аналоговий сигнал необхідної форми з амплітудою, рівною UREF і з періодом TВИХ = 2mТ. Приклад такого обчислення проілюстрований рис. 8.

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

Найпростіша схема – це цифровий атенюатор (послаблювач) аналогового сигналу (рис. 9), застосовуваний часто для регулювання амплітуди вихідного сигналу генератора на основі ЦАП.

dac-09
Рисунок 9 – Атенюатор аналогового сигналу на ЦАП

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

Uвих = -Uвх • N2-n

тобто вихідний сигнал пропорційний вхідному (з інверсією), а коефіцієнт пропорційності визначається вхідним цифровим кодом N. Коефіцієнт пропорційності змінюється в даному випадку від нуля і майже до одиниці з кроком, рівним 2-n.

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

dac-10
Рисунок 10 – Керований підсилювач вхідного сигналу




Існує також схема включення ЦАП, яку можна використовувати як керований підсилювач аналогового сигналу з коефіцієнтом посилення, що задається вхідним кодом N (рис. 10).

В цьому випадку вихідний струм ЦАП дорівнює величині UВХ/Rос, а так як в якості опорної напруги використовується вихідна напруга, то виходить, що вихідна напруга пов’язана з вхідною по формулі

Uвих = -Uвх • N2-n/N

Тобто коефіцієнт пропорційності між вихідною і вхідною напругами обернено пропорційний коду N. Код N може змінюватися в цьому випадку від 1 до (2n-1), що відповідає коефіцієнту підсилення від приблизно одиниці до 2n. Наприклад, при 10-розрядному ЦАП коефіцієнт посилення схеми може досягати 1024.

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

dac-11
Рисунок 11 – Послідовне включення атенюатора і підсилювача

Використовуючи послідовне включення схем рис. 9 і рис. 10, можна забезпечити приведення до стандартного рівня вхідної напруги, змінюваної в дуже широких межах (рис. 11). Така задача часто зустрічається в аналого-цифрових системах. Коефіцієнт передачі всієї схеми буде дорівнювати відношенню вхідних кодів обох ЦАП N/M і може бути встановлений з високою точністю як в діапазоні від 0 до 1 (атенюатор), так і в діапазоні від 1 до 2n (підсилювач). На схемі не показані вхідні регістри обох ЦАП, але вони також потрібні.

Нарешті, остання схема з застосуванням ЦАП, яку ми розглянемо, – це схема зсуву аналогового сигналу на величину, що задається вхідним цифровим кодом. Зрушення представляє собою, по суті, додавання аналогового сигналу з постійною напругою. Така задача досить часто зустрічається в аналого-цифрових системах.

dac-12
Рисунок 12 – Схема керованого зсуву аналогового сигналу

Схема зсуву (рис. 12) включає в себе перетворювач цифрового коду в вихідну напругу і аналоговий суматор на операційному підсилювачі. Величина напруги зсуву вхідного сигналу буде дорівнює UREF • 2-nN. Оскільки застосовуються два інвертуючих операційних підсилювача, інверсії вхідного сигналу на виході в даному випадку не буде. Якщо потрібен як позитивний, так і негативний зсув, то необхідно застосовувати ЦАП з біполярним вихідним сигналом.

Оставить ответ

Обязательные поля помечены*

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.