Structure minimale d’un PIC
La structure minimale d’un PIC est constituée des éléments ci-dessous :
Une mémoire de programme contient le code binaire correspondant aux instructions que doit exécuter le microcontrôleur. La capacité de cette mémoire est variable selon les PIC
Une mémoire RAM sauvegarde temporairement des données. Sa capacité est aussi variable selon les PIC Une Unité Arithmétique et Logique (UAL ou ALU en anglais) est chargée d’effectuer toutes les opérations arithmétiques de base (addition, soustraction, etc.) ainsi que les opérations logiques de base (ET, OU logique, etc.). Des ports d’entrées/sorties permettent de dialoguer avec l’extérieur du microcontrôleur, par exemple pour prendre en compte l’état d’un interrupteur (entrée logique), ou encore pour commander un relais (sortie logique).
Un registre compteur de programme (CP ou PC en anglais), est chargé de pointer l’adresse mémoire courante contenant l’instruction à réaliser par le microcontrôleur. Le contenu du registre PC évolue selon le pas de programme. Un registre pointeur de pile (PP ou SP en anglais) est essentiellement utilisé lorsque l’on réalise un sous-programme. Le pointeur de pile est chargé de mémoriser l’adresse courante que contient le compteur de programme avant le saut à l’adresse du sousprogramme. Lorsque le sous-programme est terminé, le pointeur restitue l’adresse sauvegardée vers le compteur de programme.
Un registre d’instruction contient tous les codes binaires correspondant aux instructions à réaliser par le microcontrôleur. Le PIC 16F88 comporte 35 instructions. Un registre d’état est en relation avec l’UAL et permet de tester le résultat de la dernière opération effectuée par le microcontrôleur. Selon la dernière opération effectuée, des bits sont positionnés dans le registre d’état et ceux-ci peuvent être testés à l’aide d’une instruction de branchement pour effectuer des sauts conditionnels. Une horloge système permet de cadencer tous les échanges internes ou externes au microcontrôleur. La famille des PICs est subdivisée en 3 grandes familles : La famille Base-Line, qui utilise des mots d’instructions de 12 bits, la famille Mid-Range, qui utilise des mots de 14 bits, et la famille High-End, qui utilise des mots de 16 bits.
Identification d’un PIC : Pour identifier un PIC, nous utilisons simplement son numéro : les 2 premiers chiffres indiquent la catégorie du PIC, 16 indique un PIC Mid-Range, 18 indique PIC high-Range. Vient ensuite parfois une lettre L : Celle-ci indique que le PIC peut fonctionner avec une plage de tension beaucoup plus tolérante. Ensuite, nous trouvons : C indique que la mémoire programme est une EPROM ou plus rarement une EEPROM, CR pour indiquer une mémoire de type ROM ou F pour indiquer une mémoire de type FLASH. À ce niveau, on rappelle que seule une mémoire FLASH ou EEPROM est susceptible d’être effacée. Finalement nous trouvons sur les boîtiers le suffixe « -XX » dans lequel XX représente la fréquence d’horloge maximale que le PIC peut recevoir. Par exemple –04 pour un 4MHz. Notons dès à présent que les PICs sont des composants STATIQUES, c’est à dire que la fréquence d’horloge peut être abaissée jusqu’à l’arrêt complet sans perte de données et sans dysfonctionnement.
Particularités du port B : Il comporte 8 bits. Le registre de direction correspondant est TRISB. Si on écrit un « 1 » dans le registre TRISB, le driver de sortie correspondant passe en haute impédance. Si on écrit un « 0 », le contenu du Latch de sortie correspondant est recopié sur la broche de sortie. Chaque broche du PORT B est munie d’un tirage au +VDD que l’on peut mettre ou non en service en mode entrée uniquement. On active cette fonction par la mise à « 0 » du bit 7 dans le registre OPTION. Au reset, le tirage est désactivé. Il est inactif quand le port est configuré en sortie. Les 4 broches PB7 PB6 PB5 et PB4 provoquent une interruption sur un changement d’état si elles sont configurées en ENTREE. Cette possibilité d’interruption sur un changement d’état associé à la fonction de tirage configurable sur ces 4 broches, permet l’interfaçage facile avec un clavier. Cela rend possible le réveil du PIC en mode SLEEP par un appui sur une touche du clavier On doit remettre à zéro le Flag de cette interruption (RBIF = bit 0 du registre INTCON) dans le programme d’interruption.
Echantillonnage
L’échantillonneur a pour rôle de prélever périodiquement la valeur du signal analogique. Il réalise une « photographie » du signal qui « fige » son image jusqu’à la « prise » suivante. L’intervalle de temps entre 2 instants consécutifs d’échantillonnage constitue la période d’échantillonnage, notée Te, du système de conversion analogique numérique. Le choix de cette période est imposée à la fois par la nature du signal que l’on veut numériser mais aussi par le temps de met le convertisseur analogique numérique pour réaliser sa conversion. Usuellement, on utilise la notion de fréquence d’échantillonnage telle que Un choix judicieux de cette fréquence est imposé par l’application du théorème de Shannon. Celui-ci précise qu’elle doit être au moins égale au double de la plus grande des fréquences du signal analogique. Le signal échantillonné, à l’instant t (qui est un multiple entier de la période d’échantillonnage), est noté de la façon suivante que : SE(t)=SE (nTE)=SA(t)
Le travail qui nous a été confié dans le cadre de notre mémoire de master en électronique biomédical est un travail de développement technologique ayant pour objectif la réalisation d’une carte d’acquisition pour des signaux lents par exemple le signal de température et de pression atmosphérique est un signal d’évolution lente (de période très supérieure à la seconde). Notre carte est basée sur le PIC 16F88. C’est pour ça l’élaboration de ce modeste travail nous a permis d’accéder à plusieurs domaines. L’utilisation du PIC nous a introduits au domaine de μC, à leurs mises en oeuvre et à leur système de développements ainsi que les différentes fonctionnalités et avenages qu’ils offrent. Ce travail nous a permet aussi d’apprendre le logiciel ISIS pour la simulation. La problématique de ce travail nous a permet de tester la fonctionnalité de quelques éléments de notre carte comme par exemple le PIC, le MAX232 et le DB9 nous avons fait des testes pour savoir si le problème posé aux cours de notre travail est à cause de mal communication entre le PC et la carte ou bien le PIC ou le MAX232 ne fonctionne pas Ce projet nous a permis d’approfondir nos connaissances théoriques et pratique en instrumentation médicale
Introduction générales |