-
Data: 2020-06-11 11:44:58
Temat: Działająca biblioteka C do VS1003?
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Próbuję właśnie uruchomić urządzenie posiadające sprzętowy dekoder MP3
VS1003. Urządzenie wykonałem w dwóch wariantach: z układem
PIC32MX795F512L oraz szesnastobitowym układem PIC24 (zacząłem od tego
drugiego, ale w międzyczasie postanowiłem przenieść projekt na układ 32
bitowy). Ma to znaczenie o tyle, że w obydwu wersjach kod zachowuje się
tak samo, czyli raczej można wykluczyć problem wynikający ze specyfiki
sprzętowej, np. pin zajęty przez jakieś układ peryferyjny.
Płytki zostały zaprojektowane w oparciu schematy z PDF-ów producenta. W
obydwu wersjach schemat jest identyczny, a ukłąd ścieżek prawie
identyczny. Przyglądałem się wielokrotnie i błędów w połączeniach nie
dostrzegam.
Od strony programowej próbowałem posłużyć się tym kodem z STM32
znalezionym na GitHubie, portując go na PIC24/PIC32.
https://github.com/digao6975/stm32-player/tree/maste
r/src
Dekoder częściowo działa. W pętli głównej czytam do bufora po kawałku
plik MP3, a potem wysyłam te dane do układu. Przed wysłaniem każdego
kolejnego bajtu czekam w pętli na ustawienie linii DREQ (tymczasowa
prowizorka, lepiej byłoby to zrobić na przerwaniach). Po dotarciu do
końca pliku zaczynam go czytać od nowa.
Dźwięk jest odtwarzany, ale najlepsze co uzyskałem to "ćwierkający"
efekt. Co ciekawe najlepsze efekty uzyskałem przy małym buforze na
fragmenty danych z pliku (zaledwie 16 bitów). Gdy ustawię więcej,
"ćwierkanie" staje się szybsze przechodzi w szum albo wręcz nastaje
cisza. Efekty nie są też w 100% powtarzalne, nie zawsze odtwarzanie chce
się rozpocząć.
Co najdziwniejsze, przy większych rozmiarach bufora program szybciej
dociera do końca pliku, jakby linia DREQ nic nie dawała - jej
konfigurację po stronie MPU sprawdzałem wiele razy i wszystko wydaje się
być ok.
W tej chwili skończyły mi się pomysły i jeśli nic innego nie przyjdzie
mi do głowy, przeportuję popularną bibliotekę z Arduino, napisaną w C++.
Nie chciałbym jednak wyważać otwartych drzwi, jeśli istnieje jakaś dobra
biblioteka w C, którą można łatwo przenosić między rodzinami
mikrokontrolerów, albo która ma wersję dla PIC32.
Następne wpisy z tego wątku
- 11.06.20 15:49 Marek
- 11.06.20 15:53 Marek
- 11.06.20 17:59 Atlantis
- 11.06.20 19:54 Atlantis
- 11.06.20 20:03 Marek
- 11.06.20 20:10 Marek
- 11.06.20 23:30 Atlantis
- 12.06.20 10:32 Atlantis
- 12.06.20 10:53 Marek
Najnowsze wątki z tej grupy
- "Teleportacja" polskich statków na pd. Bałtyku - rosyjska zabawa w zakłócanie GPS, Galileo, Beidou i GLONASS
- W trakcie porwania prez. Maduro wojsko USONA użyło tajnej broni masowego rażenia: Discombobulator
- antena gsm - kabel - antena gsm
- PID - jeszcze raz
- Zlacze w mikrofonie z lat 80-tych
- Żywica żółknie od UV i wody :(
- Zawory termostatyczne
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Ceny mieszkań stabilne a zdolność kredytowa rośnie. O ile nie masz dzieci