-
1. Data: 2023-04-09 19:29:27
Temat: PIC32MX795F512L + Harmony - Ethernet się wykrzacza
Od: Atlantis <m...@w...pl>
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?
-
2. Data: 2023-04-09 20:09:43
Temat: Re: PIC32MX795F512L + Harmony - Ethernet się wykrzacza
Od: "J.F" <j...@p...onet.pl>
On Sun, 9 Apr 2023 19:29:27 +0200, Atlantis wrote:
> 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).
Pomysl pierwszy - brak pamieci. Mozesz tam jakąs czujke dodac, która
diode zapali czy na konsole napisze, jak zacznie brakowac?
Tylko tak mysle o tym blokowaniu ethernetu ... co by moglo tak zrobic?
Radyjko w petle wpadlo i wysyla pakiety za szybko?
Czy spowodowało ze za duzo danych zaczelo napływać?
A moze jakies felerne pakiety?
Wszystko to moze byc skutkiem braku pamieci ... ale może nowy software
nie jest calkiem kompatybilny ze starym hardwarem od Ethernetu?
A moze jakies erraty do pica cos wyjasnią?
J.
-
3. Data: 2023-04-10 00:11:41
Temat: Re: PIC32MX795F512L + Harmony - Ethernet się wykrzacza
Od: Zenek Kapelinder <4...@g...com>
niedziela, 9 kwietnia 2023 o 19:29:31 UTC+2 Atlantis napisał(a):
> 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?
Po co ci takie coś co nazwales radiem a nie napisałeś czy wydaje jakieś dźwięki poza
tym że ciągle w nim coś nie działa. Czy czasami ono nie jest z tej samej serii co
traktor co ma trzy koła dobre?
-
4. Data: 2023-04-10 09:35:54
Temat: Re: PIC32MX795F512L + Harmony - Ethernet się wykrzacza
Od: Atlantis <m...@w...pl>
On 10.04.2023 00:11, Zenek Kapelinder wrote:
> Po co ci takie coś co nazwales radiem a nie napisałeś czy wydaje
> jakieś dźwięki poza tym że ciągle w nim coś nie działa. Czy czasami
> ono nie jest z tej samej serii co traktor co ma trzy koła dobre?
Oczywiście, że wydaje dźwięki. Skąd pomysł, że mogłoby być inaczej?
Stream audio odbierany przez HTTP (albo odczytywany z pliku) jest
kierowany do bufora cyklicznego, skąd trafia do dekodera VS1003 i na
głośniki. :)
-
5. Data: 2023-04-10 10:49:27
Temat: Re: PIC32MX795F512L + Harmony - Ethernet się wykrzacza
Od: Zenek Kapelinder <4...@g...com>
poniedziałek, 10 kwietnia 2023 o 09:35:57 UTC+2 Atlantis napisał(a):
> On 10.04.2023 00:11, Zenek Kapelinder wrote:
>
> > Po co ci takie coś co nazwales radiem a nie napisałeś czy wydaje
> > jakieś dźwięki poza tym że ciągle w nim coś nie działa. Czy czasami
> > ono nie jest z tej samej serii co traktor co ma trzy koła dobre?
> Oczywiście, że wydaje dźwięki. Skąd pomysł, że mogłoby być inaczej?
> Stream audio odbierany przez HTTP (albo odczytywany z pliku) jest
> kierowany do bufora cyklicznego, skąd trafia do dekodera VS1003 i na
> głośniki. :)
Jak działa to czy po tym jak roztrajbujesz ferszluz żeby droselklapa mniej o może
wcale nie ryksztosowala będą w nim lepsze dla ciebie wiadomości? Albo muzyka
symfoniczna przesyłana do głośników kablami że zwykłej miedzi będzie brzmiała jak by
była przesyłana kablami z miedzi wytapianiej na międzynarodowej stacji kosmicznej?
-
6. Data: 2023-04-10 11:11:50
Temat: Re: PIC32MX795F512L + Harmony - Ethernet się wykrzacza
Od: Atlantis <m...@w...pl>
On 9.04.2023 20:09, J.F wrote:
> Pomysl pierwszy - brak pamieci. Mozesz tam jakąs czujke dodac, która
> diode zapali czy na konsole napisze, jak zacznie brakowac?
Wygląda na to, że namierzyłem przyczynę. Jeszcze nie na 100%, bo będę
musiał przeprowadzić dłuższe testy, jednak jak na razie urządzenie
działa od kilku godzin i problem nie wystąpił.
Po pierwsze potwierdziłem, że problem pojawiał się podczas odtwarzania
streamów z sieci. Prada w trybie "idle" albo odtwarzanie audio z
lokalnego nośnika nie powodowało jego wystąpienia.
Przyjrzałem się więc różnicom pomiędzy oryginalną wersją softu (z
PIC32MZ2048) a tą zmodyfikowaną pod PIC32MX795F512L. Jedną różnic było
ograniczenie rozmiaru bufora odbiorczego w gnieździe sieciowym z 4096 do
2048 bajtów. Po przywróceniu poprzedniego rozmiaru problem przestał
występować, a przynajmniej nie pojawił się w ciągu kilku godzin testów.
Jest to o tyle dziwne, że wartość domyślna wynosi 512 bajtów, jednak
przy niej stos nie radzi sobie z odbieraniem streamu audio w czasie
rzeczywistym i słychać wyraźne przycięcia.
Nie mam jednak pojęcia w jaki sposób za mały bufor może powodować taką
awarię - wykrzaczenie się całego stosu i zakłócenie działania innych
urządzeń na okolicznym Ethernecie.
-
7. Data: 2023-04-10 11:38:51
Temat: Re: PIC32MX795F512L + Harmony - Ethernet się wykrzacza
Od: "J.F" <j...@p...onet.pl>
On Mon, 10 Apr 2023 11:11:50 +0200, Atlantis wrote:
> On 9.04.2023 20:09, J.F wrote:
>> Pomysl pierwszy - brak pamieci. Mozesz tam jakąs czujke dodac, która
>> diode zapali czy na konsole napisze, jak zacznie brakowac?
>
> Wygląda na to, że namierzyłem przyczynę. Jeszcze nie na 100%, bo będę
> musiał przeprowadzić dłuższe testy, jednak jak na razie urządzenie
> działa od kilku godzin i problem nie wystąpił.
>
> Po pierwsze potwierdziłem, że problem pojawiał się podczas odtwarzania
> streamów z sieci. Prada w trybie "idle" albo odtwarzanie audio z
> lokalnego nośnika nie powodowało jego wystąpienia.
> Przyjrzałem się więc różnicom pomiędzy oryginalną wersją softu (z
> PIC32MZ2048) a tą zmodyfikowaną pod PIC32MX795F512L. Jedną różnic było
> ograniczenie rozmiaru bufora odbiorczego w gnieździe sieciowym z 4096 do
> 2048 bajtów. Po przywróceniu poprzedniego rozmiaru problem przestał
> występować, a przynajmniej nie pojawił się w ciągu kilku godzin testów.
>
> Jest to o tyle dziwne, że wartość domyślna wynosi 512 bajtów, jednak
> przy niej stos nie radzi sobie z odbieraniem streamu audio w czasie
> rzeczywistym i słychać wyraźne przycięcia.
A wiesz jak duze pakiety przychodzą?
Ethernet ma limit do 1.5kB, no ale nie musi byc wykorzystany w
calosci.
> Nie mam jednak pojęcia w jaki sposób za mały bufor może powodować taką
> awarię - wykrzaczenie się całego stosu i zakłócenie działania innych
> urządzeń na okolicznym Ethernecie.
Stos TCP/IP to łatwo podejrzewac - cos sie nie zmiescilo, cos
przepełniło, i różnie moze sie skonczyc. Aczkolwiek powinien byc przed
tym zabezpieczony. Trzeba by przesledzic wszystkie biblioteki,
co tam sie dzieje przy 2KB bufora.
Ale zakłócenie calej sieci jest bardzo ciekawe.
To jest bufor kołowy?
Bo moze przy 2kB jest przepelniany i zajezdza cos innego,
a przy 4KB nigdy nie był pelny ...
Ale przy kołowym nie powinno miec to znaczenia.
To ta?
https://github.com/Microchip-MPLAB-Harmony/net/blob/
master/release_notes.md
The following table provides the list of bug fixes in the 3.8.0
release:
SMTPC Increased the default socket buffer size to 2 KB
Cos tam sie działo złego przy małym buforze, ale 2KB powinny byc OK.
J.
-
8. Data: 2023-04-10 11:42:03
Temat: Re: PIC32MX795F512L + Harmony - Ethernet się wykrzacza
Od: "J.F" <j...@p...onet.pl>
On Mon, 10 Apr 2023 01:49:27 -0700 (PDT), Zenek Kapelinder wrote:
> poniedziałek, 10 kwietnia 2023 o 09:35:57 UTC+2 Atlantis napisał(a):
>> On 10.04.2023 00:11, Zenek Kapelinder wrote:
>>
>>> Po co ci takie coś co nazwales radiem a nie napisałeś czy wydaje
>>> jakieś dźwięki poza tym że ciągle w nim coś nie działa. Czy czasami
>>> ono nie jest z tej samej serii co traktor co ma trzy koła dobre?
>> Oczywiście, że wydaje dźwięki. Skąd pomysł, że mogłoby być inaczej?
>> Stream audio odbierany przez HTTP (albo odczytywany z pliku) jest
>> kierowany do bufora cyklicznego, skąd trafia do dekodera VS1003 i na
>> głośniki. :)
> Jak działa to czy po tym jak roztrajbujesz ferszluz żeby droselklapa mniej o może
wcale nie ryksztosowala będą w nim lepsze dla ciebie wiadomości? Albo muzyka
symfoniczna przesyłana do głośników kablami że zwykłej miedzi będzie brzmiała jak by
była przesyłana kablami z miedzi wytapianiej na międzynarodowej stacji kosmicznej?
Chcial miec chłop wlasny "odbiornik internetowy", to ma, nie jest juz
skazany na sklepowe ... ktore nie wiadomo kiedy przestana dzialac.
J.
-
9. Data: 2023-04-10 13:27:44
Temat: Re: PIC32MX795F512L + Harmony - Ethernet się wykrzacza
Od: Zenek Kapelinder <4...@g...com>
poniedziałek, 10 kwietnia 2023 o 11:42:04 UTC+2 J.F napisał(a):
> On Mon, 10 Apr 2023 01:49:27 -0700 (PDT), Zenek Kapelinder wrote:
> > poniedziałek, 10 kwietnia 2023 o 09:35:57 UTC+2 Atlantis napisał(a):
> >> On 10.04.2023 00:11, Zenek Kapelinder wrote:
> >>
> >>> Po co ci takie coś co nazwales radiem a nie napisałeś czy wydaje
> >>> jakieś dźwięki poza tym że ciągle w nim coś nie działa. Czy czasami
> >>> ono nie jest z tej samej serii co traktor co ma trzy koła dobre?
> >> Oczywiście, że wydaje dźwięki. Skąd pomysł, że mogłoby być inaczej?
> >> Stream audio odbierany przez HTTP (albo odczytywany z pliku) jest
> >> kierowany do bufora cyklicznego, skąd trafia do dekodera VS1003 i na
> >> głośniki. :)
> > Jak działa to czy po tym jak roztrajbujesz ferszluz żeby droselklapa mniej o może
wcale nie ryksztosowala będą w nim lepsze dla ciebie wiadomości? Albo muzyka
symfoniczna przesyłana do głośników kablami że zwykłej miedzi będzie brzmiała jak by
była przesyłana kablami z miedzi wytapianiej na międzynarodowej stacji kosmicznej?
> Chcial miec chłop wlasny "odbiornik internetowy", to ma, nie jest juz
> skazany na sklepowe ... ktore nie wiadomo kiedy przestana dzialac.
>
> J.
Jak do mnie piszesz to przedtem jakieś tabletki na dysleksję bierzesz? Wiesz że z
tobą nie gadam to po chuj się wpierdalasz? Uznaj że miły byłem.