-
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?
Następne wpisy z tego wątku
- 02.10.22 15:05 Marek
- 02.10.22 15:11 Marek
- 02.10.22 21:06 Atlantis
- 02.10.22 21:41 Mateusz Viste
- 04.10.22 09:04 Atlantis
- 05.10.22 17:23 Atlantis
- 05.10.22 18:37 a...@m...uni.wroc.pl
- 06.10.22 09:47 Atlantis
- 06.10.22 17:18 J.F
- 07.10.22 20:40 Atlantis
- 09.10.22 08:25 Marek
- 09.10.22 10:19 Atlantis
- 09.10.22 14:45 Marek
- 10.10.22 10:36 J.F
Najnowsze wątki z tej grupy
- Akumulatory VRLA
- ładowarka zmarła
- Podstawa bezpiecznikowa jako rozłącznik DC
- Napięcie akumulatora wyłączające UPS / jakie nowe akumulatory do UPS?
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- Głośnik piezoelektryczny
- Mala autonomiczna kamera monitoringu
- czas na emeryturę i EB
- Generowanie sumy kontrolnej z fragmentu pliku bin
- Re: Mala autonomiczna kamera monitoringu
- HDMI
- Re: Mala autonomiczna kamera monitoringu
- Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
Najnowsze wątki
- 2024-07-02 Realme 7 Na co zmienić?
- 2024-06-27 Prywatny parking? Pierwsze 10 minut bezplatnie
- 2024-07-02 znalazłem samochód ;)
- 2024-07-02 Pierwszeństwo łamane
- 2024-07-02 zamek
- 2024-07-02 Akumulatory VRLA
- 2024-07-03 Białystok => Inżynier DevOps Conexa First (Kontraktor) <=
- 2024-07-03 MĂźnchen => Test Development Engineer (m/w/d) <=
- 2024-07-03 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-07-03 Warszawa => Programista Full Stack (.Net Core) <=
- 2024-07-02 Kraków => Spedytor międzynarodowy <=
- 2024-07-02 Poznań => Senior React Native Developer <=
- 2024-07-02 Rzeszów => Frontend Developer (React) <=
- 2024-07-02 Warszawa => Fullastack (Java) Developer <=
- 2024-07-02 reparacje