Dans la fenêtre d’impression, choisissez « Enregistrer au format PDF » pour garder une copie sur votre appareil.
1Formules et méthodes
Systèmes de numération
Poids des positions
binaire 2k, octal 8k, hexa 16k
Vers le décimal
Σ dk·bk
Depuis le décimal
diviser par la base, lire les restes de bas en haut
Hexa ↔ binaire
un chiffre hexa = 4 bits
Complément à deux
inverser les bits et ajouter 1
Logique numérique : portes, tableaux de Karnaugh et bascules
Portes de base
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
Règles booléennes
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
De Morgan
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
Ordre du tableau de Karnaugh
00, 01, 11, 10 (Gray code)
Groupe de 2ᵏ cases
perd k variables
Multiplexeur 4 vers 1
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
Bascules
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
Compteurs
n bits : 2ⁿ états ; modulo N : plus petit n tel que 2ⁿ ≥ N ; fout = fclk/N
Compteur asynchrone
fmax = 1/(n·tpd)
Compteurs en anneau et Johnson
n et 2n états
Méthode
Pour un circuit, travaillez des entrées vers la sortie, une porte à la fois, et écrivez la valeur sur chaque fil, ou écrivez son expression et remplissez la table de vérité.
Pour la simplification, placez les 1 (et les états indifférents sous forme de X) dans un tableau de Karnaugh dont les lignes et colonnes suivent le code de Gray : 00, 01, 11, 10.
Couvrez les 1 avec le moins possible de groupes de 1, 2, 4, 8 ou 16 cases, aussi grands que possible, en débordant sur les bords ; chaque groupe est un terme produit formé des variables qui restent constantes. Regroupez les 0 pour la forme POS.
Pour les bascules et les compteurs, lisez les entrées à chaque front d’horloge actif, notez l’état après chaque front, et rappelez-vous qu’un compteur de n bits repasse à zéro après 2ⁿ états.
Acquisition de données et échantillonnage
Critère de Nyquist
fs > 2·fmax, fN = fs/2
Fréquence d’alias
fa = |f − k·fs|, k = round(f/fs)
Pas de quantification
1 LSB = VFSR/2ᴺ
Erreur de quantification (arrondi)
±½ LSB
CAN à troncature
D = ⌊Vin/LSB⌋
Nombre de bits pour une résolution r
2ᴺ ≥ span/r
RSBQ idéal, sinusoïde pleine échelle
SQNR = 6,02·N + 1,76 dB
Débit de données
canaux × fs × N bit/s
CAN multiplexé
fs = 1/(n·(tc + tset))
UART
Tb = 1/baud ; 8N1 = 10 bits par octet ; octets/s = baud/bits par trame
Diviseur de débit en bauds
baud = fclk/(16·D)
Méthode
Notez les données : fréquence d’échantillonnage, fréquences du signal, nombre de bits, plage d’entrée, débit en bauds.
Pour les questions d’échantillonnage, comparez chaque fréquence à fs/2 ; une fréquence plus élevée apparaît à fa = |f − k·fs|, avec le multiple de fs le plus proche.
Pour les questions de résolution, calculez 1 LSB = VFSR/2ᴺ, ou le plus petit N tel que 2ᴺ ≥ étendue/résolution.
Pour les débits et les liaisons UART, comptez tout ce qui est envoyé : canaux, échantillons par seconde, bits ou octets entiers par échantillon, et bits de start, de parité et de stop de chaque trame.
2Exercices
1.Systèmes de numérationMoyen
Le motif de 8 bits 1000 0100 stocke un entier signé en complément à deux. Quelle est sa valeur N en décimal ?
1000 01008 bit
N =
2.Systèmes de numérationDifficile
Positionnez les bits sur le résultat sur 8 bits de 1011 1110 OR 0101 0101. Quelle est la valeur R du résultat en décimal ?
1011 1110OR0101 0101
R =
3.Logique numérique : portes, tableaux de Karnaugh et basculesMoyen
Simplifiez F = B′C + AB′C + A′B′C′ à sa forme somme de produits minimale. Combien de littéraux L contient l’expression simplifiée ?
F = B′C + AB′C + A′B′C′
L =
4.Logique numérique : portes, tableaux de Karnaugh et basculesDifficile
Trouvez la forme SOP minimale de F(A, B, C, D) = Σm(0, 6, 9, 11, 12, 15) + d(4, 14), où d marque les états indifférents. Combien de termes produits N a-t-elle ?
Une sinusoïde de 6,8 kHz est échantillonnée à 8 kHz sans filtre anti-repliement. À quelle fréquence fa apparaît-elle dans les échantillons ? Donnez-la en Hz.
f = 6,8 kHzfs = 8 kHz
fa = Hz
6.Acquisition de données et échantillonnageDifficile
Un microcontrôleur à horloge de 2 MHz règle le débit en bauds de son UART à fclk/(16·D), avec D un entier arrondi à la valeur la plus proche. La cible est 2400 bauds. Trouvez l’erreur en pourcentage du débit réel (positive quand il est trop rapide).
fclk = 2 MHzcible = 2400 Bd
e = %
3Solutions
1.Systèmes de numération
Réponse: N = −124
Systèmes de numération positionnels : chaque chiffre vaut sa valeur multipliée par une puissance de la base. En binaire les positions valent 1, 2, 4, 8, 16, … ; en hexadécimal 1, 16, 256, …, avec A–F pour 10–15. En complément à deux sur 8 bits, le bit de gauche vaut −128 au lieu de +128 : c'est ainsi qu'on stocke les nombres négatifs.
Additionner les poids
Les autres bits gardent leurs valeurs positives habituelles.
−128 + 4 = −124
Réponse
N = −124
2.Systèmes de numération
Réponse: R = 255
Positionner les bits : chaque bit vaut une puissance de deux (128, 64, …, 1). Un chiffre hexadécimal correspond exactement à quatre bits, et en complément à deux sur 8 bits, le bit le plus à gauche vaut −128. Les opérations bit à bit s’appliquent séparément à chaque position de bit.
Bit par bit
OU donne 1 quand au moins un bit vaut 1.
1011 1110
OR 0101 0101
= 1111 1111
Valeur du résultat
1111 1111₂ = 255
Réponse
R = 255
3.Logique numérique : portes, tableaux de Karnaugh et bascules
Réponse: L = 4
Algèbre de Boole : les règles qui simplifient les expressions sont X + X′ = 1 et X·X′ = 0, X + X = X, l’absorption X + X·Y = X, la règle de combinaison X·Y + X·Y′ = X, X + X′Y = X + Y et le théorème du consensus XY + X′Z + YZ = XY + X′Z. Les lois de De Morgan transforment (X·Y)′ en X′ + Y′ et (X + Y)′ en X′·Y′. Un tableau de Karnaugh applique ces règles graphiquement : chaque groupe de deux cases voisines est une utilisation de XY + XY′ = X.
Mintermes de l’expression
B′C → m(1, 5)
AB′C → m(5)
A′B′C′ → m(0)
Regrouper et lire
F = B′C + A′B′
Compter les littéraux
L = 4
Réponse
L = 4
4.Logique numérique : portes, tableaux de Karnaugh et bascules
Réponse: N = 4
Tableaux de Karnaugh : les cases sont ordonnées en code de Gray (00, 01, 11, 10), donc les cases voisines, y compris celles de part et d’autre des bords, diffèrent par exactement une variable. Regroupez les 1 en rectangles de 1, 2, 4, 8 ou 16 cases, aussi grands que possible et en aussi petit nombre que possible, jusqu’à ce que chaque 1 soit couvert. Chaque groupe est un terme produit : les variables qui restent constantes à l’intérieur. Un groupe de 2ᵏ cases perd k variables. Les états indifférents (X) peuvent servir à agrandir les groupes mais n’ont jamais besoin d’être couverts. Regrouper les 0 donne la forme POS minimale.
Implicants premiers
Les plus grands groupes pouvant être formés de 1 et de X.
BD′, A′C′D′, ACD, AB′D, ABC
Couverture minimale
F = BD′ + A′C′D′ + ACD + AB′D
N = 4
Réponse
N = 4
Il existe un autre regroupement de même taille ; il a le même nombre de termes et de littéraux.
5.Acquisition de données et échantillonnage
Réponse: fa = 1200 Hz
Échantillonnage : un CAN mesure le signal fs fois par seconde. D’après le théorème de Nyquist–Shannon, une fréquence f n’est correctement captée que si f < fs/2, la fréquence de Nyquist (de repliement) ; la fréquence d’échantillonnage doit donc dépasser le double de la plus haute fréquence du signal. Une fréquence plus élevée n’est pas perdue : elle apparaît comme un alias à fa = |f − k·fs|, avec l’entier k qui ramène le résultat entre 0 et fs/2. Les échantillons ne permettent pas de distinguer les deux, donc un filtre anti-repliement analogique doit supprimer tout ce qui dépasse fs/2 avant le CAN.
Fréquence de Nyquist
fs/2 = 4 kHz < f = 6,8 kHz
Multiple le plus proche de la fréquence d’échantillonnage
k = round(6800/8000) = 1
Fréquence d’alias
fa = |6800 − 1·8000| = 1200 Hz
Réponse
fa = 1200 Hz
La courbe en pointillés sur la figure est l’alias : elle passe exactement par les mêmes échantillons.
6.Acquisition de données et échantillonnage
Réponse: e = 0,1603 %
UART : une liaison série asynchrone envoie chaque octet sous forme de trame : un bit de start (bas), les bits de données, un bit de parité facultatif et un ou deux bits de stop (haut). Le débit en bauds est le nombre de bits par seconde, donc un bit dure Tb = 1/baud et une trame de n bits dure n/baud. Le format courant 8N1 compte 10 bits par octet. Le générateur de bauds divise l’horloge : baud = fclk/(16·D) avec un entier D, donc le débit réel diffère légèrement de la cible ; une erreur inférieure à 2 % environ est généralement acceptable.
Diviseur
D = 2·10⁶/(16·2400) = 52,08 → 52
Débit réel en bauds
2·10⁶/(16·52) = 2404 Bd
Erreur
(2404 − 2400)/2400·100 = 0,1603 %
Réponse
e = 0,1603 %
Une erreur inférieure à environ 2 % est généralement acceptable.