Accueil du siteProjetsCarte Numérique Polyvalente
Dernière mise à jour :
mercredi 23 juillet 2008
Statistiques éditoriales :
295 Articles
57 Brèves
64 Sites Web
17 Auteurs

Statistiques des visites :
42 aujourd'hui
587 hier
393661 depuis le début
     
Brèves
Ouverture d’une rubrique Robocode
lundi 26 décembre
Premier pas vers une league Sophia Antipolis ? en tout cas la pierre est posée, avec une rubrique Robocode qui permettra de mettre le pied à l’étrier aux nouveaux et de partager des trucs, (...)
 
Mise en ligne de documents
vendredi 23 septembre
Nouveaux documents (Gilles) : liste des composants Carte Numérique Multiusages document de présentation format Doc document de présentation format Odt (libre, (...)
 
Programmation synchrone de la brique RCX
dimanche 18 septembre
Je suis tombé sur ce site qui propose la programmation de la brick RCX Lego Mindstorms avec un langage synchrone réactif type Esterel ou Lustre.
 
Une nouvelle section dans la rubrique "projets"
samedi 17 septembre
Une section dédiée à nos outils de simulation maison a été créée.
 
Sur le Web
ExploBotique
Association Varoise (83). Conception, réalisation et utilisation de robots dédiés à l’exploration subaquatique.
Caméra pilotée par AVR
Cette caméra utilise la même optique que la CMUCam ou la POBEye mais avec un Atmel (ATmega8) pour implémenter le traitement d’image et la communication série. Le soft est open-source et on peut ajouter ses algorithmes par reprogrammation ISP
Sous-marin ROV

Un sous-marin équipé d’une caméra, construit à partir de tubes PVC.

ROV = Remote Operated Vehicule

processeur PhysX Ageia
Ce processeur offre une couche matérielle de rendu physique. Elle est destinée au marché des jeux vidéos, mais elle montre l’intérêt pour le réalisme, ce que nous cherchons à faire dans nos simulateurs qui embarquent un moteur de rendu physique logiciel.
Micro Video Camera
HeliHobby sells Radio Controlled Helicopters and R/C Accessories. We specialize in Micro Helis such as the Piccolo, Hornet, Zoom, Zap, Shogun, Trex 450 and others. R/C Helis and Miniature RC Helis.
Micro-contrôleur
le µC et ses périphériques
jeudi 2 février 2006
par Gilles
popularité : 11%

Le Micro-Contrôleur

Pour des raisons historiques, le micro-contrôleur choisi appartient la famille AVR d’Atmel. En effet, tous les développements précédents ont été effectués sur ce type de micro-contrôleurs et nous pourrons aisément réutiliser tout ce qui a déjà été fait.

Etant donné que nous voulons pouvoir re-programmer le µC sur la carte, nous devons avoir une mémoire programme en technologie Flash, Cette technologie permet d’avoir une mémoire non volatile et réinscriptible, c’est-à-dire une mémoire possédant les caractéristiques d’une mémoire vive (RAM) mais dont les données ne se volatilisent pas lors d’une mise hors tension (ROM). Ainsi la mémoire flash stocke les bits de données dans des cellules de mémoire, mais les données sont conservées en mémoire lorsque l’alimentation électrique est coupée.

D’autre part, le µC doit être évolutif, c’est à dire que l’on doit pouvoir facilement le changer pour un µC possédant plus de mémoire programme et/ou plus de mémoire données afin d’écrire des programmes plus complexes.

Pour toutes ces raisons, nous avons choisi le ATMega16-16PU : boîtier DIP 40 pattes, mémoire Flash 16Ko, Mémoire RAM 1Ko, Eeprom intégrée de 512 octets. Si cette capacité ne suffisait pas, ce µC pourra être remplacé "Plug & Play" par le ATMega32-16PU (32Ko Flash, 2Ko RAM & 1Ko Eeprom) ou le ATMega644-20PU (64Ko Flash, 4Ko RAM & 2Ko Eeprom).

Il pourra éventuellement être également remplacé par le futur ATMega324-20PU, qui devrait contenir (entre autre) une deuxième liaison série et des interruptions externe sur tous les ports E/S,

Ce micro-contrôleur va avoir besoin de trois périphériques pour fonctionner :
- Un Quartz,
- Un circuit de Reset,
- Une logique de re-programmation.

Le Quartz

Un Quartz sert à faire fonctionner le µC en lui dictant la cadence, nommée "cycle d’horloge", à laquelle il exécute les ordres. Ce quartz est flanqué de deux condensateurs (valeurs recommandées par le fabricant du quartz) lui permettant d’osciller dans de bonne conditions.

Comme la référence du µC l’indique, il peut avoir une horloge de 16 MHz au maximum. Evidemment, plus le µC fonctionne vite, plus il consomme, Ainsi, nous avons une consommation de 12mA à 8 MHz et 20mA à 16 MHz. Etant donné la faible différence de consommation par rapport à la consommation globale de la carte, nous allons donc mettre un quartz de 16 MHz flanqué de deux condensateurs 15 pF.

L’ATMega étant un processeur RISC (Reduced Instruction Set Computer), il exécute une instruction assembleur par cycle d’horloge. Sa vitesse d’exécution maximum est donc d’une instruction toutes les 62.5 nS à 16 MHz, ce qui est plus que suffisant pour l’utilisation prévue.

Le circuit de Reset

Un circuit de Reset a un double usage : Lors de la mise sous tension, il s’assure que la patte ’Reset’ du µC (qui indique au µC qu’il peut démarrer) ne s’active pas tant que la tension d’alimentation n’a pas atteint un seuil défini et n’est pas stabilisée durant un certain laps de temps (une centaine de millisecondes). Cet usage se nomme "Power On Reset" ou POR.

Lors du fonctionnement, il s’assure que la tension d’alimentation ne passe pas, même brièvement, sous un seuil défini. Si c’est le cas, le circuit désactive la patte Reset et ne la réactive qu’avec les mêmes conditions que lors de la mise sous tension. Cet usage se nomme "Brown-Out Detect" ou BOD.

Un circuit de reset est particulièrement recommandé lors de l’utilisation de batteries : ainsi, ce circuit s’assure d’une part que le µC ne démarre pas intempestivement lors de la connexion des batteries (ce qui génère des micro-coupures) et d’autre part il arrête le µC lorsque la batterie devient trop faible pour assurer le fonctionnement de la carte numérique,

L’ATMega16 possède son propre circuit de Reset, incluant POR et BOD. Cependant, l’expérience montre que les seuils intégrés pour l’activation ou la désactivation de la patte Reset ne sont pas très précis et peuvent donc beaucoup varier d’un µC à l’autre. C’est pour cette raison que nous allons intégrer un Reset externe, beaucoup plus précis et fiable.

D’autre part, la logique de re-programmation utilise également la patte Reset. Il faut donc utiliser une sortie en Collecteur Ouvert (ou Open Drain) combinée à une résistance de tirage (ou Pull-Up).

Nous avons donc choisi le MCP121-450E/TO de MicroChip, qui possède à la fois un seuil de détection à 4.5V, une sortie Reset en Open-Drain, un boîtier DIP 3 pattes (TO-92) et un faible prix.

La logique de Re-Programmation

Les µC Atmel peuvent se reprogrammer via une liaison synchrone, nommée SPI (Serial Periphal Interface). Cette liaison se compose de deux signaux de données, un dans chaque sens : MOSI (Master Out Slave In) et MISO (Master In Slave Out) et un signal d’horloge : SCK permettant de synchroniser les données. De plus, comme il s’agit de reprogrammer le µC, le signal Reset est également utilisé.

Atmel fourni un logiciel et une sonde permettant de reprogrammer leur µC à partir du port parallèle (ou Centronic) d’un PC et arrivant sur la carte fille via un connecteur HE10. Malheureusement, ce port n’est pas forcément capable de fournir un signal compatible avec le µC (niveaux TTL).

C’est pour cela que nous avons inséré, entre le µC et le connecteur une diode et une résistance de Pull-Up pour les signaux arrivant du PC : la résistance va polariser les signaux à Vcc, et donc imposer un ’1’ logique. Si le signal en provenance du port parallèle est supérieur à la tension de seuil de la diode (soit 0.6V), le µC croira recevoir un ’1’. Si ce signal est égal à GND, le port du µC sera donc à 0.6V, ce qu’il interprétera comme un ’0’ logique.

 

Répondre à cet article
Articles de cette rubrique
  1. Cahier des charges
    9 septembre 2005

  2. Micro-contrôleur
    2 février 2006

  3. Liaison série
    2 février 2006

  4. Driver de moteur pas à pas
    2 février 2006

  5. Alimentation de la CNP
    2 février 2006

  6. Connectique de la CNP
    2 février 2006

  7. Schémas électroniques
    23 septembre 2005

  8. FAQ
    4 octobre 2005