La partecipazione a Review4U mi ha dato la possibilitá di conoscere questa schedina di sviluppo. Qui descrivo il primo approccio con questo prodotto, uno sguardo generale ed esplorativo, indispensabile per inquadrarne caratteristiche e potenzialitá da sfruttare nella futura realizzazione di progetti con questa board :
La XL_STAR é una scheda di sviluppo nata dalla collaborazione di Element14 e Freescale.
Poco piú di 6 centimetri per 8 racchiudono un ambiente di sviluppo completo, flessibile e a basso costo. In una singola scheda sono infatti contenuti:
- un Microcontrollore 8-bit, Freescale HCS08 MM128 MCU (128 Kb di Flash , 12 Kb di RAM, un processore configurabile oltre i 48 Mhz);
- un accelerometro a tre assi Freescale MMA8451Q;
- un debugger integrato gestito da un ulteriore microcontroller 8-bit, Freescale MC9S08JM60;
- un caricabatterie per batterie a bottone agli ioni di litio;
- due porte USB, una per applicativi ed una per il debugging.
La confezione é abbastanza completa: oltre alla scheda (insacchettata e ben protetta con della gomma piuma), contiene anche un cavetto USB per il collegamento al pc e debugging e il CD con CodeWarrior IDE, ambiente di sviluppo fornito dalla Freescale per la programmazione ed alcuni esempi.
Ad un primo sguardo la scheda appare compatta e pulita, colpisce subito una sorta di grosso asterisco a 7 punte formato da LED smd, sono collegati con l'accelerometro, permettono di verificare visivamente la reattivitá e la precisione del componente integrato sulla scheda.
Vediamo piú in dettaglio il layout della scheda: partendo da sinistra troviamo subito una porta USB, (é la porta preposta alle applicazioni USB, quella per il debugging si trova sul lato inferiore), un interruttore per l'attivazione dell'alimentazione da batteria (anch'essa posta sul lato inferiore), tre pulsanti in linea, una serie di LED smd che indicano le impostazioni selezionate con i pulsanti, il microcontrollore, l'accelerometro, due file da 32 contatti (alimentazioni, GPIO, ground) senza piedini.
L' accelerometro é il componente che puó essere testato immediatamente grazie al programma DEMO giá caricato in memoria. I tre pulsanti in linea visti prima servono proprio ad impostare la sensibilitá del componente, l'accuratezza (8-14bit) e la modalitá.
Le modalitá sono 5 cosí denominate:
- Orientation: rileva e rappresenta con i led l'inclinazione della scheda;
- Shake: muovendo la scheda in qualsiasi direzione i led indicano la direzione verso cui il movimento é iniziato;
- Tap: in questo caso il device rileva gli urti, anche un minimo tocco sulla scheda causa l'accensione dei led che indicano non solo l'urto avvenuto ma anche la sua intensitá;
- Freefal: é possibile provare a far cadere la scheda da qualche centimetro di altezza e verificare che essa rilevi l'accelerazione della caduta libera;
- Transient: da uno stato di quiete la scheda rileva anche il minimo movimento;
Nelle prove l'accelerometro si é rivelato estremamente sensibile, preciso e reattivo, e devo dire che si presta a molteplici impieghi.
Il lato programmazione é forse, almeno dal mio punto di vista, la nota dolente del prodotto. Il software fornito, il “CodeWarrior IDE Special Editions” é un ambiente completo per lo sviluppo di codice (C e C++), debugging, compilazione, upload, direi un ottimo prodotto insomma. Purtroppo gira solo su Windows, ho provato ad installarlo su Linux con l'aiuto di Wine ma nulla da fare, proveró in futuro virtualizzando una copia di Windows.
La versione “Special Edition”, non necessita di licenza o registrazione, non ha limiti di tempo ma ha una limitazione in termini di dimensione del codice, 64KB, recentemente incrementati nell'ultima versione dai 32KB della versione precedente.
64KB non sono pochi, sicuramente coprono abbondantemente la maggior parte delle possibili applicazioni che possono essere scritte per la scheda ma, e qui mi inchino a chi sicuramente ne sa piú di me, ho alcuni dubbi che la dimensione cominci ad essere ristretta nel caso si voglia programmare in C++ e si faccia un serio uso di classi.
Freescale mette a disposizione anche un'estensione per Eclipse, ció permetterebbe di utilizzare la scheda anche sotto Linux, ma le restrizioni rimangono . Se si necessita di compilare codice piú pesante di 64KB si é costretti ad acquistare la licenza che, nella versione “Basic”, puó essere annuale o a tempo indeterminato, per un singolo pc o piú, per Windows o Linux; a seconda della configurazione scelta si va dai 195 a 995 Dollari USA.
Per chi volesse conoscere meglio CodeWarrior vi segnalo che anni fa Emanuele ne ha fatto una bella recensione che puó essere trovata qui.
In conclusione, La XL_STAR é un' ottima scheda di sviluppo, é versatile e offre molto; é distribuita in esclusiva da Farnell a 33,80€ + IVA, la batteria non é compresa nella confezione, ma si puó acquistare, sempre da Farnell a 4,70 + IVA. E' ovvio che se paragonata ad Arduino UNO non sembra certo a buon mercato, ma bisogna dire che effettivamente offre molto di piú, sia dal lato hardware che dal lato software, ampliando molto, rispetto ad Arduino, i campi di utilizzo.
Un saluto e alla prossima!

Scusa una domanda ma la scheda è dotata di un RTC?
Quali pensi possano essere le applicazioni migliori per questa scheda?
La userai per farci qualcos’altro?
Ciao Antonello e buona domenica..
Rispondo in ordine alle tue domande:
– La scheda é dotata di un RTC, di un DAC e un SPI.
– I campi di utilizzo sono molti, é una schedina veramente ben fatta e potresti utilizzarla in campo professionale senza problemi. Non sottovalutare l’accelerometro, é preciso e sensibile, ed amplia di molto le applicazioni possibili. Prorpio per questo penso che la naturale inclinazione di questo prodotto sia rivolta proprio a situazioni di stretta sinergia tra il microcontrollore e l’accelerometro. Per farti un esempio pratico, puoi rilevare un’inclinazione e controllare un movimento di raddrizzamento, o potresti rilevare movimento da uno stato di quiete e programmare una determinata reazione.
– La useró sicuramente, per ora l’ho solo provata limitandomi al semplice getting started, pensavo di fare un iclinometro digitale per l’auto (io giro con un fuoristrada russo) ma ho molte perplessitá sulla questione riguardante i 64K di limitazione del codice. Vedremo cosa salterá fuori, per ora mi sto accupando anche di un’altra scheda, frutto di un altro Review4U 🙂 :-), presto potrai leggere la recensione anche di quella 🙂 !
Ciao
Lo considererò già in scaletta allora 🙂
Buon lavoro 🙂
Comunque, già che ci sei, perchè non dici quale RTC?
Penso sarà la prossima domanda che ti verrà fatta (non per niente, è la più logica… ) :p
Ciao Piero, la XL_star monta un cristallo da 32.768 kHz collegato alle porte PTB2 e PTB3.
Puó essere utilizzato per scandire il tempo configurando le suddette porte come ingressi oscillatore.
In effetti piú che un RTC sarebbe meglio definirlo come TOD (Time of Day), un interrupt periodico che necessita di essere servito da un ISR (interrupt service runtime).
Il periodo di interrupt puó essere standard, 0,25 secondi, di 1 secondo o customizzato.
Non ci sono particolari registri di clock da aggiornare, il mantenimento del tempo é regolato a livello software.
Spero di aver risposto esaustivamente anche perché oltre, devo essere sincero, non saprei andare. Non dimenticare che sono un principiante, per voi ingegneri é come bere un bicchier d’acqua, per me é giá come fare un viaggio su Marte 🙂 :-).
A tal proposito vorrei fare una precisazione a beneficio di tutti i principianti come me… Non fate l’errore di pensare a questa board come ad un Arduino con in piú l’accelerometro. Niente di piú sbagliato!!
Ultimamente si parla molto di microcontrollori a 32-bit e forse qualche principiante potrebbe essere indotto a pensare che nel mondo degli 8-bit siano tutti come Arduino, dove con poche righe di codice semplificato, magari preso da internet o da qualche rivista, si possono accendere luci, azionare servo, utilizzare displays ecc. Non é cosí! Questa scheda, e tutte le altre simili, possono essere molto potenti e versatili, ma presuppongono una seria pianificazione di tutte le funzioni che dovranno essere svolte, uno studio approfondito del datasheet, e una ottima conoscenza del linguaggio C. Per farla breve, vogliono un approccio professionale.
Con questo non voglio spaventare nessuno, penso comunque che per chi inizia sia meglio sapere in partenza il percorso che dovrá affrontare per raggiungere al meglio il risultato voluto.
Piero metti pure il progetto in scaletta, ma per quanto detto sopra ricordati che il principiante ha bisogno di……Tempo……..! 🙂 🙂
Ciao!
hai ragione, arduino è tutto un altro mondo rispetto ai microcontrollori nudi e crudi. Bisogna impararsi bene architettura, periferiche e interrupt dei chip che si stanno usando e prepararsi a settare un bel po’ di registri a mano. Io preferisco usare gli ARM visto che ce ne sono a iosa per tutti i gusti e applicazioni. ad esempio amo tantissimo il mcu STM32F303 che ha degli ottimi convertitori A/D e quattro opamp matched con tutti i pin a disposizione. Per raccogliere e trattare dati analogici è proprio bellino viste anche le istruzioni da DSP. Al dettaglio il chip costa circa 7,7€ ma con un euro in più ci si porta a casa la demo board STM32F3DISCOVERY (simile a quella dell’articolo ma con in più anche giroscopio e magnetometro) che però ha bisogno di essere alimentata tramite USB (alla Freescale hanno fatto la furbata di metterci una batteria a bottone che non sarebbe stato niente male sulla board ST). Se invece non si ha bisogno di parlare col mondo analogico allora ci sono i fratelloni, gli STM32F4, che vanno a frequenze molto alte per essere dei microcontrollori.
Io sono uno studente di ingegneria elettronica al politecnico di torino e lì usiamo una demo board TOWER della Freescale ma devo dire che non vale i soldi che costa (circa 80€ senza espansioni), la ST, dall’alto dei suoi 8,8€ è molto meglio IMHO. Poi de gustibus non disputandum est ;D
Ciao Kbowser, io ho vinto una STM32F4 ad un Review4U, ne uscirá presto la recensione.
Volevo chiederti consiglio in merito a qualche testo per approfondire i microcontrollori.
Io sono un autodidatta, leggo e studio quello che trovo in rete ma molte volte non riesco a capire parti della materia che necessitano di un approccio didattico/scolastico che spesso fornisce la base di tutto. All’universitá come affrontate questi argomenti? Avete dei testi o delle dispense? Esiste un libro che spieghi le basi dei microcontrollori? La loro struttura, il loro funzionamento e soprattutto il giusto metodo per la loro programmazione?
Grazie Ciao!
Il mio professore di Elettronica dei Sistemi Digitali, Maurizio Zamboni, divide il suo corso in due metà: la prima incentrata su FPGA e VHDL con l’obiettivo di arrivare a progettare un’ASM (algorithmic state machine). Se non sai cos’è ti consiglio di cercare qualcosa su internet perché i processori e i controllori sono delle gigantesche ASM. La seconda parte del corso è incentrata sui microcontrollori (soprattutto i freescale) e, in particolare, in una slide introduttiva riporta questo:
“W. Valvano, “Introduction to Embedded Systems – Real Time interfacing – CENGAGE learning (very good text to be considered as a reference text in the Microcontrollers world!!!)”
Io personalmente non l’ho ancora usato questo testo ma se un professore esperto come Zamboni lo considera come testo di riferimento assoluto direi che è affidabilissima come fonte.
Grazie Kbowser, consiglio molto prezioso….