Spagnolo Inglese
11139 Users    

Ethernet 1/7

Ethernet


INTRODUZIONE

L'intento di questa serie di articoli è quella di realizzare un interfaccia Ethernet per microcontrollori PIC, sfruttando il controller ENC28J60 di Microchip.
Cio comprende non soltanto la parte Hardware, ma anche (e soprattutto) quella Software: infatti questi articoli non vertono sull'utilizzo dello stack TCP/IP ufficiale, ma piuttosto sulla creazione di un software "custom" a fini non solo puramente didattici.

Software
Il software di Microchip comprende molte caratteristiche interessanti, ma possiede comunque alcune limitazioni e non è semplicissimo da utilizzare.
Anche la mikroelektronika ha realizzato una piccola libreria per l'uso del controller (si trova con il compilatore mikroC), ma non supportando la frammentazione dei pacchetti (e non essendo possibile modificarla), non si addice molto alla realizzazione di un server HTTP e di qualunque applicazione che preveda uno scambio dati abbastanza consistente (il limite è circa 1.4KB).
Realizzare un proprio stack è un ottimo modo per conoscere i meccanismi che permettono il funzionamento delle reti, ma principalmente agevola l'implementazione di protocolli e funzionalità non previsti in altri stack.
Hardware
Verrà illustrato l'hardware necessario al funzionamento del controller e vedremo quali sono le funzioni e come si configura l'ENC28J60.

Il modello ISO/OSI
Il modello OSI (Open System Interconnection) è stato ideato nel 1978 dall'ISO (International Organization Standardization) al fine di creare uno standard per le comunicazioni tra calcolatori.
Esso è costituito da una pila (stack) di 7 livelli (5 nella versione semplificata); ad ogni livello corrisponde un protocollo, per mezzo del quale due medesimi livelli di sistemi diversi possono comunicare; questo avviene virtualmente in modo diretto ovvero ignorando gli altri livelli.
All'interno dello stesso sistema, ogni livello può comunicare solo con i livelli adiacenti, per mezzo di un'interfaccia.

I livelli del modello semplificato
- Livello 1 : fisico. Si occupa di trasmettere dati nel mezzo fisico (cavo, aria, fibra ottica, ecc.)
- Livello 2 : Datalink. Prepara i dati per essere inviati al mezzo fisico.
- Livello 3 : Rete. Serve per "instradare" i pacchetti nella rete, inoltre aggiunge un distacco dal livello fisico.
- Livello 4 : Trasporto. Assicura la corretta ricezione dei dati, si occupa delle ritrasmissioni in caso di errori e permette di instaurare connessioni.
- Livello 5 : Applicazione. E' l'ultimo livello della pila e come suggerisce il nome è dove risiedono i vari servizi (HTTP, FTP, E-mail, ecc.).

Incapsulamento
In un pacchetto di rete, i dati dei vari livelli sono incapsulati uno nell'altro, come in una matriosca.
Cio significa che:
- in fase di trasmissione ogni livello invia i propri dati al livello inferiore che aggiunge la propria intestazione (e coda) e poi a sua volta lo invia a livello sottostante fino ad arrivare al mezzo fisico;
- in fase di ricezione ogni livello esamina la sua intestazione e passa i dati al livello superiore

Da notare che la comunicazione non riguarda necessariamente l'ultimo livello, ma avviene sempre tra due livelli uguali.

Questa modularizzazione permette, ad esempio, di trasportare i medesimi dati su supporti fisici diversi: basta pensare alle reti Ethernet e WiFi che trasportano entrambe pachetti TCP/IP, ma su mezzi diversi (cavo ed aria).

Leggi anche:
Ethernet 2/7
Ethernet 3/7
Ethernet 4/7

Commenta!Feed Rss

no comments

no comments
Strano Antonio

Info controllo remoto con ethernet

Ciao
Vorrei fare un'applicazione per controllare da remoto via ethernet due servo motori, ho bisogno del tuo progetto.
Quello che non capisco è, il controllore ENC28J60 resta in ascolto nella rete? Cioè si comporta effettivamente come un server che accetta comandi ?, o quello che tu hai implementato sono semplicemente le funzioni di basso livello che gestiscono le read le write la listen e la bind ( like unix ). Se manca l'applicativo, questo si puo sepmicemente fare nel PIC usando le librerie da te fatte??
grazie

spero in una risposta

Invia nuovo commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
  • Linee e paragrafi vanno a capo automaticamente.

Maggiori informazioni sulle opzioni di formattazione.

Articoli di elettronica correlati

  • L'Ethernet è un protocollo di tipo CSMA/CD (Carrier Sense Multiple Access / Collision Detect) sviluppato nel 1973, al fine di avere trasmissioni su cavo affidabili in condizioni di traffico moderato.

  • Nei comuni computer e microcontrollori le locazioni di memoria minime sono comunemente di 8 bit; quando, pero, si devono rappresentare valori di 16 bit, bisogna decidere come vengono salvati in memoria.

  • Microchip annuncia nuovi controllori Ethernet: dotati di un motore hardware di sicurezza crittografata e facilmente interfacciabili con controllori PIC tramite porta seriale SPI o tramite una comune porta parallela.

  • Il protocollo IP è alla base della comunicazione attraverso la rete internet, non per niente IP sta per Internet Protocol; il suo ruolo è quello di permettere l'instradamento dei pacchetti attraverso la rete, affinché questi possano giungere al destinatario.

  • A questo punto abbiamo tutto il codice necessario per scambiare dati con il controller, possiamo quindi leggere il registro EREVID, situato nel banco 3, il quale contiene il numero di revisione del Chip.

Commenti recenti

Nuovi utenti

  • GUTENBERG
  • ciapalon
  • red_dragon88
  • sp01896
  • Beta91
  • barbara de Siena
  • picabin7gmail
  • ferro.fiore

Chi è online

Ci sono attualmente 3 utenti e 41 visitatori collegati.

Utenti online

  • GUTENBERG
  • blind
  • alexdon