RTV forum PL | NewsGroups PL

Jak prawidłowo skonfigurować kodek ADAU1961 z STM32F417 dla I2S i uzyskać czysty dźwięk?

Konfiguracja kodeka ADAU1961 i linii I2S

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak prawidłowo skonfigurować kodek ADAU1961 z STM32F417 dla I2S i uzyskać czysty dźwięk?

kroq
Guest

Mon Aug 06, 2012 12:52 pm   



Witam,
Mam problem przy zapisie dźwięku z kodeka ADAU1961 do bufora.
Używam mikroprocesora STM32F417 i dedykowanych dla niego bibliotek
STM32F4xx_DSP_StdPeriph_Lib do konfiguracji peryferiów. Rejestry kodeka
konfiguruję za pomocą linii I2C, natomiast próbki dźwięku przesyłane są do
mikroprocesora przez linię I2S. Chciałbym otrzymać dźwięk o następujących
parametrach: częstotliwość próbkowania = 48kHz, 16 bitów na próbkę, 2 kanały. Po
skonfigurowaniu linii I2S oraz kodeka niestety otrzymuję szumy.
Kodek pracuje w trybie master i ma podpięty zewnętrzny zegar 12.288MHz.

Czy ktoś posiada doświadczenie w konfiguracji linii I2S i kodeka ADAU1961 i
mógłby mi pomóc w otrzymaniu poprawnego dźwieku.
Za wszelkie uwagi i sugestie wielkie dzięki.

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Michał Lankosz
Guest

Tue Aug 14, 2012 8:22 pm   



W dniu 2012-08-06 12:52, kroq pisze:
Quote:
Witam,
Mam problem przy zapisie dźwięku z kodeka ADAU1961 do bufora.
Używam mikroprocesora STM32F417 i dedykowanych dla niego bibliotek
STM32F4xx_DSP_StdPeriph_Lib do konfiguracji peryferiów. Rejestry kodeka
konfiguruję za pomocą linii I2C, natomiast próbki dźwięku przesyłane są do
mikroprocesora przez linię I2S. Chciałbym otrzymać dźwięk o następujących
parametrach: częstotliwość próbkowania = 48kHz, 16 bitów na próbkę, 2 kanały. Po
skonfigurowaniu linii I2S oraz kodeka niestety otrzymuję szumy.
Kodek pracuje w trybie master i ma podpięty zewnętrzny zegar 12.288MHz.

Czy ktoś posiada doświadczenie w konfiguracji linii I2S i kodeka ADAU1961 i
mógłby mi pomóc w otrzymaniu poprawnego dźwieku.
Za wszelkie uwagi i sugestie wielkie dzięki.


Wszystkie STM32 mają ten sam błąd interfejsu I2S pracującego w trybie
slave. Według mnie olewa on sygnał na linii WS (LRCK), przez co nie
synchronizuje się do ramki audio. Jest to opisane w erracie. Tak samo
jeśli zagubi się cykl SCLK interfejs rozsynchronizowuje się.
Nie wiem dlaczego ST ciągnie ten błąd? Już w 2008 roku musiałem
przeprojektować układ właśnie z tego powodu, a też się naużerałem z tym
bo pierwszy raz bawiłem się I2S. Zgłaszałem to do przedstawiciela,
rozmawiałem, ale nic z tego nie wynikło a jedynie po roku czy dwóch
trafiło do errat.
Moja rada, ustaw interfejs w tryb master i podepnij 12.288MHz do uC. Ale
najpierw sprawdź oscyloskopem linie SDATA i LRCK, czy dane są prawidłowo
ułożone i spróbuj metody opisanej w erracie.

Michał

elektroda NewsGroups Forum Index - Elektronika Polska - Jak prawidłowo skonfigurować kodek ADAU1961 z STM32F417 dla I2S i uzyskać czysty dźwięk?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map