emNet Tail Tagging

embOS/IP Tail Tagging è un’estensione dello stack TCP/IP embOS/IP che supporta i dispositivi switch ethernet di Micrel/Microchip caratterizzati dalla presenza di più porte fisiche ethernet. L’idea è quella di gestire più porte fisiche ethernet pur utilizzando  un microcontrollore dotato solamente di una singola porta MAC Ethernet. La porta Ethernet del microcontrollore è collegata allo switch che effettua routing dei pacchetti verso il microcontrollore e si preoccupa di aggiungere al payload delle informazioni per identificare correttamente il numero di porta fisica che ha ricevuto il pacchetto. embOS/IP è in grado di decodificare in modo corretto il flusso di dati.

Requisiti software

Per funzionare, la soluzione richiede lo stack TCP embOS/IP e un driver speciale per i fisici ethernet (PHY) della Micrel/Microchip che supportano il Tail Tagging.

Requisiti Hardware

E’ necessario integrare sulla propria scheda hardware un componente PHY della Micrel/Microchip che supporti la funzionalità di Tail Tagging.

Reference Design

Segger ha realizzato una scheda di valutazione utilizzabile come reference design per lo sviluppo di un sistema con ethernet tail tagging

Ricezione di un frame con Tail Tagging

Quando un frame ethernet è ricevuto da una delle porte ethernet fisiche, un byte viene aggiunto tra i dati e la checksum del frame. Questo passaggio è trasparente al controller ethernet  del microcontrollore perchè la checksum del frame creata dal mittente viene modificata dal fisico (PHY) ricevente in modo che il valore di checksum resti coerente con i dati. Per questa ragione il controller ethernet non “vede” l’alterazione del frame.
embOS/IP estrae l’informazione presente nel byte di tail tagging relativa al numero di porta ethernet che ha ricevuto il frame e assegna il pacchetto all’interfaccia Tail Tagging corretta. Il byte aggiuntivo viene eliminato in questa fase, restituendo all’interfaccia i dati corretti che passano ai protocolli dei livelli superiori.

Invio di un frame con Tail Tagging

L’invio di un frame ethernet avviene in modo simile alla ricezione, ma in modo inverso. Prima che il frame ethernet sia accodato dal controller ethernet per l’invio tramite il PHY, un byte di Tail Tagging è aggiunto alla fine dei dati da inviare (e prima della checksum, se calcolata). Questo byte indica quale porta ethernet fisica dovrà inviare il pacchetto verso la rete.