1 / 66

Les Microcontrôleurs 68HCXX

Clic simple:  animation suivante. Clic sur:.  Sommaire. Les Microcontrôleurs 68HCXX. BEP - Systèmes Electroniques Numériques. Consultation du dossier par les élèves en autonomie. 1 /66. Sommaire. Choisir un menu. Les microcontrôleurs PIC 16Cxx. Sommaire.

abia
Télécharger la présentation

Les Microcontrôleurs 68HCXX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Clic simple:  animation suivante Clic sur:  Sommaire Les Microcontrôleurs 68HCXX BEP - Systèmes Electroniques Numériques Consultation du dossier par les élèves en autonomie. 1/66 Sommaire

  2. Choisir un menu Les microcontrôleurs PIC 16Cxx Sommaire Mise en situation: - Evolution technologique - Analyse fonctionnelle Microcontrôleur ou Microprocesseur? Architecture interne: Von Neumann ou Harvard? Les registres internes La base de temps Le jeu d’instructions et les modes d’adressage Quitter 2/66

  3. Mise en situation Evolution technologique L’évolution des produits domestiques (ou industriels) rend compte d’un phénomène directement lié à l’évolution des technologies: 3/66

  4. Mise en situation Evolution technologique • Progrès de la miniaturisation. • Les téléphones portables en sont un exemple très actuel. Miniaturisation Mais cette miniaturisation ne peut se faire sans une évolution de la technologie utilisée. • Progrès de l’intégration. • Le nombre de structures intégrées à un seul composant est de plus en plus important. • Le nombre de circuits utilisés est ainsi réduit. Intégration 4/66

  5. Mise en situation Evolution technologique • Système minimum à 6809: • Microprocesseur • RAM • EPROM • PIA • Décodeur On comprendra aisément qu ’un système microprogrammé tel que le téléphone portable ne peut être géré par un système minimum à microprocesseur 6809: trop encombrant! 5 circuits différents!!! La solution est alors de remplacer le système minimum par un seul circuit: Le microcontrôleur. • Solution: • Microcontrôleur 1 seul circuit!!! 5/66

  6. Mise en situation Analyse fonctionnelle On retrouve ainsi les microcontrôleurs PIC dans de nombreuses applications industrielles ou domestiques. Prenons l’exemple d’une télécommande infra-rouge: Saisie touche FP1 Reconnaissance touche Génération commande FP2 EmissionIR de la commande FP3 6/66

  7. Saisie touche FP1 Reconnaissance touche Génération commande FP2 EmissionIR de la commande FP3 Mise en situation Analyse fonctionnelle Appui touche La fonction FP1 a pour rôle de prendre en compte l ’appui sur une touche et de transmettre le code correspondant à la fonction FP2. Code touche La fonction FP2 a pour rôle d ’identifier la touche à l ’aide du « code touche » et de générer le signal commande associé. Commande La fonction FP3 se charge de convertir et émettre le signal de commande sous forme de signal infra-rouge. Signal IR 7/66

  8. Appui touche Saisie touche FP1 Code touche Reconnaissance touche Génération commande FP2 Commande EmissionIR de la commande FP3 Signal IR Mise en situation Analyse fonctionnelle La fonction FP2 « Reconnaissance touche et génération commande » est réalisée par une structure microprogrammée. C ’est ici un microcontrôleur PIC qui se charge, par l ’exécution de son programme, de faire l ’acquisition du signal « code touche », et de générer de signal de commande correspondant. 8/66 Sommaire

  9. Microcontrôleur ou Microprocesseur? Suivant le type d ’application envisagé, il est possible de faire appel à différents types de structures microprogrammées. Les plus répandues sont les suivantes: Ex: PC, système minimum à 6809... • Le microprocesseur. Ex: PIC, 68HC11... • Le microcontrôleur. 9/66

  10. Micro P 6809 6809 ROM RAM PIA Décodeur Système minimum à 6809 Microcontrôleur ou Microprocesseur? Microprocesseur Considérons dans un premier temps le système minimum à microprocesseur 6809 ou autre. Seul, le 6809 ne peut fonctionner. Il requiert différentes ressources qui sont: • Une mémoire programme (ROM ou PROM ou EPROM...). • Une mémoire données (RAM). • Une interface d ’entrées / sorties (PIA). • Un décodeur d’adresses. • Différents bus d ’interconnexion. 10/66

  11. Micro P 6809 6809 ROM RAM PIA Décodeur Système minimum à 6809 Microcontrôleur ou Microprocesseur? Microprocesseur • Une mémoire programme (ROM ou PROM ou EPROM...) • c'est une zone de mémoire dans laquelle • le μP ne peut que lire. On peut y trouver des informations prédéfinies sur le μC qui ne peuvent ni ne doivent être modifiées (telles que le programme dans la plupart des applications industrielles) • Une mémoire données (RAM). • c'est une zone de mémoire dans laquelle • le μP peut lire ou écrire à tout instant lors de l'exécution d'un programme. • On y trouve les données utiles à l'exécution de ce programme telles que • les variables ; • Une interface d ’entrées / sorties (PIA). • Un décodeur d’adresses. • Différents bus d ’interconnexion. 11/66

  12. Microcontrôleur ou Microprocesseur? Microcontrôleur Un système à microprocesseur nécessite une grande surface matérielle (nombreux circuits) ainsi qu’une bonne qualité des connexions. Les microcontrôleurs permettent quant à eux de s ’affranchir de ces contraintes puisqu’ils intègrent en un seul circuit toutes les ressources propres à un système minimum. 12/66

  13. 68HCXX Les 68HCXX se déclinent selon 2 versions de mémoire de programme: -ROM (ou OTPROM), programmable une seule fois. Capacité: 8 k octets. -EEPROM, effaçable électriquement. Capacité: 512 k octet. Microcontrôleur ou Microprocesseur? Microcontrôleur Ainsi, les microcontrôleurs 68HCXX disposent des principales ressources internes suivantes: • Mémoire de programme. 13/66

  14. 68HCXX Les 68HCXX disposent d ’une mémoire de données (RAM) de capacité 256 octets. Microcontrôleur ou Microprocesseur? Microcontrôleur Ainsi, les microcontrôleurs 68HCXX disposent des principales ressources internes suivantes: • Mémoire de programme. • Mémoire de données. 14/66

  15. 68HCXX Les 68HC11 proposent un certain nombre de broches d ’entrées/sorties (52 broches) permettant l ’acquisition ou la transmission de signaux numériques. Microcontrôleur ou Microprocesseur? Microcontrôleur Ainsi, les microcontrôleurs 68HC11 disposent des principales ressources internes suivantes: • Mémoire de programme. • Mémoire de données. • Interface Entrées/sorties. 15/66

  16. 68HCXX Certains 68HCXX possèdent 1 ou 2 ports série permettant la transmission série d ’informations numériques. Microcontrôleur ou Microprocesseur? Microcontrôleur Ainsi, les microcontrôleurs 68HCxx disposent des principales ressources internes suivantes: • Mémoire de programme. • Mémoire de données. • Interface Entrées/sorties. • Et éventuellement: • Port série. 16/66

  17. 68HCXX Certains 68HCXX possèdent en ressource interne un Convertisseur Analogique / Numérique 8bits permettant l ’acquisition de 4 à 8 signaux analogiques différents. Microcontrôleur ou Microprocesseur? Microcontrôleur Ainsi, les microcontrôleurs 68HCXX disposent des principales ressources internes suivantes: • Mémoire de programme. • Mémoire de données. • Interface Entrées/sorties. • Et éventuellement: • Port série. • Convertisseur CAN. 17/66

  18. 68HCXX Microcontrôleur ou Microprocesseur? Microcontrôleur Conclusion: Les microcontrôleurs 68HCXX sont des circuits complets et performants. Ils s ’appliquent complètement dans la mise en œuvre de systèmes microprogrammés simples. 18/66 Sommaire

  19. 68HCXX Architecture interne La majorité des structures microprogrammées utilisent une architecture classique appelée: ArchitectureVon Neumann. Architecture Von Neumann: 6809, 68HC11... Les microcontrôleurs PIC ainsi que bien d’autres structures sont construites autour d’un autre type d’architecture: Architecture Harvard. Architecture Harvard: PIC, DSP... 19/66

  20. 68HCXX Contenu de la mémoire de programme EPROM Architecture interne Architecture Von Neumann Prenons le cas du système minimum à 6809. Son architecture est de type Von Neumann. La mémoire de programme associée par un autre circuit (EEPROM) contient comme son nom l ’indique le programme à exécuter. 20/66

  21. 68HCXX Instruction Opérande ... NOP 12 LDA 86 Contenu de la mémoire de programme EPROM #$07 07 ADDA 8B #$10 10 SWI 3F ... ... source objet Architecture interne Architecture Von Neumann Considérons l ’exemple du programme source suivant. Après assemblage, chaque instruction et chaque opérande codée sur un octet (8 bits) est rangée dans une case de la mémoire. La mémoire contient donc successivement les instructions et les opérandes du programme . 21/66

  22. 68HCXX ... 12 86 Bus de données 07 8B 10 EPROM 3F Micro P ... ... objet Architecture interne Architecture Von Neumann Afin d ’exécuter le programme, le microprocesseur doit liredans l’ordre le contenu de chacune des cases mémoires. Pour cela, chacun des octets de la mémoire est acheminé vers le microprocesseur, via le bus de données. 22/66

  23. 68HCXX ... 12 86 Bus de données 07 8B 10 EPROM 3F Micro P ... ... objet Architecture interne Architecture Von Neumann Conclusion: Dans le cas d’une architecture Von Neumann, le traitement d’une instruction et son opérande nécessite donc la lecture d’au moins deux cases mémoires (3 si l ’opérande est codée sur deux octets). Cela correspond à une durée de 2 ou 3 cycles machine. 23/66

  24. PIC Architecture interne Architecture Harvard • Les microcontrôleurs PIC ont eux une architecture appelée Harvard qui présente de nombreux avantages. • Les différences avec les architectures Von Neumann résident essentiellement dans: • la mémoire de programme • les bus. 24/66

  25. PIC Contenu de la mémoire de programme Architecture interne Architecture Harvard La mémoire de programme des PIC contient bien entendu le programme à exécuter. Comme précédemment, ce programme est composé d’instructions et d’opérandes. Cependant, une case mémoire peut ici contenir à la fois une instruction et son opérande. 25/66

  26. Instruction Opérande ... PIC ... CLRW 0100 MOVLW 07 3007 Contenu de la mémoire de programme ADDLW 01 3E01 MOVWF 05 0085 ... ... ... source objet Architecture interne Architecture Harvard Considérons l’exemple du programme source suivant. Après assemblage, chaque instruction et son opérande sont codées sur un mot binaire (12 ou 14 bits) puis rangées dans une case mémoire. • Chaque case de la mémoire contient donc: • l’instruction à exécuter. • l’opérande associée (non obligatoire). 26/66

  27. ... PIC ... donnée ... 0100 3007 3E01 0085 ... Unité de calcul instruction ... objet Architecture interne Architecture Harvard Afin d’exécuter le programme, l’unité de calcul doit ensuite lire le contenu de chacune des cases de la mémoire. Chaque mot binaire contenu dans la mémoire de programme est alors acheminé vers un décodeur d’instructions. Décodeur d’instructions Le rôle de ce décodeur est de séparer pour chacun des mots binaires, l’instruction et la donnée (opérande). 27/66

  28. ... PIC ... donnée ... 0100 3007 3E01 0085 ... Unité de calcul instruction ... objet Architecture interne Architecture Harvard Les instructions et les données sont ensuite acheminées simultanément vers l ’unité de calcul par l ’intermédiaire de deux bus différents. Bus de DONNEES Décodeur d’instructions Bus d’INSTRUCTIONS 28/66

  29. ... PIC ... donnée ... 0100 3007 3E01 0085 ... Unité de calcul instruction ... objet Architecture interne Architecture Harvard Conclusion: Dans le cas de l’architecture Harvard que possèdent les PIC, la lecture d ’une seule case mémoire permet le traitement entier d ’une instruction et de son opérande. Un seul cycle machine est donc nécessaire. Bus de DONNEES Décodeur d’instructions Bus d’INSTRUCTIONS 29/66 Sommaire

  30. 68HCXX Les registres internes Selon la version de 68HCXX utilisée, le nombre de registres internes au circuit est différent. Ainsi, les registres présentés ci-après sont les plus couramment utilisés: Registre accumulateurs:A,B,X,Y Registres d’E/S: PORT Registres de direction: DDR Registre d’état: CCR Registre Compteur Programme: PC 30/66

  31. 68HCXX A A b7 1 b6 0 b5 1 b4 1 b3 0 b2 0 b1 1 b0 0 Les registres internes Registre accumulateur A Le registre accumulateur A est un registre 8 bits destiné à la manipulation générale des données. Il peut donc contenir une donnée de 8 bits que l ’on appelle ici un littéral. Ex: La donnée chargée dans le registre accumulateur A a pour valeur hexadécimale B2. Le registre A peut être comparé aux registres A ou B du 6809. 31/66 Retour menu

  32. 68HCXX Micro PIC périphériques Les registres internes Registres d’E/S PORT Les microcontrôleurs 68HCXXpeuvent recevoir ou transmettre des informations logiques avec des périphériques extérieurs par l’intermédiaire de leurs ports d’E/S. Ports d ’E/S 32/66

  33. 68HCXX Micro PIC Afficheur Port A Port B Port C clavier périphériques Les registres internes Registres d’E/S PORT Suivant la version utilisée, les circuits proposent 2 ou 3 ports d ’E/S différents.voire plus Dans l ’exemple suivant, le port C est utilisé pour recevoir des informations provenant d ’un clavier. Les ports A et B sont eux utilisés pour transmettre les données à afficher. 33/66

  34. 68HCXX Port Port Ecrire Donnée à transmettre Lire Donnée reçue Les registres internes Registres d’E/S PORT L’utilisation des registres est ainsi la suivante: • Pour transmettre une donnée sur un port, il faut ECRIRE la donnée dans le registre PORT correspondant. • Pour recevoir une donnée sur un port, il faut LIRE la donnée dans le registre PORT correspondant. 34/66

  35. 68HCXX Les registres internes Registres d’E/S PORT Remarque 1: Les registres PORTA, PORTB et PORTC sont analogues aux registres ORA et ORB du PIA 6821 de Motorola. 35/66 Retour menu

  36. 68HCXX Les registres internes Registres de direction DDR Les registres de direction DDR(8 bits) sont directement liés aux registres PORT. Le rôle des registres DDR est de configurer chacune des lignes des ports soit en entrée, soit en sortie. Les différentes broches (lignes) d’un même port peuvent donc avoir un rôle différent: transmettre ou recevoir une valeur logique (« 0 » ou  «1 »). 36/66

  37. 68HCXX b7 b6 b5 b4 b3 b2 b1 b0 DDR Les registres internes Registres de direction DDR La programmation des registres DDR est la suivante: • La mise à « 0 » du bit programme la ligne correspondant en entrée. 1 0 Ligne R6 en sortie Ligne R1 en entrée • La mise à « 1 » du bit programme la ligne correspondante en sortie. 37/66

  38. 68HCXX Rd0 Rd7 RB2 RB4 RB5 Rc1 Rc2 R3 Rc0 RB1 RB3 RB6 S S S S S S S S E E E E DDRD 1 1 0 0 0 1 1 1 1 1 0 1 Les registres internes Registres de direction DDR Exemple: Programmons le port C en entrée et le port D en sortie. Remarque: les ports ABE ne possèdent que des lignes d ’entrées ou de sortie unidirectionnelles. 68HCXX Port D Port C En conséquence, les registres DDR ne se programment que pour les ports C et D . Exemple cicontre DDRC DDRC  x0 DDRD  FF « 0 » = entrée « 1 » = sortie 38/66 Retour menu

  39. 68HCXX b7 b6 b5 b4 b3 b2 b1 b0 CCR Les registres internes Registre d’état CCR Le registre d’état CCR est un registre 8 bits. Le rôle de ce registre est de donner diverses informations à l’utilisateur sur l’état de fonctionnement de l’unité de calcul suite au résultat d’une opération. On s’intéressera en fait à seulement 2 bits du registre d’état. 39/66

  40. 68HCXX b7 b7 b7 b6 b6 b6 b5 b5 b5 b4 b4 b4 b3 b3 b3 b2 b2 b2 b1 b1 b1 b0 b0 b0 Ex 1: CCR CCR CCR Ex 2: Les registres internes Registre d’état CCR Le bit b2: Z (Zéro) Lorsqu’une opération arithmétique ou logique est réalisée, le bit Z est mis à 1 si le résultat est nul et à 0 dans le cas contraire. Z Ex 1: L ’unité centrale effectue l ’opération 7 - 6 = 1. 0 Z = 0 Ex 2: L ’unité centrale effectue l ’opération 7 - 7 = 0. 1 Z = 1 40/66

  41. 68HCXX b7 b7 b7 b6 b6 b6 b5 b5 b5 b4 b4 b4 b3 b3 b3 b2 b2 b2 b1 b1 b1 b0 b0 b0 Ex 1: CCR CCR CCR Ex 2: Les registres internes Registre d’état CCR Le bit b0: C (Carry = retenue) Ce bit est positionné à 1 si une addition ou une soustraction génère une retenue depuis le bit de poids fort. C Ex 1: L’unité centrale effectue l’opération sur 8 bits: FE + 01 = FF 0 C = 0 Ex 2: L ’unité centrale effectue l’opération hexadécimale: FF + 1 = 00 (et une retenue) 1 C = 1 41/66 Retour menu

  42. 68HCXX PC b10 b8 b7 b6 b5 b4 b3 b2 b9 b1 b0 Les registres internes Compteur programme PC Le registre PC est un registre spécifique 9 ou 11 bits, suivant le modèle de 68HC11. C’est en fait un compteur ordinal qui contient l’adresse en mémoire de la prochaine instruction à exécuter. 42/66

  43. 68HCXX PC b10 b8 b7 b6 b5 b4 b3 b2 b9 b1 b0 Adresses Prog. 000 01 001 3F 002 31 003 00 004 ... 005 ... Les registres internes Compteur programme PC Prenons l’exemple d’un programme objet stocké en mémoire de programme à partir de l’adresse 000: 43/66

  44. 68HCXX 0 0 0 0 0 0 0 0 0 PC b10 b8 b7 b6 b5 b4 b3 b2 b9 b1 b0 Adresses Prog. 000 01 001 3F 002 31 003 00 004 ... 005 ... Les registres internes Compteur programme PC 1er cycle machine: Le registre PC est chargé avec l’adresse de la première instruction du programme. 44/66

  45. 68HCXX 0 0 0 0 0 0 0 0 1 PC b10 b8 b7 b6 b5 b4 b3 b2 b9 b1 b0 Adresses Prog. 000 01 001 3F 002 31 003 00 004 ... 005 ... Les registres internes Compteur programme PC • 2ème cycle machine : • De façon simultanée, • Le registre PC s’incrémente. • La donnée précédemment pointée par le registre PC est exécutée. Exécution de l ’instruction 01 45/66

  46. 68HCXX 0 0 0 0 0 0 0 1 0 PC b10 b8 b7 b6 b5 b4 b3 b2 b9 b1 b0 Adresses Prog. 000 01 001 3F 002 31 003 00 004 ... 005 ... Les registres internes Compteur programme PC • 3ème cycle machine : • De façon simultanée, • Le registre PC s’incrémente. • La donnée précédemment pointée par le registre PC est exécutée. Exécution de l ’instruction 3F 46/66

  47. 68HCXX 0 0 0 0 0 0 0 1 1 PC b10 b8 b7 b6 b5 b4 b3 b2 b9 b1 b0 Adresses Prog. 000 01 001 3F 002 31 003 00 004 ... 005 ... Les registres internes Compteur programme PC • 4ème cycle machine : • De façon simultanée, • Le registre PC s’incrémente. • La donnée précédemment pointée par le registre PC est exécutée. Exécution de l ’instruction 31 47/66

  48. 68HCXX 0 0 0 0 0 0 1 0 0 PC b10 b8 b7 b6 b5 b4 b3 b2 b9 b1 b0 Adresses Prog. 000 01 001 3F 002 31 003 00 004 ... 005 ... Les registres internes Compteur programme PC • 5ème cycle machine : • De façon simultanée, • Le registre PC s’incrémente. • La donnée précédemment pointée par le registre PC est exécutée. Exécution de l ’instruction 00 48/66

  49. 68HCXX PC b10 b8 b7 b6 b5 b4 b3 b2 b9 b1 b0 Adresses Prog. 000 01 001 3F 002 31 003 00 004 ... 005 ... Les registres internes Compteur programme PC • Conclusion • Le registre PC contient donc à l ’instant t l’adresse de la prochaine instruction à exécuter. • Ainsi, lorsqu’une instruction est exécutée, la suivante est déjà pointée par le registre PC. Exécution de l ’instruction 49/66 Retour menu Sommaire

  50. 68HCXX La base de temps Comme tous les circuits microprogrammés, les microcontrôleurs PIC 16Cxx fonctionnent à partir d’une base de temps ( horloge ) appliquée par des composants externes. Ainsi, il existe 4 modèles de PIC selon la fréquence d’horloge utilisée : Version XT: oscillateur à quartz jusqu’à 4 MHz. Version HS (High Speed): oscillateur à quartz jusqu’à 20 MHz. Version RC (Résistance-Condensateur): oscillateur RC jusqu’à 4 MHz. • Version XT Version LP (Low Power): oscillateur à quartz jusqu’à 200 kHz. Prévu pour des applications à faible consommation. • Version HS • Version RC • Version LP 50/66

More Related