Recensione SpYder Kit USB Freescale

Freescale SpyderKIT USB

Recensione dello starterkit Freescale Spyder USB. Permette di sviluppare subito con i microcontrollori di fascia bassa della Freescale. Praticamente un tool di sviluppo in una chiavetta USB.

Il kit SpYder USB Freescale contiene:

1 un CD-ROM contente:

- CodeWarrior Development Studio for HC(S)08

- SofTec Microsystem Additional Components

- Manuale utente ed altri documenti

- 1 SpYder Stick USB

Spyder Kit USB Freescale: Caratteristiche generali

Il kit prodotto dalla SofTec Microsystems offre, nell’ingombro di una chiavetta usb, un programmatore-debugger per microcontrollori targati Freescale.

All’interno dello stick troviamo, predisposto su un zoccolo a 8 pin, un M9S8QG4 DIP da programmare. Le porte del microcontroller sono accessibili tramite 8 comodi pin e nel finale della pennetta troviamo il connettore BDM.

usb spyder freescale

Installazione del kit Spyder USB Freescale

Dal sito della Freescale scarichiamo ed installiamo il software CodeWarrior for Microcontrollers HC(S)08 V6.3 (la versione del kit risulta obsoleta).

Ora avviamo il cd-rom del kit e nella schermata principale clicchiamo su “Install USBSYPDER08 additional components (v. 1.02)”. Installiamo il software seguendo le istruzioni a video.

software spyder kit freescale

Connettiamo ora la “SpYder pennetta” al computer tramite una porta USB. Il software installato in precedenza renderà l’operazione di riconoscimento da parte di Windows automatica.

 

Prima applicazione

Come prima applicazione faremo in modo che il microcontrollore M9S8QG4 accenda e spenga un LED.

Dallo schema circuitale vediamo che è disponibile un led smd connesso alla porta PTA0 (pin 8) del micro.

Avviamo CodeWarrior e clicchiamo su “Create New Project”.

Nella schermate seguente clicchiamo su HCS08 -> HCS08Q Family -> MC9S08QG4  e nel riquadro “Connections” evidenziamo “SofTec HCS08″ poi Avanti.

In “Project Parameters” spuntiamo solo il linguaggio “C” e clicchiamo Avanti.

Nella schermata successiva clicchiamo Avanti, scegliamo poi “Processor Expert” da “Rapid Application Development Options” e clicchiamo su Fine.

Ora dovremo selezionare dalla finestra “Select CPUs” l’MC9S08QG4CPA 8-pins PDIP come in figura e clicchiamo OK.

Nella finestra successiva flagghiamo solo l’opzione “Release” e andiamo avanti.

Ora abbiamo davanti a noi il programma pronto per la scrittura del firmware, la compilazione e la programmazione sul dispositivo.

Nella parte di destra (in alto) della schermata abbiamo il nostro chip interattivo, ovvero è possibile scegliere direttamente le funzionalità che vogliamo dai diversi pin o dalla struttura centrale della CPU. Ad esempio possiamo notare sui piedini 3-4 i simboli di alimentazione.

In basso a destra abbiamo invece tutti i componenti del micro da utilizzare direttamente nel codice C.

Nella parte centrale troviamo il “Component Inspector”. Questa finestra visualizza le impostazioni degli oggetti creati collegati con le funzionalità del micro. Ora, essendoci solo l’oggetto CPU creato in automatico, troviamo le impostazioni base di clock, power mode ecc ecc.

A sinistra invece troviamo un riepilogo di tutti gli oggetti e file creati.

 

Ora impostiamo il pin 8 PTA0 come pin di output. Spostiamoci in “Components Library”, nel Tab “On-Chip Prph” scegliamo “I/O port: PTA” e clicchiamo due volte su “BitI0″.

A sinistra troviamo ora il componente appena aggiunto “Bit1:BitI0″, cliccandoci una solo volta il Component Inspector visualizzerà le opzioni di questo oggetto. Configuriamo il tutto come nell’immagine sottostante.

Inoltre abbiamo attivato il metodo “NegVal” (negato dell’uscita). 

Ora dal “Component Library” clicchiamo due volte su “TimerInt” dalla cartella “Timer: TPM”. Si tratta di un oggetto collegabile con i timer interni al micro.

Configuriamo il timer nel “Component Inspector”. Clicchiamo su “Interrupt period” e nella finestra che si aprirà selezioniamo la cifra che ci indica ogni quanto tempo il timer si porterà nella condizione di “overflow” facendo attivate l’interrupt nel microcontroller. Per ora scegliamo “524.288ms”, ovvero il led rimarrà mezzo secondo accesso e mezzo secondo spento.

Per creare tutte queste routine in automatico dobbiamo cliccare Processor Expert -> Generate Code. Una volta che si è conclusa l’operazione clicchiamo due volte su “Events.c:event” nella porzione di sinistra. Ci troveremo davanti finalmente il codice C con già impostato l’interrupt di overflow del timer:

 

void TI1_OnInterrupt(void) { }

 

Espandiamo l’oggetto “LedPTA0:BitI0″ e trasciniamo il metodo “NegVal” tra le parentesi graffe dell’interrupt e come risultato avremo questo:

 

void TI1_OnInterrupt(void){ LedPTA0_NegVal(); }

 

Così ogni 500ms il micro negherà l’uscita logica del pin PTA0.

Per caricare il codice appena creato nel micro dobbiamo cliccare su “Debug” (l’icona con una freccia verde ed un insetto) e nella finestra successiva Connettiamo il programmatore tramite l’apposito tasto.

A fine programmazione CodeWarrior ci restituirà il seguente messaggio “Lost communication with the target device.”, clicchiamo su OK, chiudiamo questa finestra di debug, stacchiamo e riattacchiamo la chiavetta SpYder dalla porta USB (dopo la programmazione serve un reset per far partire il firmware interno).

Ora possiamo notare come il led rosso rimanga acceso per 500ms e spento per ulteriori 500ms.

Modificando quindi il valore “Interrupt period” del timer, possiamo creare diverse frequenze di on-off da inviare al led.

Apriamo di nuovo  il “Component Inspector” del timer e clicchiamo due volte su “Interrupt period”. Questa volta scegliamo come periodo 1000 ms. Attiviamo, inoltre, il metodo “PutVal” del LedPTA0.

Il metodo PutVal() porta l’uscita del pin output a livello logico 0 con False (o 0) come argomento o a livello logico 1 con True (o 1).  

Cambiamo il file Events in questo modo:

const bool hello[] = { 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0};

int i = 0;

TI1_OnInterrupt(void){ LedPTA0_PutVal(hello[i]);

if ( i<sizeof(hello) ) { i++; }  

else { i = 0; }   }

 

Il led così riprodurrà in codice morse la parola Hello all’infinito. Ogni valore dell’array hello viene riprodotto per 1000 ms dando così un vero e proprio ritmo al codice.

A differenza di molte altre soluzioni per la programmazione il software CodeWarrior permette di configurare in modo semplice, avanzato e totale qualsiasi aspetto del microcontroller che si sta utilizzando. Molto utile è infatti la presenza di strumenti interrativi che aiutano i principianti e velocizzano il lavoro dei professionisti.

Il programmatore e debugger SpYder permette di essere subito operativi senza noiose installazioni su porta COM. Il microcontrollore che troviamo all’interno permette di provare nell’immediato i nostri progetti, visibili dall’esterno anche tramite l’utilissimo led rosso. Il connettore BDM posto nel finale della chiavetta rende questo tool universale.

Punto di forza di SpYder è il prezzo. Lo possiamo trovare infatti in vendita a circa 30€. 

I prodotti Freescale sono disponibili da Farnell

2 Comments

  1. Paul78 23 luglio 2011
  2. Paul78 23 luglio 2011

Leave a Reply