LIAISON REFERENTIEL C.23 Comportement des systèmes logiques séquentiels
Thèmes : I6
Centre d’intérêt : CI11 Systèmes logiques et numériques
TP et TD associés : TP-C23-1, TP-C23-2
I- PRESENTATION - DEFINITION :
Un système est dit séquentiel, lorsque les variables de sorties sont sous l’influence d’une combinaison des variables des entrées et de l’état précédent des variables de sortie.
II- FONCTIONS MEMOIRES :
Ces fonctions mémoires sont faites à partir d’opérateurs logiques universels (NON/OU, NON/ET)
La plus élémentaire des mémoires est la bascule RS. L’association de ces opérateurs, dans des situations particulières donne naissance à des fonctions plus complexes, les compteurs, les registres.
II-1-La mémoire élémentaire- Bascule RS :
|
|
On remarque que pour l’état S=R=0 il y a mémorisation de la valeur précédente de la sortie, c’est une mémoire élémentaire. On note par ailleurs que le cas S=R=1 existe et nous propose comme solution une égalité des sortie qui par définition sont complémentaires.
Cette solution trouve aussi sa représentation dans l’électrotechnique :
Ce montage montre que le relais rentre en oscillation et ne trouve pas d’état d’équilibre.
Amélioration de la bascule :
On peut choisir de faire fonctionner la mémoire dans un mode prioritaire
|
|
C’est la marche prioritaire
Cette solution trouve aussi sa représentation dans l’électrotechnique :
|
|
C’est l’arrêt prioritaire
Cette solution trouve aussi sa représentation dans l’électrotechnique :
Q
R
Q









S



II-2-La mémoire par état d’horloge - Bascule RSH :
III- FONCTION COMPTAGE :
Le comptage d’information utilise pour son fonctionnement des opérateurs logiques câblés en logique séquentielle avec des entrées fixées toujours au même potentiel Vcc pour ne pas confondre ces entrées avec les entrées Set R on les nomme J et K.
De plus ces opérateurs qui utilisent pour fonctionner une horloge ont un fonctionnement sur front. C'est-à-dire que l’information est traitée lors du passage de 0 à 1 si le front est montant, de 1 à 0 si le front est descendant.
Le schéma d’étude est le suivant :
Q
Q
A chaque front montant de H, la sortie Q change d'état. Si le signal H est carré, de fréquence f, alors Q sera carré de fréquence f/2. En disposant en plusieurs diviseurs en cascade, on obtient un compteur ou décompteur binaire.
C’est aussi un diviseur de fréquence par 2.
On dispose donc en série des diviseurs de fréquence (trois par exemple), à chaque front appliqué en entrée du premier diviseur, regardons l'état des sorties :
Ce sytème décompte les fronts (même si les signaux d'entrée ne sont pas régulièrement espacés). En inversant les sorties, on obtient un compteur. En reliant ensemble les Clear des différents étages, on peut remettre le compteur d'impulsions à 0. En général, on initialise le décompteur (par les P et C) au nombre à compter, et on attend la valeur 0. On peut remarque le binaire se "crée" automatiquement : la base 2 est la mieux adaptée au comptage à l'aide de composants ToR.
Un compteur - décompteur comporte deux entrées, une de comptage (ajoute un) et l'autre de décomptage (soustrait un). Un compteur asynchrone (comme celui-ci) pose un petit problème : les bascules en série ont un temps de réponse qui fait que la nouvelle valeur se "propage" de gauche à droite, on aura donc pendant un très court instant une valeur de sortie erronnée. Les compteurs synchrones résolvent ce problème (à l'aide de bascules JK, je ne donne pas le schéma, il faut bien que les éditeurs de livres scolaires aient encore quelque chose à vendre).
compteur BCD
Une fois arrivé à la valeur 1010 (10 en binaire), on le remet à 0 et on lance un signal à la dizaine supérieure. Attention dans la pratique ce n'est pas aussi simple : si un composant va plus vite que l'autre, la remise à 0 peut se faire sur une période transitoire où l'on se trouvait à 1010. (C+=entrée de comptage)
le fréquencemètre
Autre application du compteur. C'est un compteur d'impulsions pendant un temps donné (cas des fréquences élevées), ou alors on compte le temps pendant une période (fréquences faibles).
le registre à décalage
De même en mettant en cascade des bascules D MS, on obtient un registre à décalage, que l'on peut initialiser en parallèle (indépendamment de T) par les broches Preset et Clear.
à chaque front de T la valeur Qi est décalée en Qi-1. Pour un bon fonctionnement, il faut que chaque Di soit déclenché après Di-1.
mémoires
principe
ROM : Read Only Memory : On a figé par construction le contenu des mémoires. En fait, pour un bit, une mémoire à 1 correspond à une liaison sur l'alimentation, un 0 à une liaison à la masse. Comment regrouper plusieurs bits ? Soit par exemple une mémoire de 64 valeurs binaires :
![]() |
Les intersections sont : pour une valeur 0 : pas de liaison, pour une valeur 1 : une diode empêchant le courant de remonter de la colonne. : |
En entrant une ADRESSE (numéro de mémoire, entre 0 et 63 ici) sous forme binaire, on obtient la donnée désirée (contenu de la mémoire). L'adresse se décompose en une partie haute (a3 à a5) déterminant la ligne mise à 1, et une partie basse (a0 à a2) déterminant la colonne connectée sur la sortie D
PROM : programmable une seule fois : liaison "fusible". On programme une Prom sous une tension supérieure à la tension de fonctionnement.
UVPROM : Prom reprogrammable après régénération sous ultra violets (20 mn).
EEPROM : Prom régénérable électriquement.
Application :Utilisation de ROM en combinatoire
Pour chaque état des entrées on mémorise la sortie (décomposition en mintermes). Par exemple, pour créer un générateur de caractères 8x8 pixels on préférera utiliser une ROM plutôt que de faire un circuit spécifique (pour 127 caractères, il faut 1 Ko).
RAM statique : garde la valeur tant qu'elle est alimentée. On utilise la même disposition que pour la ROM, mais à chaque intersection on place une bascule.
RAM dynamique : d'accès beaucoup plus rapide, mais il faut les régénérer (lire et réécrire) à intervalle régulier (plusieurs fois par seconde). On intègre actuellement plusieurs Mbit par composant.
brochage
Un boîtier RAM comprend en général des entrées A0 à An permettant de désigner la mémoire, R/W pour dire si lire ou écrire, et D0 à Dm pour les données (entrée sortie) (ou D si c'est un boîtier de mémoires 1 bit). De plus, le composant ne fonctionnera que s'il est sélectionné (entrée CS : chip select). De plus, il faut entrer un signal de synchronisation (horloge) et évidement l'alimenter.
Chronogramme : en lecture, il faut donner l'adresse, CS, Read, on obtiendra le contenu D au prochain top d'horloge. En écriture, on donne l'adresse, CS et Write, puis la donnée au prochain top d'horloge.
association de boîtiers mémoire
Comment utiliser 8 boîtiers de 8k x 1 bit pour créer une mémoire de 8k x 8 bits ?
En fait, on envoie les signaux de commande et l'adresse aux 8 boitiers. Ceux-ci, simultanément, traiteront les 8 bits du mot désiré. Les différents bits d'une même mémoire ne sont donc pas physiquement situés au même endroit. |
Et avec 8 boîtiers de 1k x 8 bits ?
Ici, les 10 bits de poids faible de l'adresse désirée est transmise à tous les boitiers. Mais un seul est sélectionné, suivant les 3 bits de poids fort de l'adresse. Les 8 bits de données de tous les boitiers sont reliés ensemble, on est sûr qu'un seul sera sélectionné à la fois, via le démultiplexeur. |