Conoscere e usare MCU abilitati per Ethernet per la vostra prossima applicazione
Contributo di Electronic Products
2014-10-08
Gli MCU offrono un'amplissima possibilità di scelta per la connettività Ethernet. Dato che la maggior parte delle applicazioni esigono la connettività Internet, è più probabile che il vostro prossimo progetto basato su MCU richiederà un qualche tipo di connessione di rete. Se il vostro prossimo progetto riguarda un sensore che deve consolidare e comunicare i dati tramite un collegamento Ethernet, una telecamera di sicurezza connessa in rete che richiede che gli aggiornamenti periodici del codice vengano inviati tramite la connessione di rete o un controllore industriale che richiede un'affidabile connessione Ethernet industriale, la vostra scelta di MCU abilitati per Ethernet sarà cruciale per offrire le funzioni necessarie a realizzare un progetto di successo.
Connettività ovunque
Ethernet è forse lo standard di comunicazione dei dati più diffuso e di maggior successo dall'invenzione del telegrafo. È sopravvissuto ad anni di miglioramenti e modifiche che l'hanno portato dall'originale specifica di 10 Mbit/sec fino ai 100 Gbit/sec e oltre. Attualmente sono disponibili versioni ancora più affidabili, come Industrial Ethernet, e anche versioni con migliori capacità sincrone per la trasmissione di dati in tempo reale come quelli audio e video. Ethernet con sicurezza aggiunta sta crescendo rapidamente perché i sistemi embedded stanno diventando i bersagli degli attacchi di hacker e virus. Guardiamo ad alcuni esempi di MCU abilitati per Ethernet e alle applicazioni target da essi servite, per capire meglio le scelte di fronte alle quali ci si trova al momento di selezionare l'MCU giusto per la propria applicazione embedded.
Implementazioni Ethernet dai costi contenuti
Si potrebbe pensare che l'aggiunta di Ethernet a un sistema embedded sia ancora un'opzione costosa, ma anche MCU a basso costo dispongono di connettività Ethernet. Di fatto, usando il "venerando" MCU PIC32MX795 di Microchip, abbinato a Ethernet PHY DP83848 di Texas Instruments, il costo del vostro componente chiave risulta essere estremamente basso (per i prezzi unitari correnti su DigiKey usare i link). PIC32MX795 dispone anche di numerose funzionalità che semplificano l'implementazione delle funzioni più comuni legate a Ethernet. Di particolare interesse sono il controllore DMA, il sistema di interrupt e le modalità a bassa potenza. Combinando queste funzioni è possibile risvegliare il sistema da uno stato di bassa potenza quando viene ricevuto un pacchetto (ad esempio usando un "Magic Packet"). Dopo di che, è possibile usare il controllore DMA per trasferire i dati mentre la CPU li sta elaborando, riducendo al minimo il "tempo di servizio" della CPU. Di conseguenza, l'implementazione dei sensori abilitati per la rete e di sistemi embedded simili risulta sorprendentemente efficiente dal punto di vista energetico.
L'elemento forse più utile della soluzione Ethernet della famiglia PIC32 di Microchip è lo stack concesso senza licenza disponibile per i progetti embedded. Lo stack, illustrato nella parte destra della Figura 1 accanto alla scheda starter kit Ethernet di Microchip, è diviso in più livelli, dove da ciascun livello è possibile accedere ai servizi da uno o più livelli direttamente sottostanti.

Figura 1: Scheda starter kit Ethernet PIC32 e stack TCP/IP concesso senza licenza (per gentile concessione di Microchip)
Molti dei livelli TCP/IP sono "vivi", nel senso che non entrano in funzione solo quando viene richiesto un servizio ma anche quando si verificano eventi come un timeout o l'arrivo di un nuovo pacchetto. Questo semplifica il supporto di applicazioni embedded semplici che potrebbero non richiedere OS o RTOS. Fra le caratteristiche chiave dello stack TCP/IP di Microchip vi sono:
- Protocolli supportati: ARP, IP, ICMP, UDP, TCP, DHCP, SNMP, HTTP, FTP, TFTP
- Supporto di socket per TCP e UDP
- Secure Sockets Layer (SSL)
- NetBIOS Name Service
- DNS – Domain Name System
- Ethernet Device Discovery
Implementazioni Industrial Ethernet
Se si ha bisogno di un'implementazione Ethernet più affidabile e robusta, si potrebbe prendere in considerazione l'uso di un MCU che supporti Industrial Ethernet. Alcuni MCU forniscono hardware dedicati non solo per l'interfaccia Ethernet ma anche per la gestione e il controllo per cui la CPU è disponibile per altri compiti. La famiglia di dispositivi Sitara di Texas Instruments, come AM3352BZCZ60, ha un sottosistema dell'unità in tempo reale programmabile e un sottosistema di comunicazione industriale (PRU-ICSS) completi. Questo elemento hardware dedicato è costituito da doppi core RISC a 32 bit (Programmable Real-Time Unit, o PRU), condivisi, dati e memorie di istruzioni, moduli periferici interni e un controllore di interrupt (INTC). La natura programmabile del PRU (Figura 2), oltre al suo accesso a pin, eventi e a tutte le risorse su chip, offre flessibilità nell'implementazione di risposte rapide in tempo reale, operazioni di gestione di dati specializzati, interfacce periferiche personalizzate e in attività di scarico da altri elementi di elaborazione su chip.

Figura 2: L'MCU Sitara di Texas Instruments ha un sottosistema dell'unità in tempo reale programmabile e un sottosistema di comunicazione industriale (PRU-ICSS) (per gentile concessione di Texas Instruments)
I PRU hanno accesso a tutte le risorse su chip tramite la porta interfaccia/OCP master e i processori host esterni possono accedere alle risorse PRU-ICSS tramite la porta Interfaccia/OCP slave. Il bus di interconnessione a 32 bit collega i vari master interni ed esterni alle risorse all'interno di PRU-ICSS. INTC gestisce gli eventi di immissione del sistema e li pubblica nella CPU host a livello di dispositivo.
I core PRU sono programmati con un piccolo set di istruzioni deterministiche. Ogni PRU può operare in modo indipendente o in coordinamento reciproco e anche con la CPU host a livello di dispositivo. Questa interazione tra processori è determinata dalla natura del firmware caricato nelle memorie delle istruzioni del PRU. L'Industrial Ethernet Peripheral (IPE) è usata per gestire e generare le funzioni Industrial Ethernet, tra cui:
- Un timer Industrial Ethernet con 10 eventi di acquisizione e 8 di confronto
- Due segnali di sincronizzazione Industrial Ethernet
- Due timer watchdog a 16 bit Industrial Ethernet
- IO digitali Industrial Ethernet
Progetti Ethernet ad alta efficienza energetica
Alcuni MCU offrono una combinazione di bassa potenza ed efficienza delle prestazioni per assicurare la maggior quantità di dati e larghezza di banda di elaborazione con il consumo energetico più basso. Kinetis MK60DN512 di Freescale include hardware dedicato per supportare un risveglio dalla funzione modalità bassa potenza appositamente pensato per Ethernet. La porta Ethernet può offrire una fonte di risveglio asincrona per lo stato di bassa potenza quando viene ricevuto un Magic Packet. Come illustrato nella Figura 3, questa fonte è solo una delle tante che rendono il progetto energeticamente efficiente quando si usano diverse periferiche di comunicazione, pin GPIO e timer interni.

Figura 3: Fonti di riattivazione dalla modalità a bassa potenza asincrona per la famiglia di MCU Kinetis MK60 (per gentile concessione di Freescale)
Il blocco MAC Ethernet su chip include numerose funzioni chiave che migliorano enormemente l'efficienza del trasferimento. Uno speciale FIFO embedded nel percorso del ricevitore provvede al controllo del flusso senza perdite (ad esempio, generazione e terminazione automatica di frame di pausa 802.3 x31A) per migliorare l'efficienza del trasferimento dei dati. Il timer IEEE 1588 su chip può essere utilizzato anche per implementazioni Ethernet per le quali il tempo è un fattore cruciale, come Industrial Ethernet. È inclusa l'accelerazione hardware per ottimizzare le prestazioni dei controllori di rete che offrono servizi di protocolli IP e TCP, UDP, ICMP. Il blocco di accelerazione esegue funzioni critiche nell'hardware, che sono in genere implementate con un ingente sovraccarico di elaborazione per la CPU. Di seguito, alcune delle funzioni di ottimizzazione delle prestazioni del protocollo IP:
- Opera su dati del protocollo TCP/IP e UDP/IP e ICMP/IP o solo header IP
- Consente l'elaborazione wire-speed
- Supporto IPv4 e IPv6
- Trasferimento trasparente di frame di altri tipi e protocolli
- Supporto per frame con tag VLAN secondo IEEE 802.1q con invio trasparente di tag VLAN e campo di controllo
- Calcolo automatico della checksum di header IP e carico utile (a seconda del protocollo) e verifica al ricevimento
- Generazione automatica della checksum di header IP e carico utile (a seconda del protocollo) e inserimento automatico alla trasmissione configurabile frame per frame
- Supporto per tutti i frame IEEE 1588
Sicurezza del sistema legata a Ethernet
Le applicazioni Ethernet embedded stanno diventando sempre più attente alla sicurezza sia dei trasferimenti dei dati che dei dati che si trovano nel sistema embedded. Il Dipartimento della Sicurezza Interna degli Stati Uniti d'America riferisce che i potenziali attacchi contro i sistemi embedded connessi all'interno della rete energetica, come quello di "Energetic Bear",² dimostrano appunto quanto i sistemi embedded siano diventati vulnerabili. Gli aggressori possono anche "impadronirsi" di un sistema embedded installando al livello più basso del sistema operativo il codice che "avvia" il sistema. Se il codice di avvio è compromesso, gli hacker possono apportare qualsiasi modifica desiderino per estrarre informazioni segrete o addirittura assumere il controllo del sistema al fine di danneggiare apparecchiature costose o, nel peggiore dei casi, un intero complesso di elaborazione.
Alcuni MCU e MPU ora includono hardware speciale a sostegno di trasmissioni dati e avvii sicuri. SAMA5D33 di Atmel, con il suo meccanismo di avvio sicuro, motori accelerati in hardware per la crittografia (AES, TDES) e funzione hash (SHA), protegge dalla clonazione (per cui l'MCU non può essere copiato o retroingegnerizzato semplicemente leggendo tutti i dati su chip), protezione del codice e trasferimenti di dati esterni sicuri. SAMA5D3 dispone anche di due porte Ethernet separate (una per connessioni a 10/100/1000 Mbps e l'altra per connessioni a 10/100 Mbps) per l'implementazione di sistemi embedded che devono supportare bridging, routing e aggregazione. Ponti e router sono tipicamente i bersagli preferiti per gli attacchi di intrusione nelle reti dato che consentono di accedere a una parte molto più ampia della rete, diversamente dai sensori e dai misuratori che si trovano in genere sui nodi finali del sistema e hanno un accesso limitato al resto del sistema. Pertanto, un avvio sicuro rappresenta una funzionalità critica per bridge e router per cui il fatto che la famiglia SAMA5D3 la possieda rappresenta un enorme vantaggio.
In sintesi
Numerose applicazioni ora richiedono la connettività Ethernet e i fornitori di MCU stanno rispondendo con diversi tipi di MCU abilitati per Ethernet. La selezione dell'MCU deve essere basata sul tipo di connettività Ethernet richiesto dalla propria applicazione: Industrial Ethernet, Ethernet con sicurezza aggiuntiva, bassa potenza o una soluzione a basso costo. Se cercate attentamente, troverete sicuramente un MCU ottimizzato per la vostra applicazione.
Per ulteriori informazioni sui componenti discussi in questo articolo, utilizzare i collegamenti forniti per l'accesso alle pagine di prodotto sul sito DigiKey.
Riferimenti
- Esempio di progetto Ethernet di Microchip (Parte 1 di 3).
- Articolo Reuters: "Il governo USA chiede alle aziende di controllare le reti dopo gli attacchi 'Energetic Bear'".
Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.

