Skip to content
АЦУ · Тема 27 · Мостът аналог ↔ цифра

Числото става звук – стълбичката R-2R

Всеки звук от телефона минава накрая през ЦАП – схема, която от число прави напрежение. Най-хитрата е стълбичка само от два вида резистори. В урока я сглобяваме, развалим един резистор с няколко процента и чуваме как мелодията се изкривява, а накрая гледаме колко бързо изходът се успокоява след всяко ново число.

≈ 5 мин четене∿ 3 живи уредаСамопроверка: 5 въпроса

От число към напрежение ​

ЦАП прави обратното на АЦП: от число Z прави напрежение Uo = ULSB·Z. Всеки бит „включва“ своя дял: старшият е половината от обхвата, следващият – четвърт, после осмина. Делът се събира с останалите. Пример: 8-битов ЦАП с Uоп = 2,56 V има стъпало 10 mV, а Z = 1000 0000 (128) дава 1,28 V.

Най-простата идея е сумиране на токове: всеки бит пуска ток през резистор R₀, R₀/2, R₀/4…, а ОУ с RF в обратната връзка ги събира във виртуалната маса (тема 8). Тя има два проблема:

  • резисторите са много различни: при 12 бита от R₀ до R₀/2048, а е трудно да се направят точни и в двата края;
  • токът от захранването зависи от числото.

Вторият се решава с ключове с две положения: токът на всеки бит отива или към ОУ, или към маса, но тече винаги.

R-2R: само два вида резистори ​

R-2R матрицата решава и първия проблем. Стълбичка от резистори R (по дължината) и 2R (към ключовете) има едно свойство: погледнато от всеки възел, „назад“ има точно 2R. Затова всеки възел дели наполовина (α = 0,5) и младшите битове стигат до изхода отслабени 2, 4, 8 пъти. Трябват само две стойности, а и те се правят от една: 2R са два R последователно. Затова е лесно да се направи точно.

Тук Uоп = 1,6 V и 4 бита, т.е. стъпалото е 0,1 V. Кодът е Z = 10 = 1010, напреженията на възлите отляво надясно са 0,375 → 0,75 → 0,7 → 1 V, а изходът е 1 V.

R-2R ЦАП, 4 бита
2R2Rb0R2Rb1R2Rb2R2Rb3−+Uизх
Фигура 1.

Включените битове (светещите) свързват своето 2R рамо към Uоп, а изключените – към маса. Включи само b0: на изхода стигат 0,1 V, разделени наполовина на всеки от трите възела по пътя. Само b3 дава 0,8 V. ОУ е повторител: товарът не мести напрежението на стълбата.

Грешки: нелинейност и немонотонност ​

Ако резисторите не са точни, стъпалата стават неравни. Нелинейността е отклонението на изхода от правата. По-лошо е, ако тежестта на някой бит е сгрешена толкова, че по-голямо число дава по-малко напрежение. Това е немонотонност, най-често при прехода 0111 → 1000, където се сменят всички битове. И двете грешки са в самите резистори и не се компенсират лесно. Затова се изисква сумарно да са под ±0,5 ULSB.

Тук 2R рамото на старшия бит е сгрешено с 20 %. Преходът 7 → 8 е −0,364 стъпала (трябва да е 1), а най-голямото отклонение от правата е 0,727 ULSB. ЦАП е немонотонен: 8 дава по-малко от 7.

Немонотонност
Изходът за всеки код
05101500,511,5код ZUo, V
идеален с грешка
Фигура 2.

При +20 % старшият бит тежи по-малко, отколкото трябва, и 8 пада под 7. Стълбата има дупка по средата. Чуй мелодията: точният 6-битов ЦАП само леко шуми, а с грешката се чува грапав, „счупен“ звук. Всеки път, когато вълната мине през средата, тя прескача.

Време на установяване ​

След смяна на кода изходът не скача мигновено. ОУ има ограничена скорост на нарастване (slew rate) и честотна лента (GBW, тема 8). Времето на установяване t_set се мери от смяната на кода, напр. от Z = 0 до Z_max, докато изходът влезе в ±0,5 ULSB от крайната стойност. Най-късо е, когато преходният процес е критично-апериодичен, без надскачане.

По бързина ЦАП-овете се делят на три групи:

  • до 6 бита – бързи, ≤ 10 ns;
  • 8–12 бита – общо предназначение, ≤ 10 μs;
  • 16 и повече бита – прецизни, бавни.

Тук кодът скача от 0 на 15. Изходът влиза в ±0,05 V от крайната стойност за 2,88 μs.

Установяване на изхода
01020304000,511,5t – време, μsu, V
стълбата изход на ОУ −0,5 ULSB +0,5 ULSB
Фигура 3.

Стълбата (синьо) стига 1,5 V веднага. С μA741 изходът (зелено) се качва по права – ограничава го скоростта на нарастване 0,5 V/μs. Затова 1,5 V отнемат около 3 μs. С бързия ОУ е за части от микросекундата. За звук (16 kHz) и бавният стига, за видео не.

Двуквадрантен ЦАП ​

За числа със знак (допълнителен код, тема 14) ЦАП трябва да дава и отрицателно напрежение. Кодът се превръща в изместен (обръща се старшият бит), а компенсиращ ток I_c = 128·I_LSB (при 8 бита) мести нулата по средата. Така числата от −128 до 127 дават напрежения от −Uоп/2 до почти +Uоп/2.

Самопроверка ​

1. 8-битов ЦАП, Uоп = 2,56 V. Колко е стъпалото и изходът при 1000 0000?

ULSB = 2,56/256 = 10 mV; 128·10 mV = 1,28 V.

2. Защо R-2R е по-добра от претеглените резистори?

Трябват само два вида резистори (R и 2R), които лесно се правят точни и съгласувани. При претеглените стойностите се различават 2ᴺ⁻¹ пъти.

3. Какво е немонотонност и при кой преход е най-вероятна?

По-голям код дава по-малко напрежение. Най-вероятна е при 0111…1 → 1000…0, където старшият бит трябва да тежи точно колкото всички останали плюс едно стъпало.

4. Какво е време на установяване?

Времето от смяната на кода, докато изходът влезе в ±0,5 ULSB от крайната си стойност.

5. Защо се ползват ключове с две положения?

Токът на всеки бит тече винаги – или към ОУ, или към маса – затова товарът на източника е постоянен, независимо от числото.