X
xtcx
Guest
hi friends!, mam problem, gdzie mój kodeka wysyła i odbiera dane w 2MHz sclk (kod wewnętrzny) clk.It działa jako master, a tym samym sclk (at) 2MHz nie jest kontrolowane za pomocą urządzeń zewnętrznych.Wytłumaczę w krokach.
1) czytam \ zapisu kodek @ 2MHz sclk (kod CLK, master) w tym samym czasie na SDI i SDO
2) codec pisze 32-bitowego do Tx_buffer i otrzymuje 32-bitów danych Rx_buffer (w FPGA)
3) Po przeczytaniu 32-bitów (1 klatka) w 16us, kodek idzie do bezczynności do 64us.
4) czas bezczynności jest aby dopasować czas pobierania próbek, która jest 16KHz (64us).
5) kodek brzmi \ zapisuje dane @ 2MHz tylko czy to nie będzie działać
6) Odczyt: Na 17us, po kodeka piśmie przestaje \ czytania, zaczynam czytanie od Tx_buffer (równolegle do szeregowy) @ 1Mb / s przy użyciu CLK FPGA @ 1MHz.Więc w końcu pełne moje działania na 48us.Remaining 16us jest wolna
7) NAPISZ: Na 17us, po kodeka piśmie przestaje \ czytania, zaczynam piśmie RX_buffer (numer równoległego) @ 1Mb / s przy użyciu CLK FPGA (at) 1MHz.Znowu skończyć w 48us.
8) zarówno 1MHz odczytu \ zapisu Tx_buffer i Rx_buffer dzieje z 17us do 48us (32-bit @ 1MHz).
9) Funkcja ta jest zawsze.
Chodzi tu jest, że od kodeka zegar 2MHz nie jest dokładne w porównaniu do CLK FPGA FPGA zegara przesuwa się szybciej niż kodek CLK.W wyniku mogę znaleźć brakujące dane gdzieś ... Jeśli po prostu wymienić FPGA 1MHz przez kodeka (2MHz \ 2 = 1MHz) 1MHz CLK, to jestem w stanie dostać mój prawidłowe wyjście audio ... Co couldbe dokładną przyczynę ?.... Czy ten problem asynchronicznej operacji ?.... Ain't zegary synczing właściwie ?.... Jeśli każda operacja jest wykonywana przy użyciu kodeka Sclk, a następnie znaleźć żadnych problemów.
Czy ktoś ma wobec tego problemu?lub jakichkolwiek związanych z tym pomysłem? ... Czy używanie FIFO może rozwiązać ten ?..... Dzięki
1) czytam \ zapisu kodek @ 2MHz sclk (kod CLK, master) w tym samym czasie na SDI i SDO
2) codec pisze 32-bitowego do Tx_buffer i otrzymuje 32-bitów danych Rx_buffer (w FPGA)
3) Po przeczytaniu 32-bitów (1 klatka) w 16us, kodek idzie do bezczynności do 64us.
4) czas bezczynności jest aby dopasować czas pobierania próbek, która jest 16KHz (64us).
5) kodek brzmi \ zapisuje dane @ 2MHz tylko czy to nie będzie działać
6) Odczyt: Na 17us, po kodeka piśmie przestaje \ czytania, zaczynam czytanie od Tx_buffer (równolegle do szeregowy) @ 1Mb / s przy użyciu CLK FPGA @ 1MHz.Więc w końcu pełne moje działania na 48us.Remaining 16us jest wolna
7) NAPISZ: Na 17us, po kodeka piśmie przestaje \ czytania, zaczynam piśmie RX_buffer (numer równoległego) @ 1Mb / s przy użyciu CLK FPGA (at) 1MHz.Znowu skończyć w 48us.
8) zarówno 1MHz odczytu \ zapisu Tx_buffer i Rx_buffer dzieje z 17us do 48us (32-bit @ 1MHz).
9) Funkcja ta jest zawsze.
Chodzi tu jest, że od kodeka zegar 2MHz nie jest dokładne w porównaniu do CLK FPGA FPGA zegara przesuwa się szybciej niż kodek CLK.W wyniku mogę znaleźć brakujące dane gdzieś ... Jeśli po prostu wymienić FPGA 1MHz przez kodeka (2MHz \ 2 = 1MHz) 1MHz CLK, to jestem w stanie dostać mój prawidłowe wyjście audio ... Co couldbe dokładną przyczynę ?.... Czy ten problem asynchronicznej operacji ?.... Ain't zegary synczing właściwie ?.... Jeśli każda operacja jest wykonywana przy użyciu kodeka Sclk, a następnie znaleźć żadnych problemów.
Czy ktoś ma wobec tego problemu?lub jakichkolwiek związanych z tym pomysłem? ... Czy używanie FIFO może rozwiązać ten ?..... Dzięki