précédent suivant haut Contents Index

Séquentiel (câblé)


Définition

En combinatoire, pour chaque combinaison des entrées, il existe une et une seule combinaison des sorties. En séquentiel, l'état des sorties dépend en plus de l'histoire (de l'état précédent, qui lui aussi, dépend de l'état qui l'a précédé...)

schéma de principe

bascule R S

bascule RS

Ce composant est le composant de base du séquentiel. Analysons l'état des sorties dans différents états.
Dans cette table de vérité, on considérera un déroulement séquentiel : les combinaisons des entrées se suivent dans le même ordre

Rappel : la sortie d'une porte NOR ne vaut 1 que quand toutes ses entrées sont à 0.

S
R
Q
Q'

1
0
1
0
Set (allumer)
0
0
1
0
Mémorisation
0
1
0
1
Reset (éteindre)
0
0
0
1
Mémorisation
1
1
0
0
Etat Interdit !

Si le dernier cas n'est pas utilisé (on ne demande pas simultanément d'allumer et d'éteindre), Q' vaut toujours l'opposé de Q, on l'appellera donc /Q (Q barre)

schéma

On réalise ici une bascule à enclenchement prioritaire (idem, excepté si S=R=1, Q et mis à 1). Ici, dans tous les cas, Q' est l'opposé de Q. Un bascule à priorité déclenchement aura également le même comportement qu'une RS, excepté dans l'état interdit où /Q vaudra 1
Application : circuit anti rebond

Un capteur ne peut pas passer de manière parfaite (sans aléa) de l'état 0 à l'état 1. On peut utiliser une bascule, qui mémorisera l'état stable précédent pendant l'état transitoire. (T1)

Exercice : quel est le comportement d'un même composant où l'on a remplacé les NOR par des NAND ? (réponse : bascule commandée par des niveaux 0)

bascule RST

bascule

T est l'entrée de validation : si T=1, les entrées R et S sont prises en compte, si T=0 elles ne le sont pas. Dans ce cas, la bascule n'est pas éteinte, elle reste "figée" dans le même état.
Souvent, la bascule comporte deux entrées supplémentaires : Preset (forçage à 1, quel que soit l'état de T) et Clear (forçage à 0), qui permettent de forcer la bascule même si T=0, utilisées généralement pour l'initialisation du composant.

Application : bascule D ou Latch ou mémoire : on possède une entrée D, reliée à S d'une RST, et à R par l'intermédiaire d'un inverseur. La sortie Q vaudra l'état lu et mémorisé lors du dernier T=1. C'est le composant de base d'une mémoire d'ordinateur : est mis à 1 ou 0 au moment voulu, figé le reste du temps.

bascule D

maître esclave

fonctionnement

Deux bascules RST sont reliées en série. Une seule est validée à la fois (T inversé). Une entrée Preset permet le forçage à 1 de l'ensemble, une entrée Clear le forçage à 0 (indépendamment de l'état précédent et de T).

Analysons le fonctionnement de cette bascule:

bascule MS


maître (Master)
esclave (Slave)
Si T=0
information S/R transmise en s'r'
non transmis en Q (ancien Q)
Si T=1
R S en attente (ancien r's')
ancien r's' transmis en Q

chronogramme

On remarque donc que l'information est transmise au prochain front montant de l'horloge T.

bascule D MS

Elle synchronise un signal extérieur sur un front d'horloge (à condition que le signal dure au moins une demi période).
D-MS

cas particulier : la bascule JK

Elle comporte en général plusieurs entrées de mise à 1 (J) et de mise à 0 (K). Dans le cas où l'on demande l'état impossible (J.K), la sortie est inversée à chaque front d'horloge. Dans les autres cas le fonctionnement est identique. De plus on peut avoir des bascules JK dont le basculement et commandé par un niveau (0 ou 1) ou par un front ("edge triggered").

le diviseur de fréquence

A chaque front montant de T, la sortie Q change d'état. Si le signal T est carré, de fréquence F, alors Q sera carré de fréquence F/2. En disposant en série plusieurs diviseurs en cascade, on obtient un compteur ou décompteur binaire (même si T n'est pas régulier) :
diviseur

le compteur - décompteur

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 :

[chronogramme]

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)

compteur décimal

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.

registre à décallage

à 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 :

maillage ligne-colonne

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. :

diode

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.

association de boitiers RAM

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.
décodage d'adresse pour RAM


précédent suivant haut Contents Index