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.