X
xtcx
Guest
Здравейте приятели!, имам един въпрос, по който ми кодек изпраща и получава данни на 2MHz sclk (кодекс вътрешни) clk.It действа като капитана и оттам sclk (в) 2MHz не е контролирани от външни средства.Аз ще обясня в стъпки.
1) Четох \ напишете @ 2MHz sclk кодекс (кодекс CLK, магистър) по същото време на SDI & ОУР
2) кодек, пише 32-битови данни, за да Tx_buffer и прочита 32-бита данни, за да Rx_buffer (в FPGA)
3) След четене 32-бита (1 рама) в 16us, кодека отива на празен ход до 64us.
4) Това празен време е да съответства на времето за вземане на проби, което е 16kHz (64us).
5) кодека прочитания \ пише данни @ 2MHz само или тя няма да работи
6) да се чете: В 17us, след кодек спирки за написването \ четене, аз започвам четене от Tx_buffer (успоредно със сериен) @ 1Mbps използване FPGA CLK @ 1MHz.Така че най-накрая мога да попълня ми работа на 48us.Remaining 16us е свободен
7) напишете: В 17us, след кодек спирки за написването \ четене, писане започна да RX_buffer (сериен за паралелно) @ 1Mbps използване FPGA CLK (в) 1MHz.Пак го завършим в рамките 48us.
8) Както 1MHz чете \ пишете на Tx_buffer и Rx_buffer случва от 17us да 48us (32-бита @ 1MHz).
9) Тази рутина е завинаги.
Въпросът тук е, че тъй като часовник кодека's 2MHz не е точна в сравнение с CLK FPGA, FPGA смени часовника по-бързо от кодек CLK.В резултат на това аз намеря липсващите данни някъде ... Ако аз просто замени FPGA 1MHz от кодека's (2MHz \ 2 = 1MHz) 1MHz CLK, тогава аз съм в състояние да си взема правилното аудио изход ... Какво couldbe точната причина ?.... Това ли е проблемът на асинхронни операция ?.... не е часовниците synczing правилно ?.... Ако всяка операция се извършва с помощта кодек Sclk, а след това да намеря никакви проблеми.
Дали някой има изправени пред този въпрос?или има някаква идея, свързани с това? ... Дали използвате FIFO може да реши този ?..... Благодаря
1) Четох \ напишете @ 2MHz sclk кодекс (кодекс CLK, магистър) по същото време на SDI & ОУР
2) кодек, пише 32-битови данни, за да Tx_buffer и прочита 32-бита данни, за да Rx_buffer (в FPGA)
3) След четене 32-бита (1 рама) в 16us, кодека отива на празен ход до 64us.
4) Това празен време е да съответства на времето за вземане на проби, което е 16kHz (64us).
5) кодека прочитания \ пише данни @ 2MHz само или тя няма да работи
6) да се чете: В 17us, след кодек спирки за написването \ четене, аз започвам четене от Tx_buffer (успоредно със сериен) @ 1Mbps използване FPGA CLK @ 1MHz.Така че най-накрая мога да попълня ми работа на 48us.Remaining 16us е свободен
7) напишете: В 17us, след кодек спирки за написването \ четене, писане започна да RX_buffer (сериен за паралелно) @ 1Mbps използване FPGA CLK (в) 1MHz.Пак го завършим в рамките 48us.
8) Както 1MHz чете \ пишете на Tx_buffer и Rx_buffer случва от 17us да 48us (32-бита @ 1MHz).
9) Тази рутина е завинаги.
Въпросът тук е, че тъй като часовник кодека's 2MHz не е точна в сравнение с CLK FPGA, FPGA смени часовника по-бързо от кодек CLK.В резултат на това аз намеря липсващите данни някъде ... Ако аз просто замени FPGA 1MHz от кодека's (2MHz \ 2 = 1MHz) 1MHz CLK, тогава аз съм в състояние да си взема правилното аудио изход ... Какво couldbe точната причина ?.... Това ли е проблемът на асинхронни операция ?.... не е часовниците synczing правилно ?.... Ако всяка операция се извършва с помощта кодек Sclk, а след това да намеря никакви проблеми.
Дали някой има изправени пред този въпрос?или има някаква идея, свързани с това? ... Дали използвате FIFO може да реши този ?..... Благодаря