Electronique Numérique Séquentielle
Dans un circuit Combinatoire, les sorties dépendent directement des entrées.
Dans un circuit Séquentiel, les sorties dépendent des entrées, ainsi que d’un état.
Autrement dit, la notion de mémorisation apparait avec la logique séquentielle.
La Bascule RS
Table de Vérité
On désigne par Q+ le nouvel état, et par Q l’état précédent.
- La mise à 1 de S ( Set ) force la sortie à 1.
- La mise à 1 de R ( Reset ) force la sortie à 0.
- Si R et S sont à 0, on conserve en sortie la valeur précédente ( mémorisation )
- La mise à 1 simultanée de R et S n’est pas possible.
Equation Logique
Réalisation
En logique séquentielle, il faut nécessairement considérer un état initial du fait de cette notion de mémorisation.
La mémorisation résulte du rebouclage de la sortie sur les entrées des portes logiques.
La Bascule D Latch ( Verrou )
On ajoute une entrée de chargement L, qui authorise l’enregistrement de l’entrée D.
Logique Synchrone
Associons 2 Bascules D latch dans une configuration maître esclave afin de créer une bascule D synchrone :
On peut remarquer que l’enregistrement de la valeur présente sur l’entrée D ne se fait qu’à un instant précis qui est le front montant de l’horloge Clk. En dehors des front montant, l’état est conservé.
Les composants synchrones sont des composants dont les valeurs évoluent uniquement sur les fronts montants d’une horloge.
Dans un système complexe mettant en parallèle plusieurs composants, cela permet de mettre tout le monde d’accord.
Bascule D
La bascule D est le composant élémentaire de la logique séquentielle synchrone.
Equation Logique
sur un front montant de clk ( en dehors des fronts montant l’état de la sortie est conservé ).
La sortie de la bascule juste après le front montant est égale à l’entrée juste avant le front
REMARQUE :
La valeur présente en sortie de la bascule est présente en entrée un coup d’horloge avant.
On peut parler d’état actuel pour Q, et d’état suivant/futur pour D.
Les Registres
On ajoute un multiplexeur à la bascule D synchrone :
- load=0 –> D reçoit Q à chaque front montant ; on conserve l’état de la bascule.
- load=1 –> D reçoit E ; cette valeur est enregistrée sur un front montant de clk.
|
|
En associant en parallèle plusieurs bascules D, on crée un registre N bits.
On a donc un composant pouvant mémoriser une donnée sur ordre ( load = 1 ),
et de faire en sorte que cet enregistrement se fasse sur un instant précis ( front montant de clk ).
|
|
Les Compteurs
Cahier des Charges
On souhaite réaliser un composant dont les sorties Q3 Q2 Q1 Q0 évoluent comme dans le tableau ci dessous, soit un comptage 0,1,2,3,..,14,15,0,1,2,…
Pour cela on dispose de 4 bascules D.
Pour une bascule D, Q est l’état présent, D l’état futur ; l’utilisation des bascules D impose que la valeur présente sur D soit celle de Q un coup d’horloge avant.
On en déduit donc les valeurs Di dans le tableau ci dessous.
La table de vérité permet d’en déduire les équations logiques.
|
|
Réalisation
A partir des équations logiques, on en déduit le circuit numérique :
Les Machines d’états
Exemple de Système contrôlé par une Machine d’Etats ( ou Séquenceur )
On considère un composant synchrone devant contrôler le sens de rotation d’un moteur pour déplacer un chariot.
Quand le chariot arrive en butée ( appui sur un capteur A ou B ), le sens de rotation doit changer.
Il ne suffit pas d’appuyer sur A ou B pour changer de sens, il faut également considérer dans quel sens on se déplace :
- Si je vais à Gauche et que je tape dans dans A, il faut changer de sens
- Si je vais à Gauche et que quelqu’un appuit sur B, il faut continuer à aller à gauche.
|
|
Ce mode de fontionnement peut être décrit par un Diagramme d’Etats :
Le Rond représente un Etat ; pour un état donné, on définit les sorties de la machine d’état.
Les flèches sont des transitions sur lesquelles ont fait apparaitre les conditions sur les entrées pour changer d’état.
Ainsi le changement d’état ( détermination de l’état futur ) nécessite de connaitre :
- L’état actuel
- Les valeurs sur les entrées
Machine de Moore / Mealy
Afin de réaliser cette machine d’états, on considère la marchine de Moore ci dessous.
On remaque que les sorties dépendent directement des entrées.
La détermination de l’état suivant nécessite de connaitre l’état actuel et la valeur des entrées.
Comme nous sommes dans un contexte synchrone ( horloge ), le lien entre état actuel et état futur est fait par une bascule D ou un registre.
Dans certains cas où il faut réagir vite, il peut être nécessaire que les sorties évoluent directement sur un changement des entrées, sans attendre une période d’horloge ; d’où la variante ‘machine de Mealy’.
Réalisation de la machine d’états
Table de vérité et Equation Logiques
A partir du diagramme d’états, on en déduit la table de vérité.
- Les sorties G et Dr dépendent directement de l’état courant Q.
- L’état suivant ( D ) est définit en regardant l’état courant et la valeur des entrées ( si je suis dans l’état 0 et que A vaut 0, je reste dans l’état 0, en revanche si A passe à 1 l’état suivant sera forcément 1 ).
|
|
Circuit Numérique