# Sistemi a microprocessore (superiori)

Un sistema a microprocessore è sostanzialmente un sistema di acquisizione ed elaborazione dati , ad esempio nel caso di un albergo il sistema a microprocessore può rilevare la temperatura , il grado di umidità di ciascuna stanza dell'albergo e poi controllare l'impianto di condizionamento delle singole stanze per ottenere la climatizzazione ideale, oppure nel caso di una serra il sistema a microprocessore può rilevare l'umidità del terreno e attivare il sistema di innaffiamento o se la temperatura è troppo bassa il sistema di riscaldamento. Il cuore della scheda elettronica è un chip dai molteplici piedini che può essere un microprocessore (μP) o un microcontrollore (μC) e serve per elaborare l'informazione e per sovraintendere a tutte le operazioni della scheda elettronica in cui è inserito.
Distinguiamo il termine microprocessore da microcontrollore:
* Un microprocessore è un circuito integrato contenente esclusivamente la CPU (central processing unit) del sistema, ed ha bisogno di altri dispositivi esterni per funzionare, quali RAM, ROM (o Flash Disk) e, se si pensi ad un computer, anche una scheda grafica;
* Un microcontrollore al suo interno contiene non solo una CPU ma anche :una RAM, una ROM, dei timers, dei convertitori ADC e DAC etc.... Un microcontroller è equiparabile per funzionalità a un piccolo computer , questa integrazione dei componenti permette di contenere i costi a pochi euro per dispositivo semplificando la costruzione della scheda elettronica.
Vediamo ora lo schema di principio di una scheda a microprocessore.
Le grandezze fisiche vengono acquisite dai sensori che convertono la grandezza fisica (temperatura,pressione etc) in un segnale elettrico, il segnale elettrico dei diversi sensori arriva al multiplexer che permette di selezionare in un certo periodo temporale il segnale di uno specifico sensore e di inviarlo al ADC che ne misura l'ampiezza tramite un numero espresso da una sequenza binaria che arriva al microprocessore , il microprocessore che esegue i comandi di un programma software caricato nella memoria RAM acquisisce queste misure e le elabora andando poi a controllare tramite degli attuatori o tramite dei relè dei dispositivi quali : motori, elettrovalvole, circuiti elettrici etc che permettono di accendere i sistemi di condizionamento (caso serra/albergo) o i movimenti di un robot (linea di produzione) o le semplici luci di casa.
L'intero sistema è composto da molti componenti che ne garantiscono la corretta funzionalità, ma non bisogna dimenticare che i dispositivi possono essere ampiamente integrati.
I componenti principali del sistema a microprocessore, che è possibile trovare anche all'interno del microcontrollore, sono:
* CPU: La CPU o μP è il Microprocessore , un circuito elettronico in grado di eseguire le operazioni matematiche e logiche di un programma software caricato in RAM , inoltre tramite segnali elettrici digitali che viaggiano sul BUS sovraintende al funzionamento dei dispositivi elettronici collegati al BUS. Il dispositivo è molto veloce , infatti riesce ad eseguire anche miliardi di operazioni al secondo ; inoltre supporta caratteristiche quali multitasking, interrupt, timer etc. Ad esempio la CPU nello schema elettronico in figura è collegato a un multiplexer in cui alcuni piedini detti "selettori" sono gestiti dalla cpu e permettono di selezionare uno dei sensori collegato ai piedini d'ingresso del multiplexer .
* MEMORIA FLASH: La memoria flash corrisponde a quell'unità di memoria che nei vecchi computer si chiamava ROM. Sostanzialmente la flash è in grado di conservare le informazioni anche in assenza di alimentazione (come le istruzioni di avvio) con la possibilità di sovrascrivere i dati. La memoria FLASH contiene anche il software del sistema, che permette al microprocessore di svolgere le operazioni nel modo corretto.
* RAM: La RAM (Random Access Memory) è un altro tipo di memoria ad accesso casuale più veloce della memoria flash. È in grado di memorizzare i dati solo nel momento in cui si sta lavorando su di essi (e solo nel caso il sistema sia alimentato), in assenza di alimentazione elettrica i dati vengono eliminati (memoria volatile). La RAM opera più velocemente rispetto alla memoria FLASH, poiché è una memoria ad accesso casuale: le informazioni non devono essere ricercate in sezioni, in reparti precisi della memoria.
* START: Lo start è un elemento fondamentale del sistema e decide in quale istante temporale iniziare a fare la misura del segnale.
* PORTE I/O: Sono le porte Input e Output. Ad esse vengono collegati i dispositivi di Input (ad esempio sensori, o una banale tastiera) e di output. Essi permettono rispettivamente la ricezione di dati e la loro trasmissione. Le porte I/O sono dette "memory mapped" quando vengono gestiti come fossero celle di memoria RAM o di scrittura.
* IL BUS: Non meno importante degli altri componenti elencati sopra, il BUS è un canale di comunicazione che trasferisce dati e segnali tra le componenti del sistema a μP o del μC. Un solo bus può connettere simultaneamente più dispositivi. A sua volta un Bus è costituito da molteplici linee:
** BUS DATI: é responsabile del trasferimento di dati;
** BUS INDIRIZZI: comunica la posizione dei dati trasmessi o scritti nella RAM o nelle periferiche I/O.
Esistono poi altre tre componenti, l'ADC, i blocchi di condizionamento e il MULTIPLEXER, che permettono l'acquisizione di dati da parte del sistema tramite dei SENSORI.
* L'ADC (Analogical to Digital Converter), è un dispositivo elettronico che converte un segnale da analogico (segnale che può assumere tutti i valori compresi tre due estremi) a digitale (segnale che può assumere solamente dei valori discreti compresi in un certo intervallo) eseguendo una misura del segnale analogico in entrata, con le opportune approssimazioni, nel senso che da una misura analogica in ingresso l'ADC la codifica un numero binario . Il risultato quindi è una sequenza binaria, che verrà acquisita dalla CPU tramite le porte I/O.
* MUX: Il multiplexer è un dispositivo elettronico che, come si può vedere dall'immagine, è composto da molti "piedini" d'ingresso e un solo "piedino" d'uscita. Questo congegno, a partire da più segnali in entrata, è in grado di selezionare un solo segnale, che viene quindi trasmesso in uscita in un determinato istante temporale. Inoltre il Multiplexer (nella parte inferiore) presenta dei "selettori" direttamente collegati al μP, che permettono di stabilire in un certo istante temporale quale ingresso è collegato all'uscita del MUX( con 4 selettori si hanno 2^4 bit di possibilità)
Ora, volendo distinguere microprocessore da microcontrollore, bisogna aggiungere che l'ADC è già presente all'interno dei moderni microcontrollori, mentre va inserito nel caso di un microprocessore. Il multiplexer, invece, nei μC risulta essere superfluo, dato che gli ADC sono molteplici, e quindi accettano contemporaneamente diversi sensori in input.
Vediamo ora le modalità con cui il microprocessore è in grado di emettere i segnali elaborati in precedenza:
* Nel caso in cui il μP emetta segnali di tipo digitale, entra in gioco un "controllo digitale", solitamente un RELE' (un interruttore a controllo elettronico) il quale trasforma i dati (ricevuti dal μP) codificati in un certo modo, in differenze di potenziale che causano l'apertura o la chiusura dell'intero circuito. In alternativa il segnale digitale può essere inviato ad un dispositivo in grado di convertirlo in altri segnali, quali, ad esempio onde, trasmesse nella realtà esterna tramite delle antenne.
* Nel caso in cui si voglia ottenere dal μP un segnale di tipo analogico, c'è bisogno di un particolare dispositivo detto DAC (Digital to Analogical Converter) in grado di convertire la grandezza in formato digitale proveniente dal sistema, al formato analogico. In pratica questo dispositivo svolge esattamente la funzione inversa del precedente ADC, trasformando il segnale digitale, ossia la sequenza di bit, in un corrispondente e proporzionale segnale analogico i cui punti vengono raccordati da un filtro detto condensatore. Infine il segnale analogico andrà poi ad attivare un determinato dispositivo detto "attuatore"( sostanzialmente un motore).
In conclusione ci rimane da analizzare l'ultimo componente del sistema, l'attuatore.