Documente Academic
Documente Profesional
Documente Cultură
A.Cherkaoui
• adapté multiprocesseur.
- l’adressage indexé direct: LDA O,X ou LDA ,X. LDA 0,-X ou LDD 0,X++
☞ 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
OPT ABS
LDS #PPILE
Définition des variables
BRA *
DEBUT EQU $4000
Traitement des interruptions IRQ
TIRQ EQU $5000
ORG TIRQ
TFIRQ EQU $6000
"
MEM EQU $2000
RTI
PIA EQU $EF20
Traitement des interruptions FIRQ
Réservation des cases mémoires
ORG TFIRQ
ORG MEM
"
MEM1 RMB 1
RTI
PILE RMB 100
Initialisation des vecteurs d'interruption
PPILE EQU *
ORG $FFF6
Réservation des ports
FDB TFIRQ
ORG PIA
FDB TIRQ
DDRA RMB 1
FDB TSWI
CRA RMB 1
FDB TNMI
Programme principal
FDB DEBUT
ORG DEBUT
END
Conception des systèmes à Microprocesseurs 17
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
❐ 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.
Conception des systèmes à Microprocesseurs 19
Tableau récapitulatif
☞ Interruptions
☞ Le mode interruptible
Scrutation pour connaitre quel est le contrôleur qui a provoqué la demande
☞ 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 Registre CRA du PIA
Conception des systèmes à Microprocesseurs 25
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:
☞ 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
Conception des systèmes à Microprocesseurs 27
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.
☞ Illustrations :
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
*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.
• 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 :