Thanks Thanks:  0
Likes Likes:  0
Dislikes Dislikes:  0
Results 1 to 15 of 45

Thread: Jtag

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Super Moderator staric's Avatar
    Join Date
    03 Feb 2007
    Posts
    494
    Mentioned
    2 Post(s)
    Rep Power
    66

    Default Jtag

    Cei aia ... JTAG?
    Candva ma speriam numai la auzul acestui cuvant - JTAG. Incercam pe tot posibilul sa nul cunosc indeaproape, dar de ce tie teama nu scapi... In acest articol vreau sa va lamuresc si sa va arat ca nu totul e asa de simplu, ca JTAG nu e un cablu si GATA. JTAG-ul trebuie inteles, ca o tehnologie ce urmareste niste teluri. Asa ca incepem ... cu inceputul.


    JTAG Boudaty-Scan Test (BST)

    In 1985 s-a format un grup a producatarilor de top de produse electronice - JTAG (Joint Test Action Group). Pentru rezolvarea problemelor de testare JTAG a inaintat ca standard de productie urmatoarea specificatie IEEE Std 1149.1-1990 (IEEE Standard Test Access Port and Boundary-Scan Architecture).
    Implementarea arhitecturii BST in chipurile moderne asigura accesarea lor ( mai exact,accesarea blocurilor speciale de intrare-iesire) cu ajutorul unei interfete JTAG formata din 4 fire.Aceasta arhitectura permitea nu numai controlarea starii chipului, dar si comandarea lui - in asa fel se evita nevoia de aparatura sofisticata cu contact fizic.



    Mai mult, aceasta arhitectura permite schimbul si de alt tip de informatie cu chipul.De exemplu, obtinerea de rezultate a testului de interior asa cum se face la procesoarele moderne. In PLD (programmable logic device) aceasta arhitectura asigura alternativa ( sau baza) introducerea datelor de configurare. Mai e de adaugat ca nu e unica solutie, mai exxista si ate interfete - de exemplu, 12c cu 2 fire ce necesita mai putine cheltuieli pe aparatura si ce e cel mai important mai putin timp de accesare a datelor. Dar, avantajul arhitecturii BST este ca nu e obligatorie indicarea adreselor,deoarece JTAG-ul este format dintrun sir ce se adreseaza prin pozitia sa.



    Test Access Port



    Dupa cum se vede din graph, TAP-ul va trece in starea initiala-RESET din oricare altul in nu mai mult de 5 impulsuri TCK la TMS=1.Concomitent se va face initierea intregii scheme BST, iar in registrul instructiunile se vor scrie ca default ( de regula, instructiunea IDCODE, dar poate fi si alta, de exemplu, SAMPLE).Ca evitare a acestei initieri e nevoie de trecere a TAP prin starea de securitate IDLE in care se pastreaza toate configurarile.Schema BST contine si o serie de permutari in registru. La trecerea prin prima ramura a graph-uli e accesibil registru cu lungimea de 3 biti. Incarcarea instructiunii determina unul din registrul de date, accesabil la trecerea porin ramura stanga si actiunile cu el in stari date de TAP.Din aceste registre, ca minimum, avem registrul de acces la iesirile exterioare a chipului si registrul de ocolire format de 1 bit.
    deoarece sirul JTAG tote registrele de permutari se ordoneaza un unul lung,registrul de ocolire permite micsorarea aceste lungimi, reprezentand pe cele ocolite printrun bit.Pentru aceasta avem instructiunea BYPASS.Deoarece la introducerea instructiunii BYPASS se anuleaza actiunea instructiunii incarcate anterior, cu parere de rau, nu exista posibilitatea de a pastra starea blocurilor itrare-iesire, instalate cu ajutorul instructiunii de tipul EXTEST si INTEST. Exceptie fiind instructiunea CLAMP, care iti permite registrul de ocolire,dar acesta instructiune practic nu este folosita.
    In registrul de acces a blocului Intrare-iesire PLD, de regula, sunt alocati urmatorii 3 biti:Intrare(I),iesire(O) si iesire interzisa(T).Ordinea intrarii bitului in TDO e diferit in functie PLD firmelor. De exemplu, pentru Xilinx - (T,O,I), iar pentru Altera - (I,T,O).
    In starea CAPTURE se salveaza in registru starea actuala.Apropos, pentru registru de instructiuni asta e codul instructiunii SAMPLE, iar pentru registru de ocolire - 1 logic. In starea UPDATE datele din registru de permutari se rescriu in registrul de salvari.
    In asa fel, instructiunea SAMPLE nu numai citeste starea iesirilor exterioare, dar si scrie datele de comanda in registrul de salvare. Pentru a evita intrarea de date eronate e folosita inaintea instructiunilor de tipul EXTEST si INTEST.
    La incarcarea instructiunii EXTEST iesirea registrului de salvari determina starea iesirilor chipului, adica comanda iesirea si a treia stare - permitand testarea legaturilor externe.Instructiunea INTEST,din potriva, schimba semnalul introdus in chip si serveste la controlarea chipului insasi. De obicei se rezuma la o singura instructiune EXTEST, se foloseste bitul de intrare(I) pentru introducere in chip ca si la instructiunea INTEST.
    Instructiunea IDCODE activeaza registrul implimentat format di 32 de biti ca datele de identificare a producatorului, modelului si versiunea folosita.
    Numarul de instructiuni e determinat de producator si ,ca minimum, avem urmatoarele SAMPLE,BYPASS si EXTEST iar restul sunt instructiuni adaugatoare.Dupa cate am mentionat, pentru PLD pot exista instructiuni speciale de configurare, iar pentru procesor - citirea rezultatelor testului interior.
    Producatorii de microschipuri prezinta informatii despre o realizare concreta de BST pentru fiecare tip din productia sa sub forma unui fisier BSDL(Boundary-Scan Description Language). Mai multe informatii despre asta cititi aici:
    http://www.asset-intertech.com

    Accesul la portul JTAG se poate organiza prin cablu de tipul ByteBlaster, unind sistemul testat cu portul paralel al calculatorului...

    Bag mana in foc ca multi dintre voi ( ca si mine) nu ati inteles nimica din ce am scris(tradus) mai sus....nici nu trebuie...nu asta e sensul acestui articol.Principalul,cred, ca ati inteles ca nu e asa simplu pre cum pare si acuma nu va veti incurca pe viitor, macar, in termeni...

    In articolul urmator vom cobora pe pamant ...si vom vedea in practica ce e JTAG-ul

    Va urma...
    Last edited by staric; 11-10-07 at 12:32.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •