eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaRadio internetowe DIY - dziwne zrywanie dźwiękuRe: Radio internetowe DIY - dziwne zrywanie dźwięku
  • 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ł?

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: