logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Odtwarzacz MP3 na STA015 - śmieci na wyjściu przetwornika C/A

KubeqZ 27 Sie 2011 20:15 2017 5
  • #1 9869543
    KubeqZ
    Poziom 16  
    Dekoder STA015 połączyłem z przetwornikiem C/A MAX5556, całością steruje ARM z rodziny STM32F100. Problemem są mp3'jki zawierające wysokie tony, te nieco przytłumione działają poprawnie (ale przy zwiekszeniu treble tez sie pojawiaja zakłócenia). Zamieszczam próbkę dźwiękową, słychać w niej te zakłócenia, podczas tej próbki regulowałem Treble (STA015 ma wbudowany equalizer). Gdy przytłumiam wysokie tony jest ok, natomiast bez tłumienia bądź (0 db) przy ich wzmacnianiu słychać zakłócenia. Dodam że na te zakłócenia nie ma wpływu bitrate mp3'jki (testowałem). Częstotliwość SPI to 6Mhz. Dodatkowo nie wiem dlaczego, ale podłączenie wyjścia przetwornika do wejścia wzmacniacza ( przez gniazdo jack ) podczas włączonego układu zawiesza go..

    Proszę o sugestie, czym może być spowodowany ten problem..

    Oto i próbka:
    Próbka
  • #2 9871093
    maniek1818
    Poziom 22  
    OK, przydałby się schemat, przynajmniej części przetwornika C/A. Ja w swoim projekcie identyczny dekoder i przetwornik sterowałem przy użyciu zwykłej ATMEGA8 zasilanej napięciem 3.3V. Nie używałem equalizera, wszystko było na ustawieniach domyślnych.
    Także proszę o udostępnienie schematu, informacji na jakim kwarcu jest dekoder STA015 i ustawienia początkowe zapisywane przez I2C do STA015. Pamiętam tylko aby nie polegać na zapisach w nocie katalogowej, bo są niestety błędne.
    Pozdrawiam
  • #3 9871307
    KubeqZ
    Poziom 16  
    Dekoder jest na kwarcu 14.318 Mhz (wylutowany z płyty głównej), zamieszczam schemat. Poniżej również konfiguracja STA015, jak również schemat.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #4 9886677
    maniek1818
    Poziom 22  
    Trochę zmiksował kolega rejestry, (HEX'y z DEC'ami). Przypominam sobie te rejestry, swego czasu znałem je na pamięć. Teraz posiłkuję się dataschetem i mam pytanie odnośnie rejestru 0x55 ja tam wpisuję 0x27 a pan 0x23, różnica jest w sposobie wysyłania sygnału, przy różnych zboczach SCKT. MAX5556 bramkuje dane przy "rising" narastającym zboczu sygnału zegarowego (timming na stronie 11).

    Dodano po 5 [minuty]:

    A co do rejestru 0x54, w tym przypadku STA wysyła 32 bitowe próbki "sloty" mimo że DAC pracuje niby jako 24 bitowy, a pliki mp3 są max 16 bitowe. proponuję wysłać do rejestru 0x54 wartość 0x03 (ewentualnie 0x02 albo 0x01).
  • #5 9886849
    KubeqZ
    Poziom 16  
    Do rejestru 0x55 wysyłałem 0x24, według tabelki z datasheeta STA015 jest to "data sent on rising edge" i "16 bit mode", 0x27 ustawiłby to samo lecz "24 bit mode".

    Co do rejestru 0x54 mógłbym ustawić 0x03 ( wg. strony nr 31 dla 16 bitowego trybu mozna tam wstawić tylko 7, 3, lub 5).
  • #6 10225341
    KubeqZ
    Poziom 16  
    Problem rozwiązałem juz dawno, teraz tylko informuję o tym.. Problemem okazała się zła konfiguracja equalizer'a.
REKLAMA