- możliwość odtwarzania plików lub radia internetowego,
- przetwornik DAC audio typu PCM5100A (do 32-bit, 384 kHz),
- nietypowy kształt płytki pozwala uzyskać zwartą konstrukcję gotowego urządzenia.
Tytułowy odtwarzacz sieciowy powstał z połączenia komputerka NanoPi Neo2 z opisanym poniżej modułem przetwornika DAC audio, dostosowanym mechanicznie do płytki komputearka. Natomiast cały ciężar właściwej funkcjonalności urządzenia spoczywa na oprogramowaniu.
Budowa i działanie
Schemat ideowy modułu został pokazany na rysunku 1. Wyjściowy sygnał I2S ze złącza GPIO NanoPI, poprzez rezystory dopasowujące R3...R5 doprowadzony jest do układu U1 typu PCM5100A. Ma on zintegrowany przetwornik DAC, układ PLL odtwarzający sygnał MCLK z BLCK, wyjściowe filtry i stopnie analogowe wraz z ich przetwornicą zasilającą – czyli wszystko co wymagane jest do budowy przetwornika audio. Sygnał analogowy po filtracji w obwodach z elementami R1, R2, C7, C8 dostępny jest na złączu OUT typu Mini Jack 3,5 mm oraz dodatkowo na złączu OUT1 typu PH2.
Układ przetwornika zasilany jest z niskoszumnego stabilizatora LDO U2 typu ADP122, napięciem 3,3 V. Zasilanie toru analogowego filtrowane jest dodatkowo przez obwód FB1, C6, CE2. Na złącze UART wyprowadzony jest port szeregowy służący zdalnemu zarządzaniu przez SSH. Standard napięciowy portu to 3,3 V o czym należy pamiętać podczas użytkowania.
Montaż i uruchomienie
Układ mieści się na dwustronnej płytce PCB, której schemat został pokazany na rysunku 2. Dzięki frezowaniu nadającemu płytce nietypowy kształt, nie są konieczne niestandardowe, przedłużane złącza GPIO, a sama konstrukcja jest nieco niższa. Sposób montażu jest klasyczny i nie wymaga szczegółowego opisu. Zmontowany moduł został pokazany na fotografii 2.
Prawidłowo zmontowany DAC nie wymaga uruchamiania. Przed sprawdzeniem działania, konieczna jest instalacja systemu operacyjnego, z obrazu pobranego ze strony producenta:
http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO2nanopi-neo2_sd_friendlycore-xenial_4.14_arm64_20191219.img
Po instalacji warto sprawdzić dostępność aktualizacji poleceniem:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install
Następnie konieczne jest skonfigurowanie systemu narzędziem:
sudo npi-config
W zakładce Advanced Options (6) załączamy obsługę I2S (A7). Po restarcie systemu poleceniem:
sudo aplay –l
sprawdzamy obecność drivera przetwornika I2S:
card 4: I2Smaster [I2S-master], device 0: 1c22000.i2s-pcm5102a-hifi pcm5102a-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
Po podłączeniu urządzenia do wzmacniacza audio, wykonujemy test odtwarzania:
aplay /root/Music/test.wav -D plughw:4
warto zainstalować odtwarzacz mpg123 oraz ogg123 z pakietu vorbis-tools przydatny do odtwarzania radia internetowego:
sudo apt-get install mpg123
sudo apt-get install vorbis-tools
Dla sprawdzenia streamingu wpisujemy następujące polecenia (oczywiście można zmienić adres na swoją ulubioną rozgłośnię):
mpg123 http://stream.radiobaobab.pl:8000/radiobaobab.mp3
lub
ogg123 -d alsa http://stream.radiobaobab.pl:8000/radiobaobab.ogg
W katalogu użytkownika dla próby zakładamy podkatalog Music i wgrywamy do niego kilka plików mp3.
Poleceniem:
mpg123 -z *.*
zostaną one odtworzone w losowej kolejności – czyli „samograj” gotowy jest do działania. Warto jeszcze zainstalować pakiet samba:
sudo apt-get install samba
i po konfiguracji udostępnić katalog Music użytkownikowi dla odczytu i zapisu w sieci lokalnej, co ułatwi zarządzania plikami muzycznymi lub zainstalować mpd i odpowiedniego klienta.
Adam Tatuś, EP
- R1, R2: 470 Ω
- R3…R5 47 Ω
- C1, C2, C5, C6: 0,1 μF SMD0603
- C7, C8: 2,2 nF SMD0603
- C9, C10: 1 μF SMD0603
- CE1, CE2, CE4: 10 μF/6,3 V tantalowy
- SMD3216
- CE3: 47 μF/10 V tantalowy SMD3528
- D1: 4001 SMB
- U1: PCM5100A (SSOP20)
- U2: ADP122AUJZ-3.3 (SOT-23-5)
- FB1: dławik ferrytowy 600 Ω/150 mA SMD0603
- OUT: gniazdo Jack 3,5 mm stereo FC68133
- OUT1: złącze JST PH3 2 mm proste
- UART: złącze SIP3 2,54 mm
- SBC: złącza SIP żeńskie 2×12 + 1×12 + 1×8