Tehnologia Boundary Scan – [ JTAG ]

25 SEPTEMBRIE 2007

Metodele clasice de testare ale unei plăci electronice din punct de vedere electric sunt testul in-circuit şi testul funcţional. Testul in-circuit constă în utilizarea unui adaptor tip pat de cuie (fixture) prin intermediul căruia sunt accesate majoritatea componentelor de pe o placă electronică populată (PCB). Accesul se face în nodurile electrice ale PCB-ului, pe pad-uri de testare, testându-se izolat fiecare componentă în parte. Testul funcţional permite analiza parametrilor la nivel de funcţionalitate a plăcii electronice prin testarea parametrilor semnalelor de input/output sau prin înglobarea plăcii electronice într-un simulator al ansamblului final.

Fundamental, testul in-circuit se bazează pe posibilitatea de acces fizic la nodurile electrice ale PCB-ului. Tehnologia SMD a avut un impact serios în abilitatea de plasare cu acurateţe a pad-urilor de testare. Device-urile SMD şi PCB-urile multistrat au făcut ca accesul fizic la nodurile electrice să fie serios limitat.
Miniaturizarea plăcilor electronice face ca anumite componente SMD să aibă pinii foate apropiaţi, iar accesul la aceşti pini pentru testare este dificil, spaţiul util fiind sub 25 mils (0.6 mm). De asemenea, structura internă a IC-ului poate fi foarte complicată fiind necesari milioane de vectori de test pentru o testare integrală.

Change of Device Packaging Style

Sesizând acest trend la mijlocul anilor 80′ un grup de ingineri de test a examinat posibilitatea testării plăcilor electronice care prezintă acces limitat la nodurile electrice. Soluţia propusă a avut la bază accesul la pinii circuitelor integrate folosind un registru de deplasare conectat intern la toţi pinii componentei. Tehnologia a fost denumită “Boundary Scan”.
Organizaţia care a dezvoltat standardul Boundary Scan – la care au aderat toţi producatorii de componente – se numeşte Join Test Action Group (JTAG). Această tehnologie a fost standardizată internaţional şi a primit codul IEEE1149.1-1990, fiind publicată prima dată în 1990. Astăzi, ea este cunoscută sub numele Boundary Scan sau JTAG.

Principiul de lucru Boundary Scan (JTAG)

Un circuit integrat ce conţine structură de tip Boundary Scan are adăugat la fiecare pin de intrare sau de ieşire un element suplimentar de memorie de 1 bit (0 sau 1 logic) care se numeşte celulă Boundary Scan. Această celulă poate capta informaţia de nivel logic de la un pin de input sau poate scrie un nivel logic la un pin de output. Celulele de memorie sunt înlănţuite formând un registru serial, astfel că ele pot permuta date secvenţial pornind de la un pin standard de intrare TDI (Test Data In) sau pot transmite date colectate serial printr-un pin standard dedicat numit TDO (Test data Out).
Transmisia şi recepţia datelor se face sincronizat folosind un pin de clock TCK (Test Clock), iar modurile de operare în regim de testare sunt controlate prin pinul TMS (Test Mode Select).
Comportamentul celulelor scanate şi logica de lucru Boundary Scan este controlată prin intermediul unui controler dedicat numit TAP controller (Test Access Port controller). Pinul opţional TRST (Test Reset) ne permite să resetăm logica de testare Boundary Scan independent de structura logică funcţională a circuitului integrat. Este foarte important de reţinut că la nivelul circuitului integrat elementele de testare Boundary scan (celule de memorie, pinii TDI, TDO, TMS, TCK, TRST, TAP controller) sunt total separate de structura logică a circuitului integrat şi nu o influenţează în nici un fel.

Firmele care produc circuite integrate ce conţin această tehnologie furnizează gratuit descrierea modelului comportamental în regim de autotestare Boundary Scan, pentru fiecare circuit integrat în parte sub forma unui fişier cu extensia *.BDSL.
În cazul în care există mai multe componente de tip Boundary Scan ele sunt interconectate din faza de design a plăcii electronice şi astfel se creează un lanţ de tip Boundary Scan. În cazul de faţă avem 4 IC-uri, pinul de ieşire serial TDO al IC1 este conectat la pinul de intrare serial TDI al IC2, pinul TDO al IC2 este conectat la pinul TDI al IC3, pinul TDI al IC4 este conectat la pinul TDO al IC3. Practic s-a creat un lanţ de transmisie serială a informaţiei de la pinul TDI al IC1 la pinul TDO al IC4.
Pinii de clock TCK sunt conectaţi în paralel la toate IC-urile. Pinii de selecţie TMS sunt conectaţi în paralel la toate IC-urile.
Pinii TDI, TDO, TCK, TMS ai PCB-ului sunt conectaţi prin intermediul unei interfeţe standard la un computer ce rulează un software de aplicaţie Boundary Scan. Acest software sesizează prezenţa celor 4 IC-uri cu celule Boundary Scan, furnizează serial vectori de testare şi compară informaţia transmisă prin pinul TDI al lui IC1 cu informaţia recepţionată prin pinul TDO al IC-ului IC4, la o frecvenţă setată variabilă. (maxim 50MHz).

PCB demo şi Interfaţa XJ Link de la XJTAG
Alimentarea plăcii electronice se face fie direct din interfaţa USB (dacă permite schema) sau separat.

Astfel, se pot realiza patru operaţiuni de bază: încărcarea unei informaţii prin permutare serială (shift-in), prin pinul TDI; aplicarea unui stimul pe un anumit pin (update); capturarea nivelului logic de pe un anumit pin (capture); recepţionarea unei valori de la un anumit pin serial prin pinul TDO. Practic aceste celule boundary scan au rolul unor pini de test virtuali şi permit execuţia următoarelor tipuri de teste:
– verificarea tipului, a producătorului şi a versiunii circuitelor integrate (ID code pe 32 de biţi);
– diagnoza rapidă a scurt-circuitelor, întreruperilor pentru IC-urile altfel inacesibile (Extest);
– izolarea componentelor prin punerea pinilor în stare de impedanţă ridicată fără a utiliza tehnologia ICT clasică de backdriving;
– programarea datelor serial şi verificarea lor;
– testarea altor componente care sunt conectate la pinii circuitelor integrate cu Boundary scan prin folosirea acestora ca pini virtuali.
Software-ul dezvoltat de firma XJTAG ( www.xjtag.com) – specializată în soluţii de test Boundary Scan ce rulează în mediul Windows 2000/XP/Vista este format din următoarele module:

1 XJ Runner – modulul operator, în care paşii de test executaţi sunt vizibili pe monitor, iar mesajul de valid/defect este dat la nivel de componentă.

2 XJ Analyzer – Modulul de software de analiză şi debug – permite recunoaşterea automată a tipului de componentă şi vizualizarea stării pinilor tuturor circuitelor integrate din lanţul Boundary Scan în timpul testării.
Culoarea pinilor specifică valoarea lor curentă, iar starea pinilor se poate seta pentru pinii de output şi cei bidirecţionali în “1” logic, “0” logic, oscilare rapidă şi oscilare lentă. De asemenea, se poate selecta vizualizarea semnalelor de la componente diferite sub formă de tabel, astfel încât putem analiza funcţionarea PCB-ului în diverse regimuri.

3 XJ Ease – modul compilator al codului de testare, utilizat pentru:
– generarea testelor de interconectare;
– programarea circuitelor integrate Boundary Scan (CPLDs, FPGAs);
– programarea circuitelor integrate ce nu sunt standard Boundary Scan (memorii flash);
– testarea circuitelor integrate ce nu sunt standard Boundary Scan, dar care sunt conectate la pinii de test virtuali Boundary Scan: pentru aceste componente se creează într-un limbaj propriu librării (XJ Ease device files) care pot fi apelate de mai multe ori în acelaşi proiect sau pot fi folosite în proiecte ulterioare.
Astfel, avantajul major la XJTAG este mutarea centrului de greutate dinspre generarea de vectori de test spre dezvoltarea de librării de componente, acoperirea unei plăci electronice fiind foarte bună în cazul componentelor non-Boundary Scan.
Pe baza librăriilor existente, compilatorul XJTAG generează vectorii de test adecvaţi în funcţie de pinii virtuali Boundary Scan ai schemei respective.

Concluzie
Putem spune că testul Boundary Scan (JTAG) asigură o testabilitate ridicată a PCB-ului prin utilizarea numai a 5 pini standard de interfaţare utilizându-se acelaşi test în faza de dezvoltare şi în cea de producţie. Suplimentar de la caz la caz, putem adăuga teste funcţionale şi putem realiza programarea circuitelor integrate, reducând timpii de dezvoltare şi costurile de realizare a programelor de test pentru plăci electronice populate.
Pentru informaţii suplimentare referitoare la această tehnologie vă stau la dispoziţie.

Ing. Marius Toader
ALFA TEST SRL
marius.toader@alfatest.ro
www.alfatest.ro

ALFA TEST este distribuitorul în România, Ungaria şi Serbia al software-ului Boundary scan dezvoltat de firma XJTAG www.xjtag.com

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *

  • Folosim datele dumneavoastră cu caracter personal NUMAI pentru a răspunde comentariilor/solicitărilor dumneavoastră.
  • Pentru a primi raspunsuri adecvate solicitărilor dumneavoastră, este posibil să transferăm adresa de email și numele dumneavoastră către autorul articolului.
  • Pentru mai multe informații privind politica noastră de confidențialitate și de prelucrare a datelor cu caracter personal, accesați link-ul Politica de prelucrare a datelor (GDPR) si Cookie-uri.
  • Dacă aveți întrebări sau nelămuriri cu privire la modul în care noi prelucrăm datele dumneavoastră cu caracter personal, puteți contacta responsabilul nostru cu protecția datelor la adresa de email: gdpr@esp2000.ro
  • Abonați-vă la newsletter-ul revistei noastre