eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikalwIP - odbieranie danych przez TCP › Re: lwIP - odbieranie danych przez TCP
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.man.poznan.pl!newsfeed.pionier.net
    .pl!news-1.dfn.de!news.dfn.de!2.eu.feeder.erje.net!feeder.erje.net!ecngs!feeder
    2.ecngs.de!178.20.174.213.MISMATCH!feeder1.feed.usenet.farm!feed.usenet.farm!pe
    er01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostr
    ada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostra
    da.pl.POSTED!not-for-mail
    Date: Sun, 2 Oct 2022 09:39:10 +0200
    MIME-Version: 1.0
    User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
    Thunderbird/102.3.0
    Subject: Re: lwIP - odbieranie danych przez TCP
    Newsgroups: pl.misc.elektronika
    References: <632f2939$0$455$65785112@news.neostrada.pl>
    Content-Language: en-US, pl
    From: Atlantis <m...@w...pl>
    In-Reply-To: <632f2939$0$455$65785112@news.neostrada.pl>
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Lines: 42
    Message-ID: <6339401f$0$448$65785112@news.neostrada.pl>
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 83.27.21.25
    X-Trace: 1664696351 unt-rea-a-02.news.neostrada.pl 448 83.27.21.25:60234
    X-Complaints-To: a...@n...neostrada.pl
    X-Received-Bytes: 3390
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:774628
    [ ukryj nagłówki ]

    Ok, dopisałem kilkanaście linijek kodu odpowiedzialnego za mierzenie
    ilości danych obieranych w serwera w ciągu sekundy. Po prostu sumuję
    każdą kolejną wartość p->tot_ten ze zmienną tymczasową, która co sekundę
    jest przepisywana do zmiennej trzymającej aktualną wartość pomiaru a
    potem zerowana.

    Przeprowadziłem dwa pomiary podczas odbierania streamu radiowej Jedynki.
    Pierwszy był przy zakomentowanych operacjach zapisy do pamięci SPI RAM.
    Wychodził transfer na poziomie 21-25 kB/s (czyli 168-200 kbps). Wartość
    zgodna z bitratem typowego strumienia audio.
    Natomiast po odkomentowaniu tych operacji wartość spada do 5-11 kB/s
    (40-88 kbps) co tłumaczy przerywany dźwięk.
    Nie wiem na ile to ma znaczenie, ale dodatkowo widać, że w obydwu
    przypadkach na początku transmisja jest nieco szybsza i po kilku
    sekundach stabilizuje się wokół niższej wartości.
    Generalnie można już wyciągnąć kilka wniosków:
    1. Można całkowicie odrzucić tezę, że winę za spowolnienia ponosi
    projekt płytki i gubienie pakietów z powodu błędów na warstwie
    sprzętowej (interfejs RMII). Gdyby tak było, to efekt byłby widoczny
    cały czas.
    2. Operacja zapisu do pamięci SPI RAM ma wpływ na szybkość transferu
    danych. Jednak nie jest to raczej prosta zależność na zasadzie pamięci
    mającej niewystarczającą szybkość. Jak już mówiłem - ten bufor
    całkowicie normalnie działa z lokalnymi nośnikami, poza tym przy
    prędkości taktowania 18 MHz powinno być możliwe przesyłanie danych ze
    znacznie większą prędkością niż tych kilka kB/s. Poza tym problemy
    występowały też w przypadku stosowania (dużo mniejszego) bufora w
    normalnej pamięci.

    Na chwilę obecną stawiałbym raczej na moją oryginalną tezę: w czasie gdy
    program jest zajęty zapisywaniem oryginalnego pakietu, Ethernet nie jest
    w stanie odebrać następnej porcji danych (bo kończy mu się jakiś
    bufor/okno odbiorcze) i dochodzi do retransmisji, która spowalnia realną
    prędkość przesyłu danych.

    I teraz mam kilka pytań co do tego, jak właściwie działa Ethernet w STM32:
    Samo pobieranie danych z sieci do bufora odbiorczego jest realizowane w
    tle przez sprzęt, czy też pętla główna programu musi regularnie
    wywoływać jakiś sterownik? To znaczy jeśli bufor odbiorczy jest
    dostatecznie duży, to dane będą nadal dochodziły nawet wtedy, jeśli
    pętla główna będzie zajęta czymś innym?

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: