Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Seznámení s ethernetem

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Wolfik



Založen: Jul 28, 2009
Příspěvky: 1090

PříspěvekZaslal: čt srpen 04 2016, 20:09    Předmět: Seznámení s ethernetem Citovat

V rámci projektu se potřebuju obecně seznámit s ethernetem. Ve výsledku bude použita gigabitová varianta s kombinací softcoru v fpgačku (UDP přenost dat), ale pro začátek si chci tuto technologii osahat s kombinací s ARMama od ST kvůli zkušenostem na 10/100 Mbit.

Mohli byste prosím doporučit s čím začít? Kolega mi doporučil kity s KSZ8091RNB, koukám, že docela letí obvody ENC28J60 atd. Jak zhruba se pak liší práce s ARMama, co mají už nějakou ethernet periferii vestavěnou?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
HiGhLaNdEr



Založen: Mar 08, 2005
Příspěvky: 912
Bydliště: Českobudějovicko

PříspěvekZaslal: čt srpen 04 2016, 21:35    Předmět: Citovat

Doporučuju prostudovat OSI model.

ENC28J60 je kompletní síťová karta která řeší i mac vrstvu.
KSZ8091RNB je jen konvertor MII na ethernet. Musí mít u sebe něco co řeší tu MAC vrstvu.
Pokud má jednočip integrovanou MAC vrstvu a má MII tak bude použit KSZ8091RNB, pak softwarově nad tím už musí být jen tcp/ip obsluha protokolu.

ENC28J60 se hodí k jednočipum který nemaji integrovanou MAC vstvu.
https://cs.wikipedia.org/wiki/ENC28J60
Chová se to jako síťová karta v PC. má to zběrnici pro setup a data a nohu pro vyvolání přerušení od prijatých dat. Aby to jednočip mohl zpracovat v obsluze protokolu TCP/IP.

V podstatě stejně se bude chovat intergrovaná MAC vrstva v nějakém pokročilejším jednočipu.

Ty softwarově nebudeš řešit jaký máš jednočip. Budeš používat hotovou obsluhu TCP/IP pro daný jednočip. Je potřeba nastudovat jak funguje TCP/IP protokol.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Wolfik



Založen: Jul 28, 2009
Příspěvky: 1090

PříspěvekZaslal: pá srpen 05 2016, 12:07    Předmět: Citovat

díky za rady

pro záčátek zkusím STM32F4DISCOVERY s rozšiřující deskou STM32F4DIS-BB. Samotný mcu by mělo mít nějakou MAC vrstvu v sobě a na rozšiřující desce je nějaký obdobný čip s převodem mii na ethernet.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Cowley



Založen: Feb 04, 2005
Příspěvky: 3291

PříspěvekZaslal: pá srpen 05 2016, 13:25    Předmět: Citovat

A co pouzit nejaky hotovy modul, treba od Lantronixu? X-port?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Cowley



Založen: Feb 04, 2005
Příspěvky: 3291

PříspěvekZaslal: pá srpen 05 2016, 19:36    Předmět: Citovat

Omlouvám se, že jsem nepochopil zadání Sad
Budu o to víc sledovat další příspěvky Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Wolfik



Založen: Jul 28, 2009
Příspěvky: 1090

PříspěvekZaslal: út srpen 23 2016, 7:15    Předmět: Citovat

Rozběhal jsem po několika dnech udp komunikaci a ještě s tím blbnu.

Zkoušel jsem orientačně změřit rychlost odesílání dat přes dobu provedení kódu (měřeno pomocí časovače plus dodatečné ověření přes togglovaní GPIO a měření časového intervalu přes logický analyzátor).

Mám něco takového (STM32F407VG@168MHz, Raw mode lwip):
500B užitečných dat na paket:
80Mbit/s - bez zpoždění
30Mbit/s - se zpožděním (80us)

200B užitečných dat na paket:
48Mbit/s - bez zpoždění
15Mbit/s - se zpožděním (80us)

Tedy mcu nic nedělá než odesílá bloky dat nebo ještě k tomu řeší krátké obsluhovací rutiny.
Mohli by ty hodnoty odpovídat reálu nebo jsem se někde hrubě sekl?
Na tyhle věci nemám ještě inženýrský odhad Very Happy
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Wolfik



Založen: Jul 28, 2009
Příspěvky: 1090

PříspěvekZaslal: út srpen 23 2016, 16:04    Předmět: Citovat

počítal jsem to bez hlaviček - vzal jsem délku dat v udp datagramu * 8 * počet odeslaných paketů / (doba trvání kódu * 1024^2 - převod na Mbit/s)

Wireshark hlásí u přijatých paketů bez dat IPV4 total length 28B, UDP část má délku 8B.

Zkoušel jsem ještě utilitku Jperf (echo tam a zpátky) a ta tvrdí při 200B/500B datech na paket maximálně 70 Mbit/s


Nevím jak to myslíš s tou obsluhou, ale používám zprovozněný lwip, který tyhle věci řeší za mě (aspoň myslím). Zachytil jsem wiresharkem protokoly ICMP, ARP od mcu kitu s korektní komunikací pokaždé, když změním mac adresu vrstvy
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Wolfik



Založen: Jul 28, 2009
Příspěvky: 1090

PříspěvekZaslal: út srpen 23 2016, 19:21    Předmět: Citovat

mohl bys mi prosím vysvětlit, jak si došel k tomu součtu 110 Mbit/s?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Wolfik



Založen: Jul 28, 2009
Příspěvky: 1090

PříspěvekZaslal: st srpen 24 2016, 7:36    Předmět: Citovat

jak jsem psal, tak jsem měřil dobu provádění úseku kódu, kde jsem posílal třeba 1000 paketů s tím, že payload byl určité délky (200B nebo 500B) naplněný nějakým balastem.

Takže např pro 500B payload, 10 000 paketů jsem změřil dobu provádění 1100ms.

Takže (500B × 8b × 10000paketů) ÷ (1,1s * 1024²) ≈ 34,7Mbit/s - rychlost přenosu užitečných dat

Proto jsem nechápal, kde jsi sebral těch 110Mbit/s, protože když k těm 500B přičtu 28/32B z hlaviček upd+ipv4, tak se požadavky na rychlost zvýšej o jednotky Mbit a ne o desítky...aspoň podle mě

Jak jsem psal, tak jsem zkoušel ještě utilitku Jperf, ale čistě jenom jako echo -tam a zpátky pro tisíce opakování...předtím to bylo, že přišla udp zpráva, co spustila pak valení tisíců paketů s udp datagramy.

Jperf mi pak házelo různý rychlosti pro různou délku dat, ale víc jak nad 70Mbit/s jsem se nedostal

Specifikace tvrdí, že do ethernetového rámce se dá cpát nějak těch 1500B payload...jelikož v cílové aplikaci bude na aplikační vrstvě jednoduchej protokol, tak si nemůžu dovolit jakoukoliv fragmentaci payload v ethernetovém rámci. Proto jsem zkoušel těch 200 nebo 500B na udp datagram. Stále do toho pomalu pronikám, tak nevím jestli tvrdím blbosti, protože se setkávám s názory (ať podložené zdrojem nebo ne), že v praxi lze posílat max 512B payloadu bez fragmentace, jinde zas, že to číslo je kolem 200B atd.

Teď se přesouvám na hw/sw army (čistý cpu nebo softcore mcu) na fpgačkách (to bude masakr Rolling Eyes ), protože bude třeba řešit přenos dat kolem 200-400 Mbit/s. Tam chci taky zprovoznit něco podobného.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Wolfik



Založen: Jul 28, 2009
Příspěvky: 1090

PříspěvekZaslal: st srpen 24 2016, 10:02    Předmět: Citovat

a když to bude připojeno přímo na PC?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rnbw



Založen: Mar 21, 2006
Příspěvky: 33907
Bydliště: Bratislava

PříspěvekZaslal: st srpen 24 2016, 10:16    Předmět: Citovat

A navyse UDP paket moze len tak zahodit, ked ho nestihne spracovat.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Wolfik



Založen: Jul 28, 2009
Příspěvky: 1090

PříspěvekZaslal: st srpen 24 2016, 11:16    Předmět: Citovat

omlouvám se...po ujasnění s kolegou jsem se dozvěděl, že aplikační protokol má část řešící pořadí zpráv. Pokud se něco ztratí, tak se to neřeší - jde o valení dat vybraný z AD převodníků, kde nemá cenu řešit nedoručené pakety.

Narážel jsem na problém fragmentace a až teprve vím, že z pohledu obsluhy se to neřeší-buďto se ztratí celý paket nebo část fragmentu.

Zkoušel jsem třeba echo na 1500-2000B a na některé pakety jsem dostával jak od serveru tak od mcu ICMP zprávy (Time-to-live exceeded, Fragment reassembly time exceeded).

Jak do toho pronikám, tak si říkám, jestli jsem neměl jít studovat IT Rolling Eyes
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.18 sekund