• Witamy w największym polskim serwisie internetowym poświęconym w całości zagadnieniom samodzielnej budowy nagłośnienia.
    Dzięki DIYaudio.pl poznasz zagadnienia samodzielnej budowy nagłośnienia od podszewki oraz będziesz mógł dyskutować o DIY audio do woli.

    Artykuły z dawnego portalu zostały przeniesione do sekcji forum na samym dole.

USB Audio - forumowe "Amanero"

Cześć,
Chciałbym zbudować dla siebie prosty DAC na AD1865 do współpracy z tym konwerterem USB-I2S.
Ograniczeniem jest ilość miejsca bo chce go umieścić w małej obudowie razem z płytką wzmaka. Chciałbym go zrobić na PCB podobnej wielkości jak konwerter a więc ok 30x69mm w formie 'kanapki'. Nie ma więc miejsca na filtry cyfrowe ani zewnętrzny stopień wyjściowy.
Wstępne założenia:
-rejestr przesuwny I2S->PCM RJ na 6x74HCT164 TSSOP
-tryb NOS
-recloker (np Potato PO74G374A)
-AD1865 SOIC-28,
-Wyjście napięciowe DACa wprost z AD1865 (brak dodatkowych opampów na wyjściu czy innych elementów)
-Zasilanie DC ze wzmaka +/-15V DC a później 4 stabilizatory LT3042/LT3094: +/-5V DAC, +5V do zasilania przesuwania rejestru, 3.3V DC konwerter

Zastanawiam się jeszcze nad izolatorem sygnału I2S z konwertera. Napiszcie proszę czy warto stosować taki izolator? Czy dźwięk ma szansę być lepszy?. Mógłbym zmieścić np SI8450 albo coś innego; ale co?
A może nie bawić się izolacją i zasilić konwerter wprost ze stabilizatora +3.3V ( pominąć zasilanie 5V z USB - w konwerterze nie montować stabilizatora 5V-3.3V)
 
Ostatnia edycja:
Cześć,
Chciałbym zbudować dla siebie prosty DAC na AD1865 do współpracy z tym konwerterem USB-I2S.
Ograniczeniem jest ilość miejsca bo chce go umieścić w małej obudowie razem z płytką wzmaka. Chciałbym go zrobić na PCB podobnej wielkości jak konwerter a więc ok 30x69mm w formie 'kanapki'. Nie ma więc miejsca na filtry cyfrowe ani zewnętrzny stopień wyjściowy.
Wstępne założenia:
-rejestr przesuwny I2S->PCM RJ na 6x74HCT164 TSSOP
-tryb NOS
-recloker (np Potato PO74G374A)
-AD1865 SOIC-28,
-Wyjście napięciowe DACa wprost z AD1865 (brak dodatkowych opampów na wyjściu czy innych elementów)
-Zasilanie DC ze wzmaka +/-15V DC a później 4 stabilizatory LT3042/LT3094: +/-5V DAC, +5V do zasilania przesuwania rejestru, 3.3V DC konwerter

Zastanawiam się jeszcze nad izolatorem sygnału I2S z konwertera. Napiszcie proszę czy warto stosować taki izolator? Czy dźwięk ma szansę być lepszy?. Mógłbym zmieścić np SI8450 albo coś innego; ale co?
A może nie bawić się izolacją i zasilić konwerter wprost ze stabilizatora +3.3V ( pominąć zasilanie 5V z USB - w konwerterze nie montować stabilizatora 5V-3.3V)

Jednak spróbuję dać izolator I2s na wyjściu tego USB audio. Jak widzę w ofercie jest sporo czterokanałowych izolatorów z wysokimi transferami i niskimi czasami propagacji.
Poczytałem też o wyjściach DACa AD1865 (napięciowym i prądowym). To wyjście napięciowe (o którym pierwotnie myślałem) jak się okazuje jest kiepskie więc raczej zdecyduję się na wyjście prądowe i konwersję I/V na zwykłym oporniku. Opampów nie lubię. Trzeba będzie poeksperymentować w wyborem rezystora konwersji (wartość i rodzaj). DAC ma na wyjściu tylko 1mA. Gdyby dać rezystor konwersji np 300 ohm na wyjściu będzie max +/-0,3V Rms. To mało. Wzmocnienie zrobię w przedwzmacniaczu (który będzie w tej samej niewielkiej obudowie co Dac i końcówka mocy). Muszę zsynchronizować przełączenie źródeł ze zmianą wzmocnienia bo dla DAC potrzebuję gain ok 13x (dla innych źródeł jest ok 4x). PRE chcę zrobić na parze sparowanych jfetów toshiby sk170/sj74. Czas pokarze co z tego wyjdzie.
 
Ostatnia edycja:
Chyba nie będzie tak prosto z reclockingiem o którym myślałem...
Konwerter USB audio musiałoby pracować w slave mode i musiałby mieć dodatkowy pin XTCK_OUT/MUTE (tak jak w oryginalnym Amanero pin 11 do wyboru zewnętrznego zegara). Poza tym trzeba by zastosować jakiś divider MCKL/2 dla USB AUDIO i natywne MCKL dla reclockera.

A może można zrobić wersję softu dla Slave mode i użyć pinu 2 (w standardowej wersji SPDIF) jako odpowiednika oryginalnego pinu XTCK_OUT/MUTE do przełączania dwóch zewnętrznych zegarów 45/49.xxxMHz?
 
Ostatnia edycja:
moje tempo działania jest jakie jest, ale i z wiedzą słabo, stąd pytanie - ma to znaczenie skąd wezmę zasilanie do gpio? Czy może nie trzeba tego podłączyć i wystarczy 5 przewodów do i2s? Tak, wiem, durne pytanie, ale nie znalazłem...
 
Podłączasz USB Audio do USB i tyle. Jeśli DAC ma separację na wejściu to podpinasz dodatkowo oprócz sygnałów i2s i GND to pin "V+" .
 
Cześć,
Co zrobić by ustawić wyjście kontrolera na SPDIF?
Próbuję to zrobić w Windowsie11 i na razie nie udaje się.
Jak włączę kontroler/kartę do komputera z Linuxem to prawidłowo rozpoznaje dwa wyjścia:
  • Default Output Device (dla PCM)
  • Digital Output (S/PDIF)
jak przełożę karte do laptopa z Win11 to mam tylko jedno wyjsce:
  • Cyfrowy interfejs audio (tylko PCM)


Czy brak rozpoznania spdif to kwestia słabego sterownika od Microsoftu? Jeśli tak gdzie mógłbym znależć sterownik do Win, który umożliwi obsługę wyjścia SPDIF?
 
Ostatnia edycja:
Nic nie trzeba ustawiać. Równocześnie z i2s masz spdif aktywne.

SPDIF chciałem wykorzystać do przekazywania (Passthrough) dzwięku wielokanałowego 5.1 do zewnętrznego dekodera DD oraz DTS.
W Linuksie poprzez osobne wyjście 'Digital Output (S/PDIF)' działa to bez problemu. W Windows11 poprzez wyjście 'Cyfrowy interfejs audio' przekazywane sa tylko 2 kanały. 4 pozostałe są wycięte . Może można to jkoś skonfigurować w Win11 albo zmienić sterowniki, które umożliwią przekazanie dzwięku wielokanałowego?
 
Z tego co udało mi się ustalić z autorem to nie da się niestety.

Urządzenie jest tak wykonane, że SPDIF jest brany z multichannel DMA playback channel. Nie ma innego urządzenia do odtwarzania, po prostu przerzuca to co dostaje w systemie na SPDIF i tyle. Prawdopodobnie linux miał SPDIF ze względu na swój sterownik.

W windowsie będzie się to zawsze zgłaszać jako "speaker", nigdy jako osobny SPDIF.
 
Z tego co udało mi się ustalić z autorem to nie da się niestety.

Urządzenie jest tak wykonane, że SPDIF jest brany z multichannel DMA playback channel. Nie ma innego urządzenia do odtwarzania, po prostu przerzuca to co dostaje w systemie na SPDIF i tyle. Prawdopodobnie linux miał SPDIF ze względu na swój sterownik.

W windowsie będzie się to zawsze zgłaszać jako "speaker", nigdy jako osobny SPDIF.

Dzięki.
Jedyna nadzieja, że ktoś kiedyś (może C-Media albo Microsoft) poprawi sterowniki w Windows.
 
W załączeniu zdjęcia małej modyfikacji czyli dołożenie gniazda Toslink.
Potrzebne mi było wyjście optyczne SPDIF dla wysyłania skompresowanego wielkokanałowego dźwięku (jak pisałem działa na razie tylko w Linux).
Zamiast standardowego gniazda 2x10 zastosowałem 2x8 oraz dołożyłem od strony spodniej gniazdo toslink. Musiałem wywiercić parę otworów na płytce pcb by weszły piny gniazda. Zasilanie +3V3 DC z pobliskiego pinu.
 
Ma ktoś na sprzedaż gotowe USB audio z addonem? Można to jeszcze u kogoś zamówić?
 
Cześć,
Co zrobić by ustawić wyjście kontrolera na SPDIF?
Próbuję to zrobić w Windowsie11 i na razie nie udaje się.
Jak włączę kontroler/kartę do komputera z Linuxem to prawidłowo rozpoznaje dwa wyjścia:
  • Default Output Device (dla PCM)
  • Digital Output (S/PDIF)
jak przełożę karte do laptopa z Win11 to mam tylko jedno wyjsce:
  • Cyfrowy interfejs audio (tylko PCM)


Czy brak rozpoznania spdif to kwestia słabego sterownika od Microsoftu? Jeśli tak gdzie mógłbym znależć sterownik do Win, który umożliwi obsługę wyjścia SPDIF?

Znalazłm rozwiązanie. Może się komuś przyda.
Aby skonfigurować interfejs SPDIF w Windows należy zaprogramować układ korzystając z narzędzia
CM6631AConfigurateTool

fe46c9c4a26f63a46a8e896416bac1bb_1672484969.jpg


82c34c33ebfc55f228802108604eee1d_1672478213.jpg




Wklejam link do odpowiedniego postu na diyaudio.com. W poście znajduje się instrukcja oraz linki do softu:
https://www.diyaudio.com/community/t...4/post-7004969
 
Ostatnia edycja:
Cześć,
Co zrobić by ustawić wyjście kontrolera na SPDIF?
Próbuję to zrobić w Windowsie11 i na razie nie udaje się.
Jak włączę kontroler/kartę do komputera z Linuxem to prawidłowo rozpoznaje dwa wyjścia:
  • Default Output Device (dla PCM)
  • Digital Output (S/PDIF)
jak przełożę karte do laptopa z Win11 to mam tylko jedno wyjsce:
  • Cyfrowy interfejs audio (tylko PCM)


Czy brak rozpoznania spdif to kwestia słabego sterownika od Microsoftu? Jeśli tak gdzie mógłbym znależć sterownik do Win, który umożliwi obsługę wyjścia SPDIF?

Nie wiem co tam ci Linux wymyśla, ale brak osobnego interfejsu SPDIF to celowy zabieg i nie ma prawa działać w tym projekcie bo zwyczajnie nie ma nawet osobnego deskryptora dla interfejsu SPDIF:

https://github.com/iryont/USB-I2S-CM...HighSpeed.conf

https://github.com/iryont/USB-I2S-CM...m/device.c#L51

Interfejs jest tylko "Speaker" i tyle. Nie ma innych... Nawet jakby był, to nie miałby prawa działać osobno, ponieważ:

https://github.com/iryont/USB-I2S-CM...o/audio.c#L455

SPDIF jest generowany z kanałów 0 i 1, które są przesyłane przez interfejs "Speaker".

Tak po prostu zostało wszystko zaprojektowane.

Znalazłm rozwiązanie. Może się komuś przyda.
Aby skonfigurować interfejs SPDIF w Windows należy zaprogramować układ korzystając z narzędzia
CM6631AConfigurateTool

Wklejam link do odpowiedniego postu na diyaudio.com. W poście znajduje się instrukcja oraz linki do softu:
https://www.diyaudio.com/community/t...4/post-7004969

To nie jest rozwiązanie... To jest stary chiński generator gotowego i śmieciowatego firmware do CM6631A, dostępny był jeszcze przed upublicznieniem SDK. Wrzucanie tak wygenerowanego programu do mojego projektu to czysta głupota, a to, że działa to tylko fuks bo główne piny od I2S są takie same... Poza tym, nic innego już nie działa. Lepiej kupić chińską płytkę z aliexpress i przyjdzie z firmware wygenerowanym takim programem.
 
Z tego co widzę to należy wlutować tylko piny 3,4,5,6,8 i 9. I co ze zworą FPWR? Ma zostać czy ją zdjąć?
 
Odkop solidny, może ktoś jeszcze pomoże. Próbowałem zaktualizować, niestety pole Type w programie jest puste. Aktualizacja niby poszła, urządzenie działa. Co prawda patrzyłem na PID/VID urządzenia, jak przy sterownikach, ale nie wiem w czym problem. .3lite zaglądasz jeszcze?
 
Powrót
Góra