µControleur Rabbit RCM2X00 - Université de Montpellier
Transcription
µControleur Rabbit RCM2X00 - Université de Montpellier
Université Montpellier II 1 ISIM - MEA PRESENTATION DU KIT MICRO-CONTROLEUR RABBIT RCM2X00 Les micro-contrôleurs Rabbit RCM2100 et RCM2200 sont basés sur un micro-processeur rabbit 2000. Ses principales caractéristiques sont décrites sur la tableau suivant : Table 1: RCM2100 series family characteristics Feature RCM2100 Microprocessor RCM2115 RCM2120 RCM2130 Rabbit 2000 running at 22.1 MHz Flash Memory 512k 128k 128k 512k 128k Static RAM 512k 256k 256k 512k 256k 34 34 34 40 40 RJ-45 RJ-45 Header None None General-Purpose I/O Ethernet Serial Ports 1.1 RCM2110 4, high-speed, CMOS-compatible; 2 configurable as clocked ports; 1 clocked port dedicated to programming port use. Le micro-processeur rabbit 2000 Il s’agit d’un micro-processeur 8 bits programmable en C à l’aide d’un jeu d’instructions optimisé (dynamic C). L’espace adressable est de 1 Mo (flash eprom + ram). Il offre 4 niveaux (de priorité) d’interruption ; la latence d’interruption est d’environ 1 µs, à une fréquence d’horloge de 25 MHz (une routine d’interruption classique est exécutée en un temps inférieur à 4 µs). Il dispose de 5 timers 8-bits (dont 4 potentiellement utilisés pour les liaisons série et parallèle) et 2 timers 10-bits (les sorties pouvant être associées à des interruptions) et un timer pour chien de garde (watch dog timer). Ils sont cadencés à 32.768 kHz/16 (soit une interruption chaque 488 µs). Cette cadence est utilisée pour maintenir trois variables globales associées au temps : SEC_TIMER, MS_TIMER, et TICK_TIMER. Elles comptent respectivement les secondes, les millisecondes et le nombre de top timer. Les secondes sont comptées en référence au 1er janvier 1980, permettant ainsi d’avoir l’heure et la date. Son horloge temps-réel (hardware) repose sur un compteur 48 bits. Il présente un mode d’économie d’énergie, très utile pour les applications embarquées. Pour cela, l’horloge peut être divisée par 8 pour réduire de fait la consommation d’énergie. Cependant, l’horloge relative aux I/O, qui cadence par exemple le port série, est cadencée séparément de celle du microprocesseur afin de ne pas affecter les taux de transfert (liaison série par exemple) et les timers lorsque la fréquence d’horloge du microprocesseur est réduite pour des considération d’économie d‘énergie. La réduction maximale en terme de consommation d’énergie (consommation de 100 µA pour une vitesse d’exécution d’environ 10,000 instructions par seconde) est obtenue par l’utilisation de l’oscillateur à 32.768 kHz et la désactivation de l’oscillateur principal (à 25MHz la consommation est d’environ 65 mA). Dans ce cas la gestion du temps ne peut plus s’appuyer sur les timers mais doit être directement référencée à l’horloge temps-réel. [email protected] 1 Université Montpellier II 1.2 ISIM - MEA L’environnement de développement Le RCM2x00 dispose d’un environnement de développement « Dynamic_C » permettant une programmation en langage évolué (dynamic C, basé sur le C) et le débug d’application tempsréel. Cet environnement comprend un éditeur, un compilateur et un débuggeur (source-level debugger). Il interface directement l’environnement (sous windows sur PC) à la cible (microcontrôleur). [email protected] 2 Université Montpellier II 2 ISIM - MEA PRESENTATION DU KIT DE DEVELOPPEMENT - RCM2100 Le module RCM2100 Le module RCM2100, basé sur un rabbit 2000, possède 40 I/O groupées en 5 ports 8-bit ports. Les 24 I/O bidirectionnelles sont : PA0-PA7, PD0-PD7 et PE0-PE7. Figure 1 : le module RCM2100 Figure 2 : le RCM2100, autour du rabbit 2000 2.1 La carte de prototypage La carte de prototypage (Figure 3) permet la connexion du module rabbit RCM2100 et offre la possibilité d’ajouter des périphériques (I/O basiques type switches et leds) et des composants hardware externes (FPGA par exemple). Figure 3 : La carte de prototypage du RCM2100 [email protected] 3 Université Montpellier II ISIM - MEA Alimentation Elle s’effectue via un connecteur 3 points dont les pins latérales doivent être connectées à la masse et la pin centrale au +V. L’alimentation externe doit délivrer du 9-24 VDC, avec au moins 500 mA. Reset Un switch de reste est directement accessible sur la carte. Il provoque un reset du module RCM2100 connecté. I/O switches et leds Deux switchs sont directement cablés sur les entrées 2 et 3 du Port B. Deux leds sont directement connectées sur les sorties 0 et 1 du Port A (deux leds supplémentaires peuvent être ajoutées sur la carte, elles seront directement connectées au sorties 2 et 3 du Port A). 2.2 Connexion du module RCM2100 Suivre les 4 étapes suivantes : 1. Connecter le module RCM2100 sur la carte (cf. Figure 4). 2. Connecter le câble de programmation série, du module vers le PC (cf. Figure 5). Connecté du port série du PC vers le module RCM2100, le câble série « PROG » permet la programmation et le débugage sur cible. 3. Connecter, si utilisé, le câble ethernet du module sur le coupleur ethernet du PC (à l’aide d’un câble croisé) ou directement sur le réseau (à l’aide d’un câble normal). La mise en réseau du module RCM2100 requiert la définition de son adresse IP (sous l’environnement dynamic C). 4. Alimenter la carte de prototypage (cf. Figure 6). Figure 4 : connexion du module RCM2100 à la carte de prototypage [email protected] 4 Université Montpellier II ISIM - MEA Figure 5 : connexion du câble de programmation NB: sous l’environnement dynamic C, il faut configurer le port série sur lequel est branché le câble de programmation (par défaut, c’est le COM1). Figure 6 : alimentation de la carte de prototypage NB : ne jamais déconnecter le module RCM2100 de la carte de prototypage sans couper l’alimentation ! [email protected] 5 Université Montpellier II 3 ISIM - MEA PRESENTATION DU KIT DE DEVELOPPEMENT - RCM2200 Le module RCM2200 Le RCM2200, basé sur un rabbit 2000, possède 26 I/O groupées en 5 ports de 8-bits. Les 16 I/O bidirectionnelles sont : PA0-PA7, PD3-PD5, et PE0-PE1, PE4, PE5 et PE7. F Figure 7 : Le module RCM2200 Figure 8: le RCM2200, autour du rabbit 2000 3.1 La carte de prototypage La carte de prototypage (Figure 9) permet la connexion du module rabbit RCM2200 et d’un esclave, et offre la possibilité d’ajouter des périphériques (I/O basiques type switches et leds) et des composants hardware externes (FPGA par exemple). Figure 9 : La carte de prototypage du RCM2200 [email protected] 6 Université Montpellier II ISIM - MEA Alimentation Elle s’effectue via un connecteur 3 points dont les pins latérales doivent être connectées à la masse et la pin centrale au +V. L’alimentation externe doit délivrer du 9-24 VDC, avec au moins 500 mA. Reset Un switch de reset est directement accessible sur la carte. Il provoque un reset du module RCM2200 connecté. I/O switches et leds Deux switchs sont directement cablés sur les entrées 2 et 3 du Port B. Deux leds sont directement connectées sur les sorties 1 et 7 du Port E. 3.2 Connexion du module RCM2200 Suivre les 4 étapes suivantes : 1. Connecter le module RCM2200 sur la carte (cf. Figure 10). 2. Connecter le câble de programmation série, du module vers le PC (cf. Figure 11). Connecté du port série du PC vers le module RCM2200, le câble série « PROG » permet la programmation et le debug sur cible. 3. Connecter, si utilisé, le câble ethernet du module sur le coupleur ethernet du PC (à l’aide d’un câble croisé) ou directement sur le réseau (à l’aide d’un câble normal). La mise en réseau du module RCM2200 requiert la définition de son adresse IP (sous l’environnement dynamic C). 4. Alimenter la carte de prototypage (cf. Figure 12). Figure 10: connexion du module RCM2200 à la carte de prototypage [email protected] 7 Université Montpellier II ISIM - MEA Figure 11: connexion du câble de programmation NB: sous l’environnement dynamic C, il faut configurer le port série sur lequel est branché le câble de programmation (par défaut, c’est le COM1). Figure 12: alimentation de la carte de prototypage NB : ne jamais déconnecter le module RCM2200 de la carte de prototypage sans couper l’alimentation ! [email protected] 8