Programmazione in-circuit con il LaunchPad di Texas Instruments

La famiglia di microcontroller a 16 bit MSP430 di Texas Instruments fu introdotta nel 1992. Per contestualizzare, quando fu lanciato il viaggio inaugurale dello Space Shuttle Endeavor e Microsoft introdusse Windows 3.1, era Presidente degli Stati Uniti George H. W. Bush. Inutile dire che MSP430 è stato un microcontroller longevo con un pedigree di tutto rispetto. È stato progettato come microcontroller a segnale misto, a basso consumo, a 16 bit per dispositivi embedded, ed è stato utilizzato in innumerevoli prodotti nel corso degli anni.

Dal 1992 al 2017, ho avuto il mio primo incontro con la serie MSP430, mentre lavoravo a un progetto nel mio laboratorio. Alla fine ho scelto MSP430G2553IPW20 (Figura 1), grazie al suo basso costo, al consumo energetico contenuto e all'ampia gamma di funzionalità, tra cui convertitori analogico/digitali (ADC) e timer multipli, prestazioni a 16 MHz, il gran numero di pin di ingresso/uscita per uso generale (GPIO), il ricevitore/trasmettitore asincrono universale (UART), l'interfaccia periferica seriale (SPI) e le comunicazioni a circuito integrato (I²C).

Figura 1: Diagramma a blocchi funzionali di MSP430G2553IPW20 che mostra molte delle sue capacità. (Immagine per gentile concessione di Texas Instruments)

Ma se devo essere sincero, la mia tentazione iniziale di usarlo è dovuta al fatto che diversi anni prima avevo acquistato un kit LaunchPad MSP-EXP430G2 di Texas Instruments (ora obsoleto), che forniva un emulatore/programmatore per MSP430G2553. Il kit era rimasto a prendere polvere nel mio laboratorio e ho pensato che avrei dovuto almeno fare una prova.

Non sono rimasto deluso! Sono stato accusato di essere un fan di Texas Instruments, ma ho trovato MSP430G2553IPW20 abbastanza potente e facile da capire (anche se la guida utente è di oltre 700 pagine!).

Utilizzando il LaunchPad e l'ambiente di sviluppo integrato (IDE) gratuito Code Composer Studio di Texas Instruments, ho creato il firmware per il mio prodotto in pochissimo tempo. Esiste anche un IDE open-source chiamato Energia che supporta la linea di prodotti MSP430. Energia offre un ambiente di sviluppo molto simile a quello dell'IDE Arduino e altrettanto intuitivo.

Anche se ho imparato a programmare MSP430G2553 con il LaunchPad MSP-EXP430G2 (quello obsoleto), da allora sono passato a MSP-EXP430G2ET (Figura 2). A parte il cambiamento dell'interfaccia USB da USB Mini a USB Micro, l'aggiunta di una sorgente a 5 V e di perni ideali per il supporto sul banco, i due programmatori sono praticamente identici. Entrambi hanno una basetta a 20 pin, in un contenitore dual-in-line (DIP) per il microcontroller MSP430G2553, ed entrambi supportano i dispositivi MSP430G2xx2, MSP430G2xx3 e MSP430F20xx in contenitori 14-DIP o 20-DIP.

Figura 2: Il LaunchPad MSP-EXP430G2ET semplifica la programmazione dei microcontroller MSP430 (Immagine per gentile concessione di Texas Instruments)

Utilizzare MSP430G2ET come programmatore in-circuit

Sebbene il programmatore MSP-EXP430G2ET sia abbastanza facile da usare per programmare un microcontroller posto sulla basetta DIP su scheda, può anche essere utilizzato come programmatore in-circuit. Texas Instruments ha sviluppato un protocollo specifico per MSP430 chiamato Spy-Bi-Wire (SBW). SBW è un'implementazione a due fili del protocollo Joint Test Action Group (JTAG). I due pin associati al protocollo SBW sul LaunchPad MSP-EXP430G2ET sono i pin RST e TEST.

Per un progetto che utilizza una qualsiasi delle famiglie MSP430 supportate di cui sopra, ci si può avvalere di MSP-EXP430G2ET per la programmazione in-circuit collegando Vcc, RST, TEST e GND (pin 1, 16, 17 e 20 sui dispositivi MSP430G2x13 e MSP430G2x53, a 20 pin) dal programmatore a una basetta esposta del progetto (Figura 3). Se il progetto è autoalimentato, il collegamento Vcc non è necessario.

Il pin RST viene portato su ALTO quando si programma MSP430, quindi consiglio di inserire un resistore da 4,7 kΩ in serie per limitare l'assorbimento di corrente. Ho utilizzato questo approccio SBW per centinaia di miei prodotti e ha funzionato alla perfezione.

Figura 3: MSP-EXP430G2ET può essere utilizzato come programmatore in-circuit collegandolo a una basetta MSP430 sul progetto. (Immagine per gentile concessione di Doug Peters)

Conclusione

Data la sua età, la serie MSP430G2xx2 potrebbe essere considerata obsoleta in alcuni ambienti, ma non va trascurata. Ha capacità in abbondanza e decenni di utilizzo sicuro e comprovato sul campo. Il supporto online è enorme ed è possibile usufruire di centinaia di esempi per risolvere qualsiasi problema. Procuratevi il LaunchPad MSP-EXP430G2ET e avrete anche un ottimo programmatore in-circuit.

Informazioni su questo autore

Image of Doug Peters

Doug Peters is the Founder of Bluebird Labs, LLC in Eden Prairie, MN. He has a B.S. degree in Electrical Engineering from Northeastern University in Boston, MA and an M.S. certificate in Applied Statistics, from Penn State University. He worked for 10 years at GE in Telematics and worked at NeXT computer as a systems engineer many, many years ago. You can reach him at dpeters@bluebird-labs.com.

More posts by Doug Peters
 TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum