Conception des systèmes à MicroprocesseursA.Cherkaoui Introduction chapitre 1: Microprocesseur 6809 Conception des systèmes à Microprocesseurs Plan ☞ Architecture du microprocesseur 6809 ☞ architecture externe ☞ architecture interne ❐ le schéma fonctionnel ❐ l'UAL ❐ l'accumulateur … ☞ Introduction au jeu d'instructions du microprocesseur ☞ la pile ☞ Les interruptions ☞ Les mémoires ☞ Les interfaces ❐ le P.I.A. (Interface parallèle) ❐ le P.T.M. (Compteur programmable) ❐ l'A.C.I.A. (Interface série) 2 Conception des systèmes à Microprocesseurs Architecture du microprocesseur 6809 Le microprocesseur 6809 est un processeur 8 bits orienté 16 bits. Il est fabriqué en technologie MOS canal N boîtier DIL 40 broches.Il est monotension(5V). • 6809E est rythmé par une horloge externe 2 MHZ • adapté multiprocesseur. • synchronisé par une horloge extérieure. • Compatibilité complète entre les 2 versions. 3 Conception des systèmes à Microprocesseurs Architecture du microprocesseur 6809 ☞ Le bus des données 8 bits (Do à D7) . 1 charge TTL et 8 entrées de circuits CMOS. Bus en logique 3 états. ☞ Le bus des adresses 16 bits (A0 à A15 ) .Bus en logique 3 états. validées sur le front montant de Q. ☞ Le bus de contrôle .La broche Read/Write . Validée sur le front montant de Q. 4 Conception des systèmes à Microprocesseurs Architecture du microprocesseur 6809 ☞ Les lignes d'état du bus : connaître l'état du microprocesseur à tout moment BA (Bus available) et BS (Bus state) • 1 er cas : Le microprocesseur gère les bus d'adresses et de données. • 2 ème cas: reconnaissance d'int pendant 2cycles.Vect Reset,NMI,IRQ,SW1,2,3 • 3 ème cas : Il attend la synchro sur une des lignes d'interruption. Les bus HZ • Dernier cas : (niveau bas sur HALT).(contrôleur de DMA). Les bus HZ La ligne BA au niveau haut indique que les bus sont en haute impédance. 5 Conception des systèmes à Microprocesseurs Architecture du microprocesseur 6809 ☞ Broche d'initialisation RESET Un niveau bas (x cycles d'horloge), réinitialisation complète du circuit: • l'instruction en cours est arrêté • le registre de pagination (DP) est mis à zéro • les interruptions IRQ et FIRQ sont masquées • l'interruption non masquable NMI est désarmée • Le PC. est initialisé avec le contenu des vecteurs d'initialisation qui se trouvent aux adresses $FFFE et $FFFF. Ce contenu représente l'adresse du début du programme qui sera exécuté par le microprocesseur. 6 Conception des systèmes à Microprocesseurs Architecture du microprocesseur 6809 ☞ la broche : HALT (Arrêt du microprocesseur). 7 BA = BS = 1 Dans ce cas : les demandes d'interruption IRQ et FIRQ sont inhibées les demandes d'accès direct (DMA) à la mémoire sont autorisée. les demandes d'interruptions RESET et NMI sont prises en compte mais leur traitement est différé les broches d'interruption NMI (No Masquable Interrupt) IRQ (Interrupt Request) FIRQ (Fast Interrupt Request) Entrées d'horloge XTAL et EXTAL (Extension crystal) Q out est en quadrature avec E out =4 *horloge *Les données sont lues ou écrites sur le front descendant de Eout. *Les adresses sont correctes à partir du front montant de Qout Conception des systèmes à Microprocesseurs Architecture du microprocesseur 6809 ☞ Broches complémentaires du bus de contrôle : ❐ MRDY (Memory ready) : Allonger Eout de multiple de un quart de cycle max 10 cycles pour syst lents ❐ DMA/BREQ (Direct Memory Acces/Bus Request) -l'accès direct ou du rafraîchissement mémoire -le circuit ayant généré cette commande le bus pendant de 15 cycles ☞ Broches spécifiques au 6809 E ❐ Entrées d'horloge : Ein et Qin comme Eout et Qout du 6809 ❐ TSC (Tree States Control) comme DMA/BREQ ,partage de bus ❐ LIC (Last Instruction Cycle):Le cycle qui suit est celui de recherche de code opératoire Ins ❐ AVMA (Advanced Valid Memory Access) niveau haut signifie que le microprocesseur utilisera les bus au cours du cycle suivant pour multiprocesseur ❐ BUSY : Occupation des bus : Sortie mise au niveau haut pendant les instructions du type : lecture,écriture et exécution du premier octet d'un opérande constitué de deux octets (une adresse par exemple). Dans un système multiprocesseur, ce signal indique le besoin pour un Microprocesseur de disposer des bus au cours du prochain cycle pour assurer l'intégrité de l'opération en cours. Cela évite l'adressage simultanée d'une même zone mémoire par 2 microprocs. 8 Conception des systèmes à Microprocesseurs Architecture du microprocesseur 6809 ☞ On ne doit pas activer TSC quand BUSY est actif Exemple d'application : 9 LIC : fin d'exécution de l'instruction BUSY : à besoin du bus au prochain cycle AVMA : va utiliser les bus au prochain cycle Conception des systèmes à Microprocesseurs Présentation des différents registres interne au 6809 ☞ Les accumulateurs A, B ou D. ☞ Les registres pointeurs • Les registres d'index X et Y 16bits sont utilisés pour les modes d'adresse indexé. • les registres S et U (16 bits). (pointeur de pile LIFO :U passage de paramètres) Ces registres "pointent" toujours le haut de la zone mémoire attribuée ☞ Le Compteur de Programme (PC) ☞ Le registre de codes condition (CCR) 10 Exemple de sauvegarde de tous les registres avec S : Conception des systèmes à Microprocesseurs Le jeu d'instructions du 6809 ☞ L'ensemble des instructions de base, est 59 instructions. En tenant compte des variantes (modes d'adressage) il atteint 1464 instructions ☞Extraction : lecture de la donnée en mémoire, t=1(m).TE si m octets ☞Exécution : traduction et interprétation de l'octet (code opératoire) 11 Une période TE supplémentaire est nécessaire pour réaliser concrètement l'opération demandée! Conception des systèmes à Microprocesseurs Le jeu d'Instructions ☞ Instructions de traitement des données Instructions arithmétiques • addition (DAA, ABX, ADC) • multiplication (MUL) • soustraction (SBC, SUB) Instructions logiques • rotation à droite et à gauche (ROL, ROR) • décalage à droite et à gauche (ASR, LSR et ASL, LSL) • les fonctions logiques de base (AND, OR, EOR) • l'incrémentation/décrémentation et complémentation (COM - NEG - NOP - INC - DEC - CLR) Instruction de transfert de données • transferts internes entre registres (EXG - TFR) • transferts externes avec la mémoire (LD - ST) 12 Conception des systèmes à Microprocesseurs Le jeu d'Instructions ☞ Instructions de tests et de branchements • instructions de tests sur un bit / un octet (BIT, TST) • instruction de comparaison (CMP) • instruction de branchement conditionnel (branchement si les indicateurs du CCR sont actifs ☞ Instructions de branchement inconditionnel et de saut. • saut relatif (BRA, BRN : 1 ou 2 octets) • saut absolu (JMP : 2 octets) ☞ Instructions d’appel et de retour de sous-programme • Appel : saut absolu (JSR) saut relatif (BSR) • Retour : RTS ☞ Instructions opérant sur les pointeurs U, S et X, Y. Load effective adress (in register) : LEA. données sur 16 bits.D et A Empilement des registre dans la pile (PSH) →décrémenté pointeur Dépilement des registres de la pile (PUL) →incrémenté pointeur 13 Conception des systèmes à Microprocesseurs Les modes d'adressage du 6809 ☞ Les modes d'adressage sont : - l’adressage inhérent ou implicite: ABX, ASL, ASR, CLR, INC - l’adressage immédiat: LDA #$35 (PC =Adr+2 ou +4) - l’adressage étendu: LDA $1997 (1997)→ A - l’adressage étendu indirect: LDA [$1997]: ((1997)) → A - l’adressage direct: LDA $97 (DP:97)→ A - l’adressage par registre: TFR X,Y (transfert de X dans Y). - l’adressage indexé direct: LDA O,X ou LDA ,X. LDA 0,-X ou LDD 0,X++ - l’adressage indexé indirect :LDA [$35,X]- LDU [D, Y] ([Y+D] et [Y+D+1])→D - l’adressage relatif : LDA $FO,PC ou LEAX ETIQ, PC 14 Conception des systèmes à Microprocesseurs L’assembleur 6809 ☞ Syntaxe du langage assembleur ❐ Etiquette Code Code Commentaire • ORG Expression : Origine (initialisation du compteur programme) •RMB Expression : Reserve Memory Bytes: un "saut" du PC à l’assemblage •FCB expr1, expr2... Form Constant Byte •FDB Exp1, Exp2,... Form Double Byte Constant •FCC /A/ : Forme Constant Character string •END : la limite du programme 15 Conception des systèmes à Microprocesseurs L’opération d’assemblage ☞ 1ère passe : • Analyse lexicographique : • Analyse syntaxique • Analyse sémantique ☞ 2ème passe • L’assembleur génère le code objet en tenant compte des adresses et des données réelles ☞ 3ème passe : Cette phase fournit le listing avec son code objet 16 Conception des systèmes à Microprocesseurs Plan adopté pour l'écriture d'un programme OPT ABS Définition des variables DEBUT EQU $4000 TIRQ EQU $5000 TFIRQ EQU $6000 MEM EQU $2000 PIA EQU $EF20 Réservation des cases mémoires ORG MEM MEM1 RMB 1 PILE RMB 100 PPILE EQU * Réservation des ports ORG PIA DDRA RMB 1 CRA RMB 1 Programme principal ORG DEBUT 17 LDS #PPILE BRA * Traitement des interruptions IRQ ORG TIRQ " RTI Traitement des interruptions FIRQ ORG TFIRQ " RTI Initialisation des vecteurs d'interruption ORG $FFF6 FDB TFIRQ FDB TIRQ FDB TSWI FDB TNMI FDB DEBUT END Conception des systèmes à Microprocesseurs Le fonctionnement en interruption ☞ Définition Une interruption est une procédure qui permet de suspendre l'exécution d'un programme au profit d'un autre, avec la possibilité de reprendre l'exécution du programme initial là où il avait été suspendu ☞ Interruptions "matérielles" 6809 possède quatre: ❐RESET Ré-initialisation du microprocesseur. ❐NMI Non Masquable Interrupt ❐ FIRQ Fast Interrupt Request (3 octets PC,CCR) ❐IRQ Interrupt Request (12 octets) ☞On peut forcer l'état des deux bits voir tableau: 18 Masque concernant l'interruption IRQ. Conception des systèmes à Microprocesseurs Le fonctionnement en interruption ☞ interruption "soft". SWI (SoftWare Interrupt) SWI2 (SoftWare Interrupt n°2) SWI3 (SoftWare Interrupt n°3) →La sauvegarde du contexte est totale. ☞ Les interruptions de synchronisation: CWAI (attente d'interruption). SYNC (attente de synchronisation). ❐ Les lignes NMI, FIRQ, IRQ et RESET ainsi que l'instruction SWI positionnent automatiquement le flag CCRb4 à 1 (masquage de l'IRQ). ❐ Les lignes NMI, FIRQ et RESET ainsi que l'instruction SWI positionnent automatiquement le flag CCRb6 à 1 (masquage de la FIRQ). ❐ Les bits I et F étant positionnés à 1 lors de l'exécution d'un programme d'interruption, il est possible, néanmoins d'autoriser la prise en compte de nouvelles interruptions en les repositionnant à O. 19 Conception des systèmes à Microprocesseurs Tableau récapitulatif ☞ Interruptions 20 Conception des systèmes à Microprocesseurs Méthodologie de gestion des périphériques d’entrées-sorties ☞ Le mode programmé ❐ Avant, le microprocesseur teste l’état du périphérique ❐ s’ assuré de sa disponibilité. L’état du périphérique (prêt ou occupé, registre de réception plein ou registre de transmission vide...) est généralement indiqué par un bit d’état appelé flag. ☞ Le mode interruptible Scrutation pour connaitre quel est le contrôleur qui a provoqué la demande 21 Conception des systèmes à Microprocesseurs Méthodologie de gestion des périphériques d’entrées-sorties ☞ Ainsi apparaît la notion de Priorité ! Vectorisation par décodeur de priorité et Mux. les sorties du codeur de priorité sont multiplexées avec les lignes d'adresse A1, A2 et A3. 22 Conception des systèmes à Microprocesseurs Étude de l’interface d’E/S parallèle PIA 6821 ☞ Le coupleur d’entrée/sortie parallèle est un circuit d’interface programmable (ou PIA : Peripheral Interface Adapter). ☞ Le PIA communique avec le µP à l’aide des signaux (compatibles TTL) représentés sur la figure ci dessous. → D0 à D7 du PIA sont reliées à D0 à D7 du µP . → E (Enable) du PIA est liée à l’entrée d’H du µP. → R/W au µP pour gérer la lecture\écriture entre le PIA et le µP. → Reset du PIA à Reset du µP et au poussoir de Reset → CS0, CS1 et CS2 sélection et @ du PIA activé si CS0= CS1 = 1 et CS2 = 0. → RS0 et RS1 sélectionnent les registres internes du PIA selon le tableau : – Généralement, RS0 est reliée à A0 et RS1 est reliée à A1, ce qui place les quatre registres les uns à la suite des autres. → IRQA et/ou IRQB seront ou non reliées à la ligne IRQ du µP 6809 côté A, ou B, ou les deux. 23 Conception des systèmes à Microprocesseurs Plan ☞ Introduction • 16 lignes d’entrées/sorties programmables individuellement une ligne d’entrée/sortie peut jouer alternativement le rôle d’entrée et de sortie, • quatre lignes eux sont des entrées (CA1 et CB1), les deux autres étant programmables en entrée ou en sortie (CA2 et CB2). Le PIA possède six registres internes , soit trois registres par port : → DDRA Data Direction Register A : → ORA (Output Register A) ou registre de sortie pour le port « A » : → CRA Control Register A : C’est un registre de contrôle permettant, pour le port « A », de définir le mode de fonctionnement des lignes d’interruption et de dialogue CA1 et CA2 ainsi que les possibilités de génération d’interruption via la ligne IRQA. 24 Conception des systèmes à Microprocesseurs Programmation du PIA ☞ Exemple: Adresse PIA: 8000 DDRA et ORA 8001 CRA 8002 DDRB et ORB 8003 CRB 1. LDA #$00 Accès au DDRB STA $8003 ou CLR $8003 2. LDA #$FF Port B en sortie STA $8002 3. LDA #$04 Accès à ORB STA $8003 4. LDA #$E0 1110 0000 sur PortB STA $8002 25 Adresses mémoires réservées au PIA en fonction de RS0 et RS1 Registre CRA du PIA Conception des systèmes à Microprocesseurs Etude de l’interface série asynchrone A.C.I.A. 6850 ☞A.C.I.A. : Asynchronous communication interface adapter. ☞Format du mot: 5 et 8 bits, précédé 1 bit de start et suivi de 2 bits de stop ☞compatibles TTL: Conversion TTL→RS232 le1489 et RS232→TTL le 1488 ☞ les niveaux fournis par l’ACIA : TTL et ceux délivrés par la ligne: ☞ les infos sont véhiculées, dans le code ASCII: – liaison RS 232 (20Kbits) – RS 423 (100 Kbits) – RS 422 (10 mégabits) 26 • niveau 1 : - 12V • niveau 0 : +12V Conception des systèmes à Microprocesseurs Étude de l’interface série asynchrone A.C.I.A. 6850 ☞ Schéma : ☞ Ce circuit intègre : un émetteur de données asynchrone un récepteur de données asynchrone une logique de commande Modem des entrées d’horloge séparées pour l’émission et la réception. ☞Ce circuit comprend quatre registres internes : 1 registre de transmission 1 registre de réception. 1 registre de contrôle 1 registre d'état 27 Conception des systèmes à Microprocesseurs ACIA ☞ Coté microprocesseur : ❐ Le bus des données : d0 ... D7, boîtier non sélectionné ces lignes en HZ ❐ Le bus de contrôle: 1. E : Signal d’activation des échanges 2. R/W = 1 ;buffers de sorties activés (possibilité de lire un registre). 3. R/W = O ;buffers d’entrées activés (possibilité d’écriture dans un registre) 4. R/W utilisée également pour l’adressage des registres internes ❐ Le bus des adresses : CSO, CS1 ET /CS2 (Chip Select). Validée (110) ❐ RS (Register select) utilisée avec R/W pour choisir un registre parmi les 4 ❐ IRQ sortie ☞ Coté extérieur : ❐ Les lignes "horloge: 1. Txclk : horloge de transmission sur Txdata. Le Reg de décalage de trans est syn sur de Txclk 2. Rxclk : horloge de réception sur Rxdata. Reg (charge et décal) est syn sur Rxclk 3. Les vitesses de transmission et réception peuvent varier de O à 500 Kbits/s. 28 Conception des systèmes à Microprocesseurs ACIA ❐ Les lignes de contrôle d’un périphérique type modem. 1.Ligne CTS (Clear To send) • Entrée bas ,permet de savoir si le modem est prêt à recevoir des infos. • Influence sur le bit (TDRE) du SR, CTS bas s’il n’y a pas de modem 2.Ligne DCD (Data carrier detect) • niveau bas : présence de la porteuse au niveau modem, état normal. • remarque : non utilisée, elle doit être toujours au niveau bas ! • Cette entrée peut générer une interruption IRQ, si CR7 = 1 et si sur DCD 3.La sortie RTS (Request To Send) • émission demandée par le microprocesseur au modem • RTS dépend du mot écrit dans le CR.La demande se traduit par RTS bas 29 Conception des systèmes à Microprocesseurs ACIA ☞ Exemples d'utilisation : ❐ Modem commandé par un ACIA ❐ Liaison Acia – Acia 30 Conception des systèmes à Microprocesseurs ACIA ☞ Organisation interne ❐ TDR (Transmit Data Register) • Où on place le mot (8 bits) à transmettre. l’écriture du mot sur de E(b 0 en 1er) • Dès que le transfert à lieu , un bit du registre d’état est positionné à "1" ❐ RDR (Réception Data Register) • Où on reçoit le mot (8 bits) depuis le périphérique • Quand un caractère complet est reçu, est automatiquement transféré du registre de décalage de réception dans le RDR. A ce moment là, un bit dans le SR est positionné à "1". Le caractère peut alors être lu par le microprocesseur. Le bit b 0 est reçu en 1er. • le registre d’état est à 1, le transfert automatique est suspendu ! ❐ Le registre d’état SR (Status Register) Permet au microprocesseur de connaître à tout instant l’état T\R ❐ registre de contrôle CR (Control Register) Configure le circuit en adéquation avec le périphérique,mot de contrôle (8 bits) écrit sur le front descendant de E. l'ACIA est 2 cases-mémoire,R\W 31 Conception des systèmes à Microprocesseurs ACIA ☞ RS et R/W permettent de sélectionner l'ensemble des registres: ☞ Tableau récapitulatif (avec A0=RS) : ☞ Illustrations : 32 Conception des systèmes à Microprocesseurs ACIA ☞ Présentation du registre de contrôle ❐ CR0 et CR1 : 1. Déterminent le rapport de division sur les signaux d’entrée Rxclk et Txclk. 2. La combinaison (11) génère un reset logiciel Master reset 3. Master reset indispensable avant toute programmation du CR. 4. Remise à 0 du SR excepté les bits liés aux conditions externes : 5. Initialise le TDR et RDR (contenu nul) ❐ CR2, CR3 et CR4 : format de l’octet à transmettre où à recevoir ❐ CR5 et CR6: • Contrôlent à la fois la sortie RTS et la demande d’interruption en transmission. • Autorisent ou non une interrupt provoquée par le fait que le TDR est vide ,TDRE = 1 Pourquoi ? L’envoi d’un caractère vers la périphérie est toujours précédé d’un test sur TDR pour s’assurer que celui-ci est vide. Ce test peut être obtenu par : 1- Une scrutation permanente du bit dans le SR (on choisit CR6 et CR5 = 00). 2- Une interruption générée par l’ACIA vers le microprocesseur chaque fois que le TDR est vide (dans ce cas, on choisit CR6 et CR5 = 01). 33 Conception des systèmes à Microprocesseurs ACIA ❐ CR7(Ne concerne que le récepteur): Ce bit sert de masque d’interruption concernant les événements suivants : 1- Registre de réception plein 2- Front montant sur l’entrée DCD indiquant la perte de la porteuse. Ce bit mis à 1 traduit ces événements par une demande d’interruption IRQ bas. ☞ Étude des bits du registre d'état. SR0 = 1: registre de Réception RDR plein. SR0 = 0 -->RDR vide --> attend! SR1 = 1: la donnée est dispo ds le TDR. SR1 = 0 -->TDR plein--> on attend ! SR2 = 1 si DCD = 1 (absence porteuse).interup IRQ si autorisée (CR7 = 1) SR3 = 1: CTS est haut ( modem pas prêt à recevoir), forçage de SR1= 1 --> la transmission est interrompue ! SR4 = 1 :pas de sync absence du (des) bit(s) de stop SR5 =1: plrs caractères reçus avant lecture du caractère précédent SR6 = 1: la parité reçue avec le caractère est incorrect SR7=1 : Indique qu’il y a une demande d’interruption 34 Conception des systèmes à Microprocesseurs ACIA 35 Registre de commande Registre d’état Conception des systèmes à Microprocesseurs Programmation • Programmer un ACIA consiste à écrire dans son registre de contrôle un octet pour définir le mode de fonctionnement • Il faut commencer par "Master reset " pour prendre contrôle du CR • Le PG de transmission commence par le test du bit SR1 appelé TDRE(TDR vide) • Pour un nouveau mot, on doit tester TDRE, ou exploiter la demande d’interruption générée lors du passage au niveau 1 de TDRE • Les données reçues en série par l’entrée RxData .Le rapport est programmé à l’initialisation de l’ACIA. suivant l’un des 3 modes. • Puis ds RDR avec élimination des bits de start,de stop et de parité • La réception commence par lecture de SR pour tester le bit RDRF = 1, test ou demande d’interruption. Dès que RDRF = 1,fin réception mot dispo pour uP. Conception des systèmes à Microprocesseurs Gestion des interruptions • En transmission : Si CR5 = 1 et CR6 = 0, la ligne IRQ est activée au niveau bas dès que le TDR est déclaré vide par le passage au niveau 1 de TDRE. Le programme de traitement de cette interruption a évidemment comme but d’écrire le caractère suivant dans le TDR, ce qui entraîne en plus la remise à zéro de TDRE donc le retour à l’état de repos de la ligne IRQ ainsi que la remise à zéro du bit SR7 du registre d’état. Ce fonctionnement est maintenu tant que l’ACIA n’est pas sous contrôle d’un Master Reset et tant que la ligne CTS est maintenue au niveau bas par le modem. Rappelons que lorsque le modem ne veut plus transmettre de caractère, il met CTS au niveau haut ce qui force TDRE au niveau bas et inhibe le processus ci- dessus. Conception des systèmes à Microprocesseurs Gestion des interruptions • En réception : Si CR7 vaut 1, la ligne IRQ est activé au niveau bas à chaque fois que le RDR est plein (RDRF=1), le programme d’interruption est chargé de lire le caractère reçu, ce qui en outre remet RDRF à zéro ainsi que la ligne d’interruption au repos. Cette opération est déclenchée également si une perte de la porteuse est signalée (DCD=1) ou si le bit OVRN (SR5) passe au niveau haut. Les flags (PE) et (FE) ne déclenchent pas d’interruption et c’est à la charge du programme d’interruption lui-même de contrôler que le mot reçu ne comporte pas d’erreur en testant les deux bits SR4 et SR6. Conception des systèmes à Microprocesseurs Exercices 1°- Enoncé du problème: Le programme doit permettre d’obtenir le même fonctionnement que la carte “oubli-éclairage”, soit répondre à l’équation logique: A cet effet, le port A est utilisé comme port d’entrée, et le port B en sortie de la façon suivante: •PA7: masse PA3: borne B(entrée ds voiture) PB7: Non connecté PB3: Non connecté •PA6: masse PA2: borne C (veilleuses)PB6: Non connecté PB2: Non connecté •PA5: masse PA1: borne D (codes) PB5: Non connecté PB1: Non connecté •PA4: borne A(contact) PA0: borne E (détresses) PB4: Non connecté PB0: Bz Conception des systèmes à Microprocesseurs 2°- organigramme de fonctionnement et programme: A compléter Conception des systèmes à Microprocesseurs PTM 6840 Principe de fonctionnement • Le PTM (Programmable Timer Module) est un circuit programmable de la famille 6800 permettant la programmation de temporisations variables. • Le PTM comprend 3 compteurs binaires 16bits, 3 registres de contrôle associés et un registre d’état. Ces compteurs sont sous le contrôle du logiciel et peuvent être utilisés pour générer des interruptions et/ou des signaux en sorties. • Le PTM peut être utilisé pour des mesures de fréquence, en compteur d’évènements, en mesure d’intervalles de temps et pour d’autres tâches similaires. Ce circuit peut générer des signaux carrés, des impulsions de largeur programmable et des signaux de rapport cyclique variable et des interruptions. Conception des systèmes à Microprocesseurs PTM 6840 Les trois temporisateurs peuvent être programmés indépendamment. *Bus de données(D0..D7) *Sélection du boîtier (CS0|,CS1-Chip Select) . *Lecture/Écriture| (R/W|) *Horloge E(Enable) : ce signal synchronise le transfert *Demande d’interruption (IRQ|-Interrupt ReQuest) plusieurs lignes « OU-câblé ». *Entrée d’initialisation interne (Reset|) Conception des systèmes à Microprocesseurs PTM 6840 Reset| : un niveau bas sur cette entrée est pris en compte dans le PTM par l’horloge E. lorsqu’un niveau bas est reconnu sur cette entrée par le PTM, les actions suivantes ont lieu : • tous les registres tampons des compteurs sont repositionnés à leur valeur maximum de comptage • tous les bits des registres de contrôle sont mis à 0 sauf cr10 qui est mis à 1. • tous les compteurs sont chargés avec le contenu de leurs registres tampons associés. • toutes les sorties Ox des compteurs sont mises à 0 et les horloges externes (c|) sont inhibées. • tous les bits du registre d’état sont mis à 0. Conception des systèmes à Microprocesseurs PTM 6840 • Lignes de sélection des registres (RS0,RS1,RS2) : ces entrés sont utilisées en relation avec la ligne R/W| pour sélecter les registres internes, les compteurs et leurs registres tampons . • Registres de contrôle : CR1, CR2, CR3 : • Dans le PTM, 3 registres à écriture seulement sont utilisés pour modifier le fonctionnement du temporisateur pour pouvoir s’adapter à une grande variété d’applications. • Le bit de poids faible du registre de contrôle #1 est utilisé comme un bit d’initialisation interne. Quand ce bit est à 0, tous les temporisateurs peuvent fonctionner dans les modes définis par les autres bits des registres de contrôle. Le fait d’écrire un 1 logique dans CR10 permet de réinitialiser tous les compteurs avec le contenu de leurs registres tampons respectifs, toutes les horloges des compteurs sont inhibées et les sorties des temporisateurs et les indicateurs d’interruption sont mis à 0. les registres tampons des compteurs et les registres de contrôle ne sont pas affectés par une initialisation interne et peuvent être écrits quelque soit l’état du bit CR10 Conception des systèmes à Microprocesseurs PTM 6840 • Les fonctions des bits des registres de contrôle sont résumées dans le tableau ci- dessous : Initialisation interne CR10=0 : tous les temporisateurs fonctionnent CR10=1 :tous les temporisateurs sont initialisés Adressage registres de contrôle CR20=0 :écriture dans CR# 3 CR20=1 :écriture dans CR# 1 Contrôle horloge temporisatrice #3 CR30=0 :horloge| T3 n’est pas précomptée CR30=1 : horloge| T3 est précomptée par/8 Source d’horloge temporisatrice # x CRx1=0 :Tx utilise horloge externe sur entrée Cx| CRx1=1 :Tx utilise horloge E Mode du comptage du temporisateur # x CRx2=0 :Tx configuré pour mode normal 16bits CRx2=1 :Tx configuré pour mode 2*8bits Mode de comptage et contrôle d’interruption du temporisateur # x CRx3, CRx4, CRx5 Validation d’interruption du temporisateur # x CRx6=0 :indicateur d’interruption masqué sur IRQ| CRx6=1 :indicateur d’interruption validé sur IRQ| Validation sortie compteur du temporisateur # x CRx7=0 :Tx sortie masquée CRx7=1 :Tx sortie validée Conception des systèmes à Microprocesseurs PTM 6840 Lignes d’entrées/sorties asynchrones • entrées horloge (C1|, C2|, C3|) : les broches d’entrée C1|, C2| et C3| acceptent des signaux asynchrones TTL pour décrémenter respectivement les temporisateurs 1, 2 et 3. • entrées de déclenchement (G1|, G2|, G3|) : les broches d’entrée G1|, G2| et G3| acceptent des signaux asynchrones TTL pour déclencher respectivement les fonctions des temporisateurs 1, 2 et 3. • les sorties des temporisateurs O1, O2 et O3 peuvent commander 2 charges TTL et produire un signal dont la forme est défini par les modes de fonctionnement astables ou monostables. La forme du signal de sortie est définie en sélectionnant soit le mode 16bits soit le mode 2*8bits. Le mode 16bits fournira un signal carré dans le mode astable et une seule impulsion dans le mode monostable. Le mode 2*8bits fournira un signal asymétrique dans les deux modes continus et monostables. Le bit CRx7 de chaque registre de contrôle est utilisé pour valider la sortie correspondante. Si ce bit est à 0, la sortie restera à l’état bas quelque soit le mode de fonctionnement. • Des signaux apparaissent sur les sorties ( sauf si CRx7=0) pendant les modes de fonctionnement de comparaison de fréquence et de largeur d’impulsion, mais la forme réelle des signaux n’est pas déterminée pour les applications typiques. Conception des systèmes à Microprocesseurs Modes de fonctionnement PTM 6840 • Le PTM a été conçu pour fonctionner dans une grande gamme d’applications. Les différents modes de fonctionnement du temporisateur sont définis à l’aide de trois bits de chaque registre de contrôle ( CRx3, CRx4, CRx5 ). Ces modes sont résumés dans le tableau suivant : Registre de contrôle Mode de fonctionnement du temporisateur CRx3 CRx4 CRx5 0 * 0 Continu 0 * 1 Monocoup 1 0 * Comparaison de fréquence 1 1 * Comparaison de largeur d’impulsion Conception des systèmes à Microprocesseurs Mode de fonctionnement continu ( Multivibrateur astable) PTM 6840 • G|↓ : transition négative sur l’entré G| • W : commande d’écriture dans les registres tampons du temporisateur. • R :initialisation du temporisateur(CR10=1 ou Reset| externe=0) • N :nombre 16bits dans le registre tampon compteur. • L : nombre 8bits dans le registre tampon LSB du compteur( poids faible). • M : nombre 8bits dans le registre tampon MSB du compteur( poids fort). • T :transition négative sur l’entrée d’horloge du compteur. • t0 :Cycle d’initialisation du compteur. • T0 :fin du temps de comptage. Conception des systèmes à Microprocesseurs Timer 6850 ☞CR PTM 6850 49 Conception des systèmes à Microprocesseurs PTM 6840 Conception des systèmes à Microprocesseurs PTM 6840 Conception des systèmes à Microprocesseurs PTM 6840 Conception des systèmes à Microprocesseurs PTM 6840 Conception des systèmes à Microprocesseurs PTM 6840 Conception des systèmes à Microprocesseurs PTM 6840 Conception des systèmes à Microprocesseurs PTM 6840
Report "Chapitre I Microprocesseur 6809 GSEA12013"