Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005...

27
Conception Conception d’une d’une carte à carte à microcontrôleur ARM microcontrôleur ARM pour le robot pour le robot Amphibot II Amphibot II Alain Dysli Alain Dysli 20 Juin 2005 20 Juin 2005 Assistant: A.Crespi Assistant: A.Crespi Professeur: A.J.Ijspeert Professeur: A.J.Ijspeert LSL – BIRG Projet de Semestre

Transcript of Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005...

Page 1: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

ConceptionConception d’une carte à d’une carte à microcontrôleur ARM pour microcontrôleur ARM pour

le robot Amphibot IIle robot Amphibot II

Alain DysliAlain Dysli20 Juin 200520 Juin 2005

Assistant: A.CrespiAssistant: A.Crespi

Professeur: A.J.IjspeertProfesseur: A.J.Ijspeert

LSL – BIRG Projet de Semestre

Page 2: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

Plan de la présentationPlan de la présentation

Introduction – Pourquoi une nouvelle carte Introduction – Pourquoi une nouvelle carte pour Amphibot IIpour Amphibot II

Cahier des chargesCahier des charges Microcontrôleur choisiMicrocontrôleur choisi Hardware – Architecture de la carteHardware – Architecture de la carte Implementation software et hardware des Implementation software et hardware des

fonctions fonctions AméliorationsAméliorations ConclusionConclusion

LSL – BIRG Projet de Semestre

Page 3: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

IntroductionIntroduction

Pourquoi avoir besoin d’une nouvelle carte pourPourquoi avoir besoin d’une nouvelle carte pourAmphibot II?Amphibot II?

Le PIC n’est pas assez puissant pour en même Le PIC n’est pas assez puissant pour en même temps contrôler les moteurs, communiquer avec temps contrôler les moteurs, communiquer avec des capteurs et communiquer avec d’autres des capteurs et communiquer avec d’autres modulesmodules

Pour donner plus d’autonomie à Amphibot IIPour donner plus d’autonomie à Amphibot II

Il faut un microcontrôleur plus puissant capable deIl faut un microcontrôleur plus puissant capable decommuniquer rapidement avec tous les modules!communiquer rapidement avec tous les modules!

LSL – BIRG Projet de Semestre

Page 4: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

Cahier des chargesCahier des charges

Concevoir une carte à microcontrôleur avec lesConcevoir une carte à microcontrôleur avec lesspécificités suivantes:spécificités suivantes:

μμc plus rapide que le PICc plus rapide que le PIC Plus de mémoire que le PICPlus de mémoire que le PIC Bus CAN pour une communication haut débit Bus CAN pour une communication haut débit

entre les modulesentre les modules Bus I2CBus I2C I/O utilisable pour modules externesI/O utilisable pour modules externes Taille minimaleTaille minimale Compatible avec les modules Amphibot IICompatible avec les modules Amphibot II

LSL – BIRG Projet de Semestre

Page 5: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

Choix du microcontrôleurChoix du microcontrôleur

Microcontrôleur Philips ARMMicrocontrôleur Philips ARM Fréquence de 60 MHzFréquence de 60 MHz 256 kB Flash256 kB Flash 16 kB RAM16 kB RAM CAN & I2C en hardwareCAN & I2C en hardware Convertisseur A/DConvertisseur A/D Taille relativement faibleTaille relativement faible

LSL – BIRG Projet de Semestre

Page 6: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

Hardware - Hardware - ÉlémentsÉléments

Battery

Motor

SALAMPOWER

LSL – BIRG Projet de Semestre

SALAMCTRL

Page 7: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

Hardware - MicrocontrôleursHardware - Microcontrôleurs

Battery

Motor

XTAL

XTAL

μc ARM

μc PIC

SALAMPOWER

LSL – BIRG Projet de Semestre

SALAMCTRL

Page 8: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

Hardware - ÉnergieHardware - Énergie

Battery

Motor

3.3 V

1.8 V XTAL

XTAL

BatteryManager

5 V

μc ARM

μc PIC

SALAMPOWER

LSL – BIRG Projet de Semestre

SALAMCTRL

Page 9: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

Hardware – Contrôle du moteurHardware – Contrôle du moteur

Battery

Motor

3.3 V

1.8 V XTAL

XTAL

MotorManager

BatteryManager

5 V

μc ARM

μc PIC

SALAMPOWER

LSL – BIRG Projet de Semestre

SALAMCTRL

Page 10: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

Hardware – Moteur & BatterieHardware – Moteur & Batterie

Battery

Motor

3.3 V

1.8 V XTAL

XTAL

MotorManager

5 V

SALAMPOWER

LSL – BIRG Projet de Semestre

SALAMCTRL

I2C Bus

BatteryManager μc ARM

μc PIC

Page 11: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

Hardware - CommunicationHardware - Communication

Battery

Motor

3.3 V

1.8 V XTAL

XTAL

LEDs

LEDsMotorManager

5 V

SALAMPOWER

LSL – BIRG Projet de Semestre

SALAMCTRL

I2C Bus

BatteryManager μc ARM

μc PIC

Page 12: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

Hardware - CommunicationHardware - Communication

Battery

Motor

3.3 V

1.8 V XTAL

XTAL

LEDs

LEDsMotorManager

5 V

Prog & Sensors Bus Ext I2C

SALAMPOWER

LSL – BIRG Projet de Semestre

Prog Bus SALAMCTRL

I2C Bus

BatteryManager μc ARM

μc PIC

Page 13: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

Hardware - CommunicationHardware - Communication

Battery

Motor

3.3 V

1.8 V XTAL

XTAL

LEDs

LEDs

CAN Bus Next modulePrevious module

MotorManager

BatteryManager μc ARM

I2C Bus

Prog & Sensors Bus Ext I2C

CANController

SALAMPOWER SALAMCTRL

LSL – BIRG Projet de Semestre

μc PIC

Prog Bus

5 V

Page 14: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

HardwareHardwareLSL – BIRG Projet de Semestre

μc ARM

μc PIC

Prog PIC

Prog ARM

ARM LEDs

PIC LEDs

Sensor 1 Sensor 2

Salam_power

Ext I2C Reg 5 V

CAN ctrl

Page 15: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

Système - SoftwareSystème - Software

Set complet de routines pour:Set complet de routines pour:

Initialiser le microcontrôleur pour Initialiser le microcontrôleur pour qu’il tourne à 60 MHzqu’il tourne à 60 MHz

Initialiser l’horloge des périphériques Initialiser l’horloge des périphériques internes à 60 MHzinternes à 60 MHz

Enclencher le Memory Accelerator Enclencher le Memory Accelerator ModuleModule

LSL – BIRG Projet de Semestre

Page 16: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

LEDs - HardwareLEDs - Hardware

Affichage à 2 LEDs rouge et verteAffichage à 2 LEDs rouge et verte

Utile pour déboguer!Utile pour déboguer!

LSL – BIRG Projet de Semestre

Page 17: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

LEDs - SoftwareLEDs - Software

Set complet de routines pour:Set complet de routines pour:

Initialiser l’accès aux LEDsInitialiser l’accès aux LEDs Allumer les LEDsAllumer les LEDs Eteindre les LEDsEteindre les LEDs Faire clignoter les LEDsFaire clignoter les LEDs

LSL – BIRG Projet de Semestre

Page 18: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

Programmation - HardwareProgrammation - Hardware

Port de programmation du PIC identique à la Port de programmation du PIC identique à la version précédenteversion précédente

Programmation du ARM grâce à un Programmation du ARM grâce à un programmateur brancher sur port sérieprogrammateur brancher sur port série

Le programmateur permet également de Le programmateur permet également de communiquer par UARTcommuniquer par UART

LSL – BIRG Projet de Semestre

Page 19: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

Programmation - SoftwareProgrammation - Software

Set complet de routines pour:Set complet de routines pour:

Initialiser la communication UARTInitialiser la communication UART Envoyer des chaînes de caractères par Envoyer des chaînes de caractères par

UARTUART Envoyer des nombres par UARTEnvoyer des nombres par UART Recevoir des caractères par UARTRecevoir des caractères par UART

La programmation se fait avec unLa programmation se fait avec unlogiciel tierslogiciel tiers

LSL – BIRG Projet de Semestre

Page 20: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

Capteurs - HardwareCapteurs - Hardware

Possibilité de brancher deux capteurs ou Possibilité de brancher deux capteurs ou modulesmodules

Ports multifonctions avec alimentation et 4 Ports multifonctions avec alimentation et 4 entrées sorties digitales dont 2 entrées entrées sorties digitales dont 2 entrées analogiques possiblesanalogiques possibles

Chaque pin est configurableChaque pin est configurable

LSL – BIRG Projet de Semestre

Page 21: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

Capteurs - SoftwareCapteurs - Software

Set complet de routines pour:Set complet de routines pour:

Initialiser les fonctionsInitialiser les fonctions Lire la valeur d’un pinLire la valeur d’un pin Changer l’état d’un pinChanger l’état d’un pin Acquérir une tension analogiqueAcquérir une tension analogique

LSL – BIRG Projet de Semestre

Page 22: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

I2C – HardwareI2C – Hardware

Communication possible entre le Communication possible entre le gestionnaire de batterie, le PIC, le ARM et gestionnaire de batterie, le PIC, le ARM et des périphériques extèrnesdes périphériques extèrnes

Le ARM est maître. Les autres Le ARM est maître. Les autres périphériques sont esclavespériphériques sont esclaves

LSL – BIRG Projet de Semestre

Page 23: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

I2C - SoftwareI2C - Software

Set complet de routines pour:Set complet de routines pour:

Initialiser l’I2CInitialiser l’I2C Écrire une valeur dans un registre d’un Écrire une valeur dans un registre d’un

modulemodule Lire un registre d’un moduleLire un registre d’un module

LSL – BIRG Projet de Semestre

Page 24: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

CAN – HardwareCAN – Hardware

Le bus CAN permet une Le bus CAN permet une communication entres les communication entres les microcontrôleurs ARM de chaque microcontrôleurs ARM de chaque modulesmodules

Le bus n’est pas maître-esclaveLe bus n’est pas maître-esclave

LSL – BIRG Projet de Semestre

Page 25: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

CAN - SoftwareCAN - Software

Set complet de routines pour:Set complet de routines pour:

Initialiser le bus CANInitialiser le bus CAN Envoyer des données avec un identifiant à Envoyer des données avec un identifiant à

choixchoix Lire des données reçuesLire des données reçues Filtrer les messages reçus selon les Filtrer les messages reçus selon les

identifiantsidentifiants

LSL – BIRG Projet de Semestre

Page 26: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

AméliorationsAméliorations

Quelques bogues hardware mineursQuelques bogues hardware mineurs Problèmes software avec le bus I2CProblèmes software avec le bus I2C Problèmes software avec le bus CANProblèmes software avec le bus CAN

LSL – BIRG Projet de Semestre

Page 27: Conception dune carte à microcontrôleur ARM pour le robot Amphibot II Alain Dysli 20 Juin 2005 Assistant: A.Crespi Professeur: A.J.Ijspeert LSL – BIRG.

ConclusionConclusion Le microcontrôleur ARM dispose d’une grande Le microcontrôleur ARM dispose d’une grande

puissance de calculpuissance de calcul Le bus CAN permet une communication rapide Le bus CAN permet une communication rapide

entre les modulesentre les modules L’architecture est extensible grâce aux ports pour L’architecture est extensible grâce aux ports pour

capteurs et à l’I2Ccapteurs et à l’I2C Les fonctions de base pour manipuler les I/O sont Les fonctions de base pour manipuler les I/O sont

implantéesimplantées Possibilité de brancher des périphériques haut Possibilité de brancher des périphériques haut

débit (camera,…)débit (camera,…) Amphibot II peut maintenant être totalement Amphibot II peut maintenant être totalement

autonomeautonome Quelques problèmes doivent encore être régler…Quelques problèmes doivent encore être régler…

LSL – BIRG Projet de Semestre