-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
e.net!feeder.erje.net!usenet.goja.nl.eu.org!aioe.org!IYrPA35arMPnxaTyf3akVw.use
r.46.165.242.75.POSTED!not-for-mail
From: adam13lat <a...@g...com>
Newsgroups: pl.misc.elektronika
Subject: Re: Radio internetowe DIY - dziwne zrywanie dźwięku
Date: Tue, 13 Sep 2022 15:03:15 +0200
Organization: Aioe.org NNTP Server
Message-ID: <tfpuua$dj5$1@gioia.aioe.org>
References: <63204193$0$544$65785112@news.neostrada.pl>
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="13925";
posting-host="IYrPA35arMPnxaTyf3akVw.user.gioia.aioe.org";
mail-complaints-to="a...@a...org";
X-Notice: Filtered by postfilter v. 0.9.2
Xref: news-archive.icm.edu.pl pl.misc.elektronika:774368
[ ukryj nagłówki ]Dnia Tue, 13 Sep 2022 10:38:43 +0200, Atlantis napisał(a):
> Korzystając z chwili wolnego wróciłem do jednego ze swoich starych
> projektów edukacyjnych - sprzętowego radia Internetowego. Projekt zaczął
> powstawać jakiś czas temu w wyniku frustracji faktem, że komercyjnie
> dostępne wieże stereo z funkcją "radia internetowego" często są zależne
> od zewnętrznego serwera. Postanowiłem więc złożyć coś podobnego, gdzie
> mógłbym po prostu sam ustawiać linki do streamów.
>
> Konfiguracja sprzętowa urządzenia wygląda następująco:
> - Mikrokontroler PIC32MX795F512 pracujący na taktowaniu 80 MHz
> - Łączność sieciową zapewnia wbudowany w MCU moduł MAC, z zewnętrznym
> PHY DP83848, mamy więc do dyspozycji Fast Ethernet.
> - Dekodowanie streamów bierze na siebie VS1053, chociaż pewnie sam
> mikrokontroler poradziłby sobie z tym programowo.
> - Dostępne nośniki pamięci to karta microSD (po SPI), pendrive oraz
> niewielki (bodajże 2MB) chip pamięci SPI Flash.
> - Wszystko zamontowane na dwustronnej płytce, wykonanej samodzielnie
> metodą termotransferu. To chyba najbardziej szczegółowa i skomplikowana
> płytka jaką wykonałem w domowych warunkach.
>
> Od strony programowej wykorzystuję raczej standardowe komponenty, m.in.
> bibliotekę TCP/IP MLA od Microchipa oraz FATFS. Znaleziony na GitHubie
> kod do obsługi VS1053 musiałem nieco rozbudować, tworząc maszynę stanów
> skończonych, odpowiedzialną za odtwarzanie pojedynczych plików, całych
> katalogów oraz streamów HTTP/ICY z sieci.
>
> Odtwarzanie funkcjonuje w ten sposób, że mam dwuczęściowy bufor (w tej
> chwili 2x8 kB). Gdy jednak połówka zasila danymi chip VS1053, druga jest
> wypełniana danymi odczytywanymi z pliku lub przychodzącymi z serwera.
> Gdy dane się skończą, następuje podmiana. Oczywiście do tego dochodzi
> jeszcze bufor odbiorczy gniazda sieciowego (4 kB).
>
> Kod odpowiedzialny za połączenie posiada pewne zabezpieczenia. Jeśli
> dane przestaną przychodzić zostanie wywołany timeout i połączenie z
> serwerem zostanie zamknięte i zainicjowane ponownie. To samo stanie się
> w przypadku wykrycia utraty połączenia.
>
> Wszystko to działa dość sprawnie. Tak naprawdę działało nawet na
> mniejszych buforach (2x4 kB). Jakość dźwięku jest dobra, przycięcia
> zdarzają się rzadko. Jednak już kilka razy zauważyłem dziwny objaw,
> który nieco mnie zaintrygował.
>
> Mianowicie pojawiła się sytuacja, kiedy dźwięk zaczął zrywać w sposób
> przypominający zaciętą płytę gramofonową. Zupełnie jakby nowe dane
> przestały przychodzić, albo przychodziły w zbyt wolnym tempie. Zazwyczaj
> występuje też wtedy zrywanie połączenia albo timeout spowodowany brakiem
> nowych danych. Do tej pory sytuacja wystąpiła kilka razy, zawsze po
> wielu godzinach pracy urządzenia, jednak mógł to być tylko przypadek.
> Co w tym takiego intrygującego?
> - Gdy sytuacja wystąpi, dotyczy wszystkich streamów, nadawanych z
> różnych serwerów
> - Reset płytki nie pomaga, nawet przez chwilowe odłączenie zasilania
> - W tym czasie zupełnie normalnie odtwarzane są pliki z nośników
> lokalnych, więc to nie problem ze sprzętowym dekoderem
> - Po chwili problem mija sam
> - Na komputerze podpiętym do tego samego routera i switcha nie
> doświadczam w tym momencie żadnych problemów z dostępem do Internetu
> - Podczas występowania problemu mogę pingować płytkę i odczytywać dane z
> prostego serwera HTTP, odpalonego na niej. Nie jest więc tak, że traci
> ona połączenie zupełnie. Zresztą kolejne połączenia z serwerami są
> inicjowane poprawnie (200 OK) ale zrywanie występuje nadal.
>
> Ktoś ma jakiś pomysł co może być nie tak? Fakt, że reset płytki nie
> pomaga wskazywałby na jakiś problem z moją infrastrukturą, chwilowo nie
> mam jednak pomysłów...
Czy ten projekt na PIC32MX795F512 jest ogólnodostępny? Czy też to Pana
autorski pomysł?
Następne wpisy z tego wątku
- 13.09.22 19:04 Mirek
- 14.09.22 10:38 Atlantis
- 14.09.22 10:58 Atlantis
- 14.09.22 11:09 ptoki (ptoki)
- 14.09.22 16:07 adam13lat
- 15.09.22 09:03 Atlantis
- 15.09.22 09:23 Marek
- 15.09.22 09:35 Atlantis
- 15.09.22 09:58 SW3
- 15.09.22 09:58 Arnold Ziffel
- 15.09.22 10:09 adam13lat
- 15.09.22 15:44 Atlantis
- 15.09.22 18:04 adam13lat
- 15.09.22 18:14 Marek
- 15.09.22 18:22 adam13lat
Najnowsze wątki z tej grupy
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=