- Fattori importanti da considerare quando si seleziona un MCU
- 1. Applicazione
- 2. Selezionare Architettura microcontrollore
- 3. Dimensione bit
- 4. Interfacce per la comunicazione
- 5. Tensione di esercizio
- 6. Numero di pin I / O
- 7. Requisiti di memoria
- 8. Dimensione del pacchetto
- 9. Consumo di energia
- 10. Supporto per microcontrollore
Un microcontrollore è essenzialmente un piccolo computer su un chip, come qualsiasi computer, ha memoria e di solito è programmato in sistemi integrati per ricevere input, eseguire calcoli e generare output. A differenza di un processore, incorpora la memoria, la CPU, I / O e altre periferiche su un singolo chip come mostrato nel layout sottostante.
La scelta del microcontrollore giusto per un progetto è sempre una decisione complessa da prendere perché è il cuore del progetto e il successo o il fallimento del sistema dipende da questo.
Esistono mille tipi diversi di microcontrollori, ognuno con una caratteristica unica o un vantaggio competitivo dal fattore di forma, alle dimensioni del pacchetto, alla capacità della RAM e della ROM che li rende adatti a determinate applicazioni e non adatti a determinate applicazioni. Così spesso, per evitare il mal di testa che deriva dalla scelta di quello giusto, i progettisti optano per microcontrollori che conoscono e che a volte, anche loro, non soddisfano realmente i requisiti del progetto. L'articolo di oggi esaminerà alcuni dei fattori importanti da considerare quando si seleziona un microcontrollore, tra cui l'architettura, la memoria, le interfacce e lo spazio I / O tra gli altri.
Fattori importanti da considerare quando si seleziona un MCU
Di seguito sono riportati alcuni dei fattori importanti da considerare quando si seleziona un microcontrollore, tra cui l'architettura, la memoria, le interfacce e lo spazio I / O tra gli altri.
1. Applicazione
La prima cosa da fare prima di selezionare un microcontrollore per qualsiasi progetto è sviluppare una profonda comprensione dell'attività per la quale deve essere distribuita la soluzione basata sul microcontrollore. Durante questo processo viene sempre sviluppato un foglio delle specifiche tecniche che aiuterà a determinare le caratteristiche specifiche del microcontrollore che verrà utilizzato per il progetto. Un buon esempio di come l'applicazione / l'uso del dispositivo determina il microcontrollore da utilizzare viene mostrato quando un microcontrollore con un'unità a virgola mobile viene adottato per la progettazione di un dispositivo che verrà utilizzato per eseguire operazioni che coinvolgono molti numeri decimali.
2. Selezionare Architettura microcontrollore
L'architettura di un microcontrollore si riferisce al modo in cui il microcontrollore è strutturato internamente. Esistono due principali architetture utilizzate per la progettazione di microcontrollori;
- Von Neumann Architecture
- Architettura di Harvard
L'architettura di von Neumann prevede l'uso dello stesso bus per trasmettere dati e recuperare set di istruzioni dalla memoria. Pertanto, il trasferimento dei dati e il recupero delle istruzioni non possono essere eseguiti contemporaneamente e di solito sono programmati. L'architettura di Harvard invece prevede l'utilizzo di bus separati per la trasmissione dei dati e il recupero delle istruzioni.
Ognuna di queste architetture ha i propri vantaggi e svantaggi. L'architettura di Harvard, ad esempio, sono computer RISC (Set di istruzioni ridotte) e sono quindi in grado di eseguire più istruzioni con cicli inferiori rispetto ai computer CISC (Set di istruzioni complesse) che sono basati sull'architettura di von Neumann. Un importante vantaggio dei microcontrollori basati su Harvard (RISC) è il fatto che l'esistenza di diversi bus per dati e set di istruzioni consente la separazione dell'accesso alla memoria e le operazioni dell'unità aritmetica e logica (ALU). Ciò riduce la quantità di potenza di calcolo richiesta dal microcontrollore e porta a costi ridotti, basso consumo energetico e dissipazione del calore che li rende ideali per la progettazione di dispositivi a batteria. Molti ARM,I microcontrollori AVR e PIC sono basati sull'architettura di Harvard. Esempi di microcontrollori che utilizzano l'architettura Von Neumann includono 8051, zilog Z80 tra gli altri.
3. Dimensione bit
Un microcontrollore può essere 8 bit, 16 bit, 32 bit e 64 bit, ovvero la dimensione massima in bit attualmente posseduta da un microcontrollore. La dimensione in bit di un microcontrollore rappresenta la dimensione di una "parola" utilizzata nel set di istruzioni del microcontrollore. Ciò significa che in un microcontrollore a 8 bit, la rappresentazione di ogni istruzione, indirizzo, variabile o registro richiede 8 bit. Una delle principali implicazioni della dimensione dei bit è la capacità di memoria del microcontrollore. In un microcontrollore a 8 bit, ad esempio, ci sono 255 posizioni di memoria univoche come dettato dalla dimensione del bit mentre in un microcontrollore a 32 bit, ci sono 4.294.967.295 posizioni di memoria uniche, il che significa che maggiore è la dimensione del bit, maggiore è il numero di posizioni di memoria disponibili per l'uso sul microcontrollore. I produttori in questi giorni, tuttavia,stanno sviluppando modi per fornire accesso a più posizioni di memoria a microcontrollori di piccole dimensioni tramite paging e indirizzamento, in modo che il microcontrollore a 8 bit diventi indirizzabile a 16 bit, ma questo tende a complicare la programmazione per lo sviluppatore di software embedded.
L'effetto della dimensione dei bit è probabilmente sperimentato in modo più significativo durante lo sviluppo del firmware per il microcontrollore, specialmente per le operazioni aritmetiche. I vari tipi di dati hanno diverse dimensioni di memoria per diverse dimensioni di bit del microcontrollore. Ad esempio, l'utilizzo di una variabile dichiarata come intero senza segno che a causa del tipo di dati richiederà 16 bit di memoria, nei codici da eseguire su un microcontrollore a 8 bit porterà alla perdita del byte più significativo nei dati che a volte può essere molto importante per il raggiungimento del compito per il quale è stato progettato il dispositivo su cui deve essere utilizzato il microcontrollore.
È quindi importante selezionare un microcontrollore con una dimensione di bit che corrisponda a quella dei dati da elaborare.
È probabilmente importante notare che la maggior parte delle applicazioni in questi giorni sono microcontrollori compresi tra 32 bit e 16 bit a causa dei progressi tecnologici incorporati su questi chip.
4. Interfacce per la comunicazione
La comunicazione tra il microcontrollore e alcuni dei sensori e attuatori che verranno utilizzati per il progetto potrebbe richiedere l'uso di un'interfaccia tra il microcontrollore e il sensore o l'attuatore per facilitare le comunicazioni. Ad esempio, per collegare un sensore analogico a un microcontrollore sarà necessario che il microcontrollore abbia abbastanza ADC (convertitori da analogico a digitale) o, come ho detto prima, la variazione della velocità di un motore CC potrebbe richiedere l'uso dell'interfaccia PWM sul microcontrollore. Quindi sarà importante confermare che il microcontrollore da selezionare ha abbastanza interfacce richieste tra cui UART, SPI, I2C tra gli altri.
5. Tensione di esercizio
La tensione di funzionamento è il livello di tensione al quale un sistema è progettato per funzionare. È anche il livello di tensione a cui sono correlate alcune caratteristiche del sistema. Nella progettazione hardware la tensione di funzionamento a volte determina il livello logico al quale il microcontrollore comunica con altri componenti che compongono il sistema.
I livelli di tensione di 5 V e 3,3 V sono la tensione operativa più diffusa utilizzata per i microcontrollori e si dovrebbe decidere quale di questi livelli di tensione verrà utilizzato durante il processo di sviluppo delle specifiche tecniche del dispositivo. L'utilizzo di un microcontrollore con una tensione operativa di 3,3 V nella progettazione di un dispositivo in cui la maggior parte dei componenti esterni, dei sensori e degli attuatori funzionerà con un livello di tensione di 5 V non sarà una decisione molto intelligente in quanto sarà necessario implementare il livello logico traslatori o convertitori per consentire lo scambio di dati tra il microcontrollore e gli altri componenti e ciò aumenterà inutilmente il costo di produzione e il costo complessivo del dispositivo.
6. Numero di pin I / O
Il numero di porte di input / output generiche o speciali e (o) pin posseduti da un microcontrollore è uno dei fattori più importanti che influenza la scelta del microcontrollore.
Se un microcontrollore dovesse avere tutte le altre funzionalità menzionate in questo articolo ma non ha abbastanza pin IO come richiesto dal progetto, non può essere utilizzato. È importante che il microcontrollore abbia un numero sufficiente di pin PWM, ad esempio, per controllare il numero di motori CC la cui velocità sarà variata dal dispositivo. Sebbene il numero di porte I / O su un microcontrollore possa essere ampliato mediante l'uso di registri a scorrimento, non può essere utilizzato per tutti i tipi di applicazioni e aumenta il costo dei dispositivi in cui viene utilizzato. Pertanto, è meglio assicurarsi che il microcontrollore da selezionare per il progetto abbia il numero richiesto di porte I / O generali e speciali per il progetto.
Un'altra cosa fondamentale da tenere a mente quando si determina la quantità di pin I / O generici o speciali richiesti per un progetto, è il futuro miglioramento che può essere fatto al dispositivo e come tali miglioramenti possono influenzare il numero di pin I / O necessario.
7. Requisiti di memoria
Esistono diversi tipi di memoria associati a un microcontrollore a cui i progettisti dovrebbero prestare attenzione quando effettuano una selezione. I più importanti sono la RAM, la ROM e la EEPROM. La quantità di ciascuna di queste memorie necessaria potrebbe essere difficile da stimare fino al suo utilizzo, ma a giudicare dalla quantità di lavoro richiesta al microcontrollore, è possibile fare previsioni. Questi dispositivi di memoria sopra menzionati costituiscono la memoria dei dati e dei programmi del microcontrollore.
La memoria del programma del microcontrollore memorizza il firmware per il microcontrollore in modo che quando l'alimentazione viene scollegata dal microcontrollore, il firmware non viene perso. La quantità di memoria del programma necessaria dipende dalla quantità di dati come librerie, tabelle, file binari per immagini, ecc. Che sono necessari per il corretto funzionamento del firmware.
La memoria dati invece viene utilizzata durante il tempo di esecuzione. Tutte le variabili e i dati generati come risultato dell'elaborazione tra le altre attività durante il runtime vengono archiviati in questa memoria. Pertanto, la complessità dei calcoli che si verificheranno durante il runtime può essere utilizzata per stimare la quantità di memoria dati necessaria per il microcontrollore.
8. Dimensione del pacchetto
La dimensione del pacchetto si riferisce al fattore di forma del microcontrollore. I microcontrollori sono generalmente disponibili in pacchetti che vanno da QFP, TSSOP, SOIC a SSOP e il normale pacchetto DIP che semplifica il montaggio su breadboard per la prototipazione. È importante pianificare in anticipo la produzione e prevedere quale pacchetto sarà il migliore.
9. Consumo di energia
Questo è uno dei fattori più importanti da considerare quando si seleziona un microcontrollore, specialmente quando deve essere distribuito in un'applicazione alimentata a batteria come i dispositivi IoT in cui si desidera che il microcontrollore sia il più a bassa potenza possibile. La scheda tecnica della maggior parte dei microcontrollori contiene informazioni su diverse tecniche basate su hardware e (o) software che possono essere utilizzate per ridurre al minimo la quantità di energia consumata dal microcontrollore in diverse modalità. Assicurati che il microcontrollore che stai selezionando soddisfi i requisiti di alimentazione per il tuo progetto.
10. Supporto per microcontrollore
È importante che il microcontrollore con cui scegli di lavorare abbia un supporto sufficiente, inclusi; esempi di codice, progetti di riferimento e, se possibile, una vasta comunità online. Lavorare con un microcontrollore per la prima volta potrebbe comportare diverse sfide e avere accesso a queste risorse ti aiuterà a superarle rapidamente. Sebbene l'utilizzo dei microcontrollori più recenti a causa delle nuove fantastiche funzionalità con cui è stato fornito sia una buona cosa, è consigliabile assicurarsi che il microcontrollore sia in circolazione da almeno 3-4 mesi per garantire la maggior parte dei primi problemi che possono essere associati al microcontrollore sarebbe stato risolto poiché vari clienti avrebbero fatto molti test del microcontrollore con diverse applicazioni.
È anche importante selezionare un microcontrollore con un buon kit di valutazione, in modo da poter iniziare rapidamente a costruire prototipi e testare facilmente le funzionalità. I kit di valutazione sono un buon modo per acquisire esperienza, familiarizzare con la catena di strumenti utilizzata per lo sviluppo e risparmiare tempo durante lo sviluppo del dispositivo.
La selezione del microcontrollore giusto per un progetto, continuerà ad essere un problema, ogni progettista hardware dovrà risolverlo e mentre ci sono pochi fattori in più che possono influenzare la scelta del microcontrollore, questi fattori sopra menzionati sono i più importanti.