IoT è chi IoT lo fa: comprendiamo gli strumenti

Nello scorso appuntamento ci siamo occupati di comprendere cosa voglia dire iniziare la prototipazione in ambito IoT. Inquadrare le specifiche tecniche e progettare in maniera chiara fin da subito, significa spendere del tempo per fare attività di brainstorming, ma il risultato che si ottiene è la comprensione totale di quanto si desidera raggiungere. Chiariti gli obiettivi, è fondamentale focalizzare la propria attenzione sugli strumenti. Quali sono quelli più idonei? Come si possono scegliere? Dove posso trovarli? Come li metto in relazione tra loro? In questo articolo vedremo uno studio specifico sulle schede di prototipazione rapida, la scelta dei sensori ed il loro interfacciamento. Siete pronti?

INTRODUZIONE

Fare prototipazione rapida utilizzando strumenti e tecnologie, oggi ben diffuse e mature, significa innanzitutto lavorare con dati digitali che vanno opportunamente processati. Ciò implica analizzarli, elaborarli e poter proporre in uscita dal nostro sistema un qualche risultato che sia verificabile, misurabile, ripetibile ed accurato. È facile immaginare che queste funzioni siano integrate all'interno di un dispositivo e realizzate tramite circuiti. Ma come deve funzionare esattamente? Come può funzionare? Quali sono le differenze tra le varie implementazioni possibili? Che tipo di logica deve poter gestire il nostro componente? Rispondere a domande di questo tipo è molto più importante di quanto non si pensi perché le risposte influenzano notevolmente le prestazioni attese e i risultati finali.

MICROPROCESSORE VS MICROCONTROLLORE

La prima esigenza è sicuramente quella di gestire i dati. È importante riprendere i concetti di microcontrollore e microprocessore ed estenderli in maniera tale da fornire un quadro informativo più chiaro che consenta di distinguere tra processori, controllori e DSP. Soprattutto per chi è alle prime armi, probabilmente ci sarà un po' di confusione all'inizio sulla distinzione tra queste entità. Il microprocessore è un dispositivo integrato che funziona grazie ad una programmazione ben precisa, si impostano una serie di istruzioni che vanno eseguite in sequenza per effettuare una specifica operazione o una serie di operazioni sui dati. In pratica, la programmazione è la chiave per l'elaborazione dei dati stessi. Il microprocessore è connesso ad una memoria nonché ad una serie, più o meno numerosa, di dispositivi esterni, i quali servono a fornire dati in ingresso oppure proporre gli stessi in uscita. Questa struttura è tipica di un'unità di elaborazione. Esistono componenti circuitali il cui scopo si esplica spesso all'interno di sistemi integrati per controllo e monitoraggio delle funzionalità di macchinari o di motori. In questo caso parliamo di microcontrollori che sono, quindi, microprocessori dedicati espressamente al controllo ed è per questo che vengono chiamati microcontrollori. Le grandezze sulle quali sono chiamati ad operare non sono necessariamente solo digitali ma possono essere anche analogiche. Ecco per quale motivo spesso integrano, al loro interno, un multiplexer, un convertitore analogico digitale (ADC), un convertitore digitale analogico (DAC), ed una serie di circuiti di controllo per pilotare attuatori all’uscita. I DSP, ovvero Digital Signal Processor, sono dispositivi integrati molto simili, dedicati espressamente all'acquisizione dei segnali e possono essere impiegati per l'elaborazione dei segnali stessi. I DSP sono considerabili come un caso speciale di sistemi integrati che utilizzano microprocessori e che vengono specificatamente indicati soltanto quando c'è da fare elaborazione di segnale. Le differenze non sono soltanto funzionali, anzi, esse derivano da una diversa dotazione hardware. Un microprocessore tipicamente è in grado di comunicare con memorie di vario tipo attraverso l'utilizzo di bus di indirizzi, bus dedicati allo scambio di dati ed anche bus di controllo. Non solo, perché l'interfacciamento avviene tipicamente anche con porte di ingresso e uscita.

Figura 1. Microprocessori e loro componenti interni

L'architettura di un microprocessore prevede al suo interno tre unità fondamentali distinte:

  • ALU, ovvero l'Arithmetic Logic Unit, l'unità centrale che esegue le operazioni aritmetiche.
  • Register Array, un insieme di elementi di memoria che vengono utilizzati durante l'esecuzione dei programmi per memorizzare dati temporanei oppure per salvare informazioni di rilevanza. Il fatto che la memorizzazione sia temporanea può dipendere dalla specifica applicazione o dall'utilizzo che si sta facendo del microprocessore in quello specifico momento.
  • Control unit, ovvero l'unità deputata al vero e proprio processamento delle istruzioni, alla temporizzazione ed alla gestione dei segnali di controllo per il trasferimento dei dati verso l'interno o verso l'esterno.

INIZIAMO CON I MICROCONTROLLORI

Cominciamo ad addentrarci nel merito delle schede per la prototipazione rapida e focalizziamoci su Arduino, in particolare sulla scheda Arduino Uno. Questa versione della celeberrima scheda è basata su un integrato, l'ATMega328. Si tratta di un microcontrollore a 8 bit che può funzionare con clock a 16 MHz, le cui specifiche tecniche e caratteristiche funzionali sono riassunte nella seguente tabella:

Tensione operativa 5 V
Pin di I/O digitali 14
Pin digitale di I/O con PWM abilitato 6
Ingressi analogici 6
Corrente DC per ciascun pin di I/O 20 mA
Corrente DC per il pin a 3.3 V 50 mA
Flash Memory 32 kB (ATmega328P)
SRAM 2 kB (ATmega328P)
EEPROM 1 kB (ATmega328P)
Velocità (Clock) 16 MHz
LED_BUILTIN 13
Lunghezza 68.6 mm
Larghezza 53.4 mm
Peso 25 g

A chiunque utilizzi Arduino come primo approccio alla programmazione ed alla sperimentazione, la scheda, nella sua veste grafica, risulta essere sufficiente. Tutti coloro che, invece, sono un po' più smaliziati o esperti, hanno bisogno di saperne di più. Come sono realizzate le interconnessioni? Qual è lo schema elettrico? In definitiva, quello che si aspettano di vedere è questa rappresentazione:

Figura 2. Schematico della scheda Arduino Uno Rev3

 

Figura 3. Dettaglio grafico dello schema di Arduino Uno

Di questa rappresentazione sono fondamentalmente importanti tre sezioni, ovvero:

  • quella in blu che rappresenta la semplice interconnessione tramite interfaccia seriale emulata e che è accessibile e resa disponibile grazie all'USB;
  • la sezione identificata con il verde rappresenta proprio il microcontrollore. Un integrato che si presenta come un componente con dei pin di interconnessione, che espone diverse interfacce, ovvero collegamenti funzionalmente dedicati. La differenza tra un pin e l'altro non è evidente ad una prima ispezione ma lo è nel momento in cui si va a guardare come sono state effettivamente realizzate le interconnessioni. Saper leggere uno schema elettrico è importante perché, quando si realizza un prototipo, bisogna realizzare uno schema che descriva il proprio circuito ed il proprio progetto;
  • l'ultima sezione è quella che rappresenta i pin di interconnessione, le sezioni dell'interfaccia. Quella in arancione è la sezione grazie alla quale Arduino riesce ad entrare in comunicazione con il mondo. È importante capire quanti sono questi pin, che funzionalità hanno, e, tra l'altro, anche cosa vuol dire PWM.

Ogni microcontrollore lavora utilizzando un set di istruzioni, ciascuna scritta in linguaggio macchina. Per semplificare il compito della programmazione, come alcuni di voi sicuramente sapranno, è stato codificato un linguaggio di basso livello noto come assembly, in cui le istruzioni sono date in formato elementare riconducendo tutto a poche semplici istruzioni. Il vantaggio di un linguaggio di alto livello sta prevalentemente nella codifica, ovvero nel fatto che il progettista, il programmatore o lo sviluppatore, possano esprimersi in modo più naturale. Un linguaggio di basso livello è, altresì, più vicino a quello parlato dalla macchina. È importante anche sapere che [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 5921 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici e potrai fare il download in formato PDF eBook e Mobi per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

Una risposta

  1. giulioelettronica giulioelettronica 29 Gennaio 2020

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend