Vous êtes sur la page 1sur 23

Travaux Dirigés d’Electronique Numérique

LE201
Licence d’Ingénierie Electronique
2010-2011

1
TD 1 : Algèbre de Boole

TD1 : Algèbre de Boole


1. Démontrer que :
• a⊕1 = a
• a ⊕ b ⊕ (a.b) = a+b
• a⊕a = 0

2. Mettez sous forme canonique, disjonctive et conjonctive, les fonctions s dont les tables de
vérités sont données ci-dessous.

Table 1: tables de vérité

3. Simplifiez les expressions suivantes sans utiliser les tableaux de Karnaugh :

4. Ecrire les équations booléennes simplifiées issues des tableaux de Karnaugh de la figure 1.

Figure 1: Tableaux de Karnaugh

5. Le feu de croisement (ancien examen)

La figure 2 montre l’intersection entre une route principale et une route secondaire. Des
capteurs de voitures ont été placés le long des voies C et D (route principale) et des voies A et
B (route secondaire). Les sorties de ces capteurs sont à l’état logique 0 quand il n’y a pas de
voitures et à l’état logique 1 quand il y en a.

2
TD 1 : Algèbre de Boole

Figure 2: Feu de croisement

Le feu de circulation se trouvant à cette intersection est commandé par les règles suivantes:
• Le feu E-O est vert quand il y a des voitures dans les deux voies C et D.
• Le feu E-O est vert quand il y a des voitures dans C ou D et quand il y en a dans A ou
B (ou pas du tout) mais pas dans les deux.
• Le feu N-S est vert quand il y a des voitures dans les voies A et B et qu’il y en a dans
C ou dans D mais pas dans les deux.
• Le feu N-S est aussi vert quand il y a des voitures dans A ou B et qu’il n’y a pas de
voitures dans C et D.
• Le feu E-O est vert quand il n’y a pas de voiture du tout.

On se propose, en utilisant les sorties logiques des capteurs A, B, C et D comme entrées, de


concevoir un système numérique qui commande le feu de circulation. Ce circuit a deux
sorties, E-O et N-S, qui prennent la valeur logique 1 quand le feu doit être vert.

(a) Etablir la table de vérité pour les sorties E-O et N-S.


(b) Dessinez les tableaux de Karnaugh pour les sorties E-O et N-S.
(c) A partir des tableaux de Karnaugh, établissez l’équation logique la plus simple possible
pour chacune des sorties.
(d) Dessinez le schéma logique pour les sorties E-O et N-S avec les entrées A, B, C et D.
(e) Compléter les chronogrammes de la figure 3

E-O

N-S
Figure 3: Chronogramme à compléter

3
TD 2 : Codage

TD 2 : Codage
1. Codage Base 2
Coder en base 2 les nombres décimaux suivants:
• 1024
• 345
• 12

2. Codage Base 16
Coder en base 16 les nombres binaires suivants:
• 100101
• 11110000
• 10101010

3. Codage Base 16
Coder en base 16 les nombres décimaux suivants:
• 10
• 16
• 458

4. Codage DCB
Coder en DCB les nombres :

•5
• 55
• 128
Comparer ces nombres avec leurs homologues codés en binaire standard.

5. Codage ASCII : nombres


Sachant que le code ASCII de 0 vaut 30H coder en ASCII les nombres
• 31
•3
• 458

6. Codage ASCII : lettres


Sachant que le code ASCII de a vaut 61H coder en ASCII les mots
• jour
• nuit
• unité

7. Codage en complément à 2
Coder en complément à deux sur 8 bits les nombres suivants:
• 34
• -23
• -128
•0

4
TD 2 : Codage

8. Doigts vers Binaire (ancien examen)

Lorsque les enfants sélénites, qui n’ont que 4 doigts (le majeur, l’annulaire, l’auriculaire et le
pouce), apprennent à compter sur les doigts, la notion d’ordre n’est pas leur priorité. Cela a
pour conséquence que, pour eux, lever en même temps le majeur et l’annulaire ou bien
l’auriculaire et le pouce produit le même résultat, à savoir ici la représentation du nombre 2.

S’ils lèvent simultanément le pouce, le majeur et l’auriculaire ou bien l’annulaire, le pouce et


le majeur, cela représentera pour eux le même nombre, à savoir 3.

Il vous ait demandé ici de réaliser un circuit qui a en entrée 4 bits représentant les 4 doigts de
la main d’un enfant sélénite et en sortie N bits codant l’information représentée par ces doigts
en base 2. Un bit en entrée du circuit est à 1 lorsque le doigt correspondant est levé, sinon il
est à 0.

(a) Déterminez le nombre N de bits nécessaire en sortie du circuit.


(b) Dressez la (ou les) table(s) de vérité réalisant ce codage.
(c) À l’aide de tableaux de Karnaugh, déterminez les équations booléennes minimales
de toutes les sorties du circuit.
(d) Faites le schéma du circuit.

9. Code binaire naturel et binaire réfléchi (code Gray)

Pour des entiers naturels allant de 0 à 7, représenter sur deux colonnes adjacentes le codage de
ces entiers en binaire naturel (cba) et en binaire réfléchi ou code Gray (gba). Exprimer et
simplifier les variables logiques g, b et a en fonction des variables c, b et a. En déduire une
méthode simple de transcription d’un chiffre codé en binaire naturel en code binaire réfléchi.

Même questions en intervertissant gba et cba.

5
TD 3 : Fonctions combinatoires complexes

TD 3 : Fonctions Logiques Complexes


1. Etude d’un comparateur logique

On veut comparer 2 mots de 4 bits A et B. Si on considère les deux bits de même poids Ai et
Bi, trois solutions sont possibles : soit Ai est plus grand que Bi, soit Ai est plus petit que Bi,
soit ils sont égaux.

(a) Donner l’expression des fonctions logiques Ei, Gi et Pi exprimant respectivement le


fait que Ai = Bi, Ai > Bi et Ai < Bi. On cherchera pour Ei une expression simple.

Le comparateur étudié comporte, outre les 2 mots de 4 bits à comparer, 3 entrées qui résultent
d’une éventuelle comparaison de bits de poids inférieur. Ces entrées sont les suivantes :
– (A < B)in indique que la comparaison des bits de poids inférieur donne A < B
– (A > B)in indique que la comparaison des bits de poids inférieur donne A > B
– (A = B)in indique que tout les bits de poids inférieur sont égaux.
On admettra qu’une seule de ces entrées peut être active.

(b) Exprimer en fonction des fonctions Ei, Gi et Pi définies plus haut, les différentes
possibilités qui imposeront un niveau actif sur la sortie (A > B)out puis sur la sortie
(A < B)out . On pourra considérer les bits de poids le plus fort puis descendre jusqu’aux
bits de poids faible.

(c) Donner l’expression de la sortie (A = B)out .

On désire maintenant étudier la génération de la sortie (A > B)out. La démarche pour réaliser
cette fonction peut s’exprimer de la manière suivante : A est plus grand que B si A n’est pas
plus petit que B et que A n’est pas égal à B.

(d) Donner l’expression de (A > B)out en adoptant cette démarche.

(e) Décrivez en VHDL un composant qui compare 2 mots de 4 bits et qui répond à la
description précédente.

(f) Comment peut on associer 2 circuits de ce type pour comparer 2 mots de 8 bits?

(g) Décrivez en VHDL un composant qui compare 2 mots de 8 bits en utilisant des
comparateurs 4 bits.

6
TD 3 : Fonctions combinatoires complexes

2. Etude d’un décodeur

On souhaite réaliser un décodeur permettant d’associer l’appui sur un bouton à une couleur
affichée sur un écran VGA.
On dispose de 4 boutons (Bouton0, Bouton1, Bouton2, Bouton3) dont les sorties sont à 0 s’ils
sont relevés et à 1 s’ils sont enfoncés.
Lors de l’appui sur un bouton, la couleur associée à ce bouton doit être affichée sur un écran
VGA. Pour ce faire, un vecteur de 3 bits rgb (r pour red, g pour green et b pour blue) est
envoyé à un driver d’écran VGA.
On choisit d’associer : Bouton0  rouge
Bouton1  bleu
Bouton2  vert
Bouton3  jaune
Le tableau 2 donne la correspondance entre la couleur affichée et le code rgb. Le schéma de la
figure 4 représente le système global d’affichage.
RGB Couleur
Bouton0
Bouton1
rgb 000 Noir
décodeur 001 Bleu
Bouton2
Bouton3
010 Vert
3 011 Cyan
100 Rouge
101 Magenta
110 Jaune
111 Blanc
Ecran VGA

Figure 4 : schéma global du Table 2: Codes rgb des 8


système d’affichage couleurs affichables sur l'écran
VGA

2.1 Première solution :


Décrire la table de vérité du décodeur ayant en entrée les 4 signaux des boutons et en sortie le
vecteur rgb. Donner les équations de r, g et b. On suppose que lorsqu’aucun bouton n’est
appuyé, la couleur blanche est codée et que lorsque deux boutons ou plus sont appuyés, la
couleur noire est codée.

2.2 Seconde solution :


Pour réaliser le même système, utiliser un multiplexeur dont la commande SEL est la sortie
d’un codeur prenant en entrée les 4 boutons.
Sur combien de bits doit-on coder SEL ? Quel type de multiplexeur doit-on utiliser (n vers
m) ?
Donner la table de vérité du codeur et les équations de ses sorties. Expliquer le
fonctionnement de ce système.

7
TD 4 : Arithmétique combinatoire

TD 4 : Arithmétique combinatoire
1. Additionneur à Propagation de Retenue

On désire réaliser un montage effectuant l’addition de 2 mots de 4 bits A et B en tenant


compte d’une éventuelle retenue Cin. Le résultat de cette opération est disponible sur S qui est
un mot de 4 bits et sur Cout qui est la retenue de cette addition.

La solution la plus courante consiste à mettre en cascade plusieurs cellules additionneur 1 bit
avec retenue. Les entrées d’une telle cellule sont les 2 bits des mots à additionner Ai et Bi, et
la retenue de l’addition des bits de poids inférieur Ci. Les deux sorties sont la somme de ces
3 bits Si et la retenue Ci+1.

a) Exprimer les fonctions logiques Si et Ci+1 en fonction de Ai, Bi et Ci.


b) Dessiner le schéma complet d’un additionneur 1 bit avec retenue.

On considère qu’une couche logique a un temps d’établissement T entre le moment où ses


entrées sont stables et le moment où sa sortie est valide.

c) Donner le temps de calcul de la somme Si et de la retenue Ci+1.

On cherche maintenant à réaliser un additionneur 4 bis à partir de cellules additionneur 1 bit.

d) Donner le schéma de cet additionneur


e) Quel est alors le temps d’établissement de S0, S1, S2, S3 et C4? Quel serait le temps
d’établissement d’un additionneur de 8 bits basé sur la même architecture? D’un
additionneur 64 bits ?
f) Quel est le principal défaut d’une telle architecture (également appelée additionneur à
propagation de retenue)?

g) Décrivez en VHDL un additionneur 1 bit.


h) Décrivez en VHDL un additionneur 4 bits à propagation de retenue.

2. Optimisation de l’Additionneur à Propagation (Additionneur à Sélection de Retenue)

On considère un additionneur à propagation de retenue sur 8 bits. Cette structure peut être
envisagée comme la juxtaposition de deux blocs additionneurs de 4 bits, reliés par le bit de
retenue C4 (voir figure 1).
A(7:4) B(7:4) A(3:0) B(3:0)

C8 Additionneur C4 Additionneur C0

4 bits 4 bits

S(7:4) S(3:0)
Figure 1 : Additionneur 8 bits non optimisé

8
TD 4 : Arithmétique combinatoire

a) Quelles hypothèses peut-on faire sur la valeur de C4 ?


b) Comment modifier la structure de l’additionneur de la figure 1 pour être
capable de faire simultanément les additions correspondantes à toutes les
valeurs possibles de C4 ?
c) Quel module logique rajouter pour sélectionner le calcul correspondant à la
bonne hypothèse de C4.
d) Sachant que le temps de traversée de ce module est équivalent à 2T, quel est le
temps d’établissement d’un additionneur de 8 bits basé sur cette nouvelle
architecture (également appelée additionneur à sélection de retenue).
e) Conclure sur les avantages et les inconvénients de l’addition à sélection de
retenue par rapport à l’addition à propagation de retenue.

3. Additionneur soustracteur en complément à 2

On désire réaliser un additionneur-soustracteur à l’aide d’un additionneur. Cet additionneur-


soustracteur sera contrôlé par une variable extérieure CD. Si CD = 0, S sera le résultat de A
plus B. Si CD = 1, S sera égal à A moins B.

a) Proposer un montage réalisant le complément à 1 de B commandé par la


variable CD.

b) Après avoir rappelé la différence entre le complément à 1 et le complément à


2, proposer un montage complet d’additionneur-soustracteur commandé par
CD.

4. Multiplieur combinatoire

a) Etablissez la table de vérité d’un multiplieur 1 bit ayant en entrée deux variables a et b
et en sortie une variable p.

b) A l’aide de multiplieurs 1 bit et d’additionneurs 1 bit, réalisez le schéma d’un


multiplieur 3 bits ayant en entrée une variable A et une variable B de 3 bits chacune et
en sortie une variable P de 6 bits. On utilisera ici la technique de propagation de
retenue.

c) Si tp est le temps de propagation d’un multiplieur 1 bit et d’un additionneur 1 bit,


déterminez le temps de calcul d’une multiplication 3 bits avec le multiplieur
précédemment défini.

d) Déterminez le temps de calcul de deux multiplications successives avec ce multiplieur.

9
TD5 et 6 : Bascules D, compteurs et registres

TD5 et 6 : bascules D, compteurs et registres


1. Bascules D.

Clk
D Q
D
Clk Q Q
Q
Figure 5
Dessinez sur la figure 4 le chronogramme correspondant aux sorties Q et Q de la bascule D
représentée par le montage de la même figure.

2. Chenillard.

D1 Q1 D2 Q2

Clk Q1 Clk Q2
H
Figure 6

a) A l’aide des sorties du montage de la figure 6, on veut réaliser les fonctions S1, S2, S3
et S4 telles que :
S1=1 si Q1=Q2=0, S2=1 si Q1=1 et Q2=0,
S3=1 si Q1=Q2=1, S4=1 si Q1=0 et Q2=1
Déterminer les équations logiques des 4 fonctions S. Donner la succession des états de Q1 et
Q2 puis tracer les chronogrammes des Si.
b) On connecte les sorties Si à des LED s’allumant si Si=1 et restant éteintes sinon.
Qu’observe-t-on sur l’ensemble des 4 LED connectées à S1, S2, S3 et S4 lorsque la fréquence
de l’horloge vaut 1 Hz ? Lorsqu’elle vaut 100 Hz ?

3. Registres à décalage.

Un registre à décalage est constitué de N bascules D mises en série de la manière indiquée sur
la figure 7; dans ce cas, le registre comporte 4 bascules, toutes reliées à une horloge commune
H de période T.
On a accès à l’entrée E, à la sortie S et au mot de 4 bit "interne" Q=Q4Q3Q2Q1 (Q4=MSB et
Q1=LSB). A tout instant, l’état du registre est déterminé par la valeur du mot Q ; on passe
d’un état à un état suivant à chaque front montant d’horloge. Par exemple, de Q = 0110, on
passe à 0011 (si E = 0) ou à 1011 (si E = 1).

10
TD5 et 6 : Bascules D, compteurs et registres

Figure 7 : Registre à décalage

a) On part de l’état Q = 1011, et on demande de donner la liste des 5 états suivants dans
les 4 cas indiqués ci-dessous. Compléter les tableaux A, B, C et D ci-dessous. Donner
la valeur décimale VD correspondante à chacun des états obtenus.
i.) lorsque E = 0
ii.) lorsque E = 1
iii.) lorsque E = Q3
iv.) lorsque E = S
b) Au bout de ces 5 états, quelle est la périodicité observée dans les valeurs successives
de Q dans chacun des cas (en régime permanent) ?

11
TD5 et 6 : Bascules D, compteurs et registres

Tableau E : E = Q4 + Q3 + Q2

On part toujours de Q = 1011, mais cette fois-ci on câble avec E = Q4 + Q3 + Q2 .


Faire le schéma logique du montage avec un (ou des) OU à 3 entrées. Donner la série des états
obtenus dans le tableau E.
Montrer qu’au bout d’un certain nombre d’états (combien ?), il ne reste plus qu’un seul "1"
qui "tourne" dans le registre. En régime permanent, quelle est la période de S ?
4. Liaison série RS232 (ancien exercice d’examen)

Les liaisons série permettent la communication entre deux systèmes numériques en limitant le
nombre de fils de transmission.
La liaison série aux normes RS 232 est utilisée dans tous les domaines de l'informatique (ex :
port de communication com1 et com2 des PC, permettant la communication avec des
périphériques tels que modem et souris).
Afin que les éléments communicants puissent se comprendre, il est nécessaire d'établir un
protocole de transmission : les différents bits sont transmis les uns à la suite des autres à
chaque top d’horloge. Les données envoyées sont composées :
• D’un Bit de start : la ligne au repos est à l'état logique 1. Pour indiquer qu'un mot va
être transmis la ligne passe à l'état bas avant de commencer le transfert.
• D’un octet : les 8 bits à envoyés sont ensuite transmis du poids faible au poids fort
• D’un Bit de stop : après la transmission, la ligne est positionnée au repos pendant 1
période d'horloge.
La trame est représentée sur la figure 8.

12
TD5 et 6 : Bascules D, compteurs et registres

horloge

LOAD DLOAD

D Q
Clk

0 LSB MSB 1
Bascule
octet à transmettre élémentaire
utilisée
Figure 8

L’octet à envoyer doit être d’abord chargé en parallèle puis décalé en série pour être transmis.
Pour cela une utilise des bascules D permettant de réaliser un chargement parallèle.

a) La bascule D élémentaire nécessaire à ce composant est une bascule D disposant de


deux entrées supplémentaires : une entrée de chargement synchrone (DLOAD) pilotée
par une autre entrée synchrone LOAD.

Si LOAD est à ‘1’, la sortie prend la valeur de DLOAD au moment du front d’horloge, si
LOAD est à ‘0’, la sortie prend la valeur de D (comme pour la bascule D simple).

Donnez le schéma de cette bascule en utilisant celui d’une bascule D classique puis
donnez sa table de vérité.

b) On utilise à présent les bascules décrites dans le (a) dont le schéma bloc est donné sur
la figure 1. Combien faut-il de bascules pour mémoriser le message complet ?

c) Comment peuvent être reliées les bascules entre elles de manière à garantir le
chronogramme de la figure 1 ? Par quelle opération commence-t-on pour charger
l’octet en mémoire qui doit être transmis ?

d) Sur quelle bascule doit être connectée la sortie du composant ?

e) Dessinez l'état de toutes les bascules à chaque top d'horloge en donnant les valeurs
successives de LOAD et des entrées DLOAD dans le cas où la donnée à transmettre est
« 11000110 ».

Dans le protocole des liaisons séries, on peut ajouter un bit de parité, entre l’octet et le bit de
stop, qui permet de vérifier s’il n’y a pas eu d’erreur de transmission (c'est-à-dire qu’à la
réception un ‘0’ peut avoir été reçu à la place d’un ‘1’ par exemple). Dans le cas de la parité
paire, le bit de parité est tel qu’il y a un nombre pair de bits à l’état ‘1’ dans l’ensemble ‘octet
+ bit de parité’ soit que la somme des bits à l'état ‘1’ est paire. Dans le cas contraire, on peut
conclure qu’il y a eu une erreur de transmission.

f) Imaginez un circuit permettant de mettre le bit de parité à la bonne valeur selon l’octet
à envoyer.

13
TD5 et 6 : Bascules D, compteurs et registres

5. Compteurs synchrones binaires purs par 2n.


On souhaite réaliser un compteur synchrone modulo 8.
a) Combien de bascules D sont nécessaires ?
b) Etablissez la table de vérité de ce compteur.
c) A l’aide de tableaux de Karnaugh, donnez les équations des entrées Di des
différentes bascules.
d) Généralisez ces équations pour réaliser un compteur par 2n.

6. Compteurs synchrones : synthèse.

On souhaite réaliser un compteur synchrone modulo 5.


a) Combien de bascules D sont nécessaires ?
b) Etablissez la table de vérité de ce compteur.
c) A l’aide de tableaux de Karnaugh, donnez les équations des entrées Di des
différentes bascules.
d) Etudiez l’évolution temporelle du compteur si, lors de la mise sous tension, ce
dernier démarre dans les états 6 ou 7.
7. Compteurs synchrones : analyse.

Un compteur est réalisé à partir de 3 bascules D pilotées par la même horloge Clk. Les entrées
Reset asynchrones sont reliées. Les équations des entrées D sont :
D0 = Q1 ⋅ Q0 + Q1 ⋅ Q2 + Q0 Q2
D1 = Q1 ⊕ Q0
D2 = Q1 ⋅ Q0 + (Q1 + Q0 ) ⋅ Q2
Quel est le cycle de comptage ? Quelle particularité présente ce compteur ?

8.Compteurs par 10 synchrones programmables.

On souhaite utiliser un compteur de décade programmable dont la table de vérité est indiquée
ci-dessous. L’entrée Clear est asynchrone et active à 1. L’entrée Mode permet d’incrémenter
ou de décrémenter le compteur. L’entrée Enable permet d’inhiber le compteur (sortie
constante même en présence de fronts d’horloge).
La sortie Max est à 0 et passe à 1 lorsque les sorties indiquent 9 en mode incrémentation ou 0
en mode décrémentation.
Clear Enable Mode
Clear CK Enable Mode Sorties
1 X X X Qi = 0
0 0 X Qin = Qin-1
(mémoire, CK
compteur inhibé))
Max
0 1 1 Incrémentation
0 1 1 Décrémentation
Q3 Q2 Q1 Q0

14
TD5 et 6 : Bascules D, compteurs et registres

a) Comment pourriez-vous réaliser un compteur par 7 (de 0 à 6) en utilisant ce compteur


programmable ?
b) Donnez le schéma d’un compteur modulo 100 (de 0 à 99) en cascadant deux
compteurs programmables.

On ajoute au compteur de décade programmable précédent une entrée Load synchone et 4


entrées P0, P1, P2 et P3. Lorsque Load est à 1, les valeurs des entrées Pi sont chargées sur les
sorties Qi (chargement parallèle). Lorsque Load est à 0, on retrouve le fonctionnement
précédent. La table de vérité est indiquée ci-dessous.

Load P3 P2 P1 P0
Clear CK Load Enable Mode Sorties

1 X X X X Qi = 0 Clear

0 1 X X Qi = P i CK
Chargement // Enable
0 0 0 X Qin = Qin-1
Max
(compteur inhibé)) Mode
0 0 1 1 Incrémentation
Q3 Q2 Q1 Q0
0 0 1 0 Décrémentation

c) A l’aide de ce compteur programmable, réalisez un compteur de 2 à 9.

15
TD7 : Arithmétique pipelinée

TD7 Arithmétique pipelinée


Exercice n°1
On considère le circuit logique ci-dessous:
A B C D

X0 X1 X2

a) Etablir l'expression de la fonction X2.


Chaque porte possède un temps de propagation tp = 4,5μs.
b) Etablir le temps de calcul de la fonction X2, puis de deux fonctions X2 successives,
puis de n fonctions X2 successives.
Le nombre de tâches successives réalisées étant très important on se propose de "pipeliner" ce
montage à l'aide de bascules D synchonisées sur une horloge de période T.
c) Proposer une architecture intégrant ces bascules D.
d) La période T est choisie parmi les valeurs suivantes: 4μs, 4,5μs, 5μs, 8μs et 9μs.
Choisir la période la plus appropriée.
e) Les entrées sont successivement (A0, B0,C0, D0), puis (A1, B1,C1, D1), et ainsi de
suite… Les entrées (A0, B0,C0, D0) sont actives à t < 0; Etablir de t = 0, à t = 5T, où se
trouvent les variables associées à chaque ensemble d'entrées.
f) Quel est le temps de 3 calculs successifs?

Exercice n°2

On considère le circuit logique ci-dessous, où F1, F2, F3, F4 et F5 sont des fonctions
combinatoires dont le temps de propagation est tp. L'entrée est un vecteur X sur 5 bits et la
sortie un vecteur Y sur 5 bits.

Le nombre de tâches successives réalisées étant très important on se propose de "pipeliner" ce


montage à l'aide de bascules D synchronisées sur une horloge de période T.

a) Proposer une architecture optimale. Choisir la période T.


b) Comment modifier le montage si les fonctions F2 et F4 ont un temps de propagation de
2.tp?

16
TD5 et 6 : Bascules D, compteurs et registres

X4 X3 X2 X1 X0

F3 F2 F1

F5 F4

Y4 Y3 Y2 Y1 Y0

Exercice n°3 : Multiplieur Pipeliné

On reprend le multiplieur étudié au TD n°4 qui possède 2 entrées A et B de 3 bits et une sortie
S de 6 bits. On considère que l'additionneur 1 bit et le multiplieur 1 bit ont un temps de
propagation tp identique.

a) Etablir le temps de calcul de d'une puis de deux multiplications successives.


b) Proposer une architecture cadencée sur un signal d'horloge de période T pour
optimiser la durée des calculs, dans le cas où le nombre de calculs est très important.
c) Choisir la valeur de T et établir le temps de calcul d'une puis de deux multiplications
successives.
d) Si tclk est pris proche de tp, estimez l’accélération de ce multiplieur par rapport au
multiplieur simple du TD4.

17
TD8 : CAN et CNA

TD8 CAN et CNA


1. CAN à rampe

On désire convertir une tension continue U0 variant de 0 à U0max, en un mot binaire codé sur
quatre bits. Pour cela, on compare cette tension à une rampe linéaire de tension. Tant que la
rampe reste inférieure à U0, on incrémente régulièrement un compteur tout les T0. Si la rampe
dépasse U0, on arrête alors le comptage. Ceci est réalisé par le schéma de la Figure 9. Un
deuxième compteur de la même capacité que le premier assure le séquencement du montage
total.

Fonctionnement général
a) En quoi ce montage constitue-t-il un convertisseur Analogique - Numérique ?
b) Où se trouve le résultat final ?
c) Identifier sur la figure les différentes parties précitées et expliquer le fonctionnement
de ce convertisseur. On pourra partir d'un temps t = 0, où le condensateur est
déchargé et les compteurs réinitialisés.
d) Déterminer la durée de conversion et le moment où le mot est mémorisé.

Calcul des composants


e) Exprimer X en fonction de H0 et des Qi du compteur A.
f) On considère I0 comme un courant constant. Exprimer V+ en fonction de t, I0, R0, C0
et T0 (période de l’horloge H0) quand l’interrupteur est ouvert (X = 0) et quand il est
fermé (X = 1). Déterminer la valeur maximale de V+. Quelle sera la valeur maximale
de U0 que l'on pourra convertir?
g) En déduire l’expression de C0 en fonction de I0, T0, U0max et du nombre de bits N
pour avoir une résolution optimale. A.N : I0 = 200μA ; T0 = 1ms ; U0max = 5V et le
nombre de bits N = 4 bits.
h) Quel est alors le temps de conversion ?
i) Avec les valeurs des composants établies précédemment, compléter les
chronogrammes de la Figure 10 pour U0 = 3,05V.
j) Quelles valeurs de U0 serot converties avec le même résultat que celui établi en i) ?
k) Ecrire la table donnant la valeur en volt déduite de NC (c’est-à-dire la valeur décodée
de NC lue sur ce voltmètre) en fonction de NC. Quelle est la précision de ce CAN ?
l) Calculer R0 pour avoir une tension en fin de décharge inférieure à 1% du maximum
atteint.

18
TD8 : CAN et CNA

Figure 9: CAN à rampe


+
V

U
t

H0
t

H'0
t

NB
t

NA
t

X
t

Figure 10: Chronogrammes

19
TD8 : CAN et CNA

2. CNA R/2R

On considère le convertisseur numérique analogique de la Figure 11. Ce convertisseur


possède une entrée numérique X codée sur 4 bits X0 X1 X2 X3, où X0 est le LSB (bit de poids
faible) et X3 est le MSB (bit de poids fort). La sortie est une tension analogique Vout. La
tension d'alimentation est E = 5V.

X0.E X1.E X2.E X3.E

2R 2R 2R 2R

R R R
Vout
2R

Figure 11: CNA à résistances R/2R

a) On considère X0 = 1 et X1 = X2 = X3 = 0. En utilisant le théorème de Thévenin,


déterminer l'expression de Vout en fonction de X0 et E. On appliquera le théorème de
Thévenin en modifiant le circuit plusieurs fois de suite.
b) On considère X3 = 1 et X0 = X1 = X2 = 0. En utilisant le théorème de Thévenin,
déterminer l'expression de Vout en fonction de X3 et E.
c) En déduire l'expression de Vout en fonction de X3, X2, X1, X0 et E.
d) Convertir les données suivantes :

X3X2X1X0 0000 0010 0111 1000 1001 1110 1111


Vout

e) Quel est le pas de progression du convertisseur ?

3. Convertisseur à approximations successives

On considère le convertisseur analogique-numérique de la Figure 12. Ce convertisseur


convertit la tension analogique U0 en valeur numérique Y. H0 est un signal d'horloge de
période TH. La donnée Y est codée sur 4 bits Y0 Y1 Y2 Y3; la donnée N est codée sur 4 bits
N0 N1 N2 N3. L'indice 3 correspond au MSB et l'indice 0 au LSB.

20
TD8 : CAN et CNA

Vconv
CNA

Comparateur logique
N
Bascule
- Y
D
+
U0 MSB LSB

Data
Circuit
H0

Figure 12: CAN à approximations successives

Le CNA est le même que celui de la Figure 11. Le niveau logique 1 est E = 5V et le niveau
logique 0 est 0V.
Le circuit travaille avec un cycle de 5TH.
à t = 0, N3 = 1, N2 = N1 = N0 = 0
à t = TH, N3 mémorise Data, N2 = 1, N1 = N0 = 0
à t = 2TH, N3 est conservée, N2 mémorise Data, N1 =1, N0 = 0
à t = 3TH, N3 et N2 sont conservées, N1 mémorise Data, N0 = 1
à t = 4TH, N3, N2 et N1 sont conservées, N0 mémorise Data puis un front actif est envoyé sur
l'entrée horloge de la bascule D
à t = 5TH, on reprend à t = 0
On pose que N3 et Y3 sont respectivement le MSB de N et le MSB de Y.
Le comparateur logique fournit une donnée Data = 1 si V+ > V- et une donnée Data = 0 si
V+ > V- .

Compléter les chronogrammes dans le tableau de la Figure 13. U0 est donnée sur le
diagramme. Pour Vconv il faut préciser la valeur numérique en Volts. On considère le CNA
initialisé: à t = 0 Y = 0 0 0 0.

21
TD8 : CAN et CNA

3,4 V 3V
U0 2V

Valeur de Vconv

1
N3 0

N2

N1

N0

Data

Y3

Y2

Y1

Y0
TH 2TH t

Figure 13

4. Système d’émission-réception
On considère un système d'émission réception de données analogique. Les données sont
transmises sous forme numérique et donc ce système nécessite un CAN et un CNA (étudiés
en 1. et 2.), comme indiqué dans la Figure 14.

Transmission
X3
f(t) g(t)
CAN CNA

X0

Figure 14

On considère la fonction f(t) de la Figure 15. On effectue une prise d'échantillons sur le CAN
tous les Te.
a) Donner la valeur de X à chaque temps t = n.Te. et compléter le tableau de la page
suivante.

On considère que le CNA de la Figure 14 convertit la tension numérique reçue en valeur


analogique g(t). La conversion est considérée pratiquement immédiate (car TH << Te).
b) Dessiner la forme de g(t), sachant que la valeur de g(t) à t = n.Te est conservée
pendant toute la durée de Te.

22
TD8 : CAN et CNA

t/Te 0 1 2 3 4 5 6
f(t)
X3X2X1X0
g(t)

t/Te 7 8 9 10 11 12
f(t)
X3X2X1X0
g(t)

f(t)

7V

6,5V

6V

5,5V

5V

4,5V

4V

3,5V

3V

2,5V

2V

1,5V

1V

0,5V

0V
Te 2Te t

Figure 15

23