-
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?
Następne wpisy z tego wątku
- 09.04.23 20:09 J.F
- 10.04.23 00:11 Zenek Kapelinder
- 10.04.23 09:35 Atlantis
- 10.04.23 10:49 Zenek Kapelinder
- 10.04.23 11:11 Atlantis
- 10.04.23 11:38 J.F
- 10.04.23 11:42 J.F
- 10.04.23 13:27 Zenek Kapelinder
Najnowsze wątki z tej grupy
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
Najnowsze wątki
- 2025-07-16 deltaT w pompie ciepla
- 2025-07-16 dron na granicy polsko niemieckiej
- 2025-07-16 Warszawa => Senior IT Recruitment Consultant <=
- 2025-07-16 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-16 Gdańsk => Delphi Programmer <=
- 2025-07-16 Warszawa => BI Developer <=
- 2025-07-16 Gdańsk => Programista Delphi <=
- 2025-07-16 chroń PESEL dziecka
- 2025-07-16 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-16 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-07-16 Kraków => Kotlin Developer <=
- 2025-07-16 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-16 Tadeusz Rolke RIP
- 2025-07-14 Dwa dylematy
- 2025-07-14 Re: Dwa dylematy