Electronique numérique et logique Examen septembre 1998 EEA / LPA

Correction

I

J

K

Q n+1

action synchrone

0

0

Qn

blocage

0

1

0

mise à 0

1

0

1

mise à 1

1

1

/(Qn)

toggle

Les entrées d'une bascule JK commandent l'état futur de la bascule selon 4 possibilités. Les valeurs de J et K sont prises en compte au front d'horloge montant ou descendant selon le type de bascule. la table de vérité est rappelée ci-contre.

Les entrées J et K sont "synchrones" car prises en compte seulement au front d'hologe suivant. Il existe deux autres entrées de la bascule qui entrainent une remise à 0 ou à 1 "asynchrone", respectivement les entrées R et S qui agissent "immédiatement", indépendamment de l'horloge (au temps de transfert près).

• tPLH et tPHL définissent les temps de propagation du signal à travers un circuit logique. Lorsqu'un entrée change, le sortie n'est pas modifiée instantanément, mais après un délai donné par tPLH lorsque la sortie doit passer de 0 à 1 (L->H) et par tPHL dans le cas inverse. Lorsqu'un circuit comporte plusieurs circuits en série les temps de propagation s'aditionnent.

II Pour constituer un compteur 0-7 (quelque soit le type), il faut 3 bascules. Dans un compteur synchone toutes les bascules ont la même horloge (basculent en même temps, d'où son nom) tandis que dans un compteur asynchrone, la sortie de chaque bascule (/Q pour compter) est reliée à l'entrée d'horloge de la bascule suivante et les bascules changent d'état les unes après les autres (de manière asynchrone). Le compteur synchrone demande un peu plus d'étude car il faut prévoir la liste des états décrits, et utiliser quelques circuits supplémentaires pour cabler les entrées D en fonction des sorties Q. Pour un compteur synchrone de 0 à 5, il faut prévoir la liste des états souhaités, tandis que l'on doit cabler un circuit de remise à 0 (qui décode le 6 !) pour remettre le compteur asynchrone à 0. Par contre, s'il est facile de concevoir un compteur synchrone de 3 à 7 (il suffit de faire la liste des états), il est beaucoup plus difficile de concevoir un tel compteur asynchrone.

III La mémoire considérée a 8 sorties de données (format = 1 octet) et 12 entrées d'adresse (212 = 4K). Si on utilise les signaux RAS (Raw Adress Strobe, qui défini la ligne) et CAS (Column Adress Strobe, qui définit la colonne), on rajoute 2 entrées mais on reduit le nombre d'entrées d'adresses de 12 à 6 (concept ligne-colonne) et au total on a gagné 4 entrées. Avec une horloge à 10 Mhz, il faudra 4x1024x0.1µs, soit 409.6µs pour lire toute la mémoire.

Avec les données chargée en mémoire, le bit D0 décrit les valeurs 0100111001, et le bit D3 décrit les valeurs 1100010100. L'échelle de temps qui donne les variations est de 0.1 µs.

IV Dans un signal audio la fréquence maximum présente est de 20Khz, il faut donc prévoir tE<1/40000 = 25 µs. Alors fE=40 KHz = 2.Fmax. Si chaque échantillon est converti sur 16 bits, on peut coder 216 = 65536 valeurs (c'est aussi le signal numérique maximum généré par le système). On obtient 20 log(65536) = 96.3 dB. Le débit minimum nécessaire est 80 Khz (4 Fmax) x 2 octets (16 bits) = 160 Kilo-octets/seconde (débit 1X). Si le rapport signal/bruit annoncé est de 96 dB, cela signifie que la conversion est effectuée sur au moins 16 bits.

V En parité paire, les mots dont la somme des bits est impaire sont en erreur, c'est à dire les mots $1E et $07. Sur 4 bits (ou plus), le ou exclusif de tous les bits fournit le bit de codage dans l'option parité paire. Pour la parité opposée, il faut un inverseur supplémentaire.

Dans le cas du codage de Hamming, en l'absence d'erreur, on obtient, en fonction des données initiales :

E1=(D1xorD2xorD4)xor(D1)xor(D2)xor(D4)=0 (car A xor A = 0, toujours)

E2=(D1xorD3xorD4)xor(D1)xor(D3)xor(D4)=0

E3=(D2xorD3xorD4)xor(D2)xor(D3)xor(D4)=0

Supposons que le bit A5 soit en erreur (0000100 à l'émission et 0000000 à l'arrivée). Alors E1=1, E2=0, E3=1, et E1E2E3=101=5 donne la position du bit en erreur (même si il s'agit d'un bit de contrôle !).

$78=1111000 donne 001 ; il y a erreur sur le bit A1, le nombre corrigé est $38.

$5E=1011110 donne 001 ; erreur sur A1, le nombre corrigé est $1E.

$25=0100101 donne 000 ; pas d'erreur a priori.

$15=0010101 donne 100 ; erreur sur A4, le nombre corrigé est $1D.

Si deux erreurs se produisent en même temps, il n'y a pas de correction possible, mais de tels cas sont beaucoup plus rares.