Conectarea microcontrolerului la rețeaua locală

Rețeaua locală este un lucru distractiv și interesant. Habitatul fiecărui boom, inclusiv el însuși, este încurcat într-o pereche răsucite de sus în jos. De ce nu folosiți toate acestea pentru binele cauzei?

În plus, există un microcircuit care permite microcontrolerului să se simtă perfect pe rețeaua Ethernet. Anume, ENC28J60. dezvoltarea companiei inamice Microchip. Vom vorbi despre utilizarea sa.

De fapt, Ethernet este un subiect destul de vast. Un post este clar că nu este potrivit. Deci, vor fi mai multe părți.

Această primă parte și, ca de obicei, este introductivă și prezentare generală.

Și de ce este necesar?


Din punctul de vedere al microcontrolerului, rețeaua locală este doar o singură interfață "afară". De ce să-l folosiți, și nu cel mai simplu RS-232, spuneți?

  • Este convenabil. Orice sistem de operare normal are suport nativ pentru rețea și un API pentru a lucra cu acesta. O mulțime de programe standard pot funcționa în rețea și vor putea contacta devaysik-ul nostru.
  • Dispozitivul va fi disponibil cel puțin de la orice computer conectat la rețeaua locală și maxim - în general, de la orice computer care are acces la Internet. Includerea, prin conexiune fără fir - la dispozitiv, poate fi accesată, de exemplu, dintr-un laptop, fără a se lega de firele dispozitivului.
  • Aparatul în sine va fi capabil de a merge on-line și a obține o varietate de informații - ora exactă pentru prognoza meteo și cele mai recente știri (hmm, bine, desigur, în cazul în care memoria MC va fi de ajuns pentru toate astea).
  • E rapid. 10 Mbit / s - mai mult decât decent pentru un devaysika microcontroler.
  • Dispozitivul nu mai este legat de cablurile computerului - maxim 100 m pentru o pereche de fire răsucite nu fac nicio comparație cu interfețele "clasice".
  • E ușor. Nu, într-adevăr! Stiva IP pare mult mai simplă și mai logică decât, de exemplu, USB.

Toate acestea deschid oportunități pentru a crea o mulțime de dispozitive cool și neobișnuite.

Desigur, există și dezavantaje - pentru a lucra cu rețeaua aveți nevoie de un controler cu bandă. Care crește ușor costul dispozitivului final.

act de renunțare


Ar trebui să spună imediat ce se înțelege prin Ethernet și ce este cu adevărat.

Ethernet este un grup de standarde IEEE 802.3. descriind diferite tehnologii ale rețelelor locale. Aceste standarde sunt definite un set comun de strat legătură și tehnici de nivel fizic (folosind pentru fibre optice de transmisie de date, torsadat, cablu coaxial, viteze diferite, etc.).

Aici, Ethernet va însemna un standard specific al IEEE 802.3i, care este susținut de ENC28J60. În acest standard, stratul fizic este 10BASE-T. 10 Mbit / s peste perechea răsucite.


Aici, într-o perspectivă generală, schema structurală a dispozitivului:

Conectarea microcontrolerului la rețeaua locală

Aici, totul ar fi simplu. ENC28J60 conține stratul fizic (PHY) și stratul canalului Ethernet (MAC). Microcontrolerul poate trage doar pachete pentru a trimite și a prelua recepția prin SPI.

Firmware-ul microcontroler a implementat un simplu IP-stack, ceea ce permite aplicației să se ocupe de problema de sarcina la alta, folosind sisteme de protocol standard.

Mai multe detalii despre toate acestea vor fi în următoarele părți.

Modelul OSI


Și care sunt aceste niveluri despre care vorbesc? Dacă știți, puteți sări peste această parte.

Modelul OSI este un lucru util pentru a înțelege modul în care funcționează rețeaua. Aici despre ea foarte scurt.

Acest model rupe sistemul de comunicare în părți simple, numite nivele. Fiecare nivel servește la următoarea (în partea de sus) și este servit de legăturile anterioare (inferioare) - verticale. Caracteristicile funcționării fiecărui nivel sunt ascunse de alte niveluri.

Există două sisteme care interacționează, respectiv două copii ale fiecărui nivel. Fiecare nivel utilizează propriile protocoale (legături orizontale).

Conectarea microcontrolerului la rețeaua locală

În total, există 7 nivele ale modelului OSI.

Conectarea microcontrolerului la rețeaua locală

Vom avea doar 5 nivele.

Strat fizic


Avem 10BASE-T. Stratul fizic este implementat în ENC28J60. Aceasta include o pereche răsucită și tot ceea ce aveți nevoie pentru a transfera date despre aceasta (drivere, transformatoare).

Link strat

Pur și simplu, stratul de legătură este ceea ce vă permite să trimiteți cadre la alte noduri din rețeaua locală și să primiți cadre de la acestea.

Nivel de rețea


Stratul de rețea este responsabil pentru trimiterea de pachete. Avem acest IP. Pachetul IP poate trece în siguranță prin mai multe rețele diferite, cu tehnologii diferite de nivel fizic și de canal.

Pur și simplu, stratul de rețea este ceea ce vă permite să trimiteți pachete către orice noduri și să primiți pachete din orice nod.

Nivelul de transport


Stratul de transport este responsabil pentru legarea nodurilor. Să presupunem că o aplicație dorește să trimită date unui alt nod. Stratul de transport reprezintă aceste date ca un pachet (sau pachete) de strat de rețea și îl trimite. Dacă utilizați protocolul cu configurarea conexiunii, stratul de transport este, de asemenea, implicat în instalarea și monitorizarea conexiunii. UDP și TCP sunt protocoale de strat de transport.

Stratul de aplicație


Și aici poate fi totul, care pentru noi va lua în cap. De asta a fost pornit totul. Aceeași sarcină, care schimbă date cu lumea exterioară pe propriul sau protocol standard.

Vprinitsa, asta e tot pentru moment. Următoarea parte va fi mai aproape de punct. Vom scrie o bibliotecă pentru a lucra cu ENC28J60. )

EasyEDA: Free Cloud CAD

live acum

Articole similare