ARM Cortex magú mikrovezérlők

Hasonló dokumentumok
Nagyteljesítményű mikrovezérlők

Nagyteljesítményű mikrovezérlők TCP/IP

ARM Cortex magú mikrovezérlők. mbed

ARM Cortex magú mikrovezérlők

Tartalom. Hálózati kapcsolatok felépítése és tesztelése. Rétegek használata az adatok továbbításának leírására. OSI modell. Az OSI modell rétegei

Számítógép hálózatok gyakorlat

Számítógép hálózatok

Tűzfalak működése és összehasonlításuk

Hálózatok Rétegei. Számítógépes Hálózatok és Internet Eszközök. TCP/IP-Rétegmodell. Az Internet rétegei - TCP/IP-rétegek

SzIP kompatibilis sávszélesség mérések

Dr. Wührl Tibor Ph.D. MsC 04 Ea. IP kapcsolás hálózati réteg

Számítógépes Hálózatok 2011

Hálózati architektúrák és Protokollok GI 8. Kocsis Gergely

Hálózati réteg, Internet

Programozható vezérlő rendszerek KOMMUNIKÁCIÓS HÁLÓZATOK 2.

A TCP/IP modell hálózati rétege (Network Layer) Protokoll-készlet: a csomagok továbbítása. Legjobb szándékú kézbesítés

Az Ethernet példája. Számítógépes Hálózatok Az Ethernet fizikai rétege. Ethernet Vezetékek

Hálózati architektúrák laborgyakorlat

Hálózati ismeretek. Az együttműködés szükségessége:

Az IP hálózati protokoll

Az adott eszköz IP címét viszont az adott hálózat üzemeltetői határozzákmeg.

Hálózati architektúrák és Protokollok GI 7. Kocsis Gergely

Kiszolgálók üzemeltetése. Iványi Péter

Tartalom. Az adatkapcsolati réteg, Ethernet, ARP. Fogalma és feladatai. Adatkapcsolati réteg. Ethernet

Internet Protokoll 6-os verzió. Varga Tamás

Számítógép-hálózatok. Gyakorló feladatok a 2. ZH témakörének egyes részeihez

SEGÉDLET. A TTMER102 - FPGA-alapú hálózati eszközfejlesztés című méréshez

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Silabs STK3700, Simplicity Studio laborgyakorlat

A TCP/IP számos adatkapcsolati réteggel együtt tud működni:

Adatkapcsolati réteg. A TCP/IP számos adatkapcsolati réteggel együtt tud működni: Ethernet, token ring, FDDI, RS-232 soros vonal, stb.

Autóipari beágyazott rendszerek. Local Interconnection Network

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

ARM processzorok felépítése

Operációs rendszerek. UNIX fájlrendszer

Lokális hálózatok. A lokális hálózat felépítése. Logikai felépítés

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

ARM Cortex magú mikrovezérlők

A TOSHIBA ÚJ SZILÁRDTEST-MEGHAJTÓJA A RUGALMAS VÁLLALATI TÁROLÁSI MEGOLDÁSOKAT SZOLGÁLJA

Hálózati architektúrák és Protokollok PTI 5. Kocsis Gergely

Gyakorló feladatok a 2. ZH témakörének egyes részeihez. Számítógép-hálózatok. Dr. Lencse Gábor

Autóipari beágyazott rendszerek CAN hardver

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Ethernet/IP címzés - gyakorlat

Adatátviteli rendszerek Mobil IP. Dr. habil Wührl Tibor Óbudai Egyetem, KVK Híradástechnika Intézet

Tartalom. Az adatkapcsolati réteg, Ethernet, ARP. Fogalma és feladatai. Adatkapcsolati réteg. A hálókártya képe

1 Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13

Kommunikáció. 3. előadás

Két típusú összeköttetés PVC Permanent Virtual Circuits Szolgáltató hozza létre Operátor manuálisan hozza létre a végpontok között (PVI,PCI)

Multiprotocol encapsulation (RFC1483) - IETF Classical IP over ATM (RFC1577) - IETF LAN Emulation (LANE) - ATM Forum Multiprotocol over ATM (MPOA) -

Operációs rendszerek. Elvárások az NTFS-sel szemben

A TOSHIBA BEMUTATJA FEJLETT TITKOSÍTÓ ÉS TITKOSÍTÁSI TÖRLÉS FUNKCIÓJÁT AZ ÚJ VÁLLALAT SSD- ÉS HODOZHATÓ HDD-MODELLEKHEZ

Kommunikáció Androidon Mobilinternet Wifi

Internet Control Message Protocol (ICMP) Az Internet hiba- és vezérlı üzenet továbbító protokollja. Készítette: Schubert Tamás (BMF) Tartalom

Általános rendszergazda Általános rendszergazda

TI TMDSEVM6472 rövid bemutatása

A PET-adatgy informatikai háttereh. Nagy Ferenc Elektronikai osztály, ATOMKI

Hálózatkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Hálózatkezelés / 20

Érzékelők és beavatkozók I.

Modbus kommunikáció légkondícionálókhoz

Számítógép felépítése

IPv6 Biztonság: Ipv6 tűzfalak tesztelése és vizsgálata

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

Hálózati architektúrák laborgyakorlat

IP alapú komunikáció. 2. Előadás - Switchek 2 Kovács Ákos

IV. - Hálózati réteg. Az IP hálózati protokoll

Számítógépes hálózatok: LAN, MAN, WAN

20. Tétel 1.0 Internet felépítése, OSI modell, TCP/IP modell szintjenek bemutatása, protokollok Pozsonyi ; Szemenyei

DWL-G520 AirPlus Xtreme G 2,4GHz Vezeték nélküli PCI Adapter

1. LABORGYAKORLAT 2011 TAVASZI FÉLÉV ÓBUDAI EGYETEM PRÉM DÁNIEL. Hálózati protokollok. Számítógép hálózatok gyakorlata

Járműinformatika Multimédiás buszrendszerek (MOST, D2B és Bluetooth) 4. Óra

Nagyteljesítményű mikrovezérlők

Beállítások 1. Töltse be a Planet_NET.pkt állományt a szimulációs programba! A teszthálózat már tartalmazza a vállalat

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes.

2014 UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Kommunikációs rendszerek programozása. Switch-ek

MULTIMÉDIA TOVÁBBÍTÁSA AZ IP FELETT

1/9. Sunell IP kamerák webes felületének használati útmutatója. Élő kép (Live Video)

Operációs rendszerek. A Windows NT file-rendszere (NTFS) NTFS: Windows NT File System

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

I 2 C, SPI, I 2 S, USB, PWM, UART, IrDA

WAGO PLC-vel vezérelt hő- és füstelvezetés

Hálózati architektúrák és Protokollok Levelező II. Kocsis Gergely

ARM Cortex magú mikrovezérlők

Programozás alapjai. 10. előadás

A merevlemez állapota hibátlan. Nem található hibás vagy gyenge szektor, nincsenek felpörgési és adatátviteli hibák sem.

Hálózati architektúrák laborgyakorlat

DATA (variable) 32 bits (4 Bytes) IP fejléc hossza általában 20 bájt. Type of Service. Total Length. Source Address. Destination address

DATA (variable) D = Delay, késleltetés T = Throughput, átviteli sebesség R = Reliability, megbízhatóság. 32 bits (4 Bytes)

Transzport Réteg. Transzport réteg protokollok

Fábián Zoltán Hálózatok elmélet

Rétegezett architektúra HTTP. A hálózatfejlesztés motorját a hálózati alkalmazások képezik. TCP/IP protokoll készlet

Hálózati architektúrák és Protokollok GI - 9. Kocsis Gergely

Hálózati Technológiák és Alkalmazások. Vida Rolland, BME TMIT november 5. HSNLab SINCE 1992

API tervezése mobil környezetbe. gyakorlat

Infokommunikáció. Forgalmi tervezés, VoIP. - Varga Pál, BME TMIT -

Útmutató a Computer Setup (F10) segédprogram használatához dx2300 minitorony

III. Felzárkóztató mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

Magyar Gyors felhasználói útmutató A GW-7100PCI driver telepítése Windows 98, ME, 2000 és XP operációs rendszerek alatt

ARM Cortex magú mikrovezérlők

Átírás:

ARM Cortex magú mikrovezérlők 10. Alkalmazás támogatások Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2017

A firmware library-n túli támogatások Alkalmazás RTOS File kezelés TCP/IP stack Firmware library CMSIS -Core STK 3700 Hardware BME-MIT 2017 2.

SD kártyák és FAT file rendszerek BME-MIT 2017 3.

SD kártyák megjelenése 1999-ben egyezett meg a SanDisk, Matsushita és Toshiba, hogy létrehozza a 24 mm 32 mm 2.1 mm méretű SD (Secure Digital) Memory Card-ot. o A kártyák 2000 óta elérhetőek a piacon A Standard SD kártyáknak max 2 GB-os kapacitása van. o Ezt bővítik ki az SDHC (high-capacity) kártyák 4GB feletti méretekre o A 2009-es új SDXC (extended Capacity) szabvány már 2 TerraB kapacitást is megenged. Az egyes szabvány interfészek között vannak különbségek (a fizikai méretek aznososak), amik gondot okozhatnak. BME-MIT 2017 4.

SD kártya típusok SD card 32mm x 24mm MiniSD card 21,5mm x 20mm MicroSD card 15mm x 11mm BME-MIT 2017 5.

SD kártya sebességek Az SD kártyák sebességei: o Az SD Association által specifikált minimális sebesség 8Mbit/sec A jelenleg forgalomba tévő kártyák o Class 2: 16 MBit/s (2 MByte/s), 13x o Class 4: 32 MBit/s (4 MByte/s), 26x o Class 6: 48 MBit/s (6 MByte/s), 40x o Class 8: 64 MBit/s (8 MByte/s), 52x o Class 10: 80MBit/s (10 Mbyte/s), 60x A sebességet sokszor "X" rating-ben adják meg, ami a standard CD-ROM 1.2Mbit/s-es sebességéhez viszonyit. BME-MIT 2017 6.

SD belső felépítése Az SD kártyák normál esetben hasonlóan a HDD-khez Sector- Block felosztásuak. o A block: hány byte írható, olvasható egyszerre a blokkos adatátvitelnél. A tipikus block méret 512byte szokott lenni. o A sector pedig azt jelenti, hogy hány blokk törölhető egyszerre. Ezek a paraméterek kiolvashatóak az adott kártya információs regiszteréből. A legtöbb kártya a normál data area-n kívül még rendelkezik protected area-val is a bizalmas adatok számára. BME-MIT 2017 7.

SD kártya alapregiszterek OCR (Operation Condition Register): a kártya működési feszültség tartományát adja meg (tipuksan 2.7V-3.6V) CID (Card Identification Regiszter): 16byte-os egyedi azonosító, ami a Manufacturer, OEM/Application, Product Name, Product Revision, Serial Number, Manufacture Date Code, CRC7 checksum. Card Specific Data (CSD): Ez az adatregiszter tartalmaz minden a kártya kezelésével kapcsolatos felhasználói információkat: o data read access-time (pl.: 1ms) o max. data transfer rate (pl.: 25MHz) o max. read data block length (512byte) o max. write data block length (512byte) o partial blocks for read allowed (Yes) o device size o max. read current o erase single block enable o erase sector size (pl.: 32 blocks) o write speed factor (pl.: X16) SRC (SD CARD Configuration register): Ez a regiszter tartalmazza az adott SD kártyára jellemző speciális információkat (általában seccurity supporthoz tartozó dolgok). RCA register: Címregiszter a kártya azonosítására BME-MIT 2017 8.

SD kártyák kezelése Kommunikációs módok o One-bit SD mode: Különálló parancs és adat csatorna. o Four-bit SD mode: Extra adatlábak. o SPI mode: Egyszerűsített kommunikációs elsősorban mikrovezérlők részére. Az összes kártyának támogatnia kell ezeket a módokat kivéve a microsd-t ahol az SPI mód opcionális. Az SD kártyák normál esetben hasonlóan a HDD-khez Sector-Block felosztásuak. o A block: hány byte írható, olvasható egyszerre a blokkos adatátvitelnél. A tipikus block méret 512byte szokott lenni. o A sector pedig azt jelenti, hogy hány blokk törölhető egyszerre. Ezek a paraméterek kiolvashatóak az adott kártya információs regiszteréből. A legtöbb kártya a normál data area-n kívül még rendelkezik protected area-val is a bizalmas adatok számára. BME-MIT 2017 9.

SD kártya interfészek A vezetékek funkciója függ a felhasznált interfész módjától Kommunikációs módok oone-bit SD mode: Különálló parancs és adat csatorna. ofour-bit SD mode: Extra adatlábak. ospi mode: Egyszerűsített kommunikációs elsősorban mikrovezérlők részére. BME-MIT 2017 10.

SPI mód Legegyszerűbb átvitel o Egyszerűbb mikrovezérlőkre jellemző o Korlátozott sebesség 1bit adat o STM32 SPI SCK frekvencia max. 18MHz BME-MIT 2017 11.

SPI kommunikációs frame Az SPI kommunikációs frame 6 byte-ból áll. A CRC bekapcsolható és kikapcsolható. BME-MIT 2017 12.

SPI kommunikációs parancsok A parancsok a parancs kód +0x40 értékkel küldődnek el az SPI buszon. Alap parancsok: Identifikációs parancsok: Adatátvitel leállítás és státusz parancsok: BME-MIT 2017 13.

SPI kommunikációs parancsok A parancsok a parancs kód +0x40 értékkel küldődnek el az SPI buszon. Olvasó parancsok Író parancsok BME-MIT 2017 14.

SPI kommunikációs parancsok A parancsok a parancs kód +0x40 értékkel küldődnek el az SPI buszon. Törlést kijelölő parancsok Törlő parancsok BME-MIT 2017 15.

SPI kommunikációs parancsok A parancsok a parancs kód +0x40 értékkel küldődnek el az SPI buszon. Speciális parancsok BME-MIT 2017 16.

SPI mód inicializáció Az SD kártyák alapvetően SD módban indulnak el o először is SPI módba kell azokat rakni o Reszet parancs alatt a CS lábat le kell húzni. o Bár az SPI módban a CRC védelem ki van kapcsolva, az első reszet parancsnál még SD módban van a kártya tehát érvényes CRC mezőt kell átküldeni (mivel a parancsnak nincs aktívan változó paramétere, ezért az egész reszet parancs kezelhető egy byte-sorozatnak 0x40, 0x0, 0x0, 0x0, 0x0, 0x95). o Ennél a parancsnál az SPI frekvencia nem haladhatja meg a 400kHz-et. BME-MIT 2017 17.

Olvasás SPI módban Az SPI mód egy blokk (CMD17) és több blokk (CMD18) egyszerre való olvasását is támogatja. A Data packetben lévő CRC-t mindenképpen ki kell olvasni, akkor is ha nem használjuk. Több blokk esetében a Stop transmission paranccsal (CMD12) le lehet állítani az adatátvitelt. BME-MIT 2017 18.

Írás SPI módban Az SPI blokk támogatja az egy és a több blokkos írást is (CMD24, CMD25). Mindegyik blokk írás egy egy byte-os Start Block tokennel indul. Az adat megérkezése után az SD kártya küld egy data_response tokent, majd amíg az adatokat ténylegesen kiírja a Flash memóriába folyamatosan busy tokent küld a buszra (lent tartja DataOut lábát). Az írás véget érését vagy ennek a busy jelenek a figyelésével, vagy a státusz információ kiolvasásával (CMD13) tudja a hosszt megállapítani. BME-MIT 2017 19.

SD mód Csak akkor ha a hardware támogatja o Külön CMD vezeték: kétirányú timeout alapú állapotgép o Data: 4 biten SD kártyára először a felső 4 bit utána az alsó o Nagy sebességű órajel pl. STM32F429 max. 20MHz BME-MIT 2017 20.

SD mód parancs kommunikáció BME-MIT 2017 21.

SD mód blokk olvasás és blokk írás BME-MIT 2017 22.

FAT file rendszer A FAT első verziója a FAT12-t (32 Mbyte) 1980-ban fejlesztették ki floppy lemezek számára. A következő verzió a FAT16-volt (2 Gbyte), ami 1987-ben látott napvilágot. Az utolsó a FAT32-volt, ami 1996-ban jelent meg (2 Tbyte), a Windows-on a SCANDISK alkalmazás 16 bites szektor számlálója miatt volt egy kb. 130 Gbyte-os határ. BME-MIT 2017 23.

FAT file rendszer felépítése Boot Sector: (Particion Boot Record): o általában az operációs rendszer bootload-erjét tartalmazza. o A lefoglalt terület mérete a Boot sector egy mezője által azonosítódik. o Nem mindig a boot sector az első szektor a disk-en. o Particionált egységeknél az első szektor a master boot record, nem particionált egységeknél a Volume boot record. o Az első 36 byte struktúrája minden FAT file rendszer esetében azonos Ez tartalmaz egy jump vetort ha innen indulunk az itt található címre ugrik a programvégrehajtás. Tartalmazza még az OEM nevét (mire formázták) a szektoronkénti byte-ok számát (ált 512), a clusterenkénti sector-ok számát (2 1-128-ig terjedő hatványa, max 32k byte/ cluster), valamint az összes sector számát. BME-MIT 2017 24.

FAT file rendszer felépítése FS Information sector (csak FAT32): A FAT32-ben mutatták be elsősorban a szabad terület gyors nyilvántartására. FAT (File Allocation Table): A particiók egyenlő méretű clusterekre vannak bonva, a cluster méret függhet az alkalmazott FAT file rendszertől és a partíció méretétől. Általában a 2k és a 32k közötti méreteket preferálják. Minden file méretétől függően egy, vagy több ilyen clustert foglal el. Egy file a clusterek láncolt listájával megadható, bár sokszor még az egy file hoz tartozó clusterek se mindig egymás mellett találhatóak: fragmentálódik a file. BME-MIT 2017 25.

FAT tábla A FAT egy leíró lista, amely egy térképet ad a partícióban található clusterek-hez a FAT16 esetében 16 bit, a FAT32 esetében a leíró tábla minden egyes sector-hoz 32bitet tartalmaz (a FAT tábla mérete függ a sectorok számától). A leíró lista az alábbi bejegyzéseket tartalmazhatja: o A következő cluster száma o Speciális end of clusterchain (EOC) jelzés a lánc végén, a file utolsó clustere. o Speciális a bad cluster jelzés o Speciális jelzés a reserved cluster számára o A 0 ha a cluster nem használt. BME-MIT 2017 26.

Directory tábla A directory table egy speciális file. Minden directory, vagy file, ami benne van egy 32byte-os blokkal azonosítódik. Mindegyik blokk tartalmazza a következőket: o Nevet o Kiterjesztést o A file tulajdonságát: read only hidden stb o A létrehozás idejét. o Az utolsó hozzáférés idejét o A file, vagy directory első clusterének címét o A file méretét byte-okban. A FAT16 és a FAT12 esetében van egy kitüntettet root directory rész, míg a FAT32 estében minden directory a DATA részben tárolódik. A hosszú file nevek egy trükkel plusz bejegyzésként adódnak hozzá minden egyes file bejegyzés elején. BME-MIT 2017 27.

Chan FatFS Kifejezetten beágyazott rendszerekhez létrehozott FAT filerendszer: ANSI C-ben íródott Platform független FAT sub-types: FAT12, FAT16 and FAT32. Nyitott file-ok száma: Nem limitált a rendelkezésre álló memóriától függ File méret: A FAT specifikációtól függően 4G-1 bytes. Cluster méret: 64kbytes, vagy 32kbytes. Sector méret: FAT specifikáció függő (max. 4K bytes). BME-MIT 2017 28.

Chan FatFS felépítés BME-MIT 2017 29.

Chan FatFS portolás disk_initialize Disk drive inicializáció disk_status Disk drive státusz lekérdezés disk_read Sector olvasás disk_write - Sector írás disk_ioctl Disk specifikus tulajdonságok get_fattime Rendszer idő (naptári óra) lekérdezés BME-MIT 2017 30.

Chan FatFS felhasználói interfész f_mount - Register/Unregister a Work Area f_open - Open/Create a File f_close - Close a File f_read - Read File f_write - Write File f_lseek - Move R/W Pointer, Expand File Size f_truncate - Truncate File Size f_sync - Flush Cached Data f_opendir - Open a Directory f_readdir - Read a Directory Item f_getfree - Get Free Clusters f_stat - Get File Status BME-MIT 2017 31.

Chan FatFS felhasználói interfész f_mkdir - Create a Directory f_unlink - Remove a File or Directory f_chmod - Change Attribute f_utime - Change Timestamp f_rename - Rename/Move a File or Directory f_mkfs - Create a File System on the Drive f_forward - Forward file data to the stream directly f_chdir - Change current directory f_chdrive - Change current drive f_gets - Read a string f_putc - Write a character f_puts - Write a string f_printf - Write a formatted string BME-MIT 2017 32.

Chan FatFS méret D: a kötetek száma F: nyitott file-ok száma BME-MIT 2017 33.

TCP/IP protocol stack BME-MIT 2017 34.

Alap beágyazott szoftver architektúrák I. Szükséges TCP/IP protokollok BME-MIT 2017 35.

Keretezés a hálózaton BME-MIT 2017 36.

Ethernet Típuskód: TCP/IP, DECnet BME-MIT 2017 37.

IP (Internet Protocol) Csomagokat továbbít, darabol és összerak Megbízhatatlan kapcsolatmentes datagramm szolgáltatást nyújt. Nincs garancia a sikeres célba érésre Ha bármilyen hiba lép fel: eldobja a datagrammot A datagrammok sorrendje megváltozhat BME-MIT 2017 38.

IPv4 (Internet Protocol v4) BME-MIT 2017 39.

Kérdések az IP protokoll megvalósítással Option küldés szemben o Statisztikai jellegű feladatok: Milyen csomópontokon keresztül jutott el a csomag a célhoz o Kis méretű protokollstack-ek nem tudják kezelni Fragmentáció o Elméletileg mindenkinek tudnia kell o Gyakorlatilag ritkán használt és sok memória kell hozzá 576byte-os csomag fogadása o Elméletileg kötelező gyakorlatilag nem biztos, hogy működik BME-MIT 2017 40.

ARP (Address Resolution Protocol) IP üzenetek küldéséhez ismerni kell a célállomás IP címét és a fizikai Ethernet címét is Az ARP segítségével az IP cím használatával meg lehet határozni a cél fizikai (Ethernet) címét Az ARP Ethernet broadcast-ot használ A feloldott Ethernet IP cím párosokat egy helyi tárban tárolja az ARP BME-MIT 2017 41.

Hardware Type: o Ethernet: 1 Protocol Type: o Ethernet: 0x0800 HLEN, PLEN o Címek hossza byteokban Operation code o Request o Reply Az ARP fejléc BME-MIT 2017 42.

ICMP (Internet Control Message Protocol) Echo, and Echo Reply Destination unreachable Traceroute TTL exceeded BME-MIT 2017 43.

ICMP megvalósítási kérdések Echo küldés, válasz o Mindig implementált Destination Unreachable : o Ezeket már nem mindig szokták implementálni BME-MIT 2017 44.

UDP (User Datagram protocol) Megbízhatatlan üzenettovábbítás Nem kapcsolat alapú Üzenet szórásra alkalmas Rendkívül kis erőforrás igényű BME-MIT 2017 45.

UDP (User Datagram protocol) Checksum mező o Opcionális a használata, nem mindig töltik ki. Ethernet kereten úgyis van CRC ellenörzés BME-MIT 2017 46.

TCP (Transmission Control Protocol) Kapcsolat alapú megbízható adatátvitel Nem alkalmazható üzenetszórásra Az adatfolyamot részekre bontja o Jelentős helyi tárkapacitást igényel a szegmensek összerakásához BME-MIT 2017 47.

TCP (Transmission Control Protocol) BME-MIT 2017 48.

TCP (Transmission Control Protocol) BME-MIT 2017 49.

Web szerver alapú vezérlés TCP alapú, tehát nagy erőforrás HTML lapok nem túl erőforrás takarékosok HTML lapok tárolási módja o Flash, be statikusan o Dinamikusan valahol Web browserben elküldött o Post, get parancsokra reagállás BME-MIT 2017 50.

FTP alapú megoldás Viszonylag erőforrás igényes, TCP alapú Szenzor kezelés nem túl hatékony Nehezen konfigurálható Nagy mennyiségű adat átvitelére alkalmas BME-MIT 2017 51.

SNMP Erőforrás takarékos, UDP Jól használható sensor kezelésre, konfigurációra MIB-ek kezelése közepesen bonyolult Az ID-k kezelése nagyon szószátyár Nem hatékony nagymennyiségű információ átvitelére BME-MIT 2017 52.

SNMP MIB struktúra ROOT ISO(1) Standard(0) Ident-org(3) DOD(6) internet(1) Experiental(3) Private(4) Cégnév(sorszám) Enterprise(1) Hőmérő(2) Hőmérséklet(1) Riasztási Hőmérséklet(2) BME-MIT 2017 53.

TFTP Erőforrás takarékos, UDP Igen primitív Bootolás-ra szokták használni BME-MIT 2017 54.

Első generációs megoldások 1995-2000 ISA kártya + 8 bites kontroller BME-MIT 2017 55.

Második generáció megoldások 2002-2005 8 bites kontroller + Ethernet kontroller o Ethernet kontroller belső RAM-jának használata BME-MIT 2017 56.

Megvalósítások, Microchip AN833 BME-MIT 2017 57.

Microchip AN833, ütemezése BME-MIT 2017 58.

Microchip, AN833 erőforrás használata BME-MIT 2017 59.

Harmadik generáció megoldások 2005+ Különálló TCP/IP chip o SPI: Microchip o Párthuzamos o Sorosporti protokoll: Matcport 32 bites vezérlők o Integrált Ethernet controller o Megfelelő méretű belső RAM o Elég gyors processor Adam Dunkels protokollstackjei o LwIP o uip BME-MIT 2017 60.

Az STM32 Ethernet Controller-e 10/100 Mbit/s adatátviteli mód támogatás LAN wakeup üzenet azonosítás, Segíti az IPv4 header checksum és TCP, UDP, ICMP checksum-ok ellenörzését. 2-KB Transmit FIFO 2-KB Receive FIFO IEEE 1588-2002. 64 bites timestampek. BME-MIT 2017 61.

Az STM32 Ethernet Controller-e BME-MIT 2017 62.

LwIP, uip Mind a kettő RFC kompatibilis A uip alacsonyabb kategóriájú vezérlőkre, mint a LwIP Buffer memoria a legkritikusabb, o Kevessebb a RAM, mint a ROM Traditionális BSD socket API o Nem eseményvezérelt programozáshoz o Rengeteg plusz kód. Saját lwip és uip API-k o Egyszerűbb kód o Esemény vezérelt orientált IF BME-MIT 2017 63.

LwIP könyvtárstruktúra lwip/src lwip/src/api - the Netconn API, Socket API, and the tcpip thread lwip/src/core - core code: DHCP, TCP, UDP, and support code (memory, netif, etc) lwip/src/core/ipv4 - IPv4, ICMP lwip/src/core/ipv6 - IPv6 lwip/src/core/snmp - SNMP lwip/src/include - all headers and includes lwip/src/netif - ARP and sample Ethernet driver lwip/src/netif/ppp - PPP BME-MIT 2017 64.

LwIP architektúra LwIP az STM32 Conectivity Line sorozatra BME-MIT 2017 65.

LwIP memóriakezelés pbuf sorok használatával oldja ezt meg. o pbub-ok lehetnek RAM (dinamikusan foglalt) o ROM és POOL (fix méretű memóriaterület) típusúak. Többnyire a kimenő adatok RAM és ROM buffereket használnak, míg a bejövők POOL típusút. RAM ROM BME-MIT 2017 66.

Network Interface Linkelt Listában Network Interface Lista Hardware Típus Ex) Bluetooth => bt WLAN => wl A Device driver ezt a függvényt hívja meg, ha a csomag megérkezett Ez a függvény küldi el a csomagot és az IP szint ezt hívja meg A device driver állapota BME-MIT 2017 67.

Csomag fogadás IP feldolgozás o Network device driver megívja az ip_input() függvényt. IP version, header length ellenörzés Header checksum számolás Destination address ellenörzés Csomag küldés o ip_output() függvényen keresztül A megfelelő network interface megtalálása IP header mezők kitöltése IP header checksum kiszámítása BME-MIT 2017 68.

Csomag forwardolás o Forwardolni kell, ha IP feldolgozás Ha az egyik Network interface-nek sem ugyanaz a címe, mint a kimenő csomag cél IP címe o ip_forward() függvény TTL mező csökkentés Ha TTL nulla akkor ICMP error message küldése BME-MIT 2017 69.

ICMP processing IP feldolgozás Ez egy ICMP ECHO message. Csak a cél és a forrás cím van felcserélve BME-MIT 2017 70.

Az udp_pcb structure UDP feldolgozás Az UDP csomagok egy likelt listában vannak nyilvántartva Ez a függvény hívódik meg amikor a datagram megérkezik BME-MIT 2017 71.

UDP alapú alkalmazás BME-MIT 2017 72.

Feldolgozás Ez a függvény hívódik meg, ha a Listener csatlakozott Következő sequence number A Receiver s window Timer a TIME- WAIT állapothoz Ezzel a függvénnyel adjuk át a vett adatot az Alkalmazás rétegnek BME-MIT 2017 73.

TCP alapú alkalmazás BME-MIT 2017 74.

A LwIP memóriaigénye BME-MIT 2017 75.

uip Lényegesen kisebb kód Egy globális memória pool o Egyszerre egy üzenet tárolása o A küldésre is felhasználja Nagyon limitált fragmentáció támogatás (egyszerre egy csomag) Nagyon Limitált TCP retransmission o Csak az utolsó csomag újraküldése Nagyon kicsivel tud többet, mint a Microchip AN833 BME-MIT 2017 76.