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.

Przetwarzanie danych cyfrowych na sygnał analogowy
Schemat blokowy toru przetwornika cyfrowo-analogowego

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.

Schemat układu przetwornika analogowo-cyfrowego
Nośniki analogowego zapisu dźwięku

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.

TopologiaZasada i zaletyOgraniczenia i monotonicznośćWymagania filtra
Drabinka R-2RSieć 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 binarnychSumowanie 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 filtremWypeł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-deltaNadpró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 2NLSB przy 3,3 VLSB przy 5 V
825612,890625 mV19,53125 mV
1240960,8056640625 mV1,220703125 mV
1665 53650,35400390625 µV76,2939453125 µV
2416 777 2160,1966953277587890625 µV0,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]PodstawienieTeoretyczne SNR [dB]
86,02·8 + 1,7649,92
126,02·12 + 1,7674,00
166,02·16 + 1,7698,08
246,02·24 + 1,76146,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.

Zewnętrzny przetwornik cyfrowo-analogowy do odtwarzania dźwięku
Przykład urządzenia z przetwornikiem cyfrowo-analogowym

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.

Płytka modułu XMOS do obsługi cyfrowego sygnału dźwiękowego

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.

Wzmacniacz w torze wyjściowym przetwornika dźwiękowego

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.

Obudowy do urządzeń elektronicznych

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.