PDA

Zobacz pełną wersję : Selektor czterech wejść cyfrowych - 2x SPDIF, USB, Bluetooth



Holgin
11.07.2018, 21:51
Jakiś czas temu zachciało mi się selektora wejść cyfrowych, bo używanie tylko jednego wejścia w DACu jest dla mnie nieporozumieniem :) Kolega w pracy zasugerował mi CPLD do zrobienia multipleksera, ale języki HDL były dla mnie wtedy czarną magią. Niedługo potem .3lite wrzucił na forum swój prosty selektor wraz z opisem ("kodem"), ośmieliłem się i zrobiłem PCB pod własne potrzeby. Potem ciut zmieniłem założenia i napisałem opis prawie od nowa, choć wiele do pisania tam nie ma - ale teraz zamiast czystego multipleksera, są 3 wejścia danych I2S i 4 źródła - SPDIF ma wspólne wejście I2S, a CPLD przełącza jedynie wejście coax/toslink w module z WM8804.

Tak to wygląda:
https://ssl.diyaudio.pl/i/24789/17f6315a2b2d343781d75c3a6233d2d8_1523637301.jpg

Gniazdo na Amanero/Xmos/USBAudio :) Obok moduł WM8804:
klik (https://ssl.diyaudio.pl/showthread.php/29406-Odbiornik-SPDIF-WM8804-z-dwoma-wej%C5%9Bciami)
Jest też socket na moduł Bluetooth z aliexpress, który wypluwa z siebie I2S. Działa, gra, na pomiarach wyszło że ma on swoje ograniczenia, ale to jest bardziej do wygody niż jakości :)

Wyjście jest izolowane, można zalutować zworki żeby pominąć izolator. Zapomniałem dać zworek na GND/VCC więc te już trzeba podłączyć drucikiem :)
Na płytce jest zasilacz oraz dużo LEDów :D Gniazdo IDC10 służy do podłączenia LEDów np na panelu przednim, ale na płytce oczywiście też jest sygnalizacja wybranego wejścia. 4 pinowe złącze obok służy do wybierania źródła (GND, VCC oraz 2 piny logiczne co daje 2^2 = 4 możliwości :) ).

Jak to z CPLD/FPGA bywa, do zaprogramowania wymagane jest specjalne, stosunkowo drogie narzędzie, więc samych płytek chyba nie ma co brać. Gdyby ktoś chciał, znajdzie się płytka z zalutowanym CPLD i opisem :)

BOM:
8898
Jak ktoś będzie chciał to wrzucę schemat, aczkolwiek za wiele tam nie ma..

misiaczekmarek
17.07.2018, 09:49
Czy jak użyję amanero/USB Audio to będzie można wykorzystać je na max. możliwości tzn. 384khz i DSD512?
Czy programator jest drogi? Może bym popróbował programowania ale na sucho to słabo :(

Holgin
17.07.2018, 10:26
Programator kosztuje ok 160 zł. Nie polecam kupować na Ali - ten który dostałem nie obsługiwał CPLD z serii XC9500. Niby JTAG działał, ale jak rozebrałem to w środku były troszkę inne części niż w opisie :)

Układ nie powinien mieć żadnego problemu z taką częstotliwością, CPLD to porządne układy logiczne :) należy tylko sprawdzić czy zastosowany izolator da radę z MCLK na poziomie 20 kilku MHz.

Holgin
26.10.2018, 19:04
Powstała nowa rewizja selektora z paroma usprawnieniami/zmianami :)

Lista zmian:
-czarne PCB :D
-przetwornica DC-DC jako 1 stopień zasilania + mostek na diodach Schottkiego. Z mojego punktu widzenia najważniejsza sprawa, bo w tym momencie cały układ pobiera około 1W i nie zależy to od napięcia zasilania, więc można użyć zasilania od ~6V do maks 24V (AC)
-dodałem opcjonalny mikro zasilacz do drugiej strony izolatora, w przypadku gdyby ktoś nie miał zasilania z DACa
-możliwość wyłączenia zasilania BT przez pin GPIO - ma to na celu reset modułu Bluetooth żeby sparować nowe urządzenie itp. bez wyłączania całego DACa

Moduł jest dedykowany do współpracy z moim modułem WM8804/sterownikiem/DACiem na PCM. Jak ktoś jest zainteresowany to proszę o PW :)

-sevi-
30.10.2018, 11:26
Czy w przypadku wyłączenia DAC-a zastosowany przez Ciebie moduł BT się resetuje i po ponownym uruchomieniu musisz go parować? Tak można wywnioskować z opisu, ale wydaje mi się to dość uciążliwe i mam nadzieję że tak nie jest.

Holgin
30.10.2018, 11:36
To, czy moduł BT (czyli cały selektor I2S) się wyłącza przy wyłączeniu DACa, zależy w sumie od Ciebie, jak to sobie skonfigurujesz. Jak wyłączysz zasilanie to oczywiste że się zresetuje :) Zmiana w nowej rewizji o której pisze, pozwala wyłączyć BT na chwilę bez wyłączania reszty, ale jest to opcjonalne. Dużo zależy też od samego modułu BT i urządzenia które z nim współpracuje.

Micwoj
30.10.2018, 11:48
To ja się wypowiem, bo kolega przy biurku obok, a problem wspólny ;)
Mieliśmy lowendowe (7zł/szt) odbiorniki BT które przy każdym włączeniu ich do prądu występowały pod innym MACadresem. No i za każdym razem telefon uznawał że to inne urządzenie i trzeba było parować każdorazowo (nie polecam, kretyńskie rozwiązanie - po paru minutach zabawy miałem na liście w telefonie 15 sparowanych nieaktywnych urządzeń o tej samej nazwie). Pytanie seviego brzmiało, czy działa to tak: wyłączam, włączam, telefon łączy się ponownie sam? Czy: wyłączam, włączam i paruję po raz kolejny?

Holgin
30.10.2018, 12:18
Ten konkretny odbiornik, który ja kupiłem, wymaga ręcznego połączenia. Różnie się też zachowuje z Windowsem i Androidem, aczkolwiek nie mam takiego problemu, żeby było na liście więcej urządzeń. W jaki sposób sprawdzasz adres MAC?

Tutaj w gruncie rzeczy kwestia doboru modułu BT. Fajnie by było też pogrzebać w ich oprogramowaniu, ale to już nie jest takie proste.

gavron04
30.10.2018, 12:33
Mam ten sam moduł BT co Holgin i po zaniku zasilania nadal pamięta podpięte urządzenie. Muszę zerknąć w programator co tam ciekawego można ustawić jeśli chodzi o połączenie/parowanie.

https://ssl.diyaudio.pl/i/24055/thumbs/f0ae879ad0f8eb04c7edc2c90d18b899_1540899141.jpg (https://ssl.diyaudio.pl/i/24055/f0ae879ad0f8eb04c7edc2c90d18b899_1540899141.jpg)ht tps://ssl.diyaudio.pl/i/24055/thumbs/17f604110cafc7a34b015b4c30922035_1537394559.jpg (https://ssl.diyaudio.pl/i/24055/17f604110cafc7a34b015b4c30922035_1537394559.jpg)

Holgin
30.10.2018, 12:40
Jakiego programatora używasz? Komunikujesz się po I2C?
Mój moduł można znaleźć na przynajmniej 2 ofertach na aliexpress - podejrzewam, że to może być trochę loteria :)

gavron04
30.10.2018, 12:43
csr programmer za parę usd, SPI :)

Holgin
30.10.2018, 12:51
Możesz podlinkować? Te co znajduje na aliexpress są bliżej $20 :P

Micwoj
30.10.2018, 13:05
W jaki sposób sprawdzasz adres MAC W trakcie łączenia, zanim z urządzenia dostanie nazwę, telefon pokazuje adres. I za każdym razem był inny. Za to za każdym razem nazwa taka sama :)

gavron04
30.10.2018, 13:41
Możesz podlinkować? Te co znajduje na aliexpress są bliżej $20 :P

https://www.aliexpress.com/item/Free-shipping-CSR-Bluetooth-burner-USB-to-SPI-Download-the-Bluetooth-module-chip-production-tools-software/32378769116.html?spm=a2g0s.9042311.0.0.27424c4d3b2 zFE

Ja dałem za niego 50zł. Możesz poczekać na 11.11, są promocje. To i tak taniej niż oryginalny programator :)

-sevi-
30.10.2018, 14:22
Gavron, czy w module BT modyfikowałeś oprogramowanie, czy używasz go na ustawieniach jakie były od początku? Jeżeli działa poprawnie bez modyfikacji, może jest to kwestia właśnie źródła na aliexpress.

Holgin
31.10.2018, 07:53
Zamówiłem programator, także będę walczyć z tym modułem BT :)

gavron04
31.10.2018, 13:02
Gavron, czy w module BT modyfikowałeś oprogramowanie, czy używasz go na ustawieniach jakie były od początku? Jeżeli działa poprawnie bez modyfikacji, może jest to kwestia właśnie źródła na aliexpress.

Mam oryginalne. Jedynie co zmieniałem to nazwę BT. Sprawdzę dokładnie czy za każdym razem/reset zasilania jest ok to mogę zrobić dumpa.

Holgin
06.11.2018, 20:29
Okej, trochę bardziej szczegółowy opis obsługi:

https://ssl.diyaudio.pl/i/24789/41fe89748bfcdcb27e4982a1d7281d3c_1541530749.jpg
https://ssl.diyaudio.pl/i/24789/3675b8131c475fa878b5feda944498ed_1541530749.jpg
Tutaj jest tabela, służąca do wyboru źródła. Stan H(igh) to napięcie 3V3, a L(ow) to zwarcie do masy.
W pierwszej rewizji selektora (niebieskie PCB) pinu po lewej (z przerywaną linią) nie ma - w nowszej służy on do wyłączenia modułu BT (stan wysoki). W złączu jest także zasilanie i masa, także jest wszystko by podłączyć jakiś przełącznik mechaniczny albo najlepiej - mikrokontroler :)

Nieużywane piny na wprost od odbiornika SPDIF, zaznaczone na czerwono... są nieużywane :) Pozostałość historyczna/opcja na czwarte źródło. Pozostały, pojedynczy pin jest podłączany do modułu WM8804 i to on realizuje przełączenie między SPDIF Coax/Optical.
https://ssl.diyaudio.pl/i/24789/thumbs/c7730badd937bd2c426dbee33668e4c9_1541531156.jpg (https://ssl.diyaudio.pl/i/24789/c7730badd937bd2c426dbee33668e4c9_1541531156.jpg)ht tps://ssl.diyaudio.pl/i/24789/thumbs/2c11fd5f9faef4f0c43168e3d3f27401_1541531357.jpg (https://ssl.diyaudio.pl/i/24789/2c11fd5f9faef4f0c43168e3d3f27401_1541531357.jpg)

Na nowej rewizji PCB jest także mini zasilacz do drugiej strony izolatora oraz mini złącze z lewej strony z zasilaniem, które planuje wykorzystać w eksperymentalnym, zewnętrznym module 8 wejść :)

Wrzucam też fotkę jak wygląda kompletny moduł:
https://ssl.diyaudio.pl/i/24789/f356e7124e937bc38672fd6bd1dee450_1540668655.jpg

A tutaj w DACu, który mam nadzieje niedługo skończyć:
https://ssl.diyaudio.pl/i/24789/6e20b92e4da5c5e2f4b287ec88456aee_1541532142.jpg