Taki nowy projekt interfejsu Audio USB, który zawsze chciałem zrobić, ale nigdy nie było chęci, możliwości i czasu aby się za niego wziąć :) Projekt bazuje na CM6631A z peryferiami do obsługi USB Audio, ale wymaga kodu do wbudowanego 8051, który to obsłuży.
PCB wygląda następująco:
Wymiary są dokładnie takie same jak Amenero, tak samo jak i wyjściowe piny, więc teoretycznie można je stosować zamiennie.
Podstawowe informacje na temat projektu:
- Obsługa USB High-Speed PCM 384 kHz / 32 bits.
- Obsługa DSD64 oraz DSD128 w formie DoP (nie ma natywnych wyjść DSD).
- Format wyjściowy I2S.
- Dodatkowym bajerem jest wyjście SPDIF, które działa razem z I2S.
- Wybór klasy UAC 1.0 bądź 2.0.
- Dioda LED do sygnalizowania playback'a.
- Piny 44.1k, P1, P2 oraz P3 pokazują częstotliwość wyjściową, zgodnie z pinami od Amanero.
Teraz tak dla jasności, aby nie było potem niedomówień. Urządzenie działa w klasie USB Audio Class 1.0 bądź 2.0 i jest to wybierane poprzez zworkę na PCB. Klasa UAC 1.0 działa na wszystkich systemach, nawet Windows XP, więc nie ma potrzebny żadnego dodatkowego sterownika. Poniżej zamieszczam wszystkie możliwe formaty dla UAC 2.0 oraz UAC 1.0:
UAC 2.0:
UAC 1.0:
CM6631A ma wbudowany bootloader, więc nie wymaga osobnego oprogramowania do aktualizacji kodu.
Dodatkowo został zaprojektowany addon do tej płytki, który między innymi dodaje obsługę 768 kHz oraz bezpośrednie wyjścia DSD i obsługę DSD64, DSD128 i DSD256 w formie DoP oraz DSD512 w formie natywnej:
W praktyce ten addon do głównego USB Audio dodaje poniższe funkcje:
- Obsługa próbkowania na poziomie 705,6 kHz oraz 768 kHz. Nie ma tu żadnej decymacji sygnału do 352,8 kHz lub 384 kHz. Na wyjściu jest tyle ile na wejściu w komputerze i bit-perfect playback przy ASIO.
- Wykrywanie DSD (DoP, np. w foobar) i wypuszczenie go na osobne wyjścia (DSDR + DSDL + DSDCK). Obsługa DSD64, DSD128 i DSD256 w formie DoP oraz DSD512 w formie natywnej. Przy odtwarzaniu DSD pin DSDOE ma stan logiczny 1 i zaświeca się dioda DSD. Przy DSD128 i wyżej można śmiało pominąć DAC'a i zrobić sobie prosty filtr RC wypuszczając sygnał analogowy prosto na przedwzmacniacz lub wzmacniacz.
- Wyjście SD pozwala na podłączenie jakiegokolwiek przetwornika w trybie NOS. Na zworkach ustawiamy długość słowa (od 16 bitów np. dla PCM56 aż do 24 bitów dla np. PCM1704).
- Możliwość przestawienia BCLK na 32x Fs zamiast standardowego 64x Fs. Pozwala to "wykręcić" przetworniki takie jak PCM56 do 768 kHz.
- Wyjście I2S z ramką 32x Fs bądź 64x Fs.
- Wyjście LJ (Left justified) z ramką 32x Fs bądź 64x Fs.
- Wyjście SPDIF generowane prosto z odbieranego strumienia od USB Audio. Nie używa on wbudowanego trasmitera w CM6631A.
- Każde wyjście dla PCM posiada inwersję danych, tj. są one odwrócone aby można było sobie podłączyć przetworniki w konfiguracji różnicowej.
- MCLK zawsze wynosi 45.1584 MHz lub 49.152 MHz.
Dodatkowo addon ma eksperymentalną obsługę strumieni 1411,2 kHz oraz 1536 kHz przy 16 bitach. Sterownik Windowsa tego nie obsłuży, ale dystrybucje bazujące na Linuxie powinny sobie dać radę.
Addon wymaga innego firmware w samym USB Audio.
Aktualizacja firmware:
https://diyaudio.pl/showthread.php/2...397#post515397
Najnowszy firmware z dnia 2018-08-16:
https://diyaudio.pl/showthread.php/2...586#post519586
Oprogramowanie tego konwertera jest tylko i wyłącznie do użytku z zamieszczonym projektem! Nie wyrażam zgody na użycie go gdziekolwiek indziej, w jakimkolwiek projekcie, a tym bardziej w komercyjnych produktach!
Schemat:
Lista elementów:
1x CM6631A
1x PM39LV512-70VCE
1x LM1117-3.3 LDO SOT-223
14x 100nF 0805
6x 47R 0805
1x 12k 0805
1x 10 uF SMD C
1x 47 uF SMD C
1x 1 uF SMD A
1x Dioda LED Zielona 0805
1x Gold-pin 10x2
2x Gold-pin 2x1
1x Generator SMD 7 mm x 5 mm 12 MHz
1x Generator SMD 7 mm x 5 mm 49.152 MHz
1x Generator SMD 7 mm x 5 mm 45.1584 MHz
1x Gniazdo USB typ B kątowe
1x Tact Switch 3 mm x 6 mm THT (opcjonalny)
2x Zworka / jumper, raster 2,54 mm
Załączniki postu:
Project Outputs for USBAudio.zip - pliki gerber dla samej podstawki USB Audio do produkcji (np. pcbway.com).
Project Outputs for USBAudio-FPGA.zip - pliki gerber dla addona z FPGA do produkcji (np. pcbway.com).
Project Outputs for USBAudio-FPGA.txt - informacja o kolejności warstw w plikach gerber dla addona (4 warstwowe PCB) oraz informacja o wycięciu (to się też wysyła do fabryki aby wiedzieli jak wykonać PCB).
XC3S50AN-bitfile.rar - plik opisu sprzętu dla FPGA XC3S50AN do addona (wymagany Xilinx Platform Cable oraz program ISE iMPACT).
USBAudio-FPGA.pdf - schemat addona z obrazkiem samego PCB od góry (rezystory 0603).
PCB wygląda następująco:
Wymiary są dokładnie takie same jak Amenero, tak samo jak i wyjściowe piny, więc teoretycznie można je stosować zamiennie.
Podstawowe informacje na temat projektu:
- Obsługa USB High-Speed PCM 384 kHz / 32 bits.
- Obsługa DSD64 oraz DSD128 w formie DoP (nie ma natywnych wyjść DSD).
- Format wyjściowy I2S.
- Dodatkowym bajerem jest wyjście SPDIF, które działa razem z I2S.
- Wybór klasy UAC 1.0 bądź 2.0.
- Dioda LED do sygnalizowania playback'a.
- Piny 44.1k, P1, P2 oraz P3 pokazują częstotliwość wyjściową, zgodnie z pinami od Amanero.
Teraz tak dla jasności, aby nie było potem niedomówień. Urządzenie działa w klasie USB Audio Class 1.0 bądź 2.0 i jest to wybierane poprzez zworkę na PCB. Klasa UAC 1.0 działa na wszystkich systemach, nawet Windows XP, więc nie ma potrzebny żadnego dodatkowego sterownika. Poniżej zamieszczam wszystkie możliwe formaty dla UAC 2.0 oraz UAC 1.0:
UAC 2.0:
UAC 1.0:
CM6631A ma wbudowany bootloader, więc nie wymaga osobnego oprogramowania do aktualizacji kodu.
Dodatkowo został zaprojektowany addon do tej płytki, który między innymi dodaje obsługę 768 kHz oraz bezpośrednie wyjścia DSD i obsługę DSD64, DSD128 i DSD256 w formie DoP oraz DSD512 w formie natywnej:
W praktyce ten addon do głównego USB Audio dodaje poniższe funkcje:
- Obsługa próbkowania na poziomie 705,6 kHz oraz 768 kHz. Nie ma tu żadnej decymacji sygnału do 352,8 kHz lub 384 kHz. Na wyjściu jest tyle ile na wejściu w komputerze i bit-perfect playback przy ASIO.
- Wykrywanie DSD (DoP, np. w foobar) i wypuszczenie go na osobne wyjścia (DSDR + DSDL + DSDCK). Obsługa DSD64, DSD128 i DSD256 w formie DoP oraz DSD512 w formie natywnej. Przy odtwarzaniu DSD pin DSDOE ma stan logiczny 1 i zaświeca się dioda DSD. Przy DSD128 i wyżej można śmiało pominąć DAC'a i zrobić sobie prosty filtr RC wypuszczając sygnał analogowy prosto na przedwzmacniacz lub wzmacniacz.
- Wyjście SD pozwala na podłączenie jakiegokolwiek przetwornika w trybie NOS. Na zworkach ustawiamy długość słowa (od 16 bitów np. dla PCM56 aż do 24 bitów dla np. PCM1704).
- Możliwość przestawienia BCLK na 32x Fs zamiast standardowego 64x Fs. Pozwala to "wykręcić" przetworniki takie jak PCM56 do 768 kHz.
- Wyjście I2S z ramką 32x Fs bądź 64x Fs.
- Wyjście LJ (Left justified) z ramką 32x Fs bądź 64x Fs.
- Wyjście SPDIF generowane prosto z odbieranego strumienia od USB Audio. Nie używa on wbudowanego trasmitera w CM6631A.
- Każde wyjście dla PCM posiada inwersję danych, tj. są one odwrócone aby można było sobie podłączyć przetworniki w konfiguracji różnicowej.
- MCLK zawsze wynosi 45.1584 MHz lub 49.152 MHz.
Dodatkowo addon ma eksperymentalną obsługę strumieni 1411,2 kHz oraz 1536 kHz przy 16 bitach. Sterownik Windowsa tego nie obsłuży, ale dystrybucje bazujące na Linuxie powinny sobie dać radę.
Addon wymaga innego firmware w samym USB Audio.
Aktualizacja firmware:
https://diyaudio.pl/showthread.php/2...397#post515397
Najnowszy firmware z dnia 2018-08-16:
https://diyaudio.pl/showthread.php/2...586#post519586
Oprogramowanie tego konwertera jest tylko i wyłącznie do użytku z zamieszczonym projektem! Nie wyrażam zgody na użycie go gdziekolwiek indziej, w jakimkolwiek projekcie, a tym bardziej w komercyjnych produktach!
Schemat:
Lista elementów:
1x CM6631A
1x PM39LV512-70VCE
1x LM1117-3.3 LDO SOT-223
14x 100nF 0805
6x 47R 0805
1x 12k 0805
1x 10 uF SMD C
1x 47 uF SMD C
1x 1 uF SMD A
1x Dioda LED Zielona 0805
1x Gold-pin 10x2
2x Gold-pin 2x1
1x Generator SMD 7 mm x 5 mm 12 MHz
1x Generator SMD 7 mm x 5 mm 49.152 MHz
1x Generator SMD 7 mm x 5 mm 45.1584 MHz
1x Gniazdo USB typ B kątowe
1x Tact Switch 3 mm x 6 mm THT (opcjonalny)
2x Zworka / jumper, raster 2,54 mm
Załączniki postu:
Project Outputs for USBAudio.zip - pliki gerber dla samej podstawki USB Audio do produkcji (np. pcbway.com).
Project Outputs for USBAudio-FPGA.zip - pliki gerber dla addona z FPGA do produkcji (np. pcbway.com).
Project Outputs for USBAudio-FPGA.txt - informacja o kolejności warstw w plikach gerber dla addona (4 warstwowe PCB) oraz informacja o wycięciu (to się też wysyła do fabryki aby wiedzieli jak wykonać PCB).
XC3S50AN-bitfile.rar - plik opisu sprzętu dla FPGA XC3S50AN do addona (wymagany Xilinx Platform Cable oraz program ISE iMPACT).
USBAudio-FPGA.pdf - schemat addona z obrazkiem samego PCB od góry (rezystory 0603).
Skomentuj