Informatique industrielle (microcontrôleurs) EL MORNAN Page 1 Bus de données (8
Informatique industrielle (microcontrôleurs) EL MORNAN Page 1 Bus de données (8 lignes) Mémoire Entrées/Sorties Unité centrale de traitement microprocesseur Bus d'adresses Bus de contrôle Informatique industrielle (microcontrôleurs) EL MORNAN Page 2 1-Architecture interne d’un système à microprocesseur L'architecture interne d'un ordinateur se compose essentiellement de trois blocs: le microprocesseur, la mémoire et les entrées/sorties reliées entre elles par trois bus de communication; le bus de données, le bus d’adresses et le bus de commande. Figure 0-1 Architecture interne d’un ordinateur 1.1.1 Le microprocesseur Un microprocesseur est l'implantation en un seul boîtier, en technologie LSI ou VLSI, d'une unité centrale de traitement de données CPU et d’une unité arithmétique et logique ALU. Son principal travail est de fournir aux autres éléments, qui lui sont raccordés, la synchronisation nécessaire et fonctionnelle du traitement des informations qui lui sont acheminées. 1.1.2 La mémoire C'est la partie où l'on retrouve les programmes exécutables et les données à traiter. Cette section est subdivisée en deux; d'une part, il y a la mémoire latente et d'autre part, la mémoire vive. Mémoire morte C'est la mémoire de lecture; elle contient le programme du système. L'avantage de la ROM (Read Only Memory), c’est d'être permanente; son contenu ne disparaît pas quand le système n'est plus alimenté. La ROM contient toujours un programme de chargement initial ou un moniteur pour permettre le fonctionnement du système dès la mise sous tension. Dans un contexte de contrôle de processus, presque tous les programmes résideront en ROM car ils seront rarement changés et devront être protégés des pannes d'alimentation. Mémoire vive C'est la mémoire de lecture et d’écriture du système ou RAM (Random Access Memory). Le contenu de ce type de mémoire est perdu lorsque l'on coupe l'alimentation. La mémoire vive (RAM) doit être chargée, avant utilisation, à partir du clavier ou à partir d’une mémoire de masse comme, par exemple, une unité à ruban magnétique ou une unité à disque. 1.2 Les entrées/sorties Les entrées/sorties sont nécessaires pour que le microprocesseur communique avec le monde extérieur et, évidemment, avec l'utilisateur. Il serait tout à fait inutile de réaliser un ordinateur sans qu'il y ait quelques entrées et quelques sorties afin de communiquer avec l'extérieur. 1.3 Les bus de communication Évidemment, pour que le système fonctionne, il doit y avoir une communication entre le microprocesseur, la mémoire et les entrées/sorties. Cette communication est réalisée à l'aide de trois bus qui regroupent les signaux, selon leur fonction. 1.3.1 Le bus de données C'est un bus bidirectionnel sur lequel transitent les données échangées par les éléments du système. 1.3.2 Le bus d’adresses Il s'agit d'un bus unidirectionnel, émanant du microprocesseur et se propageant vers les dispositifs qu'il peut adresser. L'adresse qu'il porte permet d'atteindre une case mémoire ou un registre spécifique avec laquelle une opération est désirée. 1.3.3 Le bus de contrôle C'est un groupe de lignes issues de ou allant vers le microprocesseur et reliant ce dernier à d'autres dispositifs. Son rôle est de véhiculer les signaux destinés à assurer la synchronisation et la commande de l'ensemble du système. Par exemple, la ligne Reset et R/W (lecture/écriture), les lignes d'interruptions et l'horloge appartiennent à ce bus Introduction Un PIC est un microcontrôleur, c’est une unité de traitement de l’information de type microprocesseur à laquelle on a ajouté des périphériques internes permettant de réaliser des montages sans nécessiter l’ajout de composants externes. Les PICs sont des composants dits RISC (Reduce Instructions Construction Set), ou encore composant à jeu d’instructions réduit. L'avantage est que plus on réduit le nombre d’instructions, plus facile et plus rapide en est le décodage, et plus vite le composant fonctionne. La famille des PICs est subdivisée en 3 grandes familles : La famille Base-Line, qui utilise des mots d’instructions (nous verrons ce que c’est) de 12 bits, la famille Mid- Range, qui utilise des mots de 14 bits (et dont font partie la 16F84 et 16F876), et la famille High-End, qui utilise des mots de 16 bits Nous nous limiterons dans ce document à la famille Mid-Range et particulièrement au PIC 16F84, sachant que si on a tout assimilé, on pourra facilement passer à une autre famille, et même à un autre microcontrôleur. Pour identifier un PIC, on utilise simplement son numéro : Les 2 premiers chiffres indiquent la catégorie du PIC, 16 indique un PIC Mid-Range. Vient ensuite parfois une lettre L, celle-ci indique que le PIC peut fonctionner avec une plage de tension beaucoup plus tolérante. Vient en suite une ou deux lettres pour indiquer le type de mémoire programme : - C indique que la mémoire programme est une EPROM ou plus rarement une EEPROM - CR pour indiquer une mémoire de type ROM - F pour indiquer une mémoire de type FLASH. On trouve ensuite un nombre qui constitue la référence du PIC. On trouve ensuite un tiret suivi de deux chiffres indiquant la fréquence d’horloge maximale que le PIC peut recevoir. Donc, un 16F84-04 est un PIC Mid-Range donc la mémoire programme est de type FLASH de référence 84 et capable d’accepter une fréquence d’horloge de 4MHz. Notez que les PICs sont des composants STATIQUES, c’est à dire que la fréquence d’horloge peut être abaissée jusque l’arrêt complet sans perte de données et sans dysfonctionnement. Une version –10 peut donc toujours être employée sans problème en lieu et place d’une –04. Pas l’inverse, naturellement. Pourquoi choisir un PIC ? Les performances sont identiques voir supérieurs à ses concurrents Les prix sont les plus bas du marché Les outils de développement sont gratuits et téléchargeables sur le WEB Le jeu d'instruction réduit est souple, puissant et facile à maîtriser Les versions avec mémoire flash présentent une souplesse d'utilisation et des avantages pratiques indéniables La communauté des utilisateurs des PICs est très présente sur le WEB. On trouve sur le net quasiment tout ce dont on a besoin, tutoriaux pour démarrer, documents plus approfondis, schémas de programmeurs avec les logiciels qui vont avec, librairies de routines, forums de discussion . . . Le PIC 16F84 Les caractéristiques principales du 16F84 sont : Une mémoire programme de type flash de 1K (1024) mots de 14 bits Une mémoire RAM constituée des registres du microcontrôleur ainsi qu'une mémoire de données libre de 68 octets. Une mémoire EEPROM de 64 octets Deux ports d'entrée sortie, un de 8 bits et un de 5 bits Un timer/Compteur Un chien de garde / compteur 4 sources d'interruption 4 types d'oscillateurs sélectionnables Protection de code Fonctionnement en mode sleep pour réduction de la consommation Programmation par mode ICSP (In Circuit Serial Programming) Aspect externe du 16F84 RA2 RA3 RA4/T0CKI MCLR VSS RB0/INT RB1 RB2 RB3 RA1 RA0 OSC1 OSC2 Vdd RB7 RB6 RB5 RB4 Fig. 0-1 : brochage du 16 F84 1 18 2 17 3 16 4 PIC 15 5 16F8X 14 6 13 7 12 8 11 9 10 PORTB 16 registres système (SFR) 68 octets de RAM utilisateur EEPROM de configuration, 14 bits Mémoire EEPROM Mémoire programme de type Flash 1024 mots de 14 bits PORTA RA4 Horloge système /4 TOSE RAM 0 1 TOCS 1 0 TMR0 0 Prescaler 1 1 WDT 0 Horloge WDT PSA Les éléments essentiels du 16F84 Fig. 0-2 : les éléments essentiels du 16F84 La mémoire programme (flash) Cette mémoire de 1024 mots stocke le programme. L'emplacement de celui-ci peut se trouver à n'importe quel endroit de la mémoire. Cependant il faut savoir que suite à un RESET ou lors de la mise sous tension, le PIC commence l'exécution à l'adresse 0000H. De plus, lorsqu'il y a une interruption, le PIC va à l'adresse 0004H. Il est donc conseillé de placer le début du programme après l'adresse 0004H et de mettre un branchement au début du programme à l'adresse 0000H et un branchement au début de la routine d'interruption s'il y en a une à l'adresse 0004H. La mémoire RAM - Rrgistres La mémoire RAM est constituée de deux parties : Les registres SFR (Special Function Register), ce sont les registres de fonctionnement du PIC. L'ensemble de ces registres est souvent appelé fichier des registres. Nous reviendrons sur ces registre un peu plus loin dans ce document. Les registres GPR (General Propose Register) sont des positions mémoire que l'utilisateur peut utiliser pour stocker ses variables et ces données. On remarquera donc que, indépendamment de leur nature, les position de la RAM sont toujours appelé registres La mémoire RAM est organisée en deux banks, pour accéder à un registre, il faut d'abord se placer dans le bank où il se trouve. Ceci est réalisé en positionnant le bit 0 appelés RP0 du registre STATUS. bank 0 bank 1 00 INDF INDF 80 01 TMR0 OPTION 81 02 PCL PCL 82 03 STATUS STATUS 83 04 FSR FSR 84 05 PORTA TRISA 85 06 PORTB TRISB 86 07 87 08 EEDATA EECON1 88 09 EEADR EECON2 89 0A PCLATH PCLATH 8A 0B uploads/Management/ module-microcontroleurs 2 .pdf
Documents similaires
-
21
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 15, 2022
- Catégorie Management
- Langue French
- Taille du fichier 2.2770MB