registre de deplasare, circuite iterative 1.1 Numrtoare Denumirea numrtor este utilizat, n general, pentru orice circuit secvenial sincron a crui diagram de stri conine un singur ciclu, ca aceea din fig. 7-1. Numrul de stri din ciclul unui numrtor se numete modulo. Un numrtor cu m stri este numit adesea numrtor modulo m sau, uneori, numrtor divizor cu m. Un numrtor modulo un numr diferit de puterile lui 2 prezint stri suplimentare care nu sunt folosite n funcionare normal.
Figura 1-1 Structura general a diagramei de stri a unui numrtor un singur ciclu Tipul de numrtor cel mai mult utilizat este, probabil, numrtorul binar de n bii. Un astfel de numrtor are n CBB i 2 n stri, care sunt parcurse n ordinea 0, 1, 2,..., 2 n -l, 0, 1, ... . Codul fiecrei stri corespunde ntregului binar respectiv, de n bii. 1.1.1 Numrtoare pieptene Un numrtor binar de n bii se poate construi cu doar n CBB i nici un fel de alte componente, pentru orice valoare n. n fig. 7-2 este prezentat un asemenea numrtor cu n=4. Un CBB de tip T i schimb starea (basculeaz) pe fiecare front ascendent al semnalului de tact de la intrarea sa. Deci fiecare bit al numrtorului trece n valoarea opus dac i numai dac bitul imediat precedent trece din 1 n 0. Aceasta corespunde succesiunii normale de numrare n binar, trecerea unui anumit bit din 1 n 0 genernd un transport ctre urmtorul bit mai semnificativ. Numrtorul se numete numrtor pieptene deoarece informaia de transport unduiete de la biii cei mai puin semnificativi ctre biii mai semnificativi, cte un bit o dat.
Figura 1-2 Numrtor binar pieptene de 4 bii 1.1.2 Numrtoare sincrone La un numrtor pieptene sunt necesare mai puine componente dect la orice alt tip de numrtor binar, ns preul pltit pentru aceasta este viteza mai sczut dect a oricrui alt tip de numrtor binar. n cazul cel mai defavorabil, cnd bitul cel mai semnificativ este cel ce trebuie s se modifice, ieirea nu devine valid dect dup un timp n t TQ dup apariia frontului ascendent al semnalului CLK, unde t TQ este timpul de propagare de la intrarea la ieirea unui CBB de tip T. La un numrtor sincron, intrrile de tact ale tuturor CBB sunt conectate la acelai semnal CLK, astfel c ieirile tuturor CBB se modific simultan, dup un interval de timp de numai t TQ ns. Aa cum se vede n fig. 7-3, n acest scop este necesar utilizarea unor CBB de tip T cu intrri de activare; ieirea basculeaz pe frontul ascendent al semnalului T dac i
numai dac EN este confirmat. Schema logic combinaional de la intrrile EN impune care dintre CBB basculeaz pe fiecare front ascendent al lui T. Aa cum arat fig. 7-3, se poate prevedea i un semnal de control al activrii, CNTEN. Fiecare CBB de tip T basculeaz dac i numai dac semnalul CNTEN este confirmat i toi biii de ordine inferioare ai numrtorului sunt 1. Ca i n cazul numrtorului binar pieptene, un numrtor binar sincron de n bii se poate construi folosind o anumit schem logic pentru
fiecare bit, n cazul de fa - un CBB de tip T cu intrare de activare i o poart AND cu dou intrri.
Figura 1-3 Numrtor sincron binar de 4 bii cu circuit logic de activare serie Structura de numrtor din fig. 7-3 este denumit uneori numrtor sincron serie, deoarece semnalele combinaionale de activare se propag serial de la biii cei mai puin semnificativi ctre cei mai semnificativi. Dac perioada de tact este prea scurt, este posibil ca timpul de propagare de la LSB la MSB ai numrtorului s nu fie suficient. Problema aceasta este eliminat n fig. 7-4 prin comandarea fiecrei intrri EN cu o poart AND folosit numai n acest scop, rezultnd o schem logic cu un singur nivel. Am obinut astfel un numrtor sincron paralel - cea mai rapid structur de numrtor binar.
Figura 1-4 Numrtor sincron binar de 4 bii cu circuit logic de activare paralel 1.1.3 Numrtoare MSI i aplicaii ale lor Cel mai utilizat numrtor MSI este 74x163, un numrtor binar sincron de 4 bii, cu intrri de ncrcare i de tergere active n LOW, avnd simbolul logic tradiional din fig. 7-5. Funcionarea sa este sistematizat n tabelul de stri din tabelul 7-1, iar schema sa logic intern este cea din fig. 7-6.
Figura 1-5 Simbolul logic tradiional al numrtorului 74x163 n interiorul unui 163, CBB utilizate sunt de tip D, nu T, pentru ca funciile de ncrcare i
de tergere s se realizeze mai uor. Fiecare intrare D este comandat de un multiplexor cu dou intrri, format dintr-o poart OR i dou pori AND. Ieirea multiplexorului este 0 dac semnalul de intrare CLR_L este confirmat. n caz contrar, poarta AND din partea de sus las s treac sem- nalul de date de intrare (A, B, C sau D) ctre ieire, dac este confirmat semnalul de intrare LD_L. Dac nici unul dintre semnalele CLR_L i
LD_L nu este confirmat, poarta AND din partea de jos transmite la ieirea multiplexorului semnalul de la ieirea unei pori XNOR. La 163, funcia de numrare este realizat de porile XNOR. Una dintre intrrile unei pori XNOR corespunde bitului numrat (QA, QB, OC sau QD); cealalt intrare este 1, complementnd bitul numrat dac i numai dac ambele semnale de activare, ENP i
ENT, sunt confirmate, iar toi biii de numrare de ordine inferioare sunt 1. Semnalul RCO (ripple carry out - transport pieptene ctre exterior) indic un transport din poziia bitului celui mai semnificativ i este 1 cnd toi biii de numrare sunt 1, iar ENT este confirmat. Dei majoritatea numrtoarelor MSI sunt prevzute cu intrri de activare, ele se utilizeaz frecvent n mod asincron, caz n care sunt activate continuu. n fig. 7-7 se arat conexiunile necesare pentru ca un 163 s funcioneze n acest mod, iar n fig. 7-8 se vd formele de und obinute. Observai c, ncepnd cu QA, frecvena fiecrui semnal este egal cu jumtate din frecvena semnalului precedent. Astfel, un 163 asincron poate fi folosit ca numrtor divizor cu 2, cu 4, cu 8 i cu 16, dac se ignor n mod adecvat biii de ieire de ordine superioar.
Tabel 1-1 Tabelul de stri pentru un numrtor binar de 4 bii 74x163
Circuitul 163 este integral sincron; cu alte cuvinte, ieirile lui se modific numai pe frontul ascendent al semnalului CLK. n unele aplicaii este necesar o funcie de tergere asincron, aa cum este prevzut la 74x161. 161 are aceeai repartizare a semnalelor la pini ca i 163, dar intrarea sa CLR_L este conectat la intrrile asincrone de tergere ale CBB din interior.
Figura 1-6 Schema logic a numrtorului binar sincron de 4 bii 74x163, inclusiv numerotarea pinilor la capsula standard dual in line cu 16 pini
Figura 1-7 Conexiuni la un 74x163 pentru funcionare n mod asincron
Figura 1-8 Formele de und de tact i de ieire la un numrtor asincron divizor cu 16 74x160 i
74x162 sunt alte variante, cu aceeai repartizare a semnalelor la pini i aceleai funcii generale ca i
161 i 163, ns succesiunea de numrare este modificat astfel nct s se treac n starea 0 dup starea 9. Prin urmare, aceste numrtoare sunt modulo 10, fiind denumite uneori numrtoare decadice. n fig. 7-9 sunt prezentate formele de und de ieire la un 160 sau 162 asincron. Dei semnalele de ieire QD i QC au frecvena egal cu o zecime din cea a semnalului CLK, factorul lor de comand nu este de 50%, iar semnalul QC, cu frecvena egal cu o cincime din cea de intrare, nu are factorul de comand constant.
Figura 1-9 Formele de und de tact i de ieire la un numrtor asincron divizor cu 10 Cu toate c 163 este un numrtor modulo 16, el poate fi conectat astfel nct s funcioneze ca numrtor modulo un numr mai mic ca 16 folosindu-se semnalele de intrare CLR_L sau LD_L pentru a scurta succesiunea de numrare normal. Ca exemplu, n fig. 7-10 se prezint o modalitate de utilizare a unui 163 ca numrtor modulo 11. Ieirea RCO, care sesizeaz starea 15, este folosit pentru a impune starea urmtoare 5, deci circuitul va numra de la 5 la 15 i
apoi va rencepe s numere de la 5, numrul total al strilor dintr-un ciclu de numrare fiind 11.
Figura 1-10 Utilizarea unui 74x163 ca numrtor modulo 11, cu succesiunea de numrare 5, 6, , 15, 5, 6, . Un alt mod de numrare modulo 11 cu un 163 este cel din fig. 7-11. Acest circuit folosete o poart NAND pentru a sesiza starea 10, impunnd 0 ca stare urmtoare. Remarcai c pentru sesizarea strii 10 (1010 n binar) se folosete o singur poart cu dou intrri. Dei, n mod normal, pentru sesizarea condiiei CNT10 = 03 02' 01 00' ar trebui utilizat o poart cu 4 intrri, cea cu dou intrri se folosete de faptul c, n succesiunea normal de numrare
de la 0 la 10, nici o alt stare nu are Q3 = 1 i
Q1 = 1. n general, pentru a sesiza starea N a unui numrtor binar ce numr de la 0 la N, trebuie s combinm prin AND numai biii de stare care au valoarea 1 n codarea lui N n binar.
Figura 1-11 Utilizarea unui 74x163 ca numrtor modulo 11, cu succesiunea de numrare 0, 1, 2, , 10, 0, 1, . Exist i
alte modaliti de a construi un numrtor modulo 11 cu 163. Alegerea schemei - una dintre cele prezentate sau o combinaie a lor - depinde de cerinele aplicaiei. Un numrtor binar modulo un numr mai mare ca 16 se construiete prin conectarea n cascad a mai multor 74x163. n fig. 7-12 sunt prezentate conexiunile generale ale unui asemenea numrtor. Intrrile CLK, CLR_L i
LD_L ale tuturor dispozitivelor 163 sunt conectate n paralel, astfel c toate numr sau se terg sau se ncarc simultan. Un semnal de control al activrii numrrii (CNTEN) este conectat la dispozitivul 163 de ordin inferior. Ieirea RCO4 se confirm dac i
numai dac dispozitivul 163 de ordin inferior este n starea 15 i CNTEN este confirmat; RCO4 este conectat la intrrile de activare ale dispozitivului 163 de ordin superior. n acest mod, att informaiile de transport, ct i semnalul de control al activrii numrrii sunt conectate n stil pieptene ntre ieirea unui etaj de numrare de 4 bii i etajul urmtor. Ca i la numrtorul serial sincron din fig. 7-3, schema de fa poate fi extins astfel nct s se construiasc numrtoare cu orice numr de bii; viteza maxim de numrare este limitat de timpul de propagare al semnalului de transport pieptene prin toate etajele.
Figura 1-12 Conectarea general n cascad a mai multor numrtoare 74x163 1.2 Registre de deplasare 1.2.1 Structura unui registru de deplasare Un registru de deplasare este un registru de n bii cu posibilitatea de deplasare a datelor stocate n el cu cte o poziie de un bit la fiecare impuls de tact. n fig. 7-13 este prezentat structura unui registru de deplasare cu intrare i
ieire seriale. Intrarea serie, SERIN, indic un nou bit ce urmeaz a fi deplasat ctre o extremitate la fiecare impuls de tact. Acest bit apare la ieirea serie, SEROUT, dup n impulsuri de tact, iar la impulsul de tact n + 1 se pierde. Deci un registru de deplasare de n bii, cu intrare i
ieire seriale poate fi folosit pentru a ntrzia un semnal cu n impulsuri de tact. Un registru de deplasare serie-paralel, prezentat n fig. 7-14, are ieiri pentru toi biii stocai, care pot fi preluai de alte circuite. Un astfel de registru de deplasare poate fi folosit la efectuarea conversiei serie-paralel.
Figura 1-13 Structura unui registru de deplasare serie-serie
Figura 1-14 Structura unui registru de deplasare serie-paralel Invers, este posibil s construim un registru de deplasare paralel-serie. n fig. 8-48(15) vedei structura general a unui asemenea dispozitiv. La fiecare impuls de tact, registrul fie ncarc date noi de la intrrile 1 D ... ND, fie i deplaseaz coninutul curent, n funcie de valoarea de la intrarea de comand LOAD/SHIFT (pe care o putem numi LOAD sau SHIFT_L). n interior, dispozitivul folosete un multiplexor cu dou intrri, conectat la intrarea D a fiecrui CBB, pentru a selecta unul dintre cele dou cazuri. Un registru de deplasare paralel-serie poate utilizat la efectuarea conversiei paralel-serie.
Figura 1-15 Structura unui registru de deplasare paralel-serie Dac prevedem ieiri pentru toi biii stocai de un registru de deplasare cu intrare paralel, obinem un registru de deplasare paralel-paralel, ca acela din fig. 7-16. Un asemenea dispozitiv este destul de general pentru a fi utilizat n oricare dintre aplicaiile registrelor de deplasare descrise mai sus.
Figura 1-16 Structura unui registru de deplasare paralel-paralel
1.2.2 Registre de deplasare MSI Figura 7-17 prezint simbolurile logice a trei registre de deplasare MSI de 8 bii, larg utilizate. 74x164 este un dispozitiv serie-paralel cu o intrare asincron de tergere (CLR_ L). El are dou intrri seriale, combinate n interior prin AND. Aceasta nseamn c att SERA, ct i SERB trebuie sa fie 1 pentru ca n primul bit al registrului s se introduc un 1. 74x166 este un registru de deplasare paralel-serie ce are, de asemenea, o intrare asincron de tergere. El efectueaz deplasarea cnd SH/LD este 1, iar n caz contrar ncarc date noi. 166 are un circuit de tact mai puin ntlnit, numit circuit de tact cu pori; el are dou intrri de tact, conectate la CBB din interior ca n fig. 7-17 (c). Proiectanii dispozitivului 166 au dorit ca intrarea CLK s fie conectat la un semnal de tact asincron, iar CLKINH s fie confirmat cnd se dorete blocarea semnalului CLK, astfel ca la impulsul de tact urmtor s nu aib loc nici deplasare, nici ncrcare, iar coninutul curent al registrului s se pstreze. ns, pentru ca dispozitivul s funcioneze n modul descris, trebuie ca semnalul CLKINH s se modifice numai cnd CLK este 1; n caz contrar, la CBB din interior apar fronturi nedorite ale semnalului de tact. O modalitate mai sigur de a obine o funcie de meninere se ntlnete la dispozitivele prezentate n continuare. 74x194 este un registru de deplasare MSI de 4 bii, bidirecional, paralel- paralel. Schema sa logic apare n fig. 7-18. Registrele de deplasare studiate anterior sunt numite registre de deplasare unidirecionale, deoarece efectueaz deplasarea ntr-un singur sens. 194 este un registru de deplasare bidirecional, deoarece coninutul su poate fi deplasat n oricare dintre cele dou sensuri, n funcie de o intrare de comand. Cele dou sensuri sunt denumite la stnga i la dreapta, dar nu este obligatoriu ca schema logic i
simbolul logic s fie reprezentate orientate n acest mod. La un 194, la stnga nseamn n sensul dinspre QD spre QA, iar la dreapta nseamn n sensul dinspre QA spre QD. Schema logic i simbolul dispozitivului 194 prezentate aici se conformeaz denumirilor dac le rotii cu 90 n sensul acelor de ceasornic.
Figura 1-17 Simbolurile logice tradiionale ale unor registre de deplasare MSI: (a) registrul de deplasare de 8 bii, serie-paralel, 74x164; (b) registru de deplasare de 8 bii, paralel-serie, 74x166; (c) circuitul echivalent pentru intrrile de tact ale dispozitivului 74x166; (d) registrul de deplasare universal 74x194 Tabelul 7-2 este tabelul funciilor dispozitivului 74x194. Este un tabel foarte comprimat, deoarece nu apar coloanele aferente majoritii intrrilor (A ... D, RIN, LIN) sau strilor curente QA ... QD. Totui, datorit faptului c valoarea din fiecare stare urmtoare este exprimat ca funcie de aceste variabile implicite, tabelul definete complet funcionarea dispozitivului 194 pentru toate cele 2 12 combinaii posibile stare curent-intrare i, cu siguran, este preferabil unui tabel cu 4096 de rnduri!
Tabel 1-2 Tabelul funciilor pentru registrul de deplasare universal 74x194
Figura 1-18 Schema logic a registrului de deplasare universal de 4 bii 74x194, inclusiv numerotarea pinilor la capsula standard dual in line cu 16 pini Observai c intrarea LIN (left-in - intrare-stnga) a dispozitivului 194 este localizat, prin proiect, n partea dinspre dreapta a cipului, dar este intrarea serial pentru deplasare la stnga. Analog, RIN este intrarea serial pentru deplasare la dreapta. 194 este denumit uneori registru de deplasare universal, deoarece poate fi fcut s funcioneze ca oricare dintre tipurile de registre de deplasare prezentate anterior (de ex.: unidirecional, serie-paralel, paralel-serie).
Figura 1-19 Simbolul logic tradiional pentru 74x299 74x299 este un registru de deplasare universal de 8 bii, prezentat n capsule cu 20 de pini; simbolul i
schema lui logic apar n fig. 7-19 i 7-20. Funciile i tabelul de funcii aferente unui 299 sunt similare celor ale unui 194, dup cum se vede n tabelul 7-3. Pentru a face economie de pini, 299 utilizeaz, pentru intrare i
ieire, linii bidirecionale cu trei stri, cum se observ n schema logic. n timpul operaiilor de ncrcare (S1 SO = 11), circuitele de comand ale liniei cu trei stri sunt dezactivate, iar datele se ncarc prin pinii AQA ... HQH. n alte momente, prin aceiai pini se transmit biii stocai, dac G1_L i
G 2_L sunt confirmate. Biii stocai la extremitile din dreapta i din stnga sunt permanent accesibili la pinii separai, exclusiv de ieire, QA i
QH.
Tabel 1-3 Tabelul funciilor pentru registrul de deplasare universal de 8 bii 74x299
Figura 1-20 Schema logic a registrului de deplasare universal de 8 bii 74x299, inclusiv numerotarea pinilor la capsula standard dual in line cu 20 de pini 1.2.3 Cea mai mare aplicaie cu registre de deplasare din lume Aplicaia cea mai rspndit a registrelor de deplasare este conversia datelor din format paralel n format serial, n vederea transmiterii sau a stocrii lor, precum i
readucerea prin conversie a datelor seriale n formatul paralel, n scopul prelucrrii sau al afirii lor. Exemplul cel mai frecvent ntlnit de transmisie de date seriale, cu care avei de-a face zilnic, este telefonia digital. Ani de-a rndul, companiile de telefonie au instalat echipamente digitale de comutaie n centralele telefonice. Majoritatea aparatelor telefonice din locuine sunt conectate analogic, printr-un cablu bifilar, la centrala telefonic. Apoi, la intrarea n centrala telefonic, un convertor analogic-digital eantioneaz semnalul digital de voce de 8000 de ori pe secund (o dat la 125 s) i
produce o succesiune corespunztoare de 8000 de octei, care reprezint semnul i amplitudinea semnalului analogic n fiecare punct explorat. n continuare, vocea dumneavoastr se transmite digital, prin canale seriale cu viteza de 64 Kbps, n ntreaga reea de telefonie, pan cnd este convertit din nou n semnal analogic de un convertor digital-analogic din centrala telefonic de care aparine postul apelat. Limea de band de 64 Kbps, necesar unui singur semnal digital de voce, este mult mai mic dect cea care se poate obine pe o singur linie de semnal digital sau pe una cu comutare prin CI digitale. De aceea, majoritatea echipamentelor telefonice digitale multiplexeaz mai multe canale de 64 Kbps pe un singur cablu, economisind att cabluri, ct i CI digitale pentru comutaie. 1.2.4 Numrtoare cu registru de deplasare Obiectul conversiei serie-paralel l constituie datele, ns registrele de deplasare pot prelucra la fel de bine i informaii de alt natur. Unui registru de deplasare i se poate aduga un circuit logic combinaional, obinndu-se un automat de stri cu diagrama de stri ciclic. Un asemenea circuit este denumit numrtor cu registru de deplasare. Spre deosebire de numrtoarele binare, numrtoarele cu registru de deplasare nu numr ntr-o succesiune binar ascendent sau descendent, fiind totui utile n numeroase aplicaii de comand. 1.3 Numrtoare n inel Cel mai simplu numrtor cu registru de deplasare utilizeaz un registru de deplasare de n bii pentru a obine un numrtor cu n stri, numit numrtor n inel. n fig. 7-21 apare schema logic a unui numrtor n inel de 4 bii. Registrul de deplasare universal 74x194 este cablat astfel nct n mod normal s efectueze deplasarea ctre stnga. ns, atunci cnd semnalul RESET este confirmat, se ncarc 0001 (consultai tabelul de funcii al dispozitivului 194 - tabelul 7-2). Cnd semnalul RESET este negat, 194 efectueaz o deplasare spre stnga la fiecare impuls de tact. Intrarea serie LIN este conectat la ieirea din extremitatea stng, astfel c strile urmtoare sunt 0010, 0100, 1000, 0001, 0010, .... Deci numrtorul parcurge patru stri unic determinate, nainte de a relua ciclul. Diagrama temporal este cea din fig. 7-22. n general, un numrtor n inel de n bii trece, ntr-un ciclu, prin n stri. La numrtorul n inel din fig. 7-21 apare o problem important: fiabilitatea. Dac singurul bit de ieire 1 se pierde din cauza unei disfuncii temporare de echipament (de ex., din cauza zgomotului), numrtorul trece n
starea 0000 i rmne acolo o venicie. De asemenea, dac apare un 1 suplimentar (de ex., dac se creeaz starea 0101), numrtorul intr ntr-un ciclu de stri eronat i se menine n el la infinit. Aceste probleme sunt destul de evidente cnd desenm diagrama de stri complet a circuitului de numrare, care are 16 stri. Aa cum vedei n fig. 7-23, exist 12 stri ce nu fac parte din ciclul de numrare normal. Dac, dintr-o anumit cauz, numrtorul prsete ciclul normal de numrare, nu mai revine la acesta.
Figura 1-21 Cea mai simpl schem de numrtor n inel de 4 bii, cu 4 stri i un singur 1 transmis
Figura 1-22 Diagrama temporal aferent unui numrtor n inel de 4 bii
Figura 1-23 Diagram de stri aferent unui numrtor simplu n inel Un numrtor cu auto-corecie este conceput astfel nct tranziiile din toate strile anormale s conduc la stri normale. n fig. 7-24 este prezentat un numrtor n inel cu auto-corecie. Circuitul utilizeaz o poart NOR pentru a introduce un 1 la LIN numai cnd ultimii trei bii (cei mai puin semnificativi) sunt 0. Ca urmare, se obine diagrama de stri din fig. 7-25; din toate strile anormale se revine n ciclul normal. Remarcai c la acest circuit nu apare necesitatea unui semnal RESET explicit. Indiferent de starea iniial a registrului de deplasare la conectarea tensiunii de alimentare, dup patru impulsuri de tact se ajunge n starea 0001. Deci un semnal explicit de reiniializare este necesar numai dac se dorete ca numrtorul s porneasc simultan cu alte dispozitive din acelai sistem sau s fie prevzut cu o stare de pornire cunoscut, n vederea simulrii.
Figura 1-24 Numrtor n inel de 4 bii, cu 4 stri i un singur 1 transmis, cu auto-corecie
n general, la un numrtor n inel de n bii, cu auto-corecie se folosete o poart NOR cu n - 1 intrri, iar dintr-o stare anormal se iese dup n - 1 impulsuri de tact. n cazul familiilor de circuite logice CMOS i
TTL, n general, porile NAND de dimensiuni mari se realizeaz mai uor dect porile NOR, deci este mai convenabil s se proiecteze numrtoarele n inel cu auto-corecie ca n fig. 7-26. ntre strile ciclului normal al unui asemenea numrtor se transmite un singur 0. Principalul avantaj al numrtoarelor n inel, n aplicaii de comand, este faptul c strile lor apar n forma decodat 1 din n direct la ieirile CBB. Cu alte cuvinte, n fiecare stare este confirmat o singur ieire de CBB.
Figura 1-25 Diagram de stri aferent unui numrtor n inel cu auto-corecie
Figura 1-26 Numrtor n inel de 4 bii, cu 4 stri i un singur 0 transmis, cu auto-corecie 1.4 Numrtoare Johnson Un registru de deplasare de n bii, cu complementul ieirii serie adus napoi la intrarea serie constitute un numrtor cu 2n stri cunoscut ca numrtor n inel rsucit, Moebius sau Johnson. n fig. 7-27 se prezint circuitul de baz al unui numrtor Johnson, iar n fig. 7-28, diagrama temporal aferent lui. Strile normale ale acestui numrtor apar n lista din tabelul 7-4. Dac att ieirile directe, ct i
cele complementare ale fiecrui CBB sunt accesibile, fiecare stare normal a numrtorului poate fi decodat cu o poart AND sau NAND cu dou intrri, cum se arat n tabel.
Figura 1-27 Numrtor Johnson de baz, de 8 bii, cu 8 stri
Figura 1-28 Diagram temporal aferent unui numrtor Johnson de 4 bii
Tabel 1-4 Strile unui numrtor Johnson de 4 bii
Un numrtor Johnson de n bii are 2 n - 2n stri anormale, prezentnd deci aceleai probleme de fiabilitate ca i numrtorul n inel. Se poate proiecta un numrtor Johnson cu autocorecie, de 4 bii, ca n fig. 7-29. Acest circuit ncarc starea 0001 ca stare urmtoare ori de cte ori starea curent este 0xx0. Un circuit asemntor, cu o singur poart NOR cu dou intrri, poate efectua corecia corespunztoare pentru un numrtor Johnson cu orice numr de bii. Circuitul de corecie trebuie s ncarce starea 00...01 ca stare urmtoare ori de cte ori starea curent este 0x ...x0.
Figura 1-29 Numrtor Johnson de 4 bii, cu 8 stri, cu auto-corecie 1.5 Numrtoare cu registru de deplasare i reacie liniar Numrtoarele cu registru de deplasare de n bii pe care le-am prezentat pn acum au mult mai puine stri normale dect numrul maxim, de 2 n . Un numrtor cu registru de deplasare i reacie liniar (LFSR - Linear Feedback Shift-Register) de n bii poate avea 2 n 1 stri, adic aproape numrul maxim. Un asemenea numrtor este numit adesea generator de secvene de lungime maxim. Principiul numrtoarelor LFSR se bazeaz pe teoria cmpurilor finite, care a fost elaborat de matematicianul francez Evariste Galois (1811-1832) cu puin nainte de a fi ucis ntr-un duel cu un adversar politic. Funcionarea unui numrtor LFSR corespunde operaiilor ntr-un cmp finit cu 2 n elemente. Figura 7-30 prezint structura unui numrtor LFSR de n bii. Intrarea serie a registrului de deplasare este conectat la suma modulo 2 a unor anumii bii de ieire. Aceste conexiuni de reacie determin succesiunea strilor numrtorului. Prin convenie, ieirile sunt ntotdeauna numerotate i deplasate n sensul indicat.
Figura 1-30 Structura general a unui numrtor cu registru de deplasare i reacie liniar Folosind teoria cmpurilor finite, se poate arta c pentru orice valoare n exist cel puin o ecuaie de reacie ce determin parcurgerea de ctre numrtor a tuturor celor 2 n - 1 stri diferite de zero, nainte de reluarea ciclului. Aceasta se numete secven de lungime maxim. n tabelul 7-5 se gsesc ecuaiile de reacie din care rezult secvenele de lungime maxim corespunztoare valorilor n alese. Pentru orice valoare n mai mare ca 3 exist mai multe ecuaii de reacie diferite, ce genereaz secvene de lungime maxim.
Un numrtor LFSR realizat conform fig. 7-30 nu va putea parcurge niciodat toate cele 2 n stri posibile. Indiferent de schema de conectare, starea urmtoare strii ce conine numai zerouri este aceeai, adic numai zerouri.
Tabel 1-5 Ecuaii de reacie pentru numrtoare cu registru de deplasare i reacie liniar
Schema logic a numrtorului LFSR de 3 bii este dat n fig. 7-31. Succesiunea strilor acestui numrtor apare n primele trei coloane ale tabelului 7-6. Pornind din orice stare diferit de zero, n cazul din tabel 100, numrtorul trece prin apte stri nainte de a ajunge din nou n starea de pornire. Un numrtor LFSR se poate modifica astfel nct s aib 2 n stri prin adugarea strii ce conine exclusiv zerouri, aa cum se pune n eviden prin haurare la numrtorul de 3 bii din fig. 7-31. Succesiunea de stri obinut este cea din ultimele trei coloane ale tabelului 7-6. La un numrtor LFSR de n bii se poate obine aceeai comportare adugndu-se o poart XOR i una NOR cu n-1 intrri conectate la toate ieirile registrului de deplasare, cu excepia ieirii X0.
Tabel 1-6 Succesiunea strilor la numrtorul LFSR de 3 bii din fig. 7-31
Figura 1-31 Numrtor LFSR de 3 bii; componentele haurate constituie modificrile necesare pentru adugarea strii ce conine exclusiv zerouri La un numrtor LFSR, strile nu sunt parcurse n ordinea de numrare din binar. Dar aceste numrtoare se utilizeaz n aplicaii pentru care o astfel de caracteristic este avantajoas. Una dintre principalele aplicaii ale numrtoarelor LFSR este generarea semnalelor de intrare pentru testarea circuitelor logice. n majoritatea cazurilor, cu o secven de numrare pseudo- aleatorie, generat de un numrtor LFSR, ansele de a depista erorile sunt mai mari dect dac se folosete o secven de numrare n ordinea din binar. Numrtoarele LFSR intr i n circuitele de codare i decodare aferente unor coduri detectoare i corectoare de erori, printre care i codurile CRC. n comunicaiile de date, numrtoarele LFSR se utilizeaz frecvent pentru a amesteca i a reconstitui formatul datelor transmise prin modemuri i interfee de reea de mare vitez, inclusiv pentru reeaua Ethernet, la 100 Mbps. Acest lucru se realizeaz prin combinarea prin XOR a ieirii din LFSR cu fluxul de date de utilizator. Chiar dac fluxul de date de utilizator conine trenuri lungi de 0 i 1, prin combinarea cu ieirea pseudo-aleatorie din LFSR se mbuntete factorul de umplere al semnalului transmis i se creeaz mai multe tranziii, ceea ce face ca informaia de sincronizare s poat fi reconstituit la recepie cu mai mult uurin.