Przetwornik cyfrowo-analogowy (DAC) zamienia kod cyfrowy na napięcie lub prąd. Dobieraj go według rozdzielczości, liniowości, szumu i czasu ustalania. W torze dźwiękowym potrzebne są także poprawne taktowanie, filtr rekonstrukcyjny i stopień wyjściowy. Konstrukcję z modułem XMOS oprzyj na dokumentacji zestawu.
Jak działa DAC i czym różni się od ADC?
DAC przypisuje kodom poziomy wyjściowe. Utrzymywanie napięcia między aktualizacjami tworzy przebieg schodkowy. Filtr dolnoprzepustowy ogranicza składowe poza pasmem użytkowym.


ADC działa w przeciwnym kierunku: próbkuje sygnał analogowy i kwantuje jego wartość do kodu. ADC służy do rejestracji, DAC do odtwarzania sygnału. Mikrokontroler z ADC nie musi mieć DAC.


Topologie DAC: rezystory, PWM i sigma-delta
Monotoniczność oznacza, że zwiększenie kodu nie obniża ustalonego napięcia wyjściowego. Nie gwarantuje równych kroków ani braku zakłóceń przełączania.
| Topologia | Zasada i zalety | Ograniczenia i monotoniczność | Wymagania filtra |
|---|---|---|---|
| Drabinka R-2R | Sieć rezystorów R oraz 2R dzieli prądy. Powtarzalna struktura ułatwia rozbudowę. | Dopasowanie rezystancji, dryft i przełączniki wpływają na monotoniczność, zwłaszcza przy zmianie wielu bitów. | Tłumienie obrazów widma i impulsów przełączania; kompromis z czasem ustalania. |
| Rezystory o wagach binarnych | Sumowanie prądów przez rezystory R, 2R, 4R i kolejne podwojenia daje wagi binarne. | Szeroki zakres rezystancji utrudnia dopasowanie. Błędy gałęzi mogą naruszyć monotoniczność. | Uwzględnienie zakłóceń przełączania i pasma wzmacniacza sumującego. |
| PWM z filtrem | Wypełnienie impulsów określa średnie napięcie. Możliwe wykorzystanie wyjścia mikrokontrolera. | Idealnie monotoniczna średnia; wynik zależy od poziomów logicznych, obciążenia i licznika. | Tłumienie nośnej i harmonicznych. Silniejsze wygładzanie wydłuża ustalanie. |
| Sigma-delta | Nadpróbkowanie i kształtowanie szumu ograniczają jego energię w paśmie użytecznym. | Wewnętrzny DAC jednobitowy nie wymaga dopasowania wielu poziomów. Wersja wielobitowa wymaga zgodności elementów; monotoniczność sprawdź w dokumentacji. | Filtr analogowy ogranicza szum poza pasmem i przeciążanie dalszego stopnia. |
Modulacja szerokości impulsów PWM wymaga filtra: obliczenie średniej nie usuwa tętnień przebiegu przełączanego.
Rozdzielczość, LSB i napięcie dla zadanego kodu
Przyjmujemy idealny jednobiegunowy DAC: kod od 0 do 2N − 1, bez dodatkowego wzmocnienia, z rozpiętością pełnej skali U_FS = U_ref. LSB to nominalny krok napięcia, nie dokładność. Pełną skalę dzielimy na 2N przedziałów:
Liczba poziomów = 2N
LSB = U_FS / 2N
U_out = (kod / 2N)·U_ref
Najwyższy kod daje U_ref − LSB. Nie mieszaj tej konwencji z dzieleniem rozpiętości między skrajnymi kodami przez 2N − 1. Inne zakresy wyjścia wymagają charakterystyki katalogowej.
Założenia (przykład hipotetyczny): idealny DAC, N jak w tabeli, U_FS = U_ref nominalnie 3,3 V albo 5 V, bez szumu i błędów. Podstawiamy LSB = 3,3 V / 2N lub LSB = 5 V / 2N. Wyniki dziesiętne są dokładne.
| N [bity] | Liczba poziomów 2N | LSB przy 3,3 V | LSB przy 5 V |
|---|---|---|---|
| 8 | 256 | 12,890625 mV | 19,53125 mV |
| 12 | 4096 | 0,8056640625 mV | 1,220703125 mV |
| 16 | 65 536 | 50,35400390625 µV | 76,2939453125 µV |
| 24 | 16 777 216 | 0,1966953277587890625 µV | 0,298023223876953125 µV |
Tabela nie potwierdza rozróżnialności tych zmian w rzeczywistym układzie. Pomija błędy zera, wzmocnienia i szum. Nieliniowość różniczkowa DNL opisuje odchylenia kroków, a całkowa INL — charakterystyki od prostej odniesienia.
Założenia (przykład hipotetyczny): idealny DAC, N = 12, U_ref = 3,3 V, kod = 2048, bez obciążenia i dodatkowego wzmocnienia. U_out = (kod / 2N)·U_ref = (2048 / 4096)·3,3 V = 1,65 V. Wynik nie określa rzeczywistego błędu ani czasu ustalania.
Teoretyczne SNR, SINAD i efektywna liczba bitów
SNR wyraża w decybelach stosunek wartości skutecznych sygnału i szumu. Dla równomiernego błędu kwantyzacji nieskorelowanego z sygnałem U_q = LSB / √12. Sinusoida pełnej skali ma U_s = U_FS / (2√2), stąd:
SNR = 20·log₁₀(U_s / U_q) = 20·log₁₀(2N·√(3/2)) ≈ 6,02·N + 1,76 dB
Model dotyczy całego pasma Nyquista. Nadpróbkowanie, kształtowanie szumu i pasmo pomiaru zmieniają zależność szumu od liczby bitów.
Założenia (przykład hipotetyczny): N jak w tabeli, sinusoida pełnej skali bez przesterowania, tylko szum kwantyzacji opisany powyżej. Używamy zaokrąglonych współczynników 6,02 i 1,76; dokładny wzór logarytmiczny może dać inne setne decybela.
| N [bity] | Podstawienie | Teoretyczne SNR [dB] |
|---|---|---|
| 8 | 6,02·8 + 1,76 | 49,92 |
| 12 | 6,02·12 + 1,76 | 74,00 |
| 16 | 6,02·16 + 1,76 | 98,08 |
| 24 | 6,02·24 + 1,76 | 146,24 |
Wyniki nie określają parametrów rzeczywistego DAC. SNR ograniczają szumy toru, odniesienia i zasilania oraz odchyłki czasowe zboczy zegara. Wartość z karty katalogowej porównuj przy zgodnym paśmie, poziomie sygnału i ważeniu częstotliwościowym.
SINAD obejmuje szum i zniekształcenia. Efektywna liczba bitów wynosi ENOB = (SINAD − 1,76) / 6,02, dla SINAD w decybelach przy zgodnych założeniach pomiaru. THD+N określa udział harmonicznych i szumu względem sygnału. SNR nie zastępuje SINAD, a długość słowa nie określa ENOB.
Filtr rekonstrukcyjny: dobór RC i ograniczenia
Filtr rekonstrukcyjny tłumi składowe poza pasmem użytecznym. Dla szeregowego R i kondensatora C do masy, przy idealnym źródle i bez obciążenia, częstotliwość graniczna wynosi f_c = 1 / (2πRC). R podaje się w omach, C w faradach, a f_c w hercach.
Założenia (przykład hipotetyczny): pasmo dźwiękowe do 20 kHz, próbnie f_c = 20 kHz, R = 1 kΩ, elementy idealne, zerowa impedancja źródła i brak obciążenia. C = 1 / (2πR f_c) = 1 / (2π·1000 Ω·20 000 Hz) ≈ 7,957747 nF.
|H(f)| = 1 / √(1 + (f/f_c)2), więc |H(20 kHz)| = 1/√2, a tłumienie to 20·log₁₀(√2) ≈ 3,01 dB. Wynik nie oznacza płaskiego pasma ani wystarczającego tłumienia obrazów widma. Potrzebne są częstotliwość aktualizacji DAC i wymagane tłumienie poza pasmem.
Wyższe f_c zmniejsza stratę w paśmie, ale osłabia filtrację. Wyższy rząd daje ostrzejsze przejście kosztem złożoności. W DAC z nadpróbkowaniem interpolacja odsuwa obrazy widma; filtr analogowy nadal musi ograniczać szum pozapasmowy zgodnie z dokumentacją.
Uwzględnij rezystancję wyjścia, tolerancje i obciążenie. Kondensator może pogorszyć stabilność wzmacniacza. Wyjście prądowe wymaga konwersji prąd–napięcie, a różnicowe — symetrii torów. Przykładowy RC nie jest uniwersalny.
PCB przetwornika: zasilanie, masa i zegar
Rozmieść bloki tak, aby prądy przełączające omijały czułe sygnały. Zapewnij osobne ścieżki zasilania części analogowej i cyfrowej oraz lokalne odsprzęganie. Kondensatory, stabilizatory i filtry zasilania dobierz z dokumentacji.
- Masa: ciągła płaszczyzna często zapewnia krótkie drogi powrotu. Osobne obszary masy analogowej i cyfrowej łącz w jednym punkcie, jeśli tak zaleca producent. Nie dziel masy automatycznie ani nie prowadź zegara nad szczeliną.
- Odsprzęganie: skróć pętlę zasilanie–kondensator–masa. Odległy kondensator zbiorczy jej nie zastępuje.
- Źródło odniesienia: ogranicz długość połączeń i sprzężenie z zegarem. Sprawdź szum, dryft i obciążalność.
- Zegar: prowadź go krótko nad ciągłą drogą powrotu, z dala od odniesienia i wyjścia. Zadbaj o jakość taktowania.
Układ warstw i drogi powrotne ustal z producentem PCB przed zakończeniem trasowania.
Samodzielna budowa DAC z modułem XMOS
Moduł XMOS może odbierać dane przez USB i przekazywać je do DAC. Nie musi zawierać przetwornika ani wejścia S/PDIF.


Przygotowanie zestawu i montaż elementów
Przygotuj schemat, wykaz elementów, płytkę DAC, moduł XMOS i złącza. Dobierz zewnętrzny zasilacz niskonapięciowy według napięć, polaryzacji i poboru prądu zestawu.
Montuj elementy według schematu; polaryzację diod i kondensatorów sprawdzaj osobno. Generator lub rezonator zastosuj zgodnie z projektem. Nie zamieniaj kondensatorów miejscami w celu usuwania usterki. Do zlecenia montażu PCB dołącz orientację i symbole części.
Połączenie XMOS, sterowania i wyjścia
Sprawdź poziomy logiczne, masę, kierunki zegarów i częstotliwość próbkowania. W interfejsie I2S uzgodnij wyrównanie próbek i długość słowa. SPI może służyć do konfiguracji albo przesyłania kodów w innym DAC; nie zastępuje automatycznie I2S.

Opcjonalny wyświetlacz i sterowanie odsuń od wyjścia. Obsługę USB i sterownik dobierz do modułu oraz systemu komputera. Wyjście liniowe nie musi obsługiwać słuchawek; wzmacniacz dobierz do obciążenia i zasilania.

Uruchomienie i zamknięcie obudowy
Sprawdź zwarcia i polaryzację. Włącz zasilanie z właściwym ograniczeniem prądu, skontroluj napięcia, odniesienie, zegary i dane. Przed podłączeniem odbiornika sprawdź składową stałą i poziom wyjścia. Odsłuch nie zastępuje pomiarów.
Zamocuj płytki na dystansach, zabezpiecz przewody i dopasuj panel do złączy. Po zamknięciu obudowy sprawdź temperaturę i zakłócenia. Zamiana wzmacniacza lub kondensatora wymaga ponownej oceny warunków pracy.

Co sprawdzić przed zleceniem/wdrożeniem
- Czy LSB, dokładność, INL, DNL i monotoniczność spełniają wymagania?
- Czy SNR, THD+N i SINAD porównano w zgodnych warunkach?
- Czy I2S lub SPI, format próbek, poziomy logiczne i zegary są zgodne?
- Czy napięcia, odniesienie i obciążalność wyjścia pasują do odbiornika?
- Czy określono pasmo filtra i tłumienie w paśmie oraz poza nim?
- Czy czas ustalania, tętnienia i zachowanie przy włączaniu są dopuszczalne?
- Czy PCB zapewnia odsprzęganie, ciągłe drogi powrotu i oddalenie zegara od odniesienia oraz wyjścia?
- Czy dokumentacja określa polaryzację, punkty pomiarowe i kryteria odbioru?
Czego ten artykuł nie rozstrzyga: model idealny nie określa parametrów gotowego urządzenia. Napięcia, obciążenie, filtr i połączenia mas zależą od karty katalogowej oraz zaleceń producenta. Parametry wymagają pomiaru.


