Ogłoszenie

Collapse
No announcement yet.

USB Audio - forumowe "Amanero"

Collapse
Ten temat jest przyklejony.
X
X
 
  • Filtr
  • Czas
  • Pokaż
Clear All
new posts

    USB Audio - forumowe "Amanero"

    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).
    Załączone pliki
    Last edited by .3lite; 11.01.2020, 10:31.

    #2
    Czy będzie działać z androidami?

    Skomentuj


      #3
      Zamieszczone przez damianko Zobacz posta
      Czy będzie działać z androidami?
      Wydaje mi się, że Android od wersji 5.0 dostał USB Audio driver, więc powinno chodzić. Trzeba sprawdzić.

      Skomentuj


        #4
        Warto sprawdzić ja np często słucham muzyki tylko z tabletu

        Skomentuj


          #5
          Czy scalak jest do kupienia osobno oraz czy ulepszone F/W będzie działało na gotowym PCB z ali?

          Skomentuj


            #6
            Zamieszczone przez ampli Zobacz posta
            Czy scalak jest do kupienia osobno
            https://www.semiconductorstore.com/c...dproduct=48282

            https://www.aliexpress.com/item/CM66...854826974.html

            https://www.aliexpress.com/item/2pcs...791631736.html

            Zamieszczone przez ampli Zobacz posta
            działało na gotowym PCB z ali
            Nie będzie, a raczej nie gwarantuję tego. Ja nie trzymam się tych samych pinów co Chińczycy, którzy wyczaili jeden firmware i wgrywają go w kółko na różne produkty z CM6631A. Najlepszym przykładem tego ich kopiowania jest niepotrzebny EEPROM na płytkach :P

            Skomentuj


              #7
              Panowie, chyba czas zacząć grzac lutownice :) Wielkie dzięki za ten projekcik, ogromny szacunek za czas, wkład i wiedze.
              Nie każdy mógł sobie pozwolić na amanero za prawie 300zl, a dzięki takiemu konwerterowi idea DIY sięgnie jeszcze dalej. Poza tym starczy już tego amanero
              Last edited by Adam_85; 05.04.2018, 23:30.

              Skomentuj


                #8
                Chciałem robić PCB pod CP2114 jako tani interfejs USB (w wymiarze amanero), ale chyba już nie mam po co :)
                Świetny projekt.

                Skomentuj


                  #9
                  Genialna rzecz .3lite!! Czapki z głów!!
                  marcinsywala.pl
                  Cambridge Audio Stream Magic 6 | Power Amplifier Class D Hypex 2x Ncore NC2k | T29MF001 + MW16P-4 + 2xTIW 200 XS

                  Skomentuj


                    #10
                    Zamieszczone przez .3lite Zobacz posta
                    Zamieszczone przez damianko Zobacz posta
                    Czy będzie działać z androidami?
                    Wydaje mi się, że Android od wersji 5.0 dostał USB Audio driver, więc powinno chodzić. Trzeba sprawdzić.
                    Z tabletami, smartfonami to pewnie większe szanse będą, że będzie działać, gdy będzie to self powered USB device [1]. Na diyaudio.com ktoś pisał, że testował CM661A z Androidem, tylko że to chodziło najpewniej o standardowy firmware udostepniony tam przez CMedia [2].

                    Planujesz obsługę I2S-in na płytce, czy tylko playback?

                    [1] http://www.diyaudio.com/forums/digit...ml#post3767907
                    [2] http://www.diyaudio.com/forums/digit...ml#post3767506
                    Last edited by sylvester; 06.04.2018, 11:10.

                    Skomentuj


                      #11
                      Tylko playback. Nie używam tych gotowych kodów, więc nie wiem co tam mają źle. Ja jeszcze nie testowałem urządzenia na Androidzie.





                      Śmiga sobie na spokojnie :) Klasa USB 1.0 Full Speed i High Speed już działa poprawnie.

                      Skomentuj


                        #12
                        Świetny projekt!

                        Prosiłbym tylko żebyś zwrócił uwagę na łatwą możliwość przełączenia na zewnętrzne zasilanie, w amanero niestety trzeba wylutować do tego jeden stabilizator...

                        Skomentuj


                          #13
                          Ja się piszę na grupowe zamówienie :)

                          Skomentuj


                            #14
                            Miałem nic nie pisać, no ale... W razie czego też jestem chętny na zakup(może nawet więcej niż 1 sztuki, muszę zapytać znajomego czy też byłby chętny, bo coś wspominał o amanero). I, że tak to ujmę... Genialna robota.

                            Skomentuj


                              #15
                              @.3lite

                              DAC od Ciebie pragnie się z tym zaprzyjaźnić...

                              Skomentuj


                                #16
                                Zamieszczone przez devshin Zobacz posta
                                Prosiłbym tylko żebyś zwrócił uwagę na łatwą możliwość przełączenia na zewnętrzne zasilanie, w amanero niestety trzeba wylutować do tego jeden stabilizator...
                                Niestety nie będę dodawał takiej możliwości. Po prostu nie lutuj stabilizatora i kondensatora obok niego a możesz zasilić osobno :)

                                Poprawiona rewizja PCB poszła do fabryki. Na daną chwilę systemy obsługiwane w pełnej okazałości (384 kHz / 32 bits) to Windows 10 oraz Linux / OS X, czyli w praktyce te, które posiadają natywny sterownik USB Audio Class 2.0. Może kiedyś przerobię jakieś gotowe sterowniki na starsze systemy. W przypadku usunięcia zworki na PCB, która definiuje klasę USB (2.0 bądź 1.0), urządzenie zgłosi się jako audio w klasie 1.0, więc maksymalnie pozwoli do 96 kHz / 24 bits i będzie śmigać na starszych systemach bez sterownika :) Poniżej finalna wersja PCB:



                                USB Audio Class 1.0:

                                All operating systems (Win, OSX, and Linux) support USB Audio Class 1 natively.
                                This means you don’t need to install drivers, it is plug&play.
                                All support 2 channel audio with 24 bit words and 96 kHz sample rate
                                USB Audio Class 2.0:

                                From mid-2010 on USB audio class 2 drivers are available in OSX 10.6.4 and Linux.
                                Both support sample rates up to 384 kHz.
                                Companies like Thesycon or Centrance have developed a USB Class 2 Audio driver for Windows.

                                This was necessary because Microsoft simply didn’t support UAC2.

                                In April 2017, an update of Win10 finally brought native mode drivers.

                                If you use older versions of Win, you still need a third party driver.
                                Last edited by .3lite; 07.04.2018, 11:52.

                                Skomentuj


                                  #17
                                  Super sprawa. Cena amanero jest przesadzona.

                                  Skomentuj


                                    #18
                                    Ja mam pytanie. Czy wiesz może kiedy i w jakiej cenie będzie dostępne PCB? Co z BOM? Planujesz może sprzedaż zestawów z CM6631A, jeśli masz sprawdzone źródło na takie coś? Albo chociaż link do tego, jeśli brałeś z aliexpress albo innego takiego czegoś...

                                    Skomentuj


                                      #19
                                      Zamieszczone przez siewcu Zobacz posta
                                      Czy wiesz może kiedy i w jakiej cenie będzie dostępne PCB?
                                      Cena PCB to 15 PLN. Nie wiem kiedy będą gotowe, możliwe, że w przyszłym tygodniu. CM6631A wyjdzie najdrożej, ponieważ około 30-35 PLN i można go śmiało kupować z aliexpress (w tym temacie podałem linki). FLASH to PM39LV512-70VCE i jest też dostępny na aliexpress, kosztuje grosze:

                                      https://www.aliexpress.com/item/IC-P...696257949.html

                                      Może być też inny FLASH z serii 39VF512, AT49BV512 i PM39LV512, byle by tylko access time był na wymaganym poziomie 55 ns.

                                      Tak dla jasności - ja osobiście nie będę PCB rozsyłał, więc przydałaby się osoba odpowiedzialna za grupowe zamówienie, która wam to potem roześle. Ja po prostu wysłałbym PCB do takiej osoby.

                                      Zamieszczone przez siewcu Zobacz posta
                                      Co z BOM?
                                      BOM na szybkości:

                                      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)


                                      Nie ma dużo elementów.

                                      Zamieszczone przez siewcu Zobacz posta
                                      Planujesz może sprzedaż zestawów z CM6631A
                                      Posiadam je w ograniczonej ilości, więc nie bardzo.
                                      Last edited by .3lite; 07.04.2018, 12:55.

                                      Skomentuj


                                        #20
                                        W razie czego mogę ogarnąć zamówienie PCB, CM6631A i pamięci :) może nawet całe kity ogarnę. Jak PCB będzie u .3lite to zrobię wątek w zbiorowych zamówieniach.

                                        Skomentuj

                                        Czaruję...
                                        X