- Kodek audio typu PCM2902C (Texas Instruments).
- Wejście analogowe Line In, wejście cyfrowe S/PDIF Coaxial, wejście cyfrowe S/PDIF Opto.
- Wyjście analogowe Line Out, wyjście cyfrowe S/PDIF Coaxial, wyjście cyfrowe S/PDIF Opto.
- Przełącznik (SW DIP-8) wejść/wyjść oraz czułości wejść analogowych.
- Sygnalizacja stanu pracy układu PCM2902C oraz stanu wejść i wyjść za pomocą diod LED.
- Zniekształcenia nieliniowe (THD+N) na wyjściu Line Out: 0,005%.
- Stosunek sygnał/szum (SNR) na wyjściu Line Out – 96 dB.
- Nierównomierność charakterystyki częstotliwościowej (C/A) ±0,1 dB.
- Nierównomierność charakterystyki częstotliwościowej (A/C) ±0,05 dB.
- Przetworniki A/C i C/A: 16-bitowe, typu Delta-Sigma.
- Akceptowane częstotliwości próbkowania:
- C/A: 32 kHz, 44,1 kHz, 48 kHz,
- A/C: 8 kHz, 11,025 kHz, 16 kHz, 22,05 kHz, 32 kHz, 44,1 kHz, 48 kHz.
- USB2.0 (full speed), tryb adaptacyjny dla odtwarzania, tryb asynchroniczny dla nagrywania.
Zintegrowane karty dźwiękowe montowane w komputerach są zwykle pojedynczym, specjalizowanym układem scalonym pełniącym funkcję kodeka audio. W komputerach stacjonarnych zwykle mamy do dyspozycji komplet wyjść analogowych w układzie głośników od Dolby Surround 2.0, 5.1 lub 7.1. Dodatkowo, zwykle jest dostępne osobne wyjście 2.0 przeznaczone do dołączenia słuchawek. Standardem stało się wyprowadzenie dźwięku za pomocą interfejsu cyfrowego S/PDIF. Zwykle każda karta ma jedno wejście analogowe Line In oraz pojedyncze wejście mikrofonowe.
Bardzo rzadko takie zintegrowane karty audio są wyposażone w cyfrowe wejście S/PDIF. W wypadku laptopów zintegrowana karta ma jedno wyjście na słuchawki i jedno wejście mikrofonowe, nie zawsze wyprowadzone na złącze.
Od kilku lat interesowałem się ofertą układów audio produkowanych przez firmę Texas Instruments. Wśród nich jest cała grupa komponentów z interfejsem USB, pracujących zgodnie z klasą urządzeń HID (Human Interface Device Class). Klasa urządzeń HID obejmuje urządzenia interfejsu użytkownika, takie jak: klawiatury, myszki, przełączniki, joysticki, czytniki kodów kreskowych, termometry i wiele innych układów wejściowych i wyjściowych.
Jako przykładem możemy się posłużyć kodekiem PCM2902C. Ma on trzy przyciski obsługiwane za pomocą HID: Volume+, Volume- oraz Mute. Systemy Windows powinny rozpoznać dołączone urządzenie klasy HID i automatycznie zainstalować potrzebne sterowniki. Bez potrzeby instalacji dodatkowego oprogramowania w systemach Windows (sprawdzono w Windows XP i Windows 7) jest automatycznie instalowane oprogramowanie dla przetworników A/C i C/A obsługujące jednocześnie S/PDIF In i S/PDIF Out. Układ PCM2902C jest również rozpoznawany w systemach Linux i jest umieszczony na liście przetworników D/C kompatybilnych z Raspberry Pi.
Nazwa kodek audio odnosi się do układów scalonych przyjmujących analogowe sygnały wejściowe i przekształcające je na cyfrowe za pomocą przetwornika A/C (ewentualnie mogą one mieć wejście cyfrowe S/PDIF) i mających wyjścia analogowe z przetworników C/A (i ewentualnie wyście cyfrowe SPDIF). Układy nazywane „przetwornikami DAC” mają tylko wyjścia analogowe z przetworników C/A oraz ewentualnie wyście cyfrowe S/PDIF. W ofercie TI można znaleźć układy kodeków audio wyposażonych tylko w wejścia i wyjścia analogowe oraz mające także cyfrowe interfejsy S/PDIF (wejście i wyjście S/PDIF). Wybrałem układ scalony PCM2902C wyposażony wejścia/wyjścia analogowe i cyfrowe.
Główną powodem zbudowania karty USB Audio była chęć użycia jej z popularnym komputerkiem Raspberry Pi. Jest on wyposażony w pojedyncze, stereofoniczne, analogowe wyjście sygnału audio, jednak jego jakość pozostawia wiele do życzenia. Dźwięk jest wytwarzany bezpośrednio z wyjść PWM0 i PWM1 procesora BCM2835. Napięciem odniesienia dla wytwarzanych sygnałów audio jest napięcie zasilania procesora. Nie jest ono dokładnie stabilizowane, a w wypadku niewielkiej wydajności prądowej zasilacza komputerka może pojawić się w kanałach audio przydźwięk sieciowy oraz dodatkowe „brzęczenie” występujące podczas odczytu danych z dołączonego pendriva. Wyjścia PWM0 i PWM1 wyposażone są tylko w uproszczone filtry dolnoprzepustowe pierwszego rzędu. Komputerek Raspberry Pi nie jest też wyposażony w interfejs cyfrowy S/PDIF.
Innym zastosowaniem USB Audio jest użycie jej do laptopa w charakterze karty dźwiękowej. Kolejnym zastosowaniem jest włączenie jej do komputera stacjonarnego w celu wykorzystania konwersji sygnału audio na S/PDIF, które zwykle nie jest zamontowane w komputerze. Dodatkową zaletą tej zewnętrznej karty dźwiękowej jest pozbycie się różnych przydźwięków na wejściach i wyjściach analogowych występujących często na płytach głównych komputerów z kartami zintegrowanymi.
„Linia USB Audio Codec” na liście urządzeń audio
Płytka to po połączeniu kablem USB z komputerem PC instaluje się pod nazwą „USB Audio Codec”. W systemie Windows XP wejście i wyjście karty stają się wejściami/wyjściami domyślnymi. We wszystkich systemach pojawia się jednio wejście „Linia USB Audio Codec” i nie ma możliwości programowej regulacji poziomu sygnału wejściowego.
Układ scalony PCM2902C ma dwa wejścia: stereofoniczne analogowe oraz cyfrowe SPDIF. Układ domyślnie wybiera wejście SPDIF, jeśli przebieg wejściowy doprowadzony do tego wejścia jest prawidłowy i spełnia następujące warunki:
- częstotliwość próbkowania: 32 kHz, 44,1 kHz lub 48 kHz,
- kodowanie linowe stereo PCM,
- bit Copyright zezwala na kopiowanie.
Wejście S/PDIF działało poprawnie z odtwarzaczami DVD i Blu-ray, Mbox’a telewizji cyfrowej, innego komputera. Należy jedynie zwrócić uwagę na to, aby parametry nagrywanego dźwięku (z wejścia S/PDIF) były zgodne z parametrami doprowadzonego sygnału – miały tę samą częstotliwość próbkowania.
Przez wejście i wyjście S/PDIF opisywanej karty nie można przesyłać danych skompresowanych (AC3 lub DTS). Zwykle po zainstalowaniu ma ona pojedyncze wyjście (Windows XP, Linux) „Głośniki USB Audio Codec” z możliwością programowej regulacji poziomu sygnału wyjściowego. Fizycznie jednak karta ma trzy wyjścia – kanał lewy i prawy sygnału stereofonicznego oraz cyfrowe SPDIF. Regulacja poziomu wyjściowego dotyczy tylko wyjścia analogowego. Wyjście S/PDIF zawsze pracuje z pełnym wysterowaniem. Zaobserwowałem, że sygnały wyjściowe pojawiają się jednocześnie na wyjściach analogowych, jak i na wyjściu cyfrowym.