Un kit di sviluppo a basso costo per valutare prestazioni e caratteristiche dei micro AVR Xmega presentato negli anni passati.
XMEGA A1 è la famiglia di microcontrollori a bassa dissipazione di potenza recentemente introdotta da Atmel. Realizzati nella tecnologia nonvolatile ad alta densità messa a punto da Atmel, i dispositivi sono basati sulla nota architettura AVR con CPU RISC a 8/16 bit, struttura Harvard ed un insieme completo di periferiche standard. Assicurano così elevata capacità di calcolo (fino a 1MHZ/Mips) ma ridotto assorbimento di corrente (20 mA ad una frequenza di clock di 30 MHz e con alimentazione di 3.3V), supportando diverse modalità di power save configurabili mediante software. La CPU implementa un insieme completo di istruzioni, uno spazio di indirizzamento lineare diviso in SRAM e registri di I/O, un insieme di 32 registri generici connessi direttamente all’ALU. E’ supportata la riprogrammazione in-circuit mediante porta TDI, JTAG o boot-loader. La catena di compilazione è la stessa dei dispositivi megaAVR; l’applicativo può essere compilato mediante l’Embedded Workbench AVR compiler di IAR (versione 5.x) o la versione open-source GCC WinAVR (revision 20080610 o successiva) inclusa in AVR Studio. I micro XMEGA A1 si presentano così come una soluzione flessibile e competitiva (anche dal punto di vista dei costi) per molte applicazioni embedded. La figura 1 riporta uno schema a blocchi dell’architettura dei dispositivi; le caratteristiche principali sono riassunte nel riquadro di approfondimento. Esempi di riferimento per l’utilizzo delle diverse periferiche a bordo del microcontrollore nelle più comuni applicazioni sono inoltre disponibili direttamente sul sito web di Atmel [2].
XPLAIN: UN KIT DI VALUTAZIONE PER XMEGA
Per valutare prestazioni e caratteristiche dei micro XMEGA, Atmel rende disponibile un interessante kit di sviluppo denominato Xplain (figura 2).
Xplain include un microcontrollore ATxmega128A1, una memoria flash Atmel AT45DB642D ed una memoria SDRAM Micron MT48LC16M4A2TG entrambe di capacità 64 Mbit. La flash è di tipo seriale con interfaccia RapidS compatibile con le modalità 0 e 3 del protocollo SPI e connessa alla porta UARTC1 del micro che può operare in modalità master su tale bus. Il micro accede invece alla SDRAM mediante la porta EBI (External Bus Interface), l’interfaccia per la connessione di periferiche esterne come memorie, display LCD od, in generale, dispositivi memory-mapped. Gli ingressi dell’ADC dell’XMEGA (4 ingressi, 12 bit di risoluzione e fino a 2 Msps di frequenza di campionamento) sono connessi ad un termistore NTC, così da poter effettuare misure di temperatura, e ad un potenziometro. L’uscita analogica (12 bit di risoluzione, 1 Msps di frequenza di conversione, calibrazione built-in per offset e guadagno) è connessa invece ad un amplificatore audio mono da 1 W della serie TPA0253 in grado di pilotare speaker con resistenza fino a 8Ù. Sono disponibili poi 8 pulsati ed 8 LED connessi direttamente alle porte di I/O dell’XMEGA, mentre altrettante linee digitali ed analogiche sono portate su due header a 10-pin. Sono così accessibili direttamente dall’esterno alcune delle principali periferiche del microcontrollore come l’USART o le porte SPI e TWI. La scheda dispone, inoltre, di un microcontrollore AVR AT90USB1287 con controller Host/Device integrato per porta USB 2.0 che funziona come gateway di comunicazione e come programmatore per l’XMEGA. Una delle porte UART dell’ XMEGA è infatti direttamente connessa all’ AT90USB1287 che implementa così un bridge UART-to-USB per la connessione dell’XMEGA ad un PC remoto mediante porta USB. Sia l’XMEGA che l’AT90USB1287 possono essere ri-programmati in circuit; è, ad esempio, supportato il tool JTAG ICE che consente pure il debug a livello sorgente dell’applicativo utente. L’AT90USB1287 dispone poi di bootloader così da poter essere programmato direttamente dalla porta USB tramite FLIP (FLexible In-System Programmer), il software proprietario Atmel disponibile come plugin sotto AVR Studio. La programmazione diretta dell’ AT90USB1287 non è consigliata per evitare di cancellare il bootloader presente. Il kit Xplain viene fornito con un’applicazione di esempio già programmata a bordo dell’XMEGA; il microcontrollore riproduce differenti suoni a seconda dei pulsanti che vengono premuti. XPlain può essere alimentato mediante la porta USB direttamente dal PC host cui è connesso o tramite un adattatore di rete AC/DC fornito a corredo. E’ interessante notare come i progettisti della scheda abbiamo connesso il piano di alimentazione dell’XMEGA alla linea di alimentazione sulla scheda a 3.3V mediante un resistore che può facilmente essere sostituito con uno shunt così da consentire di misurare, nella particolare applicazione, la dissipazione di potenza del microcontrollore. Quando il kit è alimentato mediante l’adattatore di rete, l’AT90USB1287 non viene enumerato sulla rete USB ed opera in modalità loop-back. La scheda Xplain è correntemente disponibili a stock presso i principali distributori e può essere acquistata direttamente on-line ad un costo inferiore ai 30 dollari.
Buona giornata a tutti,
vorrei sapere se qualcuno e’ a conoscenza che si possano programmare alcuni tipi di Atxmega , tra cui quello elencato nell’articolo in modalita’ wiring (Arduino ).
Ho trovato in rete uno Zip denominato : Xmega-Arduino_master , che implementa il core per alcuni Xmega.
Ho provato ad inserirlo nel percorso : C:\Program Files (x86)\Arduino\hardware e aprendo l’IDE di Arduino ora vedo le board_virtuali inserite insieme alle altre , Ex: Xplain , Akafuino ecc , le quali fanno riferimento ad un particolare Atxmega.
Ad esempio Xplain si riferisce alla cpu ATXmega128A1. ecc.
Se selezione la board interessata e compilo un programma di prova con l’IDE arduino mi segnala un errore.
Siccome sto provando l’ambiente di Visual_Micro con Atmel_Studio_7 e a parte un problema che avevo riscontrato con l’uso della seriale ( e che ho segnalato nel Post del vecchio articolo che avete pubblicato tempo fa : Arduino_Sviluppo_SW_con_Atmel_studio ) mi sembra che funzioni bene, ho provato ad inserire la scheda Xplain che ora compare nella list e di default nella casella apposita trovo la cpu Atxmega128A1.
Lanciando la compilazione o forse meglio lo Start_Wthout_debuggin (Freccia_verde) mi viene
segnalato alla fine : Uploader_return_an_error , non ho collegato nessuna scheda.
Andando poi a vedere nella cartellasotto documenti di Atmel_studio_7 , sotto nome_progetto (EX: Prova ) e successivamente nella cartella Debug, mi ritrovo i vari file .Hex generati.
Qualcuno puo’ dirmi se e’ possibile che si possano caricare nel micro e che funzioni ?
Il problema che avrei e’ questo , e’ possibile programmare il micro in modalita’ SPI tramite programmatore e come si impostano i fuse ?
Grazie se qualcuno puo’ rispondermi
Maurizio