Temps réel/Approches sans exécutif
De Polima.
Il existe deux techniques :
- Scrutation logicielle
- Technique des interruptions
Sommaire |
Scrutation logicielle des E/S
- L'évènement modifié une bascule du registre d'état.
- Le uP lit régulièrement certains bits de certains registres d'états.
On est capable de borner le temps maximum d’exécution de la boucle.
A comparer avec la dynamique du procédé et donc avec les contraintes de temps associé
=> solution acceptable
Technique des interruptions
L'interface d'entrée lit la valeur du capteur d'entrée.
Si temps > 21 alors l'interface génère le signal INT.
Programme d'Interruption
A chaque Instruction du programme principal :
- Le uP regarde si le signal INT est actif
- Si oui :
- Il mémorise l'adresse de l'instruction en cours et le contenu des registres manipulés (sauvegarde du contexte)
- Il exécute le programme d'interruption
- Il restaure le contexte pour retrouver l'adresse de la dernière instruction traitée au niveau du programme principal
- Il reprend l'exécution du programme principal
Le uP doit savoir à quelle adresse le programme d'INT se situe.
On mémorise l'adresse du début du programme d'INT à un endroit spécifique de la mémoire : table des vecteurs.
Architecture matérielle
Il existe 4 architecture possibles :
- Interruption directe
- Interruption directe et scrutation
- Scrutation câblée (daisy chain)
- Utilisation d'un contrôleur d'interruption
Scrutation câblée (daily chain)
- L'interface qui veut interrompre le uP émet le signal IRQ
- Le uP répond généralement le signal IRQA
- L'interface le reçoit sur l'entrée E1, elle bloque ce signal et émet le numéro du vecteur correspondant au programme d'interruption à exécuter, sinon elle transmet le signal sur la sortie E0
Temps d'attente
- Δ0 : temps de production du signal logique INT
- Δ1 : temps de détection du signal INT par le uP
- Δ2 : temps de sauvegarde du contexte
- Δ3 : temps de recherche de l'adresse du programme d'interruption