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
Positionnez les bits pour qu’ils représentent −6 en complément à deux sur 8 bits. Lu comme un nombre non signé, quelle est la valeur U du motif ?
N = −68 bit
U =
2.Systèmes de numérationDifficile
Positionnez les bits sur le résultat sur 8 bits de 1001 0000 >> 1. Quelle est la valeur R du résultat en décimal ?
1001 0000>> 1
R =
3.Logique numérique : portes, tableaux de Karnaugh et basculesMoyen
Utilisez le tableau de Karnaugh pour trouver la forme produit de sommes (POS) minimale de F(A, B, C, D) = Σm(1, 4, 5, 8, 10, 12, 13, 15). Combien de termes somme (facteurs) N a-t-elle ?
F(A, B, C, D) = Σm(1, 4, 5, 8, 10, 12, 13, 15)
N =
4.Logique numérique : portes, tableaux de Karnaugh et basculesDifficile
Un compteur binaire décroissant de 4 bits part de 14 (décimal, Q = 1110). Quelle valeur Q (en décimal) affiche-t-il après 24 impulsions d’horloge ?
Q0 = 1424n = 4
Q =
5.Acquisition de données et échantillonnageMoyen
Un UART envoie des octets à 1200 bauds au format 8N1 : 8 bits de données, sans parité et 1 bit(s) de stop, plus le bit de start. Trouvez le plus grand nombre d’octets de données par seconde qu’il peut transférer.
baud = 1200 Bd8N1
RB = B/s
6.Acquisition de données et échantillonnageDifficile
Un CAN de 12 bits transmet chaque échantillon par un UART à 9600 bauds, au format 8N1 (bit de start, 8 bits de données, 1 bit de stop). Chaque échantillon est envoyé sur 2 octet(s) entier(s) et la liaison est occupée en permanence. Trouvez la plus haute fréquence du signal fmax qui peut être échantillonnée sans repliement, en Hz.
baud = 9600 BdN = 128N1
fmax = Hz
3Solutions
1.Systèmes de numération
Réponse: U = 250
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.
Inverser et ajouter un
6 = 0000 0110
inversé: 1111 1001
+1 → 1111 1010
Le lire en non signé
1111 1010₂ = 256 − 6 = 250
Réponse
U = 250
2.Systèmes de numération
Réponse: R = 72
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
Un décalage à droite de 1 déplace chaque bit de 1 positions vers la droite ; les bits qui sortent à l’extrémité droite sont perdus et des zéros entrent à gauche.
1001 0000 >> 1
= 0100 1000
Valeur du résultat
0100 1000₂ = 72
Réponse
R = 72
3.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.
Regrouper les 0
Chaque groupe est un rectangle de 2ᵏ cases ; les cases de bord sont voisines des cases du bord opposé.
(B′ + C′ + D)
(A + C′)
(A + B + D)
(A′ + B + D′)
Forme POS minimale
F = (B′ + C′ + D)(A + C′)(A + B + D)(A′ + B + D′)
N = 4
Réponse
N = 4
4.Logique numérique : portes, tableaux de Karnaugh et bascules
Réponse: Q = 6
Bascules et compteurs : une bascule ne change qu’au front actif de l’horloge. D copie son entrée (Q⁺ = D) ; T change d’état quand T = 1 ; JK conserve pour 00, remet à 0 pour 01, met à 1 pour 10 et change d’état pour 11. Un compteur binaire de n bits a 2ⁿ états et compte modulo 2ⁿ ; un compteur modulo N va de 0, 1, …, N − 1 puis revient à 0, et exige le plus petit n tel que 2ⁿ ≥ N bascules. Chaque étage d’un compteur asynchrone divise la fréquence par deux, donc la dernière sortie d’un compteur modulo N tourne à fclk/N. Un compteur Johnson de n bascules a 2n états, un compteur en anneau n.
Cycles complets
Toutes les 16 impulsions ramènent le compteur au même état.
24 = 1·16 + 8
Valeur après les impulsions restantes
Q = (14 − 8) mod 16 = 6
Q = 0110₂
Réponse
Q = 6
5.Acquisition de données et échantillonnage
Réponse: RB = 120 B/s
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.
Bits par trame
1 + 8 + 0 + 1 = 10
Débit en octets
1200/10 = 120 B/s
Réponse
RB = 120 B/s
6.Acquisition de données et échantillonnage
Réponse: fmax = 240 Hz
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.