Parliamo della Ti LaunchPad, Development Tool della Value Line

MSP430G2_3[640x320]

Nel 2010, la Texas Instruments ha presentato una scheda di sviluppo e prototipazione basata sui microcontrollori MSP430 della serie Value Line: MSP430G2xxx LaunchPad Value Line. Il costo era poco più di 3 € e oggi possiamo averla a poco più di 7. Vediamola meglio insieme per capirne pregi e attrattive.

Come mai una scheda così potente e a così basso costo, è stata fortemente sottovalutata qui in Italia? Forse non è stata abbastanza pubblicizzata (come invece è successo per Arduino). Il vantaggio di utilizzare il LaunchPad MSP430G2xxx al posto di Arduino è che questo dispositivo costa molto meno e quindi se dobbiamo utilizzarlo per applicazioni dove Arduino risulta troppo costoso è economicamente più valida la scelta del LaunchPad. Altro vantaggio è il bassissimo consumo quindi se un progetto deve funzionare a batteria, la scelta di MSP430 è la soluzione ideale perchè renderà la vita della batteria molto più longeva. Osserveremo alcune delle caratteristiche interne degli MSP430 che ci permetteranno di scegliere il microcontrollore più adatto alle nostre esigenze.

Apriamo la confezione

All'interno troviamo 5 bustine di cui 4 antistatiche.

Nella prima busta vi è la schedina MSP430 revisione 1.5 (programmatore, debugger e scheda prototipo) che presenta già montato l'M430G2553 (Microcontrollore a 16 bit con 16 KB di memoria flash) questo dispositivo è già programmato con una applicazione demo (che vedremo in seguito).

Le dimensioni della scheda sono di appena 65 mm x 50 mm, poco meno di una carta di credito. Controllare la revisione è molto importante perchè vi è differenza, tra le varie versioni, nella disposizione dei ponticelli del programmatore (Spy by Wire).

Nella seconda busta vi è l'M430G2452 (Microcontrollore a 16 bit con 8 KB di memoria flash).

Nella terza busta vi è un Micro Crystal da 32.768 KHz (possiamo trovare informazioni qui).

Nella quarta busta vi sono due connettori a 10 pin.

Nella quinta busta vi è un cavo mini USB da 50 cm circa.

Per ultimo, un manualetto (quick start guide) e due adesivi.

On-board troviamo il chip TUSB3410 che esegue la conversione USB/seriale, a fianco troviamo ancora un chip M430F1612 preprogrammato che viene utilizzato come debugger.

Sono facili da individuare, inoltre, le piazzole per saldare un connettore a 6 pin per l'EZ430.

Microcontrollori 16 bit della serie MSP430G2xxx

Si tratta di un microcontrollore a 16 bit Ultra Low Power basato su memoria Flash ottimizzato per un basso costo. Frequenza di calcolo fino a 16 MIPS con tensioni operative da 1.8 V a 3.6 V. Memoria interna fino a 16 KB e un ampio range di periferiche intelligenti digitali. VLO (Very Low power Oscillator) e opzione di resistori pull-up pull-down su ogni I/O pin.

Ultra Low Power

  • 0.1 uA RAM retention;
  • 0.4 uA Standby mode (VLO);
  • 0.7 uA real-time clock mode;
  • 220 uA / MIPS active.

Ultra-Fast Wake-Up From Standby Mode in <1 us

Parametri

  • Flash Options: 0.5 KB  –  16 KB;
  • RAM Options: 128 B  –  512 B;
  • GPIO Options: 10, 16, 24 pins;
  • ADC Options: Slope, 10 – bit SAR;
  • Altre periferiche integrate: Analog Comparator.

MSP430 sta per Mixed Signal Controller, quindi è paragonabile ad un DSP (Digital Signal Processor), sono stati progettati con un´architettura a 16 bit RISC (Reduced Instruction Set Controller) di tipo Von Neumann,  in cui un unico spazio di memoria viene utilizzato sia per la memoria programma che per la memoria dati.

Questa architettura porta ad avere una semplicità di utilizzo tale che molti preferiscono programmare gli MSP430 in assembly. Gli MSP430 sono di una facilità di utilizzo estrema perchè hanno un set di istruzioni piuttosto ristretto, solo 27 istruzioni più 24 emulate.

Gli MSP430 integrano al loro interno molte periferiche analogiche rendendoli un'ottima scelta per applicazioni con sensori. Tra le periferiche analogiche di maggior rilievo troviamo:

  • ADC 10 bit (di tipo SAR, ovvero ad approssimazioni successive);
  • ADC 12 bit (di tipo SAR, ovvero ad approssimazioni successive);
  • ADC 16 bit (di tipo Sigma Delta, con ingressi single endedd e differenziali);
  • ADC 24 bit (di tipo Sigma Delta, con ingressi single endedd e differenziali);
  • Comparatori;
  • Amplificatori Operazionali;
  • Cap Touch (Sensori capacitivi);
  • Scan Interface (periferica simile ai moduli per encoder);
  • Transceiver RF (Modulo RX e TX per frequenze <1 GHz).

Possiamo sbizzarrirci nella programmazione, visto che è supportato da diversi tools di sviluppo che si possono scaricare liberamente (anche se le versioni free hanno qualche limitazione).

Uno dei software che ci permette di  programmare gli MSP430 della Value Line è la versione di Code Composer Studio limitata nella dimensione del codice compilabile. Infatti tale versione, seppur limitata nelle dimensioni del codice compilato, permette di ottenere codici fino a 16 KB, ovvero la dimensione massima della memoria flash disponibile negli MSP430G2xxx (Value Line) . Prima di collegare il LaunchPad è bene aver preventivamente installato l´ambiente di sviluppo Code Composer Studio. Infatti con l´installazione di Code Composer Studio vengono installati i driver necessari al LaunchPad. La pagina per scaricare Code Composer Studio la si può trovare qui 

Chi è abituato ad ambienti di sviluppo tipo IAR Embedded Workbench Kickstart, può scaricare la versione limitata qui  

Abbiamo, ancora, MSPGCC che supporta tutti i dispositivi MSP430, lavora in Windows, Linux e Mac, possiamo scaricarlo qui

Un tool di sviluppo che permette di programmare gli MSP430 grazie alla scheda LaunchPad con le stesse modalità di un comune Arduino, eredita addirittura librerie e modo di utilizzo (unica eccezione sono i pin di uscita nominati in modo diverso), è Energia ed è scaricabile qui. Il programma è identico all'IDE classico di Arduino ed utilizzandolo si nota subito che, a parte la nomenclatura dei pin di I/O, tutto il resto è per la maggior parte equivalente.

Sul sito della ti.com/launchpad possiamo, inoltre, scaricare le guide: User Guide del LaunchPad slau318d  e slau144j (e molte altre, oltre a programmi di esempio) e possiamo trovare tutte le indicazioni che ci servono per iniziare a programmare il nostro microcontrollore. Sempre nel sito della ti.com/launchpad troviamo anche un forum dedicato all'MSP430.

Mentre, per chi mastica poco l'inglese, un sito completamente in italiano (credo sia l'unico in italiano), lo potrete trovare qui; troviamo il relativo forum (molte delle informazioni che ho scritto le ho prese da questo sito e mi è doveroso un sentito ringraziamento a Mauro Laurenti che, in questo periodo sta postando un corso, completamente in italiano, in più parti proprio sugli MSP430).

Parte I     16-10-2011   MSP430: Microcontrollori Ultra Low Power;

Parte II    23-10-2011   MSP430: Strumenti per Iniziare;

Parte III   11-12-2011   MSP430: Code Composer Studio e LaunchPad;

Parte IV- 1   15-04-2012 MSP430: Architettura e periferiche Ultra Low Power (Parte 1);

Parte IV- 2   22-04-2012 MSP430: Architettura e periferiche Ultra Low Power (Parte 2);

Parte V     13-05-2012    MSP430: Hello World;

Parte VI    01-07-2012   MSP430: Utilizzo ed impostazione delle Porte I/O;

Parte VII   18-11-2012   MSP430: Il modulo di distribuzione del Clock e modalità Ultra Low Power;

Parte VIII   10-03-2013   MSP430: Le interruzioni e le modalità Ultra Low Power;

Parte IX-1   13-10-2013   MSP430: Utilizzo del Modulo Timer_A (Parte 1);

Parte IX-2   13-10-2013   MSP430: Utilizzo del Modulo Timer_A (Parte 2).

Stiamo aspettando il prosieguo del corso con impazienza (almeno io che ho iniziato da poco). Ho letto avidamente tutto il corso e, devo dire che è molto ben spiegato ed è evidente che Mauro Laurenti è una persona più che preparata. Quindi consiglio vivamente, a chi vuole intraprendere l'approccio con il launchPad, di dare una attenta occhiata a questo corso.

Colleghiamo il nostro LaunchPad

Giusto per prendere confidenza con il LaunchPad, ho installato CCS ed ho collegato il cavetto USB. Automaticamente sono stati installati i vari driver, quindi il programma demo, all'interno dell'M430G2553, si è avviato alternando l'accensione dei due Led rosso e verde, premendo poi il tasto P1_3 inizia la modalità di misurazione della temperatura.

Nella seconda parte, di questo mini-corso, vedremo come preparare in casa shield aggiuntive ed anche qualche esempio di programmazione; mi occorre solo il tempo di imparare a conoscere meglio questa (per me) fantastica scheda.

Mi permetto di consigliare alcuni link di articoli presentati sempre qui su EOS:

Programmatore AVR Atmel con LaunchPad  un esperimento presentato da Piero Boccadoro;

MSP430 Il Microcontroller a Ultra Bassa Potenza viene presentata la famiglia MSP430;

Low Power Contest   che non è altro che un test per verificare quale microcontrollore consuma meno (fra i tre provati);

MSP430 in omaggio breve presentazione della scheda da parte di Emanuele Bonanni.

Spero di aver fatto cosa gradita a molti e, di poter leggere ben presto di nuovi progetti.

 

Mario Venoso

6 Comments

  1. delfino_curioso delfino_curioso 15 novembre 2013
  2. IvanScordato Ivan Scordato 15 novembre 2013
  3. adrirobot 15 novembre 2013
  4. Marven 15 novembre 2013
  5. Andrea e Matteo 16 novembre 2013
  6. Marven 17 novembre 2013

Leave a Reply