40
Lycée Jacquard Document ressource GUILBERT B. 07/12/2000. Cours 68HC811E2 1/40 Résumé de document constructeur DOC COURS 01/05/2001 LE 68HC811 E2 DE MOTOROLA V. 2.0 1. Le Brochage 1.1. Description des broches V DD : +5V V SS : 0V RESET 2. Les caractéristiques électriques essentielles 2.1. Caractéristiques générales CPU 68HC11 Possibilité de mode économique WAIT & STOP Quartz de 8 MHz 2 k octets Eeprom ré-inscriptible 256 octets de Ram Liaison série Synchrone et Asynchrone (port D) Convertisseur Analogique Digital 8 bits sur 8 entrées (port E) 2.2. Caractéristiques numériques Plage de température de 0°C à 70°C -0.7V à 7V supporté sur l’alimentions et sur les entrées 5V pour l’alimentation

LE 68HC811 E2 DE MOTOROLA - …meteosat.pessac.free.fr/Cd_elect/Doc-CI/MC68HC11/le_68hc811_e2.pdf · de la société Controlord , assembleur, compilateurs croisés , et débuggeur

Embed Size (px)

Citation preview

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 1/40 Résumé de document constructeur

DOC COURS 01/05/2001

LE 68HC811 E2 DE MOTOROLA V. 2.0

1. Le Brochage

1.1. Description des broches

VDD : +5V VSS : 0V RESET

2. Les caractéristiques électriques essentielles

2.1. Caractéristiques générales CPU 68HC11 Possibilité de mode économique WAIT & STOP Quartz de 8 MHz 2 k octets Eeprom ré-inscriptible 256 octets de Ram Liaison série Synchrone et Asynchrone (port D) Convertisseur Analogique Digital 8 bits sur 8 entrées (port E)

2.2. Caractéristiques numériques Plage de température de 0°C à 70°C -0.7V à 7V supporté sur l’alimentions et sur les entrées 5V pour l’alimentation

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 2/40 Résumé de document constructeur

3. Description des broches

3.1. E (Horloge) Ceci est l’horloge de référence du 68HC11 (voir Erreur ! Source du renvoi introuvable.)

3.2. Demande d’interruption, /IRQ Broche d’interruption masquable, entrée trigger et active sur les fronts descendants ou niveau Bas, voir le registre OPTION. Il est préférable de la connecter par l’intermédiaire d’une résistance de rappel de 4,7k Ω Masquage avec l’instruction SEI, et démasquage avec CLI.

3.3. Interruption non masquable /XIRQ ou Vppe Voir /IRQ mais en plus celle -ci est non masquable ou presque . L’instruction TAP permet de la démasquer une fois pour toute.

3.4. MODA/LIR ET MODB/VSTBY Permet de sélectionner les modes de fonctionnement à l’initialisation du HC11. MODB MODA MODE 1 0 CIRCUIT SEUL 1 1 ETENDU 0 0 BOOTSTRAP 0 1 TEST

Le mode Bootstrap permet de programmer le composant acheté vierge. Ce mode lance le PC à l’adresse d’un programme qui utilise la liaison série. Le mode étendu permet de sortir le bus d’adresse et de donnée . (voir 5) VSTBY permet d’apporter une tension capable de garder le contenu de la RAM

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 3/40 Résumé de document constructeur

3.5. VRL et VRH Sont des tensions de références pour le convertisseur intégré (port E). En général VRL est à la masse et VRH au +5V (filtré)

3.6. STRA ou AS Permet de bloquer le BUS de Donnée. (bascules D) en mode Etendu.

3.7. STRB ou R/W Permet de sortir le signal R/W en mode Etendu

3.8. Les différentes broches.

3.9. Les ports d’entrées/sorties Il existe plusieurs ports qui seront détaillés ensuite plus p récisément. Il faut retenir que certains port sont soit en entré comme le port E soit en sorti comme le port B soit en programmable comme les ports C et D .. Ces 2 derniers sont configurable part 2 registres DDRC pour le port C et DDRD pour le port D. Un bit du DDRX à « 0 » => ENTREE DDRX à « 1 » => SORTIE

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 4/40 Résumé de document constructeur

3.10. Le port A Le port A est un port parallèle à usage général partagé avec le TIMER et l’ACCUMULATEUR D’IMPULSIONS. PA0, PA1, PA2 sont en entrées. PA3, PA4, PA5 et PA6 sont en sorties. PA7 est bidire ctionnelle. Le sens de fonctionnement de PA7 est géré par DDRA7 qui est dans le bit 7 de PACTL. Les états de ces bits sont gérés dans PORTA. Attention à ne pas utiliser ces broches si le TIMER est en fonction !

3.11. Le port B et C En mode étendu le port C est bidirectionnel, permet le transfert des Données ainsi que la partie basse du bus d’adresse STRA (Adresse Strobe) permet de distinguer ces deux informations, la partie haute des adresses est transféré par le port B. Pour réaliser un fonctionnement en mode E tendu il est conseillé d’utiliser un 74LS373. STRB = R/W En mode circuit seul le port B et C redeviennent des ports parallèles classique bidirectionnel et possède des mode HANDSHAKING (dialogue poignée de main) avec STRA et STRB. La direction du PORT C est géré par DDRC Les contenus par PORTC et PORTCL (LATCH) validé par STRA en entré. En sortie PORTC et PORTCL de façon indifférente . Par contre le PORT B est unidirectionnel (sortie uniquement) On y écrit par PORTB Ce port dispose de la broche STRB pour créer des dialogues. Pour les dialogues de ces ports voir le registre PIOC

3.12. Le port D Le port D est à usage général, permettant d’utiliser le SPI et le SCI (liaison série) Port bidirectionnel géré par DDRD pour le sens des données, et PORTD pour les contenus PD0 : RxD du SCI PD1 : TxD du SCI (liaison série type RS232) PD2 est le maître IN et esclave OUT (MISO) PD3 est le esclave IN et maître OUT (MOSI) PD4 est l’horloge PD5 est la broche Slave Select (/SS) (liaison SPI)

3.13. Le port E Le port est fixé en entré, PORTE contient les informations binaires à y lire. Sinon ce port permet d’acquérir des valeurs analogiques.

4. Description du 68HC811 E2 et de son utilisation Le 68HC811 E2 est un microcontrôleur de la famille de HC11 de chez Motorola, avec la particularité d’avoir une eeprom (2 k octets) ainsi que 256 octets de RAM. Ce microcontrôleur est très simple à la mise en œuvre. Le 68HC811E2 permet d’utiliser les logiciels de la société Controlord , assembleur, compilateurs croisés , et débuggeur en temps réel sur la maquette (émulation), grâce à ces produits il est facile d’apprendre le 68HC11. Utilisation de la liaison SCI avec le PC et un MAX232.

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 5/40 Résumé de document constructeur

4.1. Avec Quartz La fréquence du Quartz subit une division par 4 à l’intérieur du HC11

4.2. Avec référence de fréquence externe Ce mode permettre de synchroniser plusieurs HC11 ensemble.

La fréquence est toujours divisé par 4 à l’intérieur du circuit. Exemple d’application :

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 6/40 Résumé de document constructeur

4.3. Les signaux d’horloge.

5. Mode BOOTSTRAP ou Mode EXTENDED

68HC811E2

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 7/40 Résumé de document constructeur

6. Les registres internes du CPU

6.1. Accumulateur A et B font D A et B sont des registres 8 bits qui une fois concaténé (mis l’un a coté de l’autre) il représente le registre D 16 bits. Ces registres sont d’usage général , opération mathématique ou binaire

6.2. IX et IY IX et IY sont des registres d’index de 16 bits, voir mode indexé. Permet de gérer des tables d’information ou de stocker provisoirement un contenu de 16 bits.

6.3. Stack Pointer (SP) Ce registre 16 bits permet de gérer la pile du 68HC11, en règle général on le fait pointer l’adresse en RAM la plus élevée et libre . Voir fonction PSH et PUL

6.4. Programme compteur (PC) Registre 16 bits qui permet de gérer les instructions à réaliser pour le CPU. Ici le PC fait 16 bits , donc permet d’adresser 64 k Octets, voir mode Etendu.

6.5. Les conditions (CC) Voir code assembleur.

C : carry (retenue arithmétique) V : overflow (dépassement de capacité en complément a 1) Z : zéro (mis si le résultat donne zéro ) N : négatif (recopie le bit de poids le plus fort du registre venant d’être manipulé) I : masque d’interruption (IRQ) H : Half Carry (demi retenue d’un mot de 8 bits) X :masque d’interruption de XIRQ (interruption non masquable ! !) S :stop , si il est mis à 1 l’instruction stop n’est pas reconnu mais est équivalent à un NOP

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 8/40 Résumé de document constructeur

7. L’assembleur AS11 Le langage d’assemblage du 68HC11 permet de générer du code machine. C’est un langage de bas niveau. Il est simple a comprendre et permet de maîtriser le composant dans ses moindres détails. AS11.EXE est un logiciel FREEWARE fournis par Motorola ,qui transforme un fichier texte assembleur (directives de compilation et mnémonique) en code machine HC11.

7.1. 7 Directive d’assemblage ou de compilation

Origine du code à implanter en mémoire. Ex : DEBPP ORG $F800 Place l’origine du programme en F800

Equal , Egale Ex: DDRB EQU $1004 Ddrb est égale a la valeur ou l’adresse $1004

Reserve Memory Byte Réserve des octets en mémoire Ex : XX XX CODE RMB 4 XX XX Réserve 4 octets en mémoire ..

Format Double Byte Permet d’implanter du code sur un format 16 bits Ex : FF CE CODE FDB $FFCE

Format Constant Byte Permet d’implanter un octet. Ex : AA OCTET FCB $AA

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 9/40 Résumé de document constructeur

8. La structure de Von Neuman.

CPU

Decodeurd'adresse

ROM

instructionset données

RAM

instructionset données

PERIPHERIQUE

Données

Schéma simplifié de la structure de Von Neuman

bus d'adresse

Bus de donnée

Le HC11 fonctionne grâce a 2 BUS vitaux : Le BUS de Données sur 8 BITS et bidirectionnel. Le BUS d’adresse sur 16 BITS et mono directionnel. Les transferts d’informations passent par le BUS de données et uniquement par ce bus. Le bus d’adresse permet de gérer les éléments du système, mémoire et périphérique essentiellement.

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 10/40 Résumé de document constructeur

9. Les modes d’adressages de MOTOROLA

9.1. Mode d’adressage Inhérent (INH) Le mode d’adressage inhérent ne nécessite que la lecture de l’instruction dans la mémoire programme et l’exécution de cette instruction se passant intégralement dans le CPU (avec l’ALU). Inhérent veut dire qui se suffit a elle même. Ex : CLRA ; est une instruction inhérente , l’accu A=0

9.2. Mode d’adressage immédiat (imm) Le mode d’adressage immédiat permet de charger de façon immédiate une constante dans un registre. Ex : LDAA #$10 ; place dans l’accumulateur A la valeur $10

9.3. Mode d’adressage étendu (ext) Ce mode permet d’atteindre toute l’étendu de l’adressage du HC11, soit les 64 kOctets adressable. Ex : LDAA $500; place le contenu de l’adresse $500 dans A STAA $501; place A dans le contenu de l’adresse $501 Ces 2 instructions recopies le contenu de l’adresse $500 dans l’adresse a juste a cote $501.

9.4. Mode d’adressage Direct (dir) Comme pour le mode étendu mais limité à l’espace 00 à $FF (la RAM) Ex : LDAA $50; place le contenu de l’adresse $50 dans A STAA $51; place A dans le contenu de l’adresse $51 C’est le compilateur qui utilisera le mode direct si cela est possible, ce mode est plus compact en code et plus rapide.

9.5. Mode d’adressage indexé (IX et IY) Ce mode s’utilise avec les registres dit d’indexe IX et IY. Ce mode permet de gérer plus rapidement et de façon plus compacte des zone 256 octets. Ce mode est très utilisé en HC11. Ex : LDAA 0,X ; charger A avec le contenu pointe par IX+0 BSET PORTB,X %00000001 ; si IX=$1000 et PORTB=4 mise ;a 1 du bit 0 du port B.

9.6. Mode d’adressage Relatif Ce dernier est utilisé pour les divers saut et branchement du HC11. Il s’appel relatif car ils sont calculés par rapport a l’emplacement relatif de l’instruction. +10 octets ou –20 octets Ex : BRA SAUT ; saut relatif court à –128 ou 127 octets JSR SOUSP ; saut a un sous programme relatif long ; -32768 et +32767 …

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 11/40 Résumé de document constructeur

10. JEUX D’INSTRUCTION DU 68HC11

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 12/40 Résumé de document constructeur

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 13/40 Résumé de document constructeur

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 14/40 Résumé de document constructeur

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 15/40 Résumé de document constructeur

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 16/40 Résumé de document constructeur

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 17/40 Résumé de document constructeur

10.1. Legende concernant les tableaux de mnémoniques Cycle * Infinity or until reset occurs ** 12 Cycles are used beginning with the opcode fetch. A wait state is entered which remains in effect for an integer number of MPU E-Clock cycles (n) until an interrupt is recognized. Finally, two additional cycles are used to fetch the appropriate interrupt vector (14 + n total). Operands dd = 8-Bit Direct Address ($0000 –$00FF) (High Byte Assumed to be $00) ff = 8-Bit Positive Offset $00 (0) to $FF (255) (Is Added to Index) hh = High-Order Byte of 16-Bit Extended Address ii = One Byte of Immediate Data jj = High-Order Byte of 16-Bit Immediate Data kk = Low -Order Byte of 16-Bit Immediate Data ll = Low -Order Byte of 16-Bit Extended Address mm = 8-Bit Mask (Set Bits to be Affected) rr = Signed Relative Offset $80 (–128) to $7F (+127) (Offset Relative to Address Following Machine Code Offset Byte)) Operators ( ) Contents of register shown inside parentheses ⇐ Is transferred to ⇑ Is pulled from stack ⇓ Is pushed onto stack • Boolean AND + Arithmetic Addition Symbol except where used as Inclusive-OR symbol in Boolean Formula ⊕ Exclusive-OR ∗ Multiply : Concatenation – Arithmetic subtraction symbol or Negation symbol (Two’s Complement) Condition Codes — Bit not changed 0 Bit always cleared 1 Bit always set ∆ Bit cleared or set, depending on operation ↓ Bit can be cleared, cannot become set

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 18/40 Résumé de document constructeur

11. Le Convertisseur Analogique Numérique $1030 CCF SCAN MULT CD CC CB CA ADCTL Reset 0 0 - - - - - - $1039 ADPU CSEL OPTION Reset 0 0 0 1 0 0 0 0 Et ADR1 à ADR4 Ici on a besoin du registre OPTION et ADCTL et des registre de résultat ADR1 à ADR4. 8 entrées analogique de PE0 à PE7 ! ! bien sur ces entrées sont mutliplexées vers un seul CAN. Ce CAN est fonctionne par approximations successives. Une conversion prends 32 cycles machines ! (16 µs. environ minimum) - Registre OPTION : ADPU : AD power Up, ce bit mis à 1 actionne la pompe de charge qui alimente le convertisseur. CSEL : Permet de sélectionner l’horloge externe (Quartz/4) ou une horloge interne (R*C). Entre 750kHz et 2 MHz 1 pour la bonne écriture dans l’Eeprom mais à 0 pour le bon fonctionnement du CAN. Au lycée sur nos maquettes Quartz de 8 MHz ce bit doit être à ZERO. - Registre ADCTL : CCF :Conversion complète Flag, mis à 1 après avoir réalisé les 4 conversions. (peut être remis à 0 en écrivant dans le registre) SCAN : Si ce bit est à 1 les conversions ne font en continu, et remis à jour en permanence. Il n’y a aucune contre indication à la lecture des résultats qui sont toujours des valeurs stables ! MULT: Ce bit permet de choisir soit la conversion multiple (4 entrées) si il est à 1, selon les bit CC et CD ( CA et CB ne servent pas) , si mult=0 la conversion ne concerne que la voix pointé par CA à CD selon le tableau 1

Figure 1

Tableau 1

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 19/40 Résumé de document constructeur

La Figure 2 , donne le schéma équivalent d’une entrée du HC11. La Figure 3, décrit le timing du convertisseur du 68HC11. Le Timer Le Timer possède un compteur qui compte inlassablement le signal issue de l’horloge prédivisé. Ce

compteur est sur 16 bits (compte de $0000 à $FFFF) a chaque débordement il active un bit et recommence à compter .. rien ne l’arrête sauf le RESET ! Le prédiviseur programmable permet de divisé E par 1,4,8 ou 16. (voir 11.2)

Sur ce Timer on dispose de 3 registres dit de capture TIC1, TIC2, TIC3 qui permettent de dater un événement extérieur, c’est à dire que chacun de ces registres recopie le compteur sur un front actif de l’entrée de commande IC1, IC2, IC3 et IC4. (voir 11.3) Ces registres peuvent facilement relever une fréquence ou une période d’un signal externe. Les bits IC1F, IC2F, IC3F (F comme Flag ) permettent de valider les latchs (bascules type D).

Figure 2 Figure 3

Compteur 16bits Prédiviseur

3 registres de capture

Port A !

Demandes d’interruption

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 20/40 Résumé de document constructeur

Il faudra les placer à zéro grâce au registre TFLG1 ou pour vérifier qui à été activé, l’événement peut provoquer une interruption si IC1I, IC2I, IC3I est placé dans le registre TMSK1 , chacune des interruptions dispose de son propre ve cteur d’interruption (voir 18).

11.1. Le registre TCNT, le compteur de temps $100E Bit 15 14 13 12 11 10 9 8 TCNT (haut) $100F Bit 7 6 5 4 3 2 1 0 TCNT (Bas) Ce registre 16 bits représente le compteur , en lecture seulement ! Ce compteur démarre à $0000 à partir d’un RESET du 68HC11.

11.2. Le registre TMSK2, le prédiviseur d’horloge E Timer Interrupt Mask 2 BIT 7 6 5 4 3 2 1 0 $1024 TOI RTII PAOVI PAII - - PR1 PR0

TMSK2

Reset 0 0 0 0 0 0 0 0 $1024 Attention certains bits sont dit protégés (PR1 et PR0 par exemple), car il faut le modifier pendant les 64 premiers cycles d’horloge du HC11. Cette protection verrouille le contenu du registre pour la suite. L’écriture de ce registre ce fera dés le début de l’application. Un niveau 0 inhibe l'interruption considérée. TOI : 1 : interruption validée si TOF de TFLG2 est à 1 (dépassement). RTII : 1 : interruption validée si RTIF de TFLG2 est à l. PAOVI : 1 : interruption validée si PAOVF de TFLG2 est à 1 (dépassement de l'accumulateur d'impulsions). PAII : 1 : interruption validée si PAIF de TFLG2 est à I . PRl et PRO : Ces 2 bits définissent le taux de prédivision de l’horloge système.

PR1 PR0 Divisé par 0 0 1 0 1 4 1 0 8 1 1 16

11.3. Le registre TCLT2, réglage des fronts de capture Timer Control 2 BIT 7 6 5 4 3 2 1 0 $1021 EDG4B EDG4A EDG1B EDG1A EDG2B EDG2A EDG3B EDG3A

TCTL2

Reset 0 0 0 0 0 0 0 0 $1021

EDGxB EDGxA Configuration 0 0 Capture invalidée 0 1 Capture sur Front Montant 1 0 Capture sur Front Descendant 1 1 Capture sur Front Montant et Descendant

En fonction des bits EDGxB et EDGxA on réglera le type de capture sur les entrées IC1 à IC4

11.4. Les registres de capture TICx

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 21/40 Résumé de document constructeur

C’est registres contiennent la capture de l’horloge après validation par une entrée.

Il est conseillé d’utiliser le registre D (16 bits) pour les manipulations sur ces registres.

11.5. Les registres de comparaison en sortie

Il est conseillé d’utiliser le registre D (16 bits) pour les manipulations sur ces registres.

11.6. Le registre d’interruption Timer TFLG2 Timer Interrupt Flag 2 BIT 7 6 5 4 3 2 1 0 $1025 TOF RTIF PAOVF PAIF - - - -

TFLG2

Reset 0 0 0 0 0 0 0 0 $1025 Ces drapeaux sont remis individuellement à 0 par l'écriture d'un 1 à leur case mémoire respective. TOF : ce bit est positionné à 1 lorsque TCNT passe de $FFFF à $0000. RTIF : ce bit est affirmé sur chaque impulsion en sortie du compteur en temps réel. PAOVF : ce bit est positionné à 1 lorsque PACNT passe de $FF à $00. PAIF : ce bit est affirmé lors d'une transition active sur l'entrée de l'accumulateur d'impulsions. En mode déclenché, l'ouverture de la porte provoque la mise à 1 de PAIF.

11.7. Autorisation d’interruption par le compteur

TMSK2 voir 11.2 TOI : Timer Overflow Interrupt Enable Ce bit autorise les interruptions provoqué par le passage à 1 de TOF (voir 11.6)

11.8. Interruption par entrée de capture et comparaison Timer Interrupt Mask 1 BIT 7 6 5 4 3 2 1 0 $1022 OC1I OC2I OC3I OC4I I4/O5I IC1I IC2I IC3I

TMSK1

Reset 0 0 0 0 0 0 0 0 $1022

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 22/40 Résumé de document constructeur

Ce registre valide ou non les interruptions provenant du timer en entrée de capture ou en sortie de comparaison. OCxI : 1 : une interruption est générée si OCxF de TFLC 1 est à 1. 0 : interruption inhibée.

ICxI : 1 : une interruption est générée si ICxF de TFLG 1 est à 1. 0 : interruption inhibée. I405I : 1 : interruption validée. 0 : interruption inhibée.

11.9. Flag des entrées de comparaison et de capture TFLG1 Timer Interrupt Flag 1 BIT 7 6 5 4 3 2 1 0 $1023 OC1F OC2F OC3F OC4F OC5F - - -

TFLG1

Reset 0 0 0 0 0 0 0 0 $1023 Description des états des différentes comparaison, remis à zéro par l’écriture d’un 1 !

11.10. Comportement des sorties de comparaison Timer Control 1 BIT 7 6 5 4 3 2 1 0 $1020 OM2 OL2 OM3 OL3 OM4 OL4 OM5 OL5

TCTL1

Reset 0 0 0 0 0 0 0 0 $1020

OMx Olx Configuration 0 0 Pas d’action sur les sorties Ocx 0 1 Changement d’état à chaque comparaison valide 1 0 Mise à 0 à chaque comparaison valide 1 1 Mise à 1 à chaque comparaison valide

11.11. Paramétrage de la broche OC1 ou PA7 Cette broche possède un traitement particulier, elle peut recopier chacune des sorties de OC2 à OC5 ou être l’entrée de l’accumulateur d’impulsions PAI. 2 registres permettent la gestion de cette broche OC1M et OC1D Output Compare Mask Register BIT 7 6 5 4 3 2 1 0 $100C OC1M7 OC1M6 OC1M5 OC1M4 OC1M3 - - -

OC1M

Reset 0 0 0 0 0 0 0 0 $100C Le registre OClM définit, par celui ou ceux de ses bits 0C1M3 à 0C1M7 qui sont mis à l, sur quelle(s) patte(s) va agir OCl. La correspondance bit-patte est indiquée sur la représentation du registre ci-dessus, mais reste logique et correspond en fait à la position des pattes sur 1e port A. Notez dès à présent qu'il est ainsi possible de faire agir OCl sur plusieurs pattes OCx simultanément, même si elles sont déjà contrôlées par ailleurs par leur propre registre de comparaison. Cela permet, par exemple, de générer des impulsions de très courte durée, impossibles à obtenir avec une sortie OCx seule, ou encore de générer des signaux ayant une référence de départ ou de fin commune obtenue en faisant agir OCl sur toutes les sorties OCx.

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 23/40 Résumé de document constructeur

Output Compare Data Register BIT 7 6 5 4 3 2 1 0 $100D OC1D7 OC1D6 OC1D5 OC1D4 OC1D3 - - -

OC1D

Reset 0 0 0 0 0 0 0 0 $100D Le registre OClD, quant à lui, définit le mode d'action de OCl lors d'une comparaison réussie dans TOCl. Pour cela, il suffit de positionner à 0 ou à 1 les bits de OClD correspondant aux pattes sur lesquelles OCl doit agir. Lors d'une comparaison réussie, ces pattes prendront alors la valeur ainsi définie sous réserve bien sûr que cette action soit autorisée par le ou les bits de OC1M correspondants. Si OCl doit agir sur OC2 à 0C5, la seule définition des bits vus auparavant suffit. Si par contre OCl doit agir sur PAI (PA7) il faut impérativement avoir mis cette patte en sortie par écriture à 1 du bit DDRA7 du DDRA (voir 3.10). Un dernier registre un peu particulier permet de contrôler le timer. II s'agit du registre CFORC pour Control FORce output Compare. Ce registre permet comme son nom l'indique de forcer le comportement d’une ou plusieurs pattes de comparaison en sortie comme si une comparaison valide avait eu lieu. Timer Compare Force BIT 7 6 5 4 3 2 1 0 $100B FOC1 FOC2 FOC3 FOC4 FOC5 - - -

CFORC

Reset 0 0 0 0 0 0 0 0 $100B Un dernier registre un peu particulier permet de contrôler le timer. II s'agit du registre CFORC pour Control FORce output Compare. Ce registre permet comme son nom l'indique de forcer le comportement d’une ou plusieurs pattes de comparaison en sortie comme si une comparaison valide avait eu lieu.

12. L’accumulateur d’impulsions L’accumulateur d’impulsions est un compteur 8 bits qui possède 2 modes de fonctionnement : en compteur d’événements, le compteur est incrémenté par un front actif sur la broche PA7 (f. max. = E/2) en compteur déclenché, le compteur est incrémenté par l’horloge système divisée par 64 si le niveau correct se trouve sur la broche PA7.

12.1. PACTL registre de contrôle de l’accumulateur d’impulsions Bit 7 6 5 4 3 2 1 0 $1026 0 PAEN PAMOD PEDGE 0 I4/O5 RTR1 RTR0

PACTL

Reset 0 0 0 0 0 0 0 0 $1026 PAEN : 1 : l’accumulateur d’impulsions activé, 0 : non actif. PAMOD et PEDGE : Ils définissent le mode de fonctionnement de l’accumulateur d’impulsions. PAMOD PEDGE Configuration 0 0 PACNT = PACNT + 1 sur front descendant de PA7 0 1 PACNT =PACNT + 1 sur front montant de PA7 1 0 Un 0 sur PA7 inhibe le comptage des impulsions de E/64 par PACNT 1 1 Un 1 sur PA7 inhibe le comptage des impulsions de E/64 par PACNT I4/O5 : bit de configuration TI4O5, 1 : TI4O5 est une entrée de capture sinon est une sortie de comparaison. RTR1 et RTR0 : ces 2 bits définissent la durée entre 2 interruptions générées par l’horloge temps réel. Voir 13 $1027 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 PACN

T Reset x x x x x x x X $1027 Compteur de l’accumulateur d’impulsions. (lecture/écriture) le chien de garde est activé en mettant à zéro le bit NOCOP (pas de p olice) de CONFIG (voir 21.2)

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 24/40 Résumé de document constructeur

Ensuite une fois armé votre chien de garde est prêt à activer une interruption COP en cas de passage par zéro de son compteur. Le but étant qu’il ne passe jamais a zéro, et pour cela il faudra régulièrement le recharger en écrivant dans la valeur $55 dans le registre COPRST ($103A) puis la valeur $AA . Le registre OPTION est encore utilisé pour régler la vitesse de décomptage CR1 et CR0 (Voir 21.1) Par exemple pour un Quartz de 8MHz une interruption COP toutes les 16.384ms à 1.049s !

13. Interruption temps réel Le RTI permet d’interrompre le MPU à intervalle régulier et programmable, ce qui permet de réaliser une tache par dessus un processus. Cette interruption est masquable par le I du CCR ou le bit RTII du registre TMSK2. La durée entre 2 interruptions es basée sur le signal E, avec une division de la fréquence par 213, 214, 215,216 cette programmation ce fait sur PACTL (12.1) bit RTR1 et RTR0, TMSK2(11.2) et TFLG2(11.6)

Fréquence du Quartz Interruption temps REEL 223 Hz. 8 MHz 4 MHz

RTR1 RTR0 E/213 divisé par RYTHME DE L’HORLOGE TEMPS REEL 0 0 1 3.91 ms. 4.10 ms. 8.19 ms. 0 1 2 7.81 ms. 8.19 ms. 16.38 ms. 1 0 4 15.62 ms. 16.38 ms. 32.77 ms. 1 1 8 31.25 ms. 32.77 ms. 65.54 ms.

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 25/40 Résumé de document constructeur

14. L’EEPROM Le 68HC811E2 contient une EEPROM (mémoire morte programmable et effaçable électriquement) dont la capacité de stockage est de 2048 octets.

- En mode BOOTSTRAP et SINGLE CHIP, l'EEPROM se situe obligatoirement dans le champ d'adresse $F8OO à $FFFF

- En mode ETENDU NON MULTIPLEXE, l'EEPROM est relogeable dans le champ d'adresse par sauts de 4Ko, les adresses de début et de fin étant toujours sous la forme $xE00 et $xFFF (x définissant le relogement).

- En mode TEST, l'EEPROM est initialement dévalidée mais peut être validée par programmation.

L'EEPROM peut être lue, programmée voire effacée partiellement ou totalement. Le contenu d'une case mémoire lorsqu'elle est effacée est égal à $FF. Il est possible de protéger totalement ou partiellement l'EEPROM contre sa programmation ou son effacement accidentel en agissant sur le registre BPROT. NB : après un RESET, l'EEPROM est totalement protégée. La durée nécessaire à l'effacement (partiel ou complet) ou à la programmation d'une cellule de l'EEPROM dépend de la fréquence E du processeur. Si E > 2MHz, la durée nécessaire est de l0 ms. Si l MHz. < E < 2 MHz, cette durée est de 20 ms. Si la fréquence de E est inférieure à 1 MHz, il faut utiliser le circuit RC d'horloge interne en positionnant à 1 le bit CSEL du registre OPTION ($1039). L'utilisation de l'EEPROM nécessite la programmation des registres BPROT ($1035), PPROG ($103B) et CONFIG ($103F). REMARQUE IMPORTANTE Les bits des registres CONFIG et BPROT ne peuvent être remis à 0 que pendant les 64 premiers cycles machine (E) qui suivent un RESET. Par contre, leur remise à 1 peut intervenir ultérieurement.

14.1. BPROT registre de protection de l'EEPROM BIT 7 6 5 4 3 2 1 0 $1035 0 0 0 Ptcon Brt3 Brt2 Brt1 Brt0

BPROT

Reset 0 0 1 1 1 1 1 1 $1035 PTCON : 1 : l'écriture ou l'effacement du registre CONFIG sont interdits. 0 : l'écriture ou l'effacement du registre CONFIG sont autorisés. BPRT3 à BPRTO : protection de blocs mémoires spécifiques si l' EEPROM a été validée dans le mapping interne par CONFIG. 1 : bloc accessible seulement en lecture 0 : bloc accessible en lecture , effacement ou écriture.

Bit Bloc protégé Taille du Bloc BPRT0 $xE00-$xElF 32 octets BPRT1 $xE20-$xESF 64 octets BPRT2 $xE60-$xEDF 128 octets BPRT3 $xEEO-$xFFF 288 octets

14.2. PPROG registre de contrôle de programmation de l'EEPROM BIT 7 6 5 4 3 2 1 0 $103B Odd Even 0 Byte Row Erase Eelat Eepgm

PPROG

Reset 0 0 0 0 0 0 0 0 $103B ODD : programmation des lignes impaires (1 ligne = 16 octets). EVEN : programmation des lignes paires. Ces deux bits ne sont valides qu'en mode TEST.

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 26/40 Résumé de document constructeur

ROW / BYTE définissent le format selon lequel sera effacée l'EEPROM. BYTE ROW MODE 0 0 Effacement total des 512 octets 0 1 Effacement d’une ligne de 16 octets 1 x Effacement d’un octet spécifique ERASE : sélection des modes effacement (1) ou lecture/programmation (0). EELAT : verrouillage de l'EEPROM.

1: les bus d'adresses et de données de l'EEPROM sont configurés pour des opérations de programmation ou d'effacement.

0: les bus d'adresses et de données de l'EEPROM sont configurés uniquement pour des opérations de lecture. EEPGM : 1 : validation de la tension de programmation. 0 : tension de programmation = 0 V.

14.3. PROCEDURE D'EFFACEMENT DE L'EEPROM 1. Déprotéger la zone d'EEPROM considérée (registre BPROT). 2. Configurer le registre PPROG pour permettre les opérations d'effacement (EELAT=1), sans appliquer la tension de programmation. 3. Ecrire n'importe quelle donnée à l'adresse de la cellule, ou à n'importe quelle adresse de la ligne ou du bloc que l'on veut effacer. 4. Appliquer la tension de programmation ( EEPGM=1 dans le registre PPROG). 5. Attendre l0 ms. au minimum (ou 20, suivant la fréquence du quartz). 6. Annuler la tension de programmation ( EEPGM=0 ). Le contenu de la zone effacée doit alors être $FF.

14.4. PROCEDURE DE PROGRAMMATION DE L'EEPROM l. Déprotéger la zone d'EEPROM considérée (registre BPROT). 2. Configurer le registre PPROG pour permettre les opérations d'effacement (EELAT=1), sans appliquer la tension de programmation. 3. Ecrire la donnée à l'adresse désirée. 4. Appliquer la tension de programmation (EEPGM=1). 5. Attendre l0 ms. au minimum (ou 20, suivant la fréquence du quartz). 6. Annuler la tension de programmation ( EEPGM=0 ). La donnée doit être stockée en EEPROM.

14.5. CONFIG registre de contrôle de la configuration ATTENTION ! ! ! CONFIG est le seul registre qui soit situé en EEPROM et dont le contenu est recopié en $103F lors d'un RESET. En mode TEST, CONFIG est directement modifiable. Dans les autres modes, les valeurs chargées lors du RESET le restent jusqu'au RESET suivant.

Le bit PTCON du registre BPROT doit être mis à 0 avant d'effacer ou programmer CONFIG.

Voir 21.2 MODIFICATION DU REGISTRE CONFIG Il est impératif de suivre les mêmes procédures d'e ffacement et de programmation pour le registre CONFIG que pour l'EEPROM. Toutefois une lecture de $103F ne retournera que l'ancienne valeur, et non la valeur actuelle de CONFIG. Pour valider la nouvelle valeur, il est nécessaire de provoquer un RESET.

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 27/40 Résumé de document constructeur

15. La liaison série synchrone (SPI) La liaison série synchrone peut-être utilisée comme simple E/S de données sérielles avec des périphériques, ou comme canal d'échange dans des configurations multiprocesseurs. Horloge et phase sont programmables pour assurer une flexibilité maximale. Le SPI peut être configuré en maître (M) ou esclave (S). 4 lignes sont associés au SPI (port D). PD2 : MISO : Master In Slave Out : entrée de données pour le SPI PD3 : MOSI : Master Out Slave In : sortie de données pour le SPI PD4 : SCK : Serial ClocK : E/S d'horloge de synchronisation PD5 : SS : Slave Select : entrée de validation de l'esclave. Les sorties du SPI doivent, pour être actives avoir à 1 les bits correspondants dans le DDRD, alors que les entrées du SPI sont prioritaires sur les bits du DDRD.

15.1. SPCR registre de contrôle Bit 7 6 5 4 3 2 1 0 $1028 Spie spe dwom mstr cpol cpha spr1 Spr0

SPCR

Reset 0 0 0 0 0 0 X X $1028 SPIE : 1 : les demandes d'interruption sont autorisées lorsque SPIF du SPSR= l. 0 : les demandes d'interruptions sont masquées. SPE : 1 : le SPI est en fonctio n. 0 : le SPI est à l'arrêt. DWOM: 1 : les sorties du port D sont en drain ouvert. 0 : les sorties du port D sont en CMOS classique. MSTR : 1 : mode maître. 0 : mode esclave. CPOL : 1 : lorsque la ligne SCK est inactive, elle est à l'état haut. 0 : lorsque la ligne SCK est inactive, elle est à l'état bas. CPHA : 1 : la donnée est prise en compte à la date du front montant de SCK. SS peut être laissé à 0 entre les transferts. 0 : la donnée est prise en compte à la date du front descendant de SCK. Le transfert débute à la date à laquelle SS tombe à 0 et SS doit être affirmé entre chaque octet transmis.

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 28/40 Résumé de document constructeur

Ces 2 bits définissent la vitesse de transmission en fonction de la fréquence d'horloge (E). SPR1 SPRO E divisé par Fréquence de l'horloge de transmission SCK si E=2 MHz 0 0 2 1 MHz. 0 1 4 500 kHz. 1 0 16 125 kHz. 1 1 32 62.5 kHz.

15.2. SPSR registre d'état Bit 7 6 5 4 3 2 1 0 $1029 soif Wcol 0 modf 0 0 0 0

SPSR

Reset 0 0 0 0 0 0 0 0 $1029 SPIF : ce drapeau est positionné à I lorsque la transmission d'un octet est terminée. WCOL : ce drapeau passe à 1 si l'on tente d'écrire une donnée dans le SPDR alors que le SPI est en train d'émettre. Ces drapeaux sont remis à 0 par une lecture de SPSR suivie d'une lecture ou une écriture du SPDR. MODF : ce bit indique qu'il y a eu un conflit dans l'échange de données dans une configuration multi-maîtres. MODF est mis à 1 lors que ce SPI configuré en maître voit sa ligne SS amenée à 0. Il réagit alors de la manière suivante : 1 - DDRD est mis à 0 pour déconnecter les sorties du SPI. 2 - MSTR est force à 0 pour configurer le SPI en esclave . 3 - SPE est force à 0 pour invalider le SPI. 4 - Une interruption est générée si SPIF = I . MODF est remis à 0 par une lecture du SPSR suivie d'une écriture du SPCR. SPE et MSTR doivent être restaurés à leur état initial par le soft lorsque MODF à été remis à 0. De plus, DDRD doit être restauré après un défaut (MODF = 1 ).

15.3. SPDR registre de données Bit 7 6 5 4 3 2 1 0 $102A

SPDR

Reset 0 0 0 0 0 0 0 0 $102A Situé en $102A, le SPDR est utilisé pour émettre et recevoir les données. Une écriture dans ce registre provoque l'émission immédiate de l'octet. SPIF passe à 1 à la fin de l’émission, et doit être remis à 0 avant d’effectuer une nouvelle émission, sinon on s'expose à des pertes de données.

16. La liaison série asynchrone (SCI) Le SCI est un interface de communication série asynchrone, dont les vitesses de transmission sont dérivées de la fréquence du quartz du MCU. Le SCI se trouve sur le port D avec PDO = RXD, et PDl = TXD. Le fonctionnement du SCI est défini par les registres : SCDR ($ 102F): registre de données (émission ou réception) SCCRI ($102C): registre de contrôle :longueur de mot et état de veille SCCR2 ($102D): registre de contrôle de fonctionnement général SCSR ($102E): registre d'état BAUD ($102B): registre de sélection de la vitesse de transmission

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 29/40 Résumé de document constructeur

16.1. SCCR1 Longueur de mot et état de veille Bit 7 6 5 4 3 2 1 0 $102C R8 T8 0 m wake 0 0 0

SCCR1

Reset X x 0 0 0 0 0 0 $102C M : si M =0, alors le format est: 1 start / 8 bits / 1 stop si M =1, alors le format est: 1 start / 9 bits / 1 stop et R8 / T8 reflètent l'état du 9ème bit de donnée, en réception ou en émission. WAKE : mode d'activation de la réception si 0, mode IDLE LINE: la réception est activée sur un mot complet. si l, mode ADRESS MARK: un 1 en MSB met en fonction la réception.

16.2. SCCR2 mode de fonctionnement Bit 7 6 5 4 3 2 1 0 $102D tie tcie rie ilie te re rwu sbk

SCCR2

Reset 0 0 0 0 0 0 0 0 $102D Les fonctions suivantes sont validées si le bit considéré est à 1. TIE : validation d'interruption de début d'émission (lorsque TDRE=1). TCIE : validation d'interruption de fin d'émission (lorsque TC=1). RIE : validation d'interruption de réception complète si RDRF=1 ou encombrement du registre de réception si OR=1. ILIE : validation d'interruption de détection de ligne inactive (lorsque IDLE=1). Le SCI génère une interruption lorsque IDLE passe à l, c'est à dire lors du retour au repos de la ligne de réception. TE : 1 : le SCI est activé en émission. 0 : PDI est une ligne d’E/S classique. La mise à 1 de TE provoque l'émission d'un caractère préliminaire constitué de 10 bits si M =0, ou de 11 bits si M =1. Après la mise à l de TE, il faut tester TC pour détecter la fin d'émission de ce caractère, avant de commencer l'émission d'un message "utile" . RE : 1 : le SCI est activé en réception. 0 : PDO est une ligne d'E/S classique. RWU: 1 : le SCI est placé en mode veille et est activé en réception, si la condition définie par l'état logique de WAKE est vérifiée. 0 : la réception est validée normalement. SBK : 0 : pas d'émission de break. Un break est envoyé à chaque fois que SBK passe à 1. Un break est une suite de 10 (si M =0) ou 11 (si M =1 ) bits à 0.

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 30/40 Résumé de document constructeur

16.3. SCSR Registre d'état Bit 7 6 5 4 3 2 1 0 $102E tdre tc rdrf idle or nf fe 0

SCSR

Reset 1 1 0 0 0 0 0 0 $102E TDRE :passe à 1 lorsque le contenu de SCDR est transféré dans le registre à décalage permettant l'émission sérielle. Une nouvelle donnée ne sera transférée qu'après une lecture de SCSR, suivie d'une écriture dans SCDR. TC : passe à 1 à chaque fin d'émission d'un octet, et est remis à 0 par une lecture de SCSR, suivie d'une écriture dans SCDR. RDRF : passe à 1 lorsque le caractère re çu dans le registre à décalage est transféré dans le SCDR. IDLE : 0 : la ligne RXD est activée ou n'a jamais été activée depuis la dernière fois que IDLE a été mis à 0. 1 : la ligne RXD est désactivée. OR: si OR=0, il n'y a pas d'encombrement. si OR=l, alors un caractère vient d'être reçu et il est prêt à être transféré dans SCDR, mais le caractère reçu précédemment est encore présent dans ce registre et n'a pas encore été lu. NF : si NF=0, pas de bruit détecté si NF =1, des changements d'état anormaux au cours de la réception d'un ou plusieurs bits ont été décelés. FE : si FE=0, pas d'erreur de trame. si FE= I , une erreur de trame a été engendrée par le fait que la détection du bit de stop s'est faite après un niveau logique bas. NB : TDRE, TC, NF sont remis à 0 par une lecture de SCSR, suivie d'une écriture dans SCDR. RDRF, IDLE, OR, FE sont remis à 0 par une lecture de SCSR, suivie d'une lecture de SCDR.

16.4. BAUD registre de sélection de la vitesse de transmission Bit 7 6 5 4 3 2 1 0 $102B Tclr 0 scp1 scp0 rckb scr2 scr1 Scr0

BAUD

Reset 0 0 0 0 0 0 0 0 $102B L'horloge de référence est celle du processeur (E); en agissant sur BAUD, on définit deux coefficients diviseurs qui permettent de régler la vitesse de transmission sérielle en fonction du quartz utilisé. TCLR : Ce bit, positionné à 1 provoque une RAZ de la sélection de la vitesse de transmission en mode TEST seulement. Il est forcé à 0 dans les autres modes. SCP1/SCPO : prédivision de la fréquence d'horloge.

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 31/40 Résumé de document constructeur

Prédiviseur Fréquence en sortie du prédiviseur (en Hz.) SCP1 SCP0

Horloge E divisée par Quartz à 8 MHz. Quartz à 4 MHz.

0 0 1 125000 62500 0 1 3 41666 20833 1 0 4 31250 15325 1 1 13 9600 4800 SCR2/SCR1/SCRO : Ces trois bits permettent de sélectionner la division qui sera appliquée à la fréquence en sortie du prédiviseur afin de définir une vitesse de transmission compatible avec la plupart des équipements. Diviseur Vitesse de transmission en Bauds SCR2 SCR1 SCR0

Division par 9600 Hz. 4800 Hz.

0 0 0 1 9600 4800 0 0 1 2 4800 2400 0 1 0 4 2400 1200 0 1 1 8 1200 600 1 0 0 16 600 300 1 0 1 32 300 150 1 1 0 64 150 75 1 1 1 128 75 37.5 Il est bien sûr possible d'obtenir d'autres valeurs de vitesse en jouant sur l'ensemble des paramètres. RCKB : en mode TEST, ce bit commande un OU exclusif sur la broche TxD entre les horloges d'émission et de réception. II est forcé à 0 dans les autres modes.

17. Les modes basses consommation Le 68HC811E2 possède 2 modes basse consommation programmables, que l’on commande grâce aux instructions STOP et WAIT. WAIT n’arrête pas l’oscillateur alors que STOP l’arrête, pour redémarrer après un STOP il faut activer IRQ ou XIRQ ou RESET, pour le WAIT il faut le RESET ou une interruption non masquable. FAttention vo ir le bit S du CCR 6.5 Ces modes sont idéaux pour optimiser la consommation du système. Bien sur STOP consomme encore moins que WAIT.

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 32/40 Résumé de document constructeur

18. Les vecteurs Adresses Source d’interruption Masque Masque local Priorité $FFFE-$FFFF Reset - - 1 $FFFC-$FFFD Surveillance d’horloge - CME 2 $FFFA-$FFFB Chien de garde - NOCOP 3 $FFF8-$FFF9 Code illégale - - * $FFF6-$FFF7 SWI - - * $FFF4-$FFF5 /XIRQ X - 4 $FFF2-$FFF3 /IRQ I - 5 $FFF0-$FFF1 Interruption temps réel I RTII 6 $FFEE-$FFEF TIC1 I IC1I 7 $FFEC-$FFED TIC2 I IC2I 8 $FFEA-$FFEB TIC3 I IC3I 9 $FFE8-$FFE9 TOC1 I OC1I 10 $FFE6-$FFE7 TOC2 I OC2I 11 $FFE4-$FFE5 TOC3 I OC3I 12 $FFE2-$FFE3 TOC4 I OC4I 13 $FFE0-$FFE1 TOC5 I I4/OC5I 14 $FFDE-$FFDF Débordement timer I TOI 17 $FFDC-$FFDD Accumulateur d’impulsion débordement I PAOVI 19 $FFDA-$FFDB Accumulateur d’impulsion entrée I PAII 20 $FFD8-$FFD9 SPI I SPIE 23

SCI * Registre de donnée plein en réception RIE * En réception RIE * Registre en émission vide TIE * Transmission complète TCIE

$FFD6-$FFD7

* Ligne libre

I

ILIE

24

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 33/40 Résumé de document constructeur

19. Organigrammes de fonctionnement après un RESET

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 34/40 Résumé de document constructeur

20. Organigrammes de fonctionnement des interruptions

Organigrammes de fonctionnement des interruptions sur le 68HC811E2

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 35/40 Résumé de document constructeur

21. Les bonnes adresses !

21.1. Le registre OPTION Bit 7 6 5 4 3 2 1 0 $1039 ADPU CSEL IRQE DLY CME 0 CR1 CR0

OPTION

Reset 0 0 0 1 0 0 0 0 $1039 Les bits 5,4,2,1,0 sont dit protégés modifiable une fois pendant les 64 premiers cycles après le démarrage du 68HC11. ADPU : AD power Up, ce bit mis à 1 actionne la pompe de charge qui alimente le convertisseur. CSEL : Permet de sélectionner l’horloge externe (Quartz/4) ou une horloge interne (R*C). Entre 750kHz et 2 MHz 1 pour la bonne écriture dans l’Eeprom mais à 0 pour le bon fonctionnement du CAN. Au lycée sur nos maquettes Quartz de 8 MHz ce bit doit être à ZERO. IRQUE :1 :IRQ est sensible sur front descendant, 0 : IRQ est sensible sur niveau bas. DLY : 1 : attente de 4000 cycles d’horloges après une instruction STOP,0 : attente de 4 cycles CME :1 : active la surveillance d’horloge, 0 invalide la surveillance d’horloge.

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 36/40 Résumé de document constructeur

CR1/CR0 : Le chien de garde est activé par une fréquence égale à E/2. Ces 2 bits permettent de régler la durée d’activatio n du chien de garde.

CR1 CR0 E/2 divisé par

0 0 1 0 1 4 1 0 16 1 1 64

21.2. Le registre CONFIG $103F EE3 EE2 EE1 EE0 NOSEC NOCOP 0 EEON CONFIG 0 0 0 0 - - - - $103F EEON : valide l’eeprom. ROMON : valide la ROM NOCOP : invalide le chien de garde NOSEC : permet de dé valider la protection des contenus en ROM du HC11

21.3. Le registre HPRIO Bit 7 6 5 4 3 2 1 0 $103C rboot smod mda irv Psel3 Psel2 Psel1 Psel0

HPRIO

Reset x x x x 0 1 0 1 $103C RBOOT : ce bit peut être écris que si smod=1 Si il est mis à 1 la rom de téléchargement se trouve en $BF00-$BFFF, sinon pas de ROM de téléchargement. Un reset en mode Bootstrap force à 1 ce Bit. SMOD et MDA : En lecture seul , il représente le reflet de ce qu’il y a sur les lignes MODA et MODB sur le front montant du RESET . IRV : positionné à 1 en bootstrap et test.

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 37/40 Résumé de document constructeur

PSEL3..PSEL0 : sélection des priorité d’interruption.

Après le Reset par défaut.

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 38/40 Résumé de document constructeur

LE 68HC811 E2 DE MOTOROLA ______________________________1

1. Le Brochage ____________________________________________________1

1.1. Description des broches______________________________________________ 1

2. Les caractéristiques électriques essentielles _________________________1

2.1. Caractéristiques générales ___________________________________________ 1 2.2. Caractéristiques numériques__________________________________________ 1

3. Description des broches __________________________________________2

3.1. E (Horloge) ________________________________________________________ 2

3.2. Demande d’interruption, /IRQ _________________________________________ 2 3.3. Interruption non masquable /XIRQ ou Vppe _____________________________ 2 3.4. MODA/LIR ET MODB/VSTBY __________________________________________ 2 3.5. VRL et VRH ________________________________________________________ 3 3.6. STRA ou AS________________________________________________________ 3

3.7. STRB ou R/W ______________________________________________________ 3 3.8. Les différentes broches.______________________________________________ 3 3.9. Les ports d’entrées/sorties ___________________________________________ 3 3.10. Le port A ________________________________________________________ 4 3.11. Le port B et C ____________________________________________________ 4

3.12. Le port D________________________________________________________ 4 3.13. Le port E ________________________________________________________ 4

4. Description du 68HC811 E2 et de son utilisation ______________________4

5. Horloge du 68HC11 ___________________________ Erreur ! Signet non défini.

5.1. Avec Quartz________________________________________________________ 5 5.2. Avec référence de fréquence externe___________________________________ 5 5.3. Les signaux d’horloge. _______________________________________________ 6

6. Mode BOOTSTRAP ou Mode EXTENDED ______________________________6

7. Les registres internes du CPU______________________________________7

7.1. Accumulateur A et B font D___________________________________________ 7 7.2. IX et IY ___________________________________________________________ 7 7.3. Stack Pointer (SP) __________________________________________________ 7 7.4. Programme compteur (PC) ___________________________________________ 7 7.5. Les conditions (CC) _________________________________________________ 7

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 39/40 Résumé de document constructeur

8. L’assembleur AS11 ______________________________________________8

8.1. Directive d’assemblage ou de compilation_______________________________ 8 8.1.1. ORG __________________________________________________________ 8 8.1.2. EQU __________________________________________________________ 8 8.1.3. RMB __________________________________________________________ 8 8.1.4. FDB __________________________________________________________ 8 8.1.5. FCB __________________________________________________________ 8

9. La structure de Von Neuman. ______________________________________9

10. Les modes d’adressages de MOTOROLA ___________________________10

10.1. Mode d’adressage Inhérent (INH) __________________________________ 10

10.2. Mode d’adressage immédiat (imm) _________________________________ 10 10.3. Mode d’adressage étendu (ext)_____________________________________ 10 10.4. Mode d’adressage Direct (dir) ______________________________________ 10 10.5. Mode d’adressage indexé (IX et IY) _________________________________ 10 10.6. Mode d’adressage Relatif __________________________________________ 10

11. JEUX D’INSTRUCTION DU 68HC11 _______________________________11

12. Le Convertisseur Analogique Numérique __________________________18

13. Le Timer ____________________________________________________19

13.1. Le registre TCNT, le compteur de temps _____________________________ 20 13.2. Le registre TMSK2, le prédiviseur d’horloge E_________________________ 20

13.3. Le registre TCLT2, réglage des fronts de capture ______________________ 20 13.4. Les registres de capture TICx ______________________________________ 20 13.5. Les registres de comparaison en sortie ______________________________ 21 13.6. Le registre d’interruption Timer TFLG2_______________________________ 21 13.7. Autorisation d’interruption par le compteur___________________________ 21

TMSK2 voir 13.2_________________________________________________________ 21 13.8. Interruption par entrée de capture et comparaison ____________________ 21 13.9. Flag des entrées de comparaison et de capture TFLG1 _________________ 22 13.10. Comportement des sorties de comparaison___________________________ 22 13.11. Paramétrage de la broche OC1 ou PA7 ______________________________ 22

14. L’accumulateur d’impulsions ___________________________________23

14.1. PACTL registre de contrôle de l’accumulateur d’impulsions ______________ 23

15. Le Chien de Garde __________________________ Erreur ! Signet non défini.

16. Interruption temps réel________________________________________24

Lycée Jacquard Document ressource GUILBERT B. 07/12/2000.

Cours 68HC811E2 40/40 Résumé de document constructeur

17. L’EEPROM ___________________________________________________25

17.1. BPROT registre de protection de l'EEPROM ___________________________ 25 17.2. PPROG registre de contrôle de programmation de l'EEPROM_____________ 25 17.3. PROCEDURE D'EFFACEMENT DE L'EEPROM ___________________________ 26 17.4. PROCEDURE DE PROGRAMMATION DE L'EEPROM______________________ 26

17.5. CONFIG registre de contrôle de la configuration _______________________ 26

18. La liaison série synchrone (SPI) _________________________________27

18.1. SPCR registre de contrôle _________________________________________ 27 18.2. SPSR registre d'état ______________________________________________ 28 18.3. SPDR registre de données _________________________________________ 28

19. La liaison série asynchrone (SCI) ________________________________28

19.1. SCCR1 Longueur de mot et état de veille ____________________________ 29 19.2. SCCR2 mode de fonctionnement ___________________________________ 29 19.3. SCSR Registre d'état _____________________________________________ 30 19.4. BAUD registre de sélection de la vitesse de transmission _______________ 30

20. Les modes basses consommation ________________________________31

21. Les vecteurs _________________________________________________32

22. Organigrammes de fonctionnement après un RESET ________________33

23. Organigrammes de fonctionnement des interruptions _______________34

24. Les bonnes adresses ! _________________________________________35

24.1. Le registre OPTION_______________________________________________ 35 24.2. Le registre CONFIG ______________________________________________ 36 24.3. Le registre HPRIO________________________________________________ 36