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.
Ogłoszenie
Collapse
No announcement yet.
Konwerter USB/SPDIF -> I2S
Collapse
X
-
Zamieszczone przez .3lite Zobacz postaTen 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
-
Zamieszczone przez .3lite Zobacz posta
Na szybkości polutowane i można opisać CPLD :)
Skomentuj
-
Zamieszczone przez scythe1123 Zobacz postaten CPLD to jest overkill.
Skomentuj
-
Zamieszczone przez Holgin Zobacz postaJak uruchomisz, będę Ciebie prosić o schemat - narysuję wtedy PCB "kanapkowe" pod Amanero itp
Zamieszczone przez scythe1123 Zobacz postaten CPLD to jest overkill.Zamieszczone przez sylvester Zobacz postaNa 2 wejścia to może i tak, ale na więcej to bym się zastanawiał.
Skomentuj
-
Zamieszczone przez .3lite Zobacz postaJaki schemat? Czy nie chodzi ci czasem o rozmieszczenie gold-pinów?
Zamieszczone przez scythe1123 Zobacz postaMasz już coś na oku odnośnie BT->I2S?
https://www.aliexpress.com/item/CSRA...827020145.html
Skomentuj
-
Zamieszczone przez Holgin Zobacz postaChodzi mi o schemat podłączenia CPLD - żebym mógł zrobić bliźniaczą konstrukcję do Twojej
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
-
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 projektui dorzucę się do jego powstania
Last edited by bawolek; 10.03.2018, 20:42.
Skomentuj
-
Zamieszczone przez .3lite Zobacz postaPiny 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]
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
-
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
-
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.
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
Skomentuj