Ogłoszenie

Collapse
No announcement yet.

Konwerter USB/SPDIF -> I2S

Collapse
X
 
  • Filtr
  • Czas
  • Pokaż
Clear All
new posts

    #41
    Tragedii raczej nie będzie. Można by przesunąc C2, C3 w lewo, nieco w dól, puścić zasilanie WM8804 dołem, a tą ścieżkę +3.3V dać na top przez zworkę 0805 np. Byłaby masa nieprzerwana nad ścieżką sygnału (RX0). Ewentualnie można zostawić ścieżkę RX0 na top całą. I wtedy z kolei można by puścić +3.3V dołem w miejscu krzyżowania z RX0 przez zworkę SMD. W miejscu krzyżowania pomiędzy +3.3V i RX0 byłaby warstwa masy wtedy.

    Skomentuj


      #42
      Zamieszczone przez .3lite Zobacz posta
      Ten temat to dobry przykład jak niby prosta rzecz potrafi sprawić ogromne problemy. Sam się nad tym zastanawiałem, ponieważ czegoś takiego będę potrzebował i wczoraj machnąłem PCB na CPLD XL5792XL:



      CPLD za "dychę" a i tak będzie się tam nudził bo w praktyce nic nie ma do roboty :) Minus to potrzeba programowania układu logiki. Przełączanie wejścia na zwieraniu B0 / B1 do masy układu. Wyjście izolowane na ISO7640 / ADuM1400, więc nie ma problemu z łączeniem masy, ponieważ sygnał wyjściowy jest odseparowany od reszty. Zasilanie jest z transformatora aby się nie męczyć z generowaniem 3,3V dla CPLD.

      W każdym wypadku płytki przyjdą to i poskładam, zrobię opis dla CPLD i zobaczymy co z tego wyjdzie.


      Na szybkości polutowane i można opisać CPLD :)

      Skomentuj


        #43
        Zamieszczone przez .3lite Zobacz posta


        Na szybkości polutowane i można opisać CPLD :)
        Jak uruchomisz, będę Ciebie prosić o schemat - narysuję wtedy PCB "kanapkowe" pod Amanero itp :)

        Skomentuj


          #44
          Hoglin, planujesz, żeby PCB miało kształt Amanero i żeby miało slot na Amanero?
          Czemu w zasadzie by tego nie zrobić na wcześniej wspomnianym scalaku :) ten CPLD to jest overkill.

          Skomentuj


            #45
            PCB będzie większe, będzie slot na amanero i dwie płytki pod mój odbiornik na Wm8804 oraz odbiornik bt->i2s :)

            Skomentuj


              #46
              Zamieszczone przez scythe1123 Zobacz posta
              ten CPLD to jest overkill.
              Na 2 wejścia to może i tak, ale na więcej to bym się zastanawiał. :)

              Skomentuj


                #47
                Masz już coś na oku odnośnie BT->I2S?

                Skomentuj


                  #48
                  Zamieszczone przez Holgin Zobacz posta
                  Jak uruchomisz, będę Ciebie prosić o schemat - narysuję wtedy PCB "kanapkowe" pod Amanero itp
                  Jaki schemat? Czy nie chodzi ci czasem o rozmieszczenie gold-pinów?

                  Zamieszczone przez scythe1123 Zobacz posta
                  ten CPLD to jest overkill.
                  Zamieszczone przez sylvester Zobacz posta
                  Na 2 wejścia to może i tak, ale na więcej to bym się zastanawiał.
                  W sumie to tyle w temacie :) Ten CPLD w praktyce nic nie robi, ale jak ktoś ma ochotę to może się bawić w jakieś gotowe multipleksery a potem jakoś to wszystko przełączać. Nie dość, że wyjdzie drożej, to jeszcze samo skomplikowanie i wielkość PCB rośnie dosyć znacząco. Mi się nie chce bawić :)

                  Skomentuj


                    #49
                    Zamieszczone przez .3lite Zobacz posta
                    Jaki schemat? Czy nie chodzi ci czasem o rozmieszczenie gold-pinów?
                    Chodzi mi o schemat podłączenia CPLD - żebym mógł zrobić bliźniaczą konstrukcję do Twojej :)

                    Zamieszczone przez scythe1123 Zobacz posta
                    Masz już coś na oku odnośnie BT->I2S?
                    Coś takiego:
                    https://www.aliexpress.com/item/CSRA...827020145.html

                    Skomentuj


                      #50
                      Zamieszczone przez Holgin Zobacz posta
                      Chodzi mi o schemat podłączenia CPLD - żebym mógł zrobić bliźniaczą konstrukcję do Twojej
                      Piny w CPLD ustawia się podczas programowania, tzw. mapowanie, więc to bez różnicy jaki pin używasz dopóki nie jest potrzeba użycia go jako np. globalnego zegara. Druga sprawa, opisu sprzętu nie wgrasz bez np. Xilinx Platform Cable:

                      https://allegro.pl/listing?string=xi...p-uni-1-2-1003

                      Niestety nie rozumiem co chcesz osiągnąc :) W każdym wypadku opis samego CPLD do takiego selektora to pierwsze liźnięcie języka opisu sprzętu i nie ma nawet co tu kopiować, ponieważ wygląda to następująco w VHDL:

                      [code]library IEEE;
                      use IEEE.STD_LOGIC_1164.ALL;
                      use IEEE.STD_LOGIC_UNSIGNED.ALL;

                      entity I2S_Selector is
                      Port (
                      -- I2S inputs
                      i2s_data_in : in std_logic_vector(3 downto 0);
                      i2s_lclk_in : in std_logic_vector(3 downto 0);
                      i2s_bclk_in : in std_logic_vector(3 downto 0);
                      i2s_mclk_in : in std_logic_vector(3 downto 0);

                      -- I2S selection
                      i2s_sel : in std_logic_vector(1 downto 0);

                      -- LED
                      led : out std_logic;

                      -- I2S output
                      i2s_data_out : out std_logic;
                      i2s_lclk_out : out std_logic;
                      i2s_bclk_out : out std_logic;
                      i2s_mclk_out : out std_logic);
                      end I2S_Selector;

                      architecture Behavioral of I2S_Selector is

                      begin
                      led <= '1'; -- indicator

                      i2s_data_out <= i2s_data_in(conv_integer(i2s_sel));
                      i2s_lclk_out <= i2s_lclk_in(conv_integer(i2s_sel));
                      i2s_bclk_out <= i2s_bclk_in(conv_integer(i2s_sel));
                      i2s_mclk_out <= i2s_mclk_in(conv_integer(i2s_sel));
                      end Behavioral;
                      [/code]
                      Last edited by .3lite; 09.03.2018, 18:49.

                      Skomentuj


                        #51
                        Mała rada :)
                        zamiast
                        IEEE.STD_LOGIC_UNSIGNED.ALL;
                        lepiej używać
                        use IEEE.NUMERIC_STD.ALL;

                        Skomentuj


                          #52
                          jak widziałem dzisiaj co opublikował Holgin to znowu powtórzę ..marzy mi się taki AK4118 z np 3x optyczne, 3x współosiowe i to by szło na selektor i2s (np ten co pokazał .3lite) ... wyjście i2s każdy podpinał by sobie dowolne...czy to jakis dac z aliexpres... czy soekris...czy AD1865 .3lite :). w sumie to nawet selektor na 3 i2s by się przydał bo na aliexpress są fajne moduły BT na I2S więc mozna by było zrobić ze na 1 jest AK4118, na drugim BT a na trzecim albo jakis XMOS albo np raspberry z moode czy volumio ...
                          - w sumie jedyne sterownie wymagane do tego to przełączanie źródeł w formie: OPT1, OPT2, OPT3, COAX1, COAX2, COAX3, I2S1, I2S2, I2S3 ;p
                          nie mówcie, że coś takiego nie bylo by piękne ! - każdy ma w domu kilka jakichś źródeł cyfrowych, konsole, tunery satelitarne, TV itp a do tego jest teraz bardzo sporo fajnych DACów z wejsciem I2S...może któryś z doświadczonych projektantów da się namówić ? ;p

                          chętnie zajął bym się testowaniem itp takiego projektu i dorzucę się do jego powstania
                          Last edited by bawolek; 10.03.2018, 20:42.

                          Skomentuj


                            #53
                            Zamieszczone przez .3lite Zobacz posta
                            Piny w CPLD ustawia się podczas programowania, tzw. mapowanie, więc to bez różnicy jaki pin używasz dopóki nie jest potrzeba użycia go jako np. globalnego zegara. Druga sprawa, opisu sprzętu nie wgrasz bez np. Xilinx Platform Cable:

                            https://allegro.pl/listing?string=xi...p-uni-1-2-1003

                            Niestety nie rozumiem co chcesz osiągnąc :) W każdym wypadku opis samego CPLD do takiego selektora to pierwsze liźnięcie języka opisu sprzętu i nie ma nawet co tu kopiować, ponieważ wygląda to następująco w VHDL:

                            [code]library IEEE;
                            use IEEE.STD_LOGIC_1164.ALL;
                            use IEEE.STD_LOGIC_UNSIGNED.ALL;

                            entity I2S_Selector is
                            Port (
                            -- I2S inputs
                            i2s_data_in : in std_logic_vector(3 downto 0);
                            i2s_lclk_in : in std_logic_vector(3 downto 0);
                            i2s_bclk_in : in std_logic_vector(3 downto 0);
                            i2s_mclk_in : in std_logic_vector(3 downto 0);

                            -- I2S selection
                            i2s_sel : in std_logic_vector(1 downto 0);

                            -- LED
                            led : out std_logic;

                            -- I2S output
                            i2s_data_out : out std_logic;
                            i2s_lclk_out : out std_logic;
                            i2s_bclk_out : out std_logic;
                            i2s_mclk_out : out std_logic);
                            end I2S_Selector;

                            architecture Behavioral of I2S_Selector is

                            begin
                            led <= '1'; -- indicator

                            i2s_data_out <= i2s_data_in(conv_integer(i2s_sel));
                            i2s_lclk_out <= i2s_lclk_in(conv_integer(i2s_sel));
                            i2s_bclk_out <= i2s_bclk_in(conv_integer(i2s_sel));
                            i2s_mclk_out <= i2s_mclk_in(conv_integer(i2s_sel));
                            end Behavioral;
                            [/code]
                            Chce osiągnąć coś takiego:

                            Czyli duże PCB, na które wsadza się Amanero oraz dwie sztuki odbiornika na WM8804:

                            DO tego BT o którym wspomniałem wcześniej, więc mamy 4 źródła I2S i one by szły na CPLD. A o schemat proszę dlatego, bo chciałbym zachować taki sam układ pinów jak Ty, żeby móc w miarę bezmyślnie wgrać ten sam program :P Programator uda mi się pożyczyć w pracy/na uczelni w razie czego.

                            Całe rozwiązanie jest dość nieekonomiczne i rozwlekłe, ale akurat w moim przypadku wyjdzie dość tanio, bo 1 odbiornik i PCB już mam, a zamówienie na pcbway i tak będę robić :)

                            Skomentuj


                              #54
                              Selektor już istnieje fizycznie :) Pozostaje mi nauka VHDL - to może trochę zająć :P
                              Dodałem LEDy sygnalizujące aktualnie wybrane wyjście, zarówno na PCB, jak i na złączu IDC10, gdyby ktoś chciał sobie wyprowadzić na front :) Drugie złącze służy za selektor.
                              Jest Coax, Optical, gniazdo na Amanero/XMOS oraz moduł Bluetooth - już przetestowany, jest całkiem fajny i ma dużą zaletę - złącze na antenę zewnętrzną :)
                              Jak układ zadziała, będzie szerzej opisany na forum :)

                              Skomentuj


                                #55
                                Podlinkujesz moduł BT? To od razu sobie zamówię : )

                                Skomentuj


                                  #56
                                  To jest ten wyżej - ale nie musisz się spieszyć, jeszcze chce zrobić pomiary DACa - nie wiem czy wysokie tony nie są tłumione (wąskie pasmo).
                                  Aczkolwiek do grania "do kotleta" bez zarzutu.

                                  Skomentuj


                                    #57
                                    Panowie, jak postępy z selektorami ? Również potrzebuję selektor I2S do soekrisa :)

                                    Skomentuj


                                      #58
                                      Powoli do przodu :)

                                      Skomentuj


                                        #59
                                        @Holgin

                                        Jakie maksymalne częstotliwości będą obsługiwane na wejściu spdif - zgonie ze specyfikacją 192kHz?
                                        Czy jak użyję amanero to będzie można wykorzystać jego możliwości tzn. 384khz i DSD512?

                                        Trzymam kciuki.

                                        Skomentuj


                                          #60
                                          Zamieszczone przez misiaczekmarek Zobacz posta
                                          @Holgin

                                          Jakie maksymalne częstotliwości będą obsługiwane na wejściu spdif - zgonie ze specyfikacją 192kHz?
                                          Czy jak użyję amanero to będzie można wykorzystać jego możliwości tzn. 384khz i DSD512?

                                          Trzymam kciuki.
                                          Mój selektor jest gotowy i tutaj go opisałem :
                                          https://diyaudio.pl/showthread.php/2...-USB-Bluetooth
                                          Tak samo jest wątek o odbiorniku na wm, proszę żebyś tam napisał, żeby pytania, odpowiedzi i inne informacje były w jednym miejscu :)

                                          Skomentuj

                                          Czaruję...
                                          X