Pagina 1 di 1

Guida alla scelta di microcontrollore.

Inviato: 17 giu 2009, 10:34
da alba
Salve, ho sintetizzato un regolatore di cui riporto la funzione di trasferimento: R(s)=[200*(s+0.005)]/s. Ora devo passare alla realizzazione tecnologica, e dunque devo scegliere il microcontrollore più adatto. Qualcuno può indicarmi il modo più corretto di procedere? L'unica cosa di cui sono certa è che mi occorre il controllore più piccolo e leggero possibile...Grazie!

Re: Guida aala scelta di microcontrollore.

Inviato: 17 giu 2009, 10:46
da Paolino
Effettuare la scelta del microcontrollore avendo come unico parametro la f.d.t. del regolatore è un po' riduttivo. Potrei dirti: utilizza un micro a 32 bit o un DSP e vai sul sicuro! Ma la scelta è analoga a quella del cannone per far secche le mosche, se non motivata da altro! Se il regolatore agisce su un processo lento può darsi che un DSP sia sprecato, ma magari hai bisogno di 16bit (e non 32) nel caso di utilizzo di variabili tipo int e non long int... Viceversa, un 32 bit potrebbe toglierti diverse castagne dal fuoco. Nel caso di calcoli in virgola mobile (magari con filtri digitali), l'opzione DSP è da considerare come la prima tra tutte!

E poi: che taglio di memoria hai bisogno per la tua applicazione? Il controllo è fortemente real-time? Hai bisogno di periferiche particolari tipo CANBUS, I2C, DAC,ecc. ?

Tra i microcontrollori puoi scegliere tra le seguenti Case: Microchip, Renesas, Fujitsu, Texas Instruments, Freescale solo per citarne alcune. L'offerta a 16 bit è ampia e molti costruttori ti danno anche micro con core DSP.

Ciao.

Paolo.

Re: Guida aala scelta di microcontrollore.

Inviato: 17 giu 2009, 12:49
da alba
Prima di tutto..grazie Paolo per avermi risposto! vediamo se ho capito quello che mi hai detto..
Il mio scopo è controllare la saturazione di ossigeno nel sangue..dunque direi ke necessito di un controllore real-time: per questo mi serve una periferica particolare tipo quelle che mi hai elencato.
poi..i valori sono tutti decimali (il valore di riferimento è 0.12 l O2/l sangue) e dunque necessito di 32 bit con opzione DSP! Sono sulla giusta strada? Grazie, è la prima volta che leggo qualcosa i comprensibile a riguardo..

Re: Guida alla scelta di microcontrollore.

Inviato: 17 giu 2009, 13:49
da Paolino
Alba,
vediamo di focalizzare la cosa. L'applicazione è real-time, ok. Ma, correggimi se sbaglio (i miei ricordi di bioingegneria sono un po' arrugginiti), la velocità di saturazione di O2 nel sangue non è così spinta; credo che un periodo di campionamento delle variabili di stato pari a qualche millisecondo potrebbe essere ancora abbondante.
Il fatto di avere dei valori decimali non è stringente per la scelta di un DSP (che fa calcoli in floating point) in quanto puoi tranquillamente tramutare il tuo dato in int o long int e gestirlo come valore intero.

Il mo consiglio in definitiva è questo: personalmente punterei su una struttura a 16 bit e in seconda battuta valuterei (sulla base degli algoritmi da far girare) l'opzione DSP. Microchip produce dei validi microcontrollori a 16 bit, i PIC24, che condividono la medesima struttura dei dsPIC ma a differenza di questi ultimi i PIC24 non hanno il core DSP. Inoltre ciò che li accomuna è che il codice scritto in C per i PIC24 è portabile su dsPIC! Quindi potresti iniziare con quelli e poi eventualmente migrare. Inoltre per i PIC24/dsPIC è disponibile un buon compilatore C fatto da Microchip (C30 è il nome del compilatore) a un costo ragionevole. Direi NULLO per scopi didattici!

Ovviamente Microchip è una delle tante possibili scelte. Ti invito a valutare anche quello che possono offrire altri Costruttori di microcontrollori.

Ciao.

Paolo.