Vous êtes sur la page 1sur 81

LE201 Electronique numérique

Logique séquentielle

•Les bascules
¾2 notions importantes : le rythme et la mémoire
¾Bascule RS asynchrone
¾Vers les bascules synchrones
¾Bascule D
¾Considérations temporelles
¾La bascule D en VHDL
¾Les bascules JK et T
•Les registres
•Les compteurs
•Les convertisseurs analogique/numérique
et numérique/analogique
LE201 Electronique numérique

Logique séquentielle

2 notions importantes : le rythme et la mémoire

Logique combinatoire : réalisation statique de fonctions


booléennes
À l’aide de portes, décodeurs, multiplexeurs…….

Logique séquentielle : les opérations logiques sont


effectuées
au rythme d’une horloge
Entre deux tops d’horloge les signaux doivent être mis en
mémoire
LE201 Electronique numérique

Logique séquentielle
LE201 Electronique numérique

Logique séquentielle
Logique séquentielle

Source : http://comelec.enst.fr/tpsp/eni/poly/enich6.html
LE201 Electronique numérique

Logique séquentielle

TH
C’est quoi une horloge ? H
Q0
Un signal périodique carré TTL de période TH
Un front montant est l’instant du passage 0Æ 1
Un front descendant est l’instant du passage 1Æ 0

Comment mettre en mémoire ?


LE201 Electronique numérique

Mémoire élémentaire : charge d’un condensateur

0 0 sortie
entrée R

écriture 1 1 lecture
C

Résistance de fuite r

entrée sortie

1 0 Écriture de Problème : C se décharge


l’entrée dans C dans la résistance de fuite
0 0 Mise en mémoire
0 1 Lecture en sortie C=10pF, r=100 MΩ
du contenu de C t = 1 ms
1 1 Non utilisé
LE201 Electronique numérique

Première étape : bascule asynchrone Bascule RS

Table de vérité

Mémoire
Set
Reset
LE201 Electronique numérique

Bascule RS à portes Nand

R S Q Q
0 0 interdit
1 0 1 0 Set
0 1 0 1 Reset
1 1 Q Q Mémoire

Tout est inversé


LE201 Electronique numérique

Vers les bascules synchrones

Il faut éviter :
L’état interdit RS=11
Rajouter une horloge
Bascule D asynchrone
pour éviter l’état 11
D

L’état mémoire 00 a disparu!


LE201 Electronique numérique

Vers les bascules synchrones

R S H Q Q
Bascule RS synchrone
pour ajouter une horloge X X 0 Q Q Mémoire
0 1 1 1 0 Set
S
S.H 1 0 1 0 1 Reset
0 0 1 Q Q Mémoire

H
1 1 1 Interdit

•L’état interdit n’est pas


éliminé
R.H •Et la bascule est active
R
sur niveau (H=1) pas sur
front
LE201 Electronique numérique

Latch (verrou) en combinant les deux

H D R.H S.H Q Q

0 X 0 0 Q Q
1 0 0 1 0 1

D 1 1 1 0 1 0
S
S.H

C’est un verrou
Si H=0 Mémoire
(verrouillé)
H Si H=1 Q=D (verrou
transparent)
R.H Bascule active sur
niveau (pas sur front)
R
LE201 Electronique numérique

Bascule active sur front : structure maître esclave


LE201 Electronique numérique

La Bascule D
LE201 Electronique numérique

Considérations temporelles
LE201 Electronique numérique

La bascule D en VHDL

stockage: process(d,hor,raz,rau) is
begin
if (raz = '0') then
LIBRARY ieee; q <= '0';
USE ieee.std_logic_1164.all; qb <= '1';
USE ieee.std_logic_arith.all; elsif (rau = '0') then
q <= '1';
ENTITY basculeD IS qb <= '0';
port (d,hor,raz,rau : in std_logic; elsif (hor'event and hor = '0') then
q,qb : out std_logic); q<=d;
END ENTITY basculeD; qb <= not d;
end if;
ARCHITECTURE comport OF basculeD IS end process stockage;
BEGIN END ARCHITECTURE comport;
-- Bascule D avec Raz et Rau asynchrone
LE201 Electronique numérique

La bascule D en VHDL : process

{ Dans un process : les instructions sont exécutées


séquentiellement, les unes à la suite des autres
(instructions standart de la prog. structurée).
{ Execution du process : à chaque changement d’un
signal de la liste de sensibilité
{ Changements d’état des signaux : à la fin de
l’execution du process

Syntaxe :
[Nom_du_process] : process (liste_de_sensibilité_noms_des_signaux)
Begin
--instructions
End process [nom_du_process]
LE201 Electronique numérique

La bascule D en VHDL : instruction if

Syntaxe: Exemple :
If condition then If (reset=‘0’) then
Instruction sortie<="0000“
Elsif condition then Elsif load=‘1’ then
instructions sortie<=entree;
Else Else
instructions sortie<=D(5 downto 2);
End if; End if;
LE201 Electronique numérique

Bascules JK et T
LE201 Electronique numérique

Entrées asynchrones
LE201 Electronique numérique

Les registres : registres parallèles


D0 Bascules indépendantes,
Q0
D Q L’entrée Clk est commune à toutes
Clk les horloges
Le registre transfert les valeurs du
D1 Q1 bus d’entrée sur 4 bits vers la sortie
D Q sur 4 bits au moment du front
d’horloge.

D2 Q2
D Q
Applications : synchronisation, tampons

D3 Q3
D Q
LE201 Electronique numérique

Les registres à décalage série


Q0 Q1 Q2 Q3
In
D Q D Q D Q D Q

Clk

Les bascules sont reliées entre elles.


L’horloge est commune à toutes les bascules.
Décalage des sorties vers la droite à chaque top d’horloge.

Applications: transformations d’informations parallèle/série,


Émission sur 1 fil de 1 bit
LE201 Electronique numérique

Différences série parallèle

Transfert Série
L’information est transférée un bit à
la fois
Décale les bits du registre source vers
le registre destination
Transfert Parallèle :
Tous les bits du registre sont
transférés en même temps
LE201 Electronique numérique

Registre universel

http://wwwdsa.uqac.ca/~rbeguena/Systemes_Digitaux/Systemes%20Digitaux6_I.pdf
LE201 Electronique numérique

Registre universel
LE201 Electronique numérique

Registre universel
LE201 Electronique numérique

Les compteurs Q3Q2Q1 Q0

0000
Un système séquentiel plus complexe 0001
un compteur 0010
Un compteur est un circuit dont la valeur des sorties est 0011
directement liée au nombre d'impulsions appliquées sur son
entrée d'horloge 0100
À base de bascules (souvent bascules D) 0101
0110
Suite simple des nombres binaires :
0111
Q0 change à chaque fois 1000
(à chaque top d’horloge) 1001
1010
Q1 change une fois sur deux
1011
(tous les 2 tops d’horloge)
1100
Q2 change une fois sur quatre (tous les 4 tops) 1101
Q3 change une fois sur huit (tous les 8 tops) 1110
1111
LE201 Electronique numérique Les compteurs

1 Q0 sortie d’une bascule T avec T=1 : Q n +1 = Q n


Avec une bascule D : D 0 = Q n +1 = Q n = Q 0
TH
H
D Q
H
Q0
Q
T0=2TH f0=fH/2
Diviseur de
2 Q1 sortie fréquence par 2
d’une bascule T avec T=1 et
avec H1 de période T1=2 T0 :
D1 = Q n +1 = Q n = Q1 H1 = Q 0
LE201 Electronique numérique Les compteurs

D0 Q0 D1 Q1
H Q0 Q1

TH
Diviseur de fréquence par 4 H
Q0 1 0 1 0 1 0 1 0

Q1 1 1 0 0 1 1 0 0

T1=4TH

Décompteur! problème

Il faudrait que Q1 soit modifié sur le front descendant de Q0


Il suffit de prendre H1=Q0
LE201 Electronique numérique Les compteurs

D0 Q0 D1 Q1 D2 Q2 D2 Q2

H Q0 Q1 Q2 Q2

Pour 4 bits : H
Q0 1 0 1 0 1 0 1 0
compteur!
Q1 0 1 1 0 0 1 1 0
Q2 0 0 0 1 1 1 1 0
Q3 0 0 0 0 0 0 0 1
LE201 Electronique numérique Les compteurs

Avec 4 bascules : 4 bits en sortie, 24 valeurs possibles=16


Compteur par 16 ou modulo 16

Avec N bascules : N bits en sortie, 2N valeurs possibles


Compteur par 2N ou modulo 2N

Compteurs Q : entrée Clk de la bascule suivante


Décompteurs Q : entrée Clk de la bascule suivante

Diviseurs de fréquence :
à la sortie de la 1ère bascule : diviseur par 2
à la sortie de la Nième bascule : diviseur par 2N
LE201 Electronique numérique Les compteurs

Compteurs par P≠2N

1. Combien de bascules ?
2N1<P<2N2 on prend N2 bascules
2. Comment s’arrêter à P ?
remise à zéro à P-1
utilisation des entrées asynchrones (Reset, Set…)

Exemple : compteur par 5

000
001 États indésirables:
010 101
011 110 Reset=1
100 111 Reset=Q2.(Q1+Q0)
000
LE201 Electronique numérique Les compteurs

Inconvénients de ces compteurs :


Quand on prend en compte les temps de propagation de
chaque bascule:
Des problèmes d’aléa de fonctionnement (Glitch)
indésirables peuvent apparaître

Compteurs asynchrones
Toutes les bascules n’ont pas la même horloge
LE201 Electronique numérique Les compteurs
LE201 Electronique numérique Les compteurs

Pour éviter les problèmes dus aux temps de propagation


Compteurs synchrones
Toutes les bascules sont commandées par la même horloge

=> Pas de problème de cumul des temps de propagation


=> Etats transitoires parasites limités

Une méthode unique pour réaliser tous les types de


compteurs
LE201 Electronique numérique Les compteurs

Synthèse d’un compteur modulo P


À partir de bascule D synchrones

1 - Nombre de bascules nécessaires : n, où 2n-1< P ≤ 2n

2 - Etablir la table de transition du compteur


état suivant (Qi+) en fonction de l'état présent (Qi)

Qn……Q1Q0 Qn+……Q1+Q0+
…………….. ……………..
0…………10 0…………11
3 - Calculer l'expression des entrées D des bascules
Di = Qi+ = f(Qj)
LE201 Electronique numérique Les compteurs

Exemple : compteur modulo 8 (23)

1. Combien de bascules ?
3 bascules
Q2 Q1 Q0 Q2+ Q1+ Q0+
2. Table de vérité
LE201 Electronique numérique Les compteurs

3. Calcul des expressions des entrées Di = Qi+ = f(Qi)


Q1Q0
Q2

D0 00 01 11 10

Q2 Q1 Q0 Q2+ Q1+ Q0+ 0 1 0 0 1


D0 = Q0
1 1 0 0 1
Q1Q0
Q2

D1 00 01 11 10
D1 = Q1 ⋅ Q0 + Q1 ⋅ Q0
0 0 1 0 1

1 0 1 0 1
D1 = Q0 ⊕ Q1
Q1Q0
Q2

D2 00 01 11 10 D2 = Q2 ⋅ Q1Q0 + Q2 ⋅ Q1 + Q2 ⋅ Q0
0 0 0 1 0
( )
D2 = Q1 ⋅ Q0 Q2 + (Q1 ⋅ Q0 )Q2

D2 = Q2 ⊕ (Q1 ⋅ Q0 )
1 1 1 0 1
LE201 Electronique numérique Les compteurs

D0 = Q0
D1 = Q0 ⊕ Q1
D2 = Q2 ⊕ (Q1 ⋅ Q0 ) Q2 Q1 Q0

Clk
Compteur modulo 2n Q0
D0 = Q0 Q1

Di = Qi ⊕ (Qi −1 ⋅ ⋅ ⋅ ⋅ ⋅ Q0 ),i > 1 (Q2Q1Q0)


Q2
LE201 Electronique numérique Les compteurs

Exemple : compteur modulo 6

1. Combien de bascules ?
22=4 < 6 < 23=8 3 bascules

2. Table de vérité Q2 Q1 Q0 Q2+ Q1+ Q0+


LE201 Electronique numérique Les compteurs

3. Calcul des expressions des entrées Di = Qi+ = f(Qi)

D0=Q0
D1=Q2.(Q1 + Q0)
D2=Q1.Q0 + Q2Q0

États indésirables ?
110Æ ?
111Æ ?
On vérifie que les états suivants sont dans la boucle de
comptage
OU on indique ces états dans la table de vérité en
choisissant les états suivants (à 000 souvent) et on en
tient compte dans les équations
LE201 Electronique numérique Les compteurs

Avec cette méthode on peut réaliser:


Des compteurs décrivant d’autres cycles que
l’énumération binaire
-décompteur
-code de Gray
-cycles quelconques……

Compteurs programmables :
En ajoutant des entrées asynchrones, on peut créer
-chargement parallèle du compteur
-commande de validation / inhibition du comptage
-programmation du sens du comptage
LE201 Electronique numérique

Compteurs synchrones par P

{ Compteur par p>16, on prend


directement un compteur par 2n
puis on définit un reset actif lorsque
sortie=p
LE201 Electronique numérique Les compteurs
Un compteur en VHDL
A base de Rst
bascules D
BEGIN
--instanciation des 3 bascules
basc1 : entity work.basculeD(comport)
port map(D=>D0,CK=>clk,Rst=>reset,
LIBRARY ieee;
Q=>sint(0),NQ=>nsint(0));
USE ieee.std_logic_1164.all;
basc1 : entity work.basculeD(comport)
USE ieee.std_logic_arith.all;
port map(D=>D1,CK=>clk,Rst=>reset,
Q=>sint(1),NQ=>nsint(1));
ENTITY compteur_8 IS
basc1 : entity work.basculeD(comport)
port(
port map(D=>D2,CK=>clk,Rst=>reset,
clk, reset : std_logic;
Q=>sint(2),NQ=>nsint(2));
s: out std_logic_vector(2 downto 0));
--équations des entrées Di des bascules
END ENTITY compteur_8;
D0<=nsint(0);
D1<=sint(0) xor sint(1);
ARCHITECTURE struct OF compteur_8 IS
D2<=sint(2) xor (sint(1) and sint(0));
signal D0, D1, D2 : std_logic;
--affectations des signaux internes aux sorties
Signal sint, nsint : std_logic_vector(2 downto 0);
s<=sint;

END ARCHITECTURE struct;


LE201 Electronique numérique Les compteurs
Un compteur en VHDL A base de bascules D
Sans reset

--équations des entrées Di des bascules


D0<=nsint(0);
D1<=sint(0) xor sint(1);
D2<=sint(2) xor (sint(1) and sint(0));
ARCHITECTURE struct OF compteur_8 IS --affectations des signaux internes aux sorties
signal D0, D1, D2 : std_logic; s<=sint;
Signal sint, nsint : std_logic_vector(2 downto 0);
--reset synchrone actif à niveau haut
BEGIN Proc_reset: PROCESS (clk, reset) IS
--instanciation des 3 bascules BEGIN
basc1 : entity work.basculeD(comport) If (clk’event and clk=‘1’) then
port map(D=>D0,CK=>clk, if (reset=‘1’) then
Q=>sint(0),NQ=>nsint(0)); sint<=“000”;
basc1 : entity work.basculeD(comport) nsint<=“111”;
port map(D=>D1,CK=>clk, end if;
Q=>sint(1),NQ=>nsint(1)); End if;
basc1 : entity work.basculeD(comport) END PROCESS;
port map(D=>D2,CK=>clk,
Q=>sint(2),NQ=>nsint(2)); END ARCHITECTURE struct;
LE201 Electronique numérique

Pipeline
Additionneur 4 bits : pipeliné pour accélérer la vitesse de calcul
LE201 Electronique numérique

Pipeline
Principe :
Découper l’opérateur en plusieurs étages isolés les uns des autres.
C’est le signal d’horloge qui autorise les transfert des données d’un
étage à l’autre. Cette technique permet d’accélérer la cadence de
production des résultats.

Latence
La latence (durée d’exécution totale) de l’opérateur est supérieure
d’au moins ε à celle d’un opérateur non pipeliné.

Si la durée maximale d’un étage de l’opérateur pipeliné est de Tmax et


qu’il y a n étages, alors la latence de l’opérateur est
T = n .Tclk avec Tclk > Tmax + th + ts
avec ts et th les temps de prépositionnement
et de maintien des bascules.
Les monostables
Monostable simple
Monostable redéclenchable
Les portes 3 états
Registre avec sortie haute impédance
Mémoire élémentaire
Mémoire
LE201 Electronique numérique

Convertisseurs analogique - numérique


et numérique – analogique (CAN et CNA)
{ Généralités
Plan { Chaîne de conversion
{ Echantillonnage
{ CAN
z Caractéristiques
z Convertisseur à rampe
z Conv. à approximations successives
z Conv. flash

{ CNA
z Poids pondérés
z Réseau R/2R
LE201 Electronique numérique

Monde analogique et continu


Le monde est analogique
La température, la pression, la luminosité, le son …..
varient de manière continue avec le temps.
grandeur analogique

1,5
1
Signal électrique
U
0,5
0
-0,5 0 100 200 300 400 500
Capteur Support de
-1
-1,5
t
l’information
Traitement

Autres supports physiques :papier, lumière,


Signal champs électromagnétiques (adaptés à la
transmission et au stockage de l’information :
mécanique livres, cédéroms, fibre optiques, téléphone
Support de portable ou par satellite)
Mais pas adaptés pour le traitement
l’information
LE201 Electronique numérique

Monde numérique et discret

{ Le monde numérique est discret


(pas continu)

Signal Signal Traitement


électrique ??
numérique Électronique
numérique
Il faut numériser le signal
LE201 Electronique numérique

Chaîne de conversion

grandeur
numérique Monde
Monde grandeur capteurs grandeur CAN numérique
analogique
analogique analogique Bus de n bits Traitement
P, T, m, I…
électrique

Bus de
m bits

CNA

Actionneur
LE201 Electronique numérique

Chaîne de conversion

{ Plus en détails

Filtre
grandeur capteurs grandeur Passe-bas Echantillonneur
Ampli
analogique analogique Anti- bloqueur
électrique repliement

CAN

grandeur
numérique
Bus de n bits
LE201 Electronique numérique

Echantillonnage
Echantillonnage
Echantillonnage
Echantillonnage
Echantillonnage

En amont du convertisseur, un échantillonneur-bloqueur


prélève régulièrement une valeur de la tension
continue U sortie du capteur. Il maintient ou bloque
cette valeur constante jusqu’à l’échantillon suivant.
(mémoire analogique)
Tension d'entrée du CAN
Une infinité de valeurs
le temps de conversion doit être
inférieur à Te

Commande de l'échantillonneur
Période Te , Fréquence Fe = 1/Te

double quantification : quantification temporelle ( échantillonnage ) +


quantification en amplitude ( résolution )
http://www.ac- grenoble.fr/disciplines/spc/ file/ppt/seconde/mpi/mpigiustini/
deux/cnacan/cnacan.ppt#275,1,1/ CAN – CNA Exemple d'un enregistrement sonore
Théorème de Shannon
Problèmes d’échantillonnage
{ Si la fréquence d’échantillonnage n’est pas assez
élevée Æ pb de repliement du spectre
{ Pb lorsqu’il y a des composantes à haute fréquence
(craquements…)

Périodisation du spectre en fréquence


Filtre Passe-bas pour couper les hautes fréquences
http://fr.wikipedia.org Théorème d'échantillonnage de Nyquist-Shannon
Codage

{ Quelques normes de codage audio


Définition

{ CAN : Définition

{ La conversion analogique-numérique consiste à


transformer une grandeur électrique représentée
par un signal en une grandeur numérique
exprimée sur N bits après échantillonnage et
quantification du signal. Cette valeur est une
valeur codée représentant un nombre
proportionnel a la grandeur électrique.
Caractéristiques d’un CAN

{ Résolution analogique :
z r : Écart minimum entre 2 valeurs de
Ve qui donne 2 sorties binaires
différentes
z Correspond au LSB

0 <Ue<Uref Sinon Æ ampli permet d’adapter


la gamme d’amplitude
Exemple CAN 3 bits

A A mot binaire
7
r résolution 0 000
analogique 1 001
2n = 8 valeurs 2 010
2 3 011
1
0
4 100
Ue 5 101
Uref
Une infinité de valeurs possibles 6 110
7 111
Uref = 5 V
r=5/8=0,625 V
Résolution numérique : n
r= Uref/2n
Nombre de bits en sortie
Caractéristiques des CAN : suite
Erreur de quantification e :
0≤e≤r

Temps de conversion : caractéristique importante. Dépend


du système utilisé
Convertisseur Simple rampe
Ve tension à convertir Vs
+
-
Vc
Sortie sur
n bits

Vc
Tant que V+>V- soit Ve>Vc
Ue ÆVs=‘1’
Compteur s’incrémente
t C se charge, Vc augmente
Fin de conv
Convertisseur à rampe numérique

Sortie sur
n bits

Temps de conversion des conv. simple rampe :


Temps variable selon la valeur de Ve
Au maximum : si Ve=Vref
Tconv = (2n -1) Tclk
Conv. à approximations successives

{ Principe de la pesée Temps de conversion


Tconv=n.Tclk

Convertisseur plus
rapide que ceux à
rampe

Le résultat de la
conversion est ici
11010
Convertisseur flash ou parallèle
Avantage :
tous les comparateurs fonctionnent
en parallèle donc conversion rapide
Tconv=2 Tclk

Sortie sur
n bits

Inconvénient :
Pour une sortie sur n bits, il faut
2n – 1 comparateurs
Convertisseur flash ou parallèle : suite
Convertisseurs numérique – analogique (CNA)

Us ne peut pas Résolution


prendre n'importe analogique
quelle valeur : r = 1V

Us = r . N
CNA à résistances pondérées
CNA à réseau R/2R
Une cellule
Réseau R/2R à 3 bits R/2R
:
Résistance
terminale 2R

Chaque cellule R/2R "voit" à sa droite une résistance


équivalente de 2R.
Le générateur VREF "voit" une résistance équivalente de 2R
quelque soit
le nombre de cellules.
I = VREF / 2R
I2 = I / 2 = VREF / 4R
I1 = I2 / 2 = VREF / 8R
I0 = I1 / 2 = VREF / 16R
Comment présenter un travail lors d’une soutenance orale
- En général
- Dans notre cas

Points importants :
La présentation orale d’un projet •Respecter le temps prévu
doit permettre d’expliquer votre •Bien se préparer
travail de manière synthétique. Elle •Faire des transparents
comprend : clairs, pas trop chargés
-Page de garde avec le titre…. •Eviter de mettre trop de
-Introduction texte dans un transparent
-Plan •Utiliser un vocabulaire
-Développement simple (pas de jargon ou
-Conclusions et perspectives trop de sigles)
•Introduction large qui
amène au sujet
•Conclusion qui ouvre

Vous devez montrer au jury que vous maîtriser le sujet et que vous
avez bien travaillé (même si vous n’avez pas fini).
Dans notre cas :

Préparer quelques transparents pour une durée de 10 min


(imprimer les aussi sur papier et préparer vos fichiers en pdf au
cas où).
Résumez y les différentes parties que vous avez étudiées.
Présentez les schémas.
Vous pourrez nous montrer des extraits des codes VHDL, des
simulations si besoin et votre affichage à l’écran (photos).

Faites comme si nous ne connaissions pas le sujet (sans


détailler trop comment marche l’affichage VGA).
Pensez à ,répartir le temps de parole entre les 2 membres du
binôme). Pensez aussi que le jury verra beaucoup de
soutenances à la suite. Le ton et l’attitude comptent beaucoup,
autant que le contenu pour capter l’attention du jury.

Vous aurez 10 min. Ensuite, nous vous poserons des questions.