Numar total de pagini: 711

Ultimele articole publicate


    `

    Ultimele mesaje

      • kobold: Buna ziua. Cum pot vizualiza revistele...
      • Admin: Raspunsul este relativ simplu: iti trebu...
      • Baluta Florentin: Buna ziua, Stiu ca nu va ocupati cu cee...
      • Admin: Foarte simplu, pui baterii in paralel, c...
      • Adam: Nu prea inteleg, cum sa unesc 2 baterii ...
      • deleanu: caut o schema de radioreceptor superreac...
      • xxx: cum pot dowanlodar reviste...
      • xxx: cum pot downloadar reviste tehnium sau...
      • Admin: Am actualizat legatura. Acum merge....
      • floris: Fisierul revista_ret_no.14_-_publicata_...

    Revista RET Nr. 19 – Dispozitive cu logică programabilă

    Articol publicat in anul 1996, in revista RET nr. 19, Timisoara – RET Autor Mircea Tomoroga

    1. Toate revistele RET
    2. In continuare la Revista RET nr. 19 - Cuprins
    3. Lista KIT-uri electronice
    4. Interfon cu 2,3,...,n posturi
    5. Preamplificator linear de inalta fidelitate pentru semnal de microfon
    6. Preamplificator stereo cu corectie RIAA pentru doza electromagnetica de pick-up
    7. Amplificator audio cu TBA810
    8. Comanda electronica pentru diaproiectoarele automate
    9. Betametru analogic pentru tranzistoare de putere
    10. Simulatorul CASPOC pentru sistemele electronice de putere
    11. Dispozitive cu logica programabila
    12. 8051 - Portul P1 in mod intrare
    13. Elemente de afisare cu cristale lichide
    14. Circuite inegrate stabilizatoare specializate - Date si aplicatii
    15. Inapoi la Revista RET nr. 18
    16. In continuare la Revista RET nr. 20

    Revista RET Nr. 19 – Dispozitive cu logică programabilă

    Autori: Conferențiar Doctor Inginer Ioan Jiveț; Preparator Inginer: Sorin Iarca;

    Utilizarea circuitelor PLD (Programmable Logic Devices) oferă posibilitatea obţinerii unor soluţii elegante şi eficiente în proiectarea circuitelor electronice. Articolul prezintă principalele caracteristici ale acestor tipuri de circuite şi câteva exemple de aplicaţie.
    1. Prezentare generală
    Perioada de ”blocaj informaţional” progresiv între 1980 şi 1990 a făcut ca întreaga tehnologic a circuitelor PLD (Dispozitive cu logică programabilă) să fie relativ necunoscută în România. Circuitele PLD constituie o alternativă eficientă prin cost, flexibilitate şi timp minim de dezvoltare practică, între proiectarea sistemelor numerice în mod clasic cu porţi logice (MSI) şi integrarea totală VLSI, în prezent o realitate accesibilă.

    Calcule de cost simple arată că economiile de implantare (cablaj, testare) duc la costuri totale în aplicaţii mai reduse pentru PLD, decât dacă s-ar utiliza circuite integrate digitale clasice.
    Programabilitatea circuitelor PLD se referă direct la posibilitatea modificărilor de conexiuni între porţi logice fizice şi nu prin simulare funcţională, cu toate problemele ei, ca în cazul micro-procesoarelor.

    Tehnologia PLD a beneficiat de dezvoltarea şi accesibilitatea în ultimii ani a calculatoarelor. Instrumentele CAD, oferite de firma producătoare odată cu componentele, asigură un timp minim de finalizare practică. Mediul CAD vine în ajutorul proiectantului de la concepţie şi verificare iniţială până la simularea şi testarea prin emulare a produsului final.
    Spectrul de familii de circuite PLD, produse în prezent, acoperă toate nivelele de complexitate în aplicaţii. Complexitatea exprimată prin numărul de porţi echivalente este un criteriu important de selecţie:


    Trebuie remarcat că familia PGA (Programable Gate Arrays) nu satisface criteriile de flexibilitate şi eficienţă în aplicaţii, datorită numărului mare de porţi uniforme, greu de structurat coerent.

    Câteva tipuri des utilizate sunt sintetizate în tabelul 1, conceput ca un ghid primar de selecţie.

    2. Structuri clasice de circuite PLD. Familia PAL XXXX
    Conform structurii interne, un circuit PLD este destinat configurării fizice ulterioare pentru construirea funcţiilor logice din porţi şi conform aplicației.

    Structura clasică a circuitelor PLD este de evantai de porti ȘI, urmate de o poartă SAU – structură optimă pentru a implementa funcții logice de tip SUMĂ DE PRODUSE. Bistabile, porți inversoare şi de multiplexare completează diverse variante de module ŞI – SAU, rezultând în diverse variante ale familiei PALxxxx, structură concepută cu orientare spre aplicaţii anume.
    Noțiunile fundamentale sunt prezentate prin descrierea unui modul al circuitului PAL1618 (PAL16R8) din figura 1. Liniile orizontale [0 63] se numesc linii produs şi simbolizează o poartă ȘI cu 32 intrări. Liniile verticale reprezintă intrările în formă directă şi negată. În total sunt disponibile utilizatorului 64 x 32 = 2048 conexiuni fuzabile, ce urmează a fi ”arse” cu excepţia conexiunilor proprii schemei dorite. De fapt, este necesar a programa numai acele linii de intrare care intervin în liniile produs, ce formează expresia funcției proiectate.

    Intrările sau liniile produs complet intacte nu au efect întrucât rezultatul lor logic nu afectează ieşirea (…x A x /A x … este 0 pentru orice valori la intrare). De remarcat că elementul tampon cu trei stări de la ieşire poate fi utilizat atât pentru obținerea unei ieşiri cu trei stări, cât şi pentru deconectarea ei, în cazul în care la acest terminal se doreşte o intrare. Un caz de interes şi mai mare este cazul programării pinului ca bidirecțional trei stări, cu control logic din acelaşi circuit tampon, prin prima lui linie produs.
    Circuitul PAL16L8 este cel mai utilizat membru al familiei, utilizat pentru compactarea într-o singură capsulă a schemelor simple (decodor, encodor, multiplexor,..), clasic realizate cu circuite SSI – MSI. Prin echivalenţă, cele opt module ale circuitelor PALxyz pot fi programate pentru a îndeplini funcţia logică a unui circuit cu aproximativ 250 porţi logice.
    Varianta PALxRy se caracterizează prin existenţa în plus a unui registru de tip D înaintea tamponului de ieşire, la o parte din modulele din capsulă. De remarcat, de asemenea, existenţa la intrarea registrului D şi a porţii SAU – EXCLUSIV, cu care se inversează intrarea în bistabil prin programarea intrării libere.

    La seria PAL16L8 originală (la care bistabilul D lipseşte) este necesar un modul în plus pentru obtinerea unei inversări la o ieşire care nu poate fi obţinută prin echivalare De Morgan. Prin utilizarea porţii SAU – EXCLUSIV, această problemă de inversare se rezolvă imediat.
    Variantele extinse ale familiei PAL16x8 nu au adus modificări conceptuale, ci doar mărirea numărului de module şi facilităţi suplimentare de configurare. Flexibilitatea de configurare a elementelor de circuit asociate la o ieşire este prezentată printr-un exemplu în figura 2.

    Prin alegerea (programarea) comutatoarelor se pot elimina din circuit elementele nedorite şi se poate configura pinul în varianta cerută de aplicaţie. În fapt, macrocelula permite configurarea unui pin în forma unui modul al oricărui membru al familiei PAL, în acest mod în aceeaşi capsulă se poate realiza un ”colaj” de module în diverse variante.
    Oricare variantă a familiei PAL este produsă în oricare dintre tehnologiile utilizate curent: ECL, CMOS sau TTL. Deci, circuitele PAL pot fi utilizate în aplicaţii care includ orice combinaţie de alte circuite în diverse tehnologii.

    3. Exemple de aplicații

    Implementarea unei scheme numerice într-un circuit PLD este o etapă ulterioară proiectării logice clasice folosind circuite integrate numerice MSI.
    Schema logică este tradusă într-o reprezentare specifică acceptată de programele CAD pentru implementare în PLD. Majoritatea programelor CAD pentru proiectare cu circuite PLD acceptă formate de reprezentare utilizate în mod curent şi, deci, procesul de traducere este implicit. Sunt acceptate curent:
    – ecuaţii booleene;
    – liste de conexiuni (netlist) de porţi logice;
    – diagrame de timp;
    – alte forme de algebră booleană de reprezentare.

    În general, toate aceste forme de reprezentare sunt reduse la ecuațiile booleene, baza cea mai solidă de reprezentare, de la care programul CAD generează automat atât implementarea în circuite PLD, cât şi suportul logic de simulare.
    Două aspecte suplimentare ale problemei de implementare şi simulare au fost încorporate în variante noi, mai complexe, de programe CAD faţă de varianta iniţială PALASM (asamblor PAL).
    a) Varianta de circuit PLD poate fi precizată de proiectant (şi semnalată ca neadecvată!) sau poate fi aleasă de programul CAD ca cea mai simplă variantă din familie, care poate încorpora schema indicată.
    b) Descrierea funcţională a circuitului este prezentată într-un limbaj evoluat care permite bucle de decizie (if-then), alegeri (case), etc. Exemple de programe CAD din această nouă clasă sunt: CUPL, PLPL, ABEL. Sunt referite ca programe care generează implementări compilate şi, deci, adesea optimizate (reduse Boolean).

    Simularea funcţională a schemei pentru secvenţe de date de intrare precizate constituie validarea finală a implementării înaintea trecerii la realizarea practică. Un set de valori de variabile de intrare, în timp – ”vectori de test” – constituie baza de stimulare. Diagramele de timp la ieşire corespunzătoare sunt calculate conform implementării (cu valorile de întârziere incluse) şi sunt verificate contra valorilor dorite, conform aplicaţiei (pentru fiecare vector de test).

    Determinarea neconcordanțelor şi remedierile de schemă devin de acum sarcina proiectantului. De remarcat că aiegerea unui set restrâns de secvenţe (vectori de test) nu este nici pe departe o problemă banală. În cazuri foarte simple de circuite combinaţionale, toate valorile tabelei de adevăr reprezintă o bună alegere. Când însă numărul acestor combinatii este prea mare sau circuitul include bistabile (circuit secvențial), alegerea unui set restrâns, şi totuşi exhaustiv funcţional, este o problemă dificilă. Unele programe CAD actuale, pe baza unor criterii de selecţie, generează automat secvenţe de test. Acestea însă nu sunt garantate a fi nici optime, nici suficiente.
    Programarea şi verificarea funcţională finală încheie ciclul. Formatul fişierului de programare, generat de programele CAD, este de obicei standard (JEDEC) şi cuprinde lista tuturor conexiunilor ce trebuie ”arse” şi uneori lista vectorilor de test. Exemplul 3 cuprinde detalii despre forma tensiunilor la programare.

    Exemplul 1

    Pentru ca primul exemplu să fie cât mai transparent, a fost ales un circuit numeric foarte simplu. Cuvintele cheie rezervate (caractere accentuate) indică părţile principale obligatorii ale fişierului.
    Caracterul { ; } se foloseşte pentru a arăta că restul liniei este un comentariu.
    Partea de simulare în PALASM este o simplă înşiruire de secvenţe de intrare, cuvânt cheie – SETF şi valori corespunzătoare ieşirilor, cuvânt cheie CHECK.
    Compilatorul generează din fişierul proiect un fişier cu lista de siguranţe.

    Exemplul 2

    Ca exemplu de circuit secvenţial este prezentat un numărător, a cărui specificare funcţională este mai uşor de exprimat prin termeni de stări şi tranziții decât prin funcții logice sau tabele de adevăr.
    Limbajul de descriere utilizat este PLPLv3.2. Acesta permite constructe de tip if…then…else şi case, similare limbajelor de nivel înalt.

    Exemplul 3

    Compilatorul analizează fişierul proiect sursă şi generează lista de conexiuni fuzibile care urmează să fie ”arse” într-un format acceptat de majoritatea programatoarelor.

    După modelul prezentat în figura 1 pentru un modul de PAL1618, conexiunile fuzibile se vor “arde” ca mai jos (ieşirile A şi B). Remarcaţi că liniile produs nefolosite se lasă intacte.

    Diagrama de timp care descrie impulsurile de programare este reprezentată în desenul următor:

    Bibliografie:
    1. Ioan Jiveţ – Proiectarea sistemelor numerice de conducere, Lito UTT, 1994;
    2. PAL Device Handbook – AMD, catalog, 1988;
    3. Programmable Logic Handbook / Data Book – AMD, catalog, 1986;
    4. D. Olteanu, C. Popescu – Circuite integrate pe arii de porţi logice, Ed. Tehnică, 1991.

        Editor: Admin | Afisat in: RET, Reviste | Raspunsuri (0) | December 2017

    Scrie un raspuns sau pune o intrebare

    Poti folosii: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

    *