====== XMEGA-A3BU Xplained ======
{{:xmega-a3bu_xplained_kit.jpg?400|}}
===== Caractéristiques =====
* [[Microcontrôleur]] [[ATxmega256]] A3BU
* Horloge temps réel avec une pile de sauvegarde
* Afficheur LCD 128x32 pixels
* Capteur de température via l'ADC
* Capteur de luminosité via l'ADC
* Bouton tactile
* Mémoire flash de 64Mbits
* 3 boutons
* Programmation via [[Bootloader]] ou [[JTAG]]
* 4 LED
===== Projet Demo =====
Démarrer AVR Studio et faire File -> Exemple Project ...\\
Dans Device Familly, selectionner XMEGA et dans Kit, selectionner XMEGA A3BU Xplained et pour finir selectionner le projet : XMEGA-A3BU Xplained demo application\\
{{::xmega-a3bu_demo_project.png?800|}}
Compiler le projet.
===== 1er Projet ASF =====
ASF est un framwork developpé pour facilité le développement de vos applications. Nous allons utiliser ce Framework pour notre 1er programme.\\
Aller dans File -> New -> Project GCC ASF Board Project\\
{{:avr_studio_new_project.png?500|}}\\
Entrer le nom de votre projet et sélectionner la carte de développement XMEGA-A3BU.
Vous pouvez voir dans le fichier main.c une fonction
board_init();
qui va configurer les entrées/sorties de votre carte.
Vous pouvez faire un clic droit sur cette fonction et Goto implementation pour voir le détail du parametrage.
On peut voir que les premieres lignes parametre les sorties LED
ioport_configure_pin(LED0_GPIO, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH);
ioport_configure_pin(LED1_GPIO, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH);
la fonction **ioport_configure_pin** est une fonction de la librairie **ioport.h** du Framework ASF\\
Vous trouverez tous les détails de cette librairie sur [[http://asf.atmel.com/docs/latest/xmegab/html/ioport_quickstart.html|le site ASF d'ATMEL]] ainsi que les manuels d'utilisation des autres librairies.
Nous allons faire simplement clignoter la LED0 et la LED1. Pour cela, nous allons avoir besoin d'une autre librairie de l'ASF. Pour l'intégrer dans votre projet, cliquer sur ASF -> ASF Wizard
{{::avr_studio_asf_delay.png?800|}}
Sélectionner la librairie Delay et cliquer sur Add pour l'intégrer à votre projet.
Retourner dans le fichier main.c et écrivez le code suivant :
int main (void)
{
// Insert system clock initialization code here (sysclk_init()).
board_init();
// Insert application code here, after the board has been initialized.
ioport_set_pin_level(LED0, 0); //Eteint la LED0
ioport_set_pin_level(LED1, 1); //Allume la LED1
while(1) //Boucle
{
ioport_toggle_pin_level(LED0); //Inverse l'état de la LED0
ioport_toggle_pin_level(LED1); //Inverse l'état de la LED1
delay_ms(250); //Tempo de 250ms
}
}
Compiler et programmer votre soft avec le logiciel FLIP
[[avr_studio_6#asf_atmel_software_framework|En savoir plus sur l'ASF]]
===== Bootloader =====
Télécharger le logiciel [[http://www.atmel.com/tools/flip.aspx?tab=overview|FLIP for Windows (Java Runtime Environement included)]]\\
**Appuyer sur le bouton SW0 puis alimenter la carte**. Le bootloader se mettra en attente de programmation.
Démarrer le logiciel FLIP
{{::xmega-a3bu_flip.png?500|}}
Device -> Select ...
{{::xmega-a3bu_flip2.png?200|}}
Settings -> Communication >> USB >> Open
{{::xmega-a3bu_flip3.png?500|}}
File -> Load HEX file ... Sélectionner le fichier **XMEGA_A3BU_XPLAINED_DEMO1.hex** qui se trouve dans le dossier
//C:\Projet_AVR\XMEGA_A3BU_XPLAINED_DEMO1\XMEGA_A3BU_XPLAINED_DEMO1\Debug//
ou le fichier .hex de votre projet.
Clique sur **RUN**
{{::xmega-a3bu_flip4.png?500|}}
===== Schéma =====
===== Microcontroleur =====
{{::xmega-a3bu_xmega2.png?1000|}}
===== Alimentation =====
{{::xmega-a3bu_supply.png?800|}}
===== Boutons / LED =====
| {{::xmega-a3bu_buttons.png?500|}} | {{::xmega-a3bu_leds.png?400|}} | {{::xmega-a3bu_usb_power_led.png?400|}} |
^ ^ PIN XMEGA ^
| LED0 | PR0 |
| LED1 | PR1 |
| LED ROUGE | PD4 |
| LED VERTE | PD5 |
| SW0 | PE5 |
| SW1 | PF1 |
| SW2 | PF2 |
===== Connecteurs =====
{{::xmega-a3bu_j1.png?400|}}
===== JTAG - PDI =====
{{::xmega-a3bu_jtag_pdi.png?400}}
===== Périphériques =====
==== Capteur de luminosité ====
{{::xmega-a3bu_lightsensor.png?400|}}
==== LCD ====
{{::xmega-a3bu_lcd.png?800|}}
==== Capteur de Température ====
{{::xmega-a3bu_ntc.png?400|}}
==== Capteur tactile ====
{{::xmega-a3bu_qtouch.png?600|}}
==== Filtre RC ====
{{::xmega-a3bu_rc.png?400|}}
==== USB ====
{{::xmega-a3bu_usb.png?600|}}
==== Connexions microcontrôleur ====
===== Liens =====
[[http://www.atmel.com/Images/doc8324.pdf|
Guide de prise en main]]\\
[[http://www.atmel.com/Images/doc8413.pdf|Guide d'utilisation soft]]\\
[[http://www.atmel.com/Images/doc8394.pdf|
Guide d'utilisation matériel]]\\
[[http://www.atmel.com/images/AVR1923.zip|Schema de la carte]]