eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaPIC32MX795F512L + Harmony - Ethernet się wykrzacza › PIC32MX795F512L + Harmony - Ethernet się wykrzacza
  • Data: 2023-04-09 19:29:27
    Temat: PIC32MX795F512L + Harmony - Ethernet się wykrzacza
    Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Jakiś czas temu złożyłem sobie projekt radia internetowego/odtwarzacza
    MP3 z wykorzystaniem mikrokontrolera PIC32MX795F512L i układu Ethernet
    PHY DP83848. Firmware napisałem przy użyciu starych bibliotek MLA.
    Wszystko działało całkiem sprawnie.
    Później powstała nowsza wersja hardware'u, wykorzystująca znacznie
    mocniejszy PIC32MZ2048EFM100 i bibliotekę Harmony. Sprawdzała się ona
    znacznie lepiej - chociażby z uwagi na domyślne wykorzystanie RTOS-a.

    Ostatnio postanowiłem backportować nową wersję softu pod stary hardware.
    Z czystej ciekawości chciałem się przekonać jak dobrze starszy MCU
    będzie sobie radził z nowymi bibliotekami. Gdyby eksperyment się udał,
    to potencjalnie mógłbym wykorzystać w przyszłych projektach tych kilka
    scalaków leżących w szufladzie. ;)

    Oczywiście głównym problemem były mniejsze zasoby sprzętowe. O ile
    PIC32MZ2048EFM100 miał 2MB flasha i 512kB RAMu, to PIC32MX795F512L ma
    odpowiednio tylko 512kB i 128kB. Program się zmieścił, zajmując jakieś
    75% flasha. Zmniejszając rozmiar kilku statycznych buforów, manipulując
    rozmiarem sterty i rozmaitymi ustawieniami w konfiguracji udało mi się
    także (chyba) upchnąć wszystko w RAM-ie.

    Pierwsze wrażenie były jak najbardziej pozytywne. Oprogramowanie
    działało na starym sprzęcie zaskakująco dobrze. Powiedziałbym nawet, że
    lepiej niż na starych bibliotekach, co zapewne jest zasługą RTOS-a
    (różne procesy wykonują się równolegle i np. stos TCP/IP nie łapie
    przestoju, gdy inny proces utyka w jakiejś dłuższej pętli).

    Dzisiaj jednak kilkukrotnie zaobserwowałem dziwną awarię: komunikacja po
    sieci wykrzaczyła się zupełnie. Płytka przestała odpowiadać na pingi,
    nie mogłem się dostać do webUI, również kod kliencki na MCU przestał
    otrzymywać dane z internetu. W momencie wystąpienia awarii dioda ACT na
    gniazdku Ethernetowym zaczęła się świecić cały czas. Co więcej - parę
    razy awaria spowodowała wykrzaczenie się komunikacji po Ethernecie na
    wszystkich urządzeniach podpiętych do tego samego routera!
    Nie był to jednak całkowity zawias - ciągle mogłem wydawać polecenia w
    konsoli UART i otrzymywałem sensowne odpowiedzi.

    Raczej nie jest to wina sprzętu, bo na starym sofcie (biblioteki MLA)
    płytka była testowana miesiącami i zawsze działała stabilnie. Taki
    problem nigdy nie wystąpił. Odnoszę też wrażenie, że prawdopodobieństwo
    wystąpienia awarii jest silne skorelowane z ilością przesyłanych danych
    - problem występował zawsze podczas odtwarzania streamu audio z sieci
    (radio internetowe po HTTP). Chociaż ta hipoteza musi jeszcze zostać
    przetestowana, to na razie urządzenie działa odtwarzając lokalne pliki i
    problem jeszcze nie wystąpił.

    Ktoś ma jakąś hipotezę? Gdzie szukać potencjalnej przyczyny?

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: