• Nenhum resultado encontrado

Mise en place de la reconfiguration à l’aide d’un microcontrôleur

No documento radio cognitive (páginas 160-165)

CHAPITRE IV Antenne reconfigurable commandée par microcontrôleur

IV.3. Mise en place de la reconfiguration à l’aide d’un microcontrôleur

Les techniques de commande des éléments actifs locaux utilisés dans l'antenne reconfigurable ont été présentées dans la section précédente. Afin de concevoir une antenne

146

non seulement reconfigurable mais intelligente, il s’agit de piloter les composants actifs et cela de façon adaptative. Dans ce but, la solution qui a été retenue et qui est appropriée est de mettre en œuvre la commande à l’aide d’un microcontrôleur.

IV.3.1. Organe de commande : le microcontrôleur Atmel AVR

IV.3.1.a. Généralités sur les microcontrôleurs

Un microcontrôleur (MCU) est un dispositif électronique constitué généralement d'un cœur de processeur, de mémoires, d’entrées programmables et de périphériques de sortie.

Les MCU sont souvent utilisés dans les systèmes de contrôle automatique tels que par exemple systèmes automobiles de contrôle des moteurs, ou les dispositifs médicaux implantables, et en particulier dans les systèmes embarqués. Alors que certains systèmes embarqués sont très sophistiqués, beaucoup ont des exigences minimales pour la longueur de la mémoire et du programme, ne nécessitent pas de système d'exploitation, et sont de faible complexité. Ils intègrent alors souvent un microcontrôleur qui présente pour principal avantage d’offrir une solution adaptée et bas coût.

Il existe de nombreux type de microcontrôleurs tels que les processeurs ARM, ATmel, Cypres Semiconductor PsoC, Intel 8051, Microchip Technology PIC, etc. mais aussi plusieurs outils de développement associés. Dans le cadre des travaux présentés, l’Atmel AVR a été retenu non seulement en raison de ces caractéristiques (présentées en détail dans la section suivante) mais aussi parce qu’il répondait aux exigences demandées et était relativement simple à mettre en œuvre. La famille Atmel AVR propose des microcontrôleurs assez faciles à prendre en main dont l'architecture est puissante et moderne, et est particulièrement adapté pour les compilateurs C. De nombreux outils de développement existent, et des logiciels libres sont aussi disponibles en open-source sur des plates-formes collaboratives, logiciels qui fonctionnent sous des systèmes d’exploitation comme Windows ou Macintosh.

Enfin, la mise à jour ne requiert pas de matériel externe de programmation, les chargements pouvant s’opérer par USB (via des routines comme USBasp-Loader et USBasp).

IV.3.1.b. Le microcontrôleur Atmel AVR

L’Atmel AVR est un microcontrôleur de faible puissance, CMOS, à 8 bits, basé sur une architecture de type RISC (Reduced Instruction Set Computer). Les propriétés de l’AVR sont

147

présentées en détail dans [101]. Le schéma-bloc de l’architecture du MCU AVR est illustré par la Figure IV.10.

Figure IV.10. Schéma-bloc de l’architecture du MCU AVR

Dans le contexte de nos travaux, il est intéressant de souligner les caractéristiques suivantes :

 l’AVR peut supporter des vitesses d'horloge de 0 à 20 MHz, pouvant même monter jusqu'à32 MHz ;

 les mémoires Flash, EEPROM, SRAM sont toutes intégrées sur une seule puce programmable à grande capacité ;

 un support multi-fonctions et des ports bidirectionnels d’entrée/sortie sont disponibles ;

 l’interface matérielle constituée de l’UART (Universal Asynchronous Receiver Transmitter) et du SPI (Serial Peripheral Interface) permet de connecter l’AVR à d'autres périphériques dont un PC ;

 l’interface de programmation constituée de l'API (Application Protocol Interface), de l’ISP (In-System Programming), et du PDI (Program and Debug Interface) permet de gérer la phase de programmation simplement ;

148

 La programmation se fait en C et/ou en assembleur, et une bibliothèque complète des pilotes et du middleware est disponible afin de construire une application.

L’antenne RPIFA en forme de 8 dispose de dix configurations différentes basées sur le changement d’état de 4 diodes PIN. Le MCU AVR sélectionné pour la commande de cette antenne doit donc disposer de 4 sorties. Pour ces raisons, l’AVR Atmega8 à 24 sorties a été choisi.

IV.3.2. Connectivité et programmation du microcontrôleur

IV.3.2.a. Introduction

Un MCU ayant la capacité d’opérer de façon indépendante comme le fait un ordinateur, une solution serait d’utiliser un MCU seul pour commander l’opération de reconfiguration de l’antenne. Si cette solution permet de tester le contrôle des diodes PIN, et donc le contrôle des différentes configurations de l’antenne, elle reste limitée par sa capacité d’adaptation et elle ne permet pas à un utilisateur d’agir facilement sur le système.

Pour cette raison, le MCU a été connecté à un PC permettant de contrôler plus aisément l’état de l’antenne par une interface graphique. Enfin pour rendre le système

« autonome », un étage de réception a été ajouté afin de permettre une reconfiguration automatique en fonction des signaux reçus.

IV.3.2.b. Connexion du MCU AVR et du PC

Les plus récents dispositifs programmables, dont l’AVR choisi, offrent la possibilité de

« In-System Programming ». La connexion de l’AVR à un PC peut être réalisée simplement par le biais de l'interface AVR UART et COM PC (RS232 Standard). Cependant, un adaptateur, tel que l’IC Max232, doit être utilisé en raison de la différence de niveau des tensions entre l’AVR et le PC (Figure IV.11).

149

Figure IV.11. La connexion de l’AVR à un PC via Max232

Une autre solution consiste à utiliser la fonction ISP de l’AVR. Ainsi la connexion entre l'AVR et le PC se fait via le JTAG de l’AVR et le LPT (Figure IV.12) ou USB (Figure IV.13) du PC. Evidemment, l’adaptation de tension est toujours nécessaire et est réalisé à l’aide d’un IC74LS244 [102] ou via un IC74HC244 [103].

Figure IV.12. Schéma de principe de la connexion de l’AVR à un PC via IC74LS244

Figure IV.13. Schéma de principe de la connexion de l’AVR à un PC via USB

IV.3.2.c. Interfaces de Programmation

Le programme est écrit dans le langage de programmation CodeVisionAVR l’interface et un exemple des codes source sont illustrés par la Figure IV.14 la communication entre l’AVR et le PC peut être réalisé en Visual C++ (Figure IV.15).

150

Figure IV.14. Illustration et exemple de l’interface en CodeVisionAVR

Figure IV.15. Illustration et exemple de l’interface en Visual C++

No documento radio cognitive (páginas 160-165)