µ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