X
xtcx
Guest
hei venner!, jeg har et problem der jeg kodeken sender og mottar data ved 2MHZ sclk (kodek intern) clk.It fungerer som master og dermed sclk (at) 2MHz ikke kontrolleres av eksterne midler.Jeg skal forklare i trinn.
1) Jeg leste \ skrive kodek @ 2MHz sclk (kodek clk, master) samtidig på SDI & SDO
2) kodek skriver 32-bits data til Tx_buffer og leser 32-bits data til Rx_buffer (i FPGA)
3) Etter å ha lest 32-bits (1 ramme) i 16us går kodeken til tomgang till 64us.
4) Dette er inaktivt, er å matche prøvetaking tiden som er 16kHz (64us).
5) Kodeken leser \ skriver data @ 2MHz eneste eller den ikke fungerer
6) LES: På 17us, etter kodek stopper skrive \ lese, begynner jeg å lese fra Tx_buffer (parallell til seriell) @ 1Mbps bruke FPGA clk @ 1MHz.Så til slutt jeg fullføre min drift ved 48us.Remaining 16us er gratis
7) SKRIV: At 17us, etter kodek stopper skrive \ lese, begynner jeg å skrive til RX_buffer (seriell til parallell) @ 1Mbps bruke FPGA clk (at) 1MHZ.Igjen jeg er ferdig med det innen 48us.
8) BEGGE 1MHz lese \ skrive til Tx_buffer og Rx_buffer skjer fra 17us til 48us (32-bits @ 1MHz).
9) Denne rutinen er evig.
Problemet her er at siden kodeken klokke 2MHz ikke er nøyaktig i forhold til FPGA clk, den FPGA klokken skifter raskere enn kodek clk.Som et resultat jeg finne mine data mangler et sted ... Hvis jeg bare bytte FPGA 1MHz av codec's (2MHz \ 2 = 1MHz) 1MHz clk, så jeg kan få min rett lydutgang ... Hva couldbe den eksakte årsaken ?.... Er dette problemet med asynkron operasjon ?.... Er ikke klokkene synczing riktig ?.... Hvis alle operasjoner blir gjort ved hjelp av kodek Sclk, så finner jeg ingen problemer.
Does noen har møtt dette problemet?eller har noen ide relatert til dette? ... Har bruker FIFO kunne løse dette ?..... Takk
1) Jeg leste \ skrive kodek @ 2MHz sclk (kodek clk, master) samtidig på SDI & SDO
2) kodek skriver 32-bits data til Tx_buffer og leser 32-bits data til Rx_buffer (i FPGA)
3) Etter å ha lest 32-bits (1 ramme) i 16us går kodeken til tomgang till 64us.
4) Dette er inaktivt, er å matche prøvetaking tiden som er 16kHz (64us).
5) Kodeken leser \ skriver data @ 2MHz eneste eller den ikke fungerer
6) LES: På 17us, etter kodek stopper skrive \ lese, begynner jeg å lese fra Tx_buffer (parallell til seriell) @ 1Mbps bruke FPGA clk @ 1MHz.Så til slutt jeg fullføre min drift ved 48us.Remaining 16us er gratis
7) SKRIV: At 17us, etter kodek stopper skrive \ lese, begynner jeg å skrive til RX_buffer (seriell til parallell) @ 1Mbps bruke FPGA clk (at) 1MHZ.Igjen jeg er ferdig med det innen 48us.
8) BEGGE 1MHz lese \ skrive til Tx_buffer og Rx_buffer skjer fra 17us til 48us (32-bits @ 1MHz).
9) Denne rutinen er evig.
Problemet her er at siden kodeken klokke 2MHz ikke er nøyaktig i forhold til FPGA clk, den FPGA klokken skifter raskere enn kodek clk.Som et resultat jeg finne mine data mangler et sted ... Hvis jeg bare bytte FPGA 1MHz av codec's (2MHz \ 2 = 1MHz) 1MHz clk, så jeg kan få min rett lydutgang ... Hva couldbe den eksakte årsaken ?.... Er dette problemet med asynkron operasjon ?.... Er ikke klokkene synczing riktig ?.... Hvis alle operasjoner blir gjort ved hjelp av kodek Sclk, så finner jeg ingen problemer.
Does noen har møtt dette problemet?eller har noen ide relatert til dette? ... Har bruker FIFO kunne løse dette ?..... Takk