II. Évfolyam 4. szám - 2007. december

Molnár Zsolt1

VÉDELMI CÉLÚ ELEKTRONIKAI ESZKÖZÖK
RENDSZERSZINTŰ TESZTELÉSÉNEK KÉRDÉSEI

Absztrakt

Ez a cikk az elektronikai berendezések peremfigyeléses tesztelésével foglalkozik. A peremfigyeléses tesztelés napjaik egyik legszélesebb körben használt és leggyorsabban fejlődő tesztelési eljárása. A cikk röviden tárgyalja a peremfigyelés alapelvét, foglalkozik az áramköri panel szinten végzett teszteléssel, végül pedig a több áramköri egységből álló elektronikai berendezések rendszer szintű tesztelésével. Felhasználói szempontból áttekinti a rendszer szintű peremfigyeléses vizsgálathoz szükséges áramköröket, és azok rendszerbe integrálásának kérdéseit. Az utolsó rész a peremfigyelés védelmi célú elektronikai rendszerekben való alkalmazásának aspektusait vizsgálja.

This article studies the Boundary Scan test of electronic equipments. The Boundary Scan technology is the one of the widely accepted and rapidly developing test method in these days. The article shortly discusses the basics of Boundary Scan, and deals with testing on board level. In the last part, the subject is the testing on system level, in a multi-board environment. There we can read - from the designer's perspective - about the integrated circuits needed for system level test, and some problems of system integration.

Kulcsszavak: JTAG, peremfigyeléses teszt, rendszer szintű teszt, tesztbusz architektúrák, Multidrop rendszer ~ JTAG, Boundary Scan, system level test, test-bus architectures, Multidrop system

 

Bevezetés

A korszerű elektronikai eszközök összetett felépítése, az elmúlt években tapasztalható nagymértékű méretcsökkenés, valamint az áramkörök működési sebességének növekedése új problémákat vetett fel a tesztelés területén. Míg korábban viszonylag egyszerűen megvalósítható volt a tesztelni kívánt áramköri pontokon egy-egy villamos kapcsolat létesítésére alkalmas csatlakozópont elhelyezése, vagy ezeknek a pontoknak a kivezetése egy tesztcsatlakozóra, addig napjainkban ez már nem kivitelezhető. Egy nagy alkatrész-sűrűségű panelen fizikai korlátai vannak a járulékos vezetékezésnek és a szükséges építőelemeken kívüli újabb elemek (pl. tesztpontok vagy tesztcsatlakozók, illetve kiegészítő áramköri elemek) elhelyezésének. Ezek a vezetékezések és hozzáadott elemek a nagy működési sebesség miatt zavart okozhatnak, amely hibás működésben nyilvánulhat meg. A védelmi célú elektronikai eszközök esetében a tesztelés területén további szempontok és problémák merülnek fel.

Ezekre a problémákra megoldást jelent a tesztpontoknak az áramkört felépítő integrált áramkörökbe való áthelyezése, majd ezeknek a tesztpontoknak a felfűzése egy soros tesztbuszra. Erről a tesztbuszról kell megoldani - a vizsgált áramköri pont jellegétől (forrás vagy nyelő) függően - a tesztpontok gerjesztését vagy feszültségszintjük érzékelését, illetve egyéb vezérlési feladatokat (pl. teszt üzemmód/normál üzemmód átváltás). A vázolt elv szerint működik az igen széles körben alkalmazott tesztelési technológia, a peremfigyelés (Boundary Scan). A ma gyártott nagyintegráltságú digitális áramkörökben (a processzorok, az FPGA-k és a CPLD-k majdnem mindegyikében, valamint a memóriák egy részében) megtalálható a peremfigyelés, sok esetben azonban csak beprogramozásra, illetve hibakeresési (debug) információk kinyerésére alkalmazzák.

A peremfigyelés segítségével elvégezhető a digitális áramkörök funkcionális, illetve az analóg áramkörök funkcionális és parametrikus vizsgálata. Ez utóbbi lehetőség a félvezetőgyártás technológiájának korlátai miatt még nagyon megdrágítja egy integrált áramkör előállítását, ezért széles körű elterjedésére még várni kell. Ez a cikk az IEEE1149.1 szabvány szerinti digitális peremfigyelés integrált áramköri szintről áramköri egység (panel), illetve rendszer (eszköz) szintre való kiterjesztését, a szükséges megfontolásokat és felmerülő problémákat tárgyalja.

I. A peremfigyeléses hurok áramköri egység (panel) szintű kialakítása
A peremfigyelés alapelve

Egy peremfigyeléssel rendelkező alkatrész belső felépítését az 1. ábra mutatja. A peremfigyelés szabványa szerint minden funkcionális digitális láb és a magáramkör közé el kell helyezni egy peremfigyelő cellát, amelyek a peremfigyelő regisztert alkotják. Ezek a peremfigyelő cellák virtuális mérőpontként működnek: az adott áramköri pontokra tetszőleges logikai jelszint adható, illetve a mérőpont logikai szintje eltárolható. Ezen felül szükség van a magáramkör és a láb elszigetelésének lehetőségére. Erre például egy bemeneti lábra kapcsolt kimeneti láb állapotának tesztelés közbeni szintbeállításakor lehet szükség: ha ellentétes logikai szintet kell beállítani, mint amit a magáramkör szolgáltat, akkor e funkció nélkül a magáramkör és/vagy a peremfigyelő cella túlterhelődhetne.


1. ábra:
Egy peremfigyeléssel rendelkező áramkör vázlatos felépítése

A peremfigyelő regiszter adatforgalmát természetesen vezérelni kell. A vezérlést a kívülről kapott vezérlőjeleken (TMS, TCK és *TRST) kívül, amelyek egy állapotgép vezérlőjelei - egy speciális regiszterbe, az utasításregiszterbe töltött bitsorozat (parancs) alapján - a tesztport vezérlő (TAP Controller) végzi. A tesztport vezérlő gondoskodik még a soros jelútvonalba kapcsolódó regiszter átkapcsolásáról is, tehát az, hogy a TDI és TDO pontok közé a peremfigyelő regiszter, a parancsregiszter, az áthidaló regiszter, vagy más regiszter kapcsolódik, szintén a vezérlőtől függ.

Az áthidaló regiszter szerepe az, hogy több, a buszra sorosan csatlakozó egység közül egyet, vagy néhányat ki lehessen iktatni, a többi egység gyorsabb elérése érdekében. Egy kiiktatott egység a jelútvonalban csak 1 órajel késleltetést okoz (míg egyébként a TDI és TDO lábak közé csatlakozó regiszter hosszától függően akár több százat is). A szabvány szerint egyéb regiszterek is megvalósíthatóak: például az eszköz-azonosító (csak olvasható) regiszter  tartalma alapján a peremfigyelő hurokban lévő eszközök azonosíthatóak.

A peremfigyelő hurok kialakítását a 2. ábra mutatja. Látható, hogy a tesztbuszra csatlakozó egységek sorosan kapcsolódnak, a vezérlőjeleiket pedig párhuzamosan kapják.

 
2. ábra:
Az IEEE1149.1 szabvány szerinti peremfigyeléses hurok kialakítása

 

A peremfigyelés kialakításának szempontjai áramköri panel szinten

Első, és talán legfontosabb szempont a panelen elhelyezett, tesztelésbe bevonni kívánt áramkörök kiválasztása. Bár a nem IEEE1149.1 szabvány szerinti alkatrészek is tesztelhetőek bizonyos áramkör-kialakítás mellett, de ahol lehet, ott célszerű peremfigyeléssel rendelkező alkatrészek választása. A ma gyártott LSI és VLSI2 integrált áramkörök nagy része rendelkezik peremfigyeléssel, itt nem jelent gondot az alkatrész-választás. Az SSI és MSI3 áramkörök esetében más a helyzet. Ezek egy része olyan, hogy adott funkcióra megtalálható a peremfigyeléssel rendelkező, illetve nem rendelkező alkatrész is, más részük csak hagyományos, peremfigyeléssel nem kompatibilis típusban érhető el. Azok az SSI és MSI áramkörök, amelyek rendelkeznek peremfigyeléssel, általában néhány, (tipikusan 4) lábbal nagyobb tokban kapnak helyet a nem peremfigyeléses, azonos funkciójú áramkörökhöz képest. Ennek az az oka, hogy már alapkiépítésben is ki van használva a tok összes, vagy csaknem az összes lába. A nagyobb tokozás (és így a nagyobb tokozási költség, a nagyobb helyfoglalás a panelen) által okozott többletkiadás a tesztelés egyszerűsödésében, a tesztelési folyamat felgyorsulásában és a hibabehatárolás jelentős pontosságnövekedésében bőségesen megtérül.

Vannak olyan alkatrészek is, amelyekben ugyan megvalósítottak peremfigyelést, de a peremfigyelés tesztbusza nem dedikáltan, hanem más funkcióval megosztva használja az alkatrész kivezetéseit. Az ilyen áramkör alkalmazása a peremfigyeléses hurokban számos problémát vet fel4, ezért ha lehet, olyan változatot kell alkalmazni, amelynél a tesztbusz vezetékei kizárólagosan használják a hozzájuk tartozó kivezetéseket. Az áramkörben programozható eszközök5, ha megfelelnek a digitális peremfigyelés alapszabványa kiterjesztéseként felfogható IEEE1532 szabványnak6, akkor egyszerre, egyidőben felkonfigurálhatóak, szemben a nem IEEE1532-kompatibilis eszközökkel, amelyek felkonfigurálása csak egymás után történhet. Ebből következik, hogy javasolt a fenti szabványnak megfelelő programozható alkatrészek használata, így a felprogramozási idő lerövidíthető.

A peremfigyelés szabványa rögzít kötelezően megvalósítandó7, szabványosított, de opcionális, valamint felhasználó által definiált parancsokat. Az áramkör kialakításához felhasznált peremfigyeléses eszközöknél ajánlott, hogy a kötelező parancsokon kívül támogassák a HIGHZ és az IDCODE parancsot. A HIGHZ parancs segítségével egyszerűen lehet passziválni egy alkatrészt: az összes láb nagyimpedanciás állapotba helyezésével (majd az áthidaló regiszter bekapcsolásával) az adott alkatrész nem befolyásolja a tesztelés további tevékenységeit8. Az IDCODE parancs a tesztbuszra fűzött áramkörök 32 bites eszközazonosítójának kiolvasásával lehetővé teszi, hogy azonosítsuk a buszra fűzött áramköröket, és megállapítsuk, hogy jelen vannak-e, a típusuk megfelelő, illetve a megfelelő helyre kerültek beültetésre.

Fontos szempont, hogy a tesztbuszról való leszakadás esetén a leszakadt áramkör ne tegye működésképtelenné a panelt. A peremfigyeléses eszközök TAP vezérlője lényegében egy állapotgép, amelynek átmeneteit a TCK órajel felfutó élénél a TMS jel szintje határozza meg. Ennek az állapotgépnek a szerkezete úgy van definiálva, hogy a TMS jel állandó magas szintje esetén néhány órajelen belül alapállapotba (Test-Logic-Reset) kerül. Ebben az állapotban az eszköz normál módban működik, teszt üzemmódja letiltott állapotú. Ahhoz, hogy az alapállapotba kerülés ebben az esetben minél előbb, és biztosan megtörténjen, alkatrész szinten és panel szinten is gondoskodni kell arról, hogy leszakadt TMS vonal esetén a TMS jel magas szintje biztosított legyen. Alkatrész szinten ezt egy kötelezően integrált felhúzó ellenállással oldják meg. Panel szinten a tervezőnek kell gondoskodnia egy, a panel TMS tesztport-bemenetén elhelyezett felhúzó ellenállásról. A TDI bemenetre is ajánlatos egy felhúzó ellenállást betervezni, ezzel a TDI láb leszakadása esetén biztosítható, hogy az áramkör néhány órajel után áthidaló (BYPASS) üzemmódba kerüljön (ugyanis a BYPASS parancs kódja csupa 1-ből áll).

Villamos szempontból a tesztport-csatlakozásnál a fentieken kívül a következőket indokolt még megvalósítani:

  • 10MHz-nél nagyobb frekvenciájú tesztórajel esetén a panel tesztportjánál a TCK vonal illesztett lezárása. Egyszerűsége, és viszonylag kis energiaigénye miatt egy soros R-C lezárást érdemes alkalmazni, tipikusan 60.100 W és 100 pF értékkel [1].
  • A TDO kimeneten, a soros tesztbusz utolsó alkatrészéhez közel, a jelvisszaverődések csökkentésére egy soros ellenállást ajánlott elhelyezni. Tipikus értéke 20 W [1].
  • Ha a TRST* vezérlővonal ki van építve, erre is (akárcsak a TDI és TMS vonalakra) érdemes elhelyezni egy felhúzó ellenállást, a határozott jelszint biztosítására. A felhúzó ellenállások értéke tipikusan 10 kW [1].
  • A külső tesztbusz-csatlakozásnál a megfelelő zavarvédelem és az áthallás csökkentése érdekében a jelvezetékek között egy földvezetéket ajánlott vezetni.

Bár a peremfigyelés technológiáját alkalmazva elvileg egyetlen soros teszthurokkal elvégezhető a tesztelés, esetenként több teszthurok kialakítása kívánatos. A peremfigyeléses alkatrészek bizonyos megfontolások szerinti felosztását, és peremfigyeléses hurokba való szervezését particionálásnak nevezzük. A particionálás a következő esetekben ajánlatos, illetve szükséges:

  • A különféle logikai áramkörcsaládba tartozó, vagy azonos családba tartozó, de más tápfeszültségről működő alkatrészek számára külön-külön peremfigyeléses hurkot kell kialakítani. Ennek a felosztásnak a célja az eltérő logikai szint-határok miatti inkompatibilitás megszüntetése, vagy zajtartalék csökkenése kedvezőtlen hatásának kiküszöbölése.
  • Az optimális tesztelési sebesség eléréséhez ajánlatos több peremfigyeléses hurkot létrehozni. Ennek egyik célja lehet a hibabehatárolás idejének csökkentése, a másik pedig a minél gyorsabb tesztvektor-végrehajtás elérése. Ez utóbbira példa a nem felejtő FLASH memória programozása a peremfigyeléses hurokban lévő egyéb áramkörökön keresztül9. Ilyenkor a FLASH memória vezérlőjeleinek, valamint cím- és adatvezetékeinek vezérlésével végzik el a programozást.
  • A processzorokhoz, mikrovezérlőkhöz, valamint a programozható eszközökhöz használt programozó és hibakereső (debug) eszközök gyakran teljesen elkülönülő hurkot igényelnek, más esetben megengedett az azonos gyártótól származó eszközök egy hurokban való elhelyezése. A programozás vagy konfigurálás esetén abban az esetben, ha az alkatrészek IEEE1532-kompatibilisek, ez a probléma nem merül fel.
  • A több áramköri panelt tartalmazó rendszerekben a panelek közötti csatlakozásvizsgálat, illetve az egyes panelek külön-külön való tesztelhetőségének lehetősége, vagy a közösen használt rendszerbuszhoz való egyedi hozzáférés lehetőségének biztosítása is indokolja a particionálást.

A particionálás megvalósítására számos - lényegében multiplexer funkciót ellátó - integrált áramkör létezik10.
A panelen belül a jelvezetés miatt fellépő jeltorzulások, késleltetések és egyéb jelenségek csökkentése érdekében betartandó még néhány szempont:

  • A TCK és TMS jelek hosszú vezetékeinek kialakítása a permfigyeléses rendszer működése szempontjából kritikus. Mivel ezt a két jelet a panelen lévő összes áramkör párhuzamosan megkapja, ezért ezek a tesztbusz-vonalak a leghosszabbak (szemben a TDO-TDI összeköttetésekkel, amelyek csak a hurokban szomszédos alkatrészek között helyezkednek el). A huzalozásnál a két vonal hosszát azonos értéken kell tartani, különben elcsúszás léphet fel. Például egy, a tesztbusz-csatlakozótól távoli alkatrésznél előfordulhat, hogy magas órajel-frekvencia esetén a TCK vonalon megjelenő jel felfutó élénél nem lesz még állandósult a TMS jel jelszintje. A jelvisszaverődések megakadályozása érdekében nem alkalmazható a huzalozásnál a derékszögű vezetéktörés, helyette két darab 45°-os törést, vagy még inkább íves huzalvezetést kell alkalmazni. Kerülni kell még a huzalozás aszimmetrikus kialakítását (például a két vezeték egyike réteget vált, a másik nem, vagy az egyik vezeték egy összefüggő földfelület felett kerül elhelyezésre, a másik nem). Az említett példákon kívül még számos nyomtatott áramkör tervezési szempontot figyelembe kell venni.
  • Ha a panelen belül a peremfigyelés buszának TMS és TCK jeleit sok alkatrészhez kell elvinni, akkor a panelen alkalmazott áramkörcsaládból származó buffer-áramkört kell alkalmazni. Figyelembe kell venni, hogy a bufferek kapu-terhelhetőségét (fan-out) nagyobb vezetékhossz esetén a szórt kapacitások és induktivitások miatt nem lehet teljes mértékben igénybe venni. Ökölszabályként elfogadható, hogy néhány cm-es vezetékek esetén az egyébként 10 kapuval terhelhető bufferek 4-6, 10 cm-nél hosszabb vezetékek esetén pedig csak 1-2 kapuval terhelhetőek [1].

A peremfigyeléses hurok kialakításánál gondolni kell a hurok fizikai lerövidítésének lehetőségére is. Előfordulhat, hogy egy áramköri panel fejlesztése közben egy időlegesen nem beszerezhető, és így a panelről hiányzó alkatrész miatt nem alkalmazható a peremfigyeléses technika (mivel a tesztelés szempontjából sorosan kapcsolódó alkateszekről van szó), vagy egyszerűen a panel egy adott szintű kiépítésében nincs szükség egy vagy több áramkörre (más kiépítésben viszont igen). Ilyenkor fizikai áthidalást kell alkalmazni. A fizikai áthidalás elektromos szempontból igen egyszerű: egy opcionális, alapesetben nem beültetett 0 W-os ellenállást kell a TDI és TDO pontok közé betervezni. Ha a permfigyeléssel rendelkező alkatrész nincs a helyén, akkor a hurok folytonossága érdekében ezt az ellenállást kell beültetni.

Az áramköri panelen a peremfigyeléssel nem rendelkező egységek tesztelhetőségének biztosítására, azok környezetét nagy gondossággal kell kialakítani. A számos szempont közül, csak néhányat megemlítve:

  • Ha a nem peremfigyeléses áramkörök csoportjának (cluster) határpontjai peremfigyeléses alkatrészekre csatlakoznak, a tesztelésbe bevonhatóak. Ha egy ilyen csoportnak vannak olyan pontjai, amelyek nem csatlakoznak peremfigyeléses áramkörökhöz (pl. csatlakozóra mennek), akkor ezen pontok gerjesztését, illetve érzékelését a tesztelhetőség érdekében meg kell oldani.
  • Külön figyelmet kell fordítani a nem peremfigyeléses eszközök engedélyező bemeneteire, azokat közvetlenül tápfeszültségre vagy földre nem szabad kötni, mert ez a tesztelhetőséget gátolja. Az ilyen bemeneteket egy ellenálláson keresztül kell a kívánt jelszintre kötni, és a vezérlés lehetőségét egy peremfigyeléses eszköz nem használt lábára való csatlakoztatással kell biztosítani.
  • A panel órajelének, vagy órajeleinek peremfigyeléssel való vezérelhetőségét is meg kell oldani. Ehhez is szükség van szabad peremfigyeléses lábak felhasználására, ahogyan azt a 3. ábra mutatja. Normál üzemmódban az órajel-forrás kimenetén megjelenik az órajel, amely a VAGY kapun keresztül kapcsolódik a rendszerhez (a vagy kapu másik bemenete 0 logikai szinten kell, hogy legyen). Teszt üzemmódban az órajel-forrás kimenete letiltott, nagyimpedanciás állapotban van, a VAGY kapu ide csatlakozó bemenetét a lehúzó ellenállás földre köti. Ebben az esetben egy permfigyeléses láb adhatja a rendszer órajelét (CK), a VAGY kapu másik bemenetén keresztül.

3. ábra:
Peremfigyeléssel való vezérlési lehetőséggel rendelkező órajel-forrás kialakítása

 

II. A peremfigyelés kiterjesztése rendszerszintre
Rendszerszintű peremfigyelési architektúrák

Egy olyan rendszer esetén, amely több áramköri panelt tartalmaz, a peremfigyeléses tesztbusz megvalósítása többféle architektúra szerint lehetséges [2]:

  • Gyűrű (Ring)
  • Csillag (Star)
  • Multidrop

A gyűrű szerkezet (4. ábra) teljes mértékben átveszi a peremfigyeléses tesztbusz alapfelépítését. A rendszerben lévő áramköri panelek sorba kapcsolódnak a TDO és TDI lábaikon keresztül. A TMS és TCK jeleket párhuzamosan kapják a tesztbusz-vezérlőtől, a hátlapi buszrendszeren (Backplane) keresztül eljutnak minden kártyához. A szomszédos kártyák TDO és TDI pontjai is a hátlapi buszrendszeren csatlakoznak egymáshoz, de ez soros jelút csak akkor teljes, ha minden kártya a helyén van, és legalább bizonyos fokig (a teszteléshez szükséges mértékben) működőképes. Ezért ez az elrendezés meghibásodásokra igen érzékeny, ritkán használt architektúra.


4. ábra:
Gyűrű szerkezetű rendszer szintű peremfigyeléses hurok

A csillag szerkezet (5. ábra) esetén a hátlapi buszrendszeren keresztül minden áramköri panel megkapja a tesztbusz-vezérlő TCK és a TDO jeleit. A panelek TDO jelei is közösítve vannak, és csatlakoznak a tesztbusz-vezérlő TDI pontjára. A TMS jelekből annyit állít elő a vezérlő, ahány kártya van a rendszerben (TMS1, TMS2.TMSn). Ezek a jelek az egyes kártyákra közvetlenül kapcsolódnak. Hátránya az ilyen felépítésű rendszernek, hogy nagyszámú áramköri panel esetén sok TMS jel előállítása szükséges, ami bonyolulttá teszi a tesztbusz-vezérlőt, valamint a huzalozás megvalósítását. Hátránya még, hogy egyszerre csak egy panel vonható be a tesztelésbe.


5. ábra:
Csillag szerkezetű rendszer szintű peremfigyeléses hurok

A fenti problémákra a Multidrop architektúra (6. ábra) ad megoldást. Ebben az esetben a tesztbusz-vezérlő egy-egy TMS, TCK, TDI és TDO csatlakozással rendelkezik. Az összes panel párhuzamosan kapcsolódik ezekre a vonalakra. Minden panelnek van egy azonosítója (címe), amely lehet beprogramozott (szoftveres vagy hardveres úton), vagy függhet a kártya pozíciójától (Slot ID). A kártyák mindegyikén egy címezhető tesztport11 van elhelyezve, amely tulajdonképpen nem más, mint egy kapcsolósor, amely akkor záródik, ha a tesztbusz-vezérlő arra a tesztportnak parancsot ad. Ha arra szükség van, egyszerre több tesztport - és így több kártya - is csatlakozhat a tesztbusz-vezérlőhöz.

6. ábra:
Multidrop szerkezetű rendszer szintű peremfigyeléses hurok kialakítása

Szinte kizárólagos elterjedésük miatt a továbbiakban csak a Multidrop szerkezetű rendszerekről lesz szó.

A tesztelés vezérlésének lehetőségei

A tesztelés megvalósítható külső és belső (beágyazott) tesztvezérlővel. A külső tesztvezérlő alkalmazása esetén a hátlapi buszrendszeren keresztül teremthet kapcsolatot a tesztvezérlő az egyes kártyákkal, amelyek azonosítása címük alapján lehetséges. A kártyákon belül, ha felépítésük particionált, akkor a különálló hurkok elérése megfelelő eszközökkel biztosított. A külső tesztvezérlő alkalmazásának előnye, hogy a korábban panel-szintre kidolgozott tesztelés változatás nélkül használható. Hátránya, hogy a hátlapi buszrendszerhez való csatlakozás miatt a tesztelés csak akkor végezhető el, ha a tesztelendő rendszer és a tesztvezérlő fizikailag egy helyen van. A külső tesztvezérlő általában egy megfelelő buszillesztővel ellátott asztali vagy hordozható számítógép.

A beágyazott tesztvezérlő alkalmazása esetén a lefuttatandó tesztvektorok egy belső memóriában vannak letárolva, és a teszteredmények is ide kerülnek. A tesztvezérlő általában az egyébként is jelen lévő mikroprocesszor. Ennek a megoldásnak számos előnye van. Ha a tesztadatokat tartalmazó memória távelérése megoldott (pl. az Interneten keresztül), akkor egy rendszer állapotáról nagy távolágból is lehet információt szerezni, és az esetleges hibákat nagy pontossággal be lehet határolni. Ebben az esetben a hibadetektáláshoz, illetve hibabehatároláshoz szükséges intelligencia a távoli eszközben van megvalósítva. Ha ez a képesség a helyi beágyazott tesztvezérlőben is megtalálható, akkor az így kialakított rendszer képes lehet öntesztre12, állapotáról helyben (és távoli helyen is) adhat friss információt [3]. Ez az önteszt lefuthat automatikusan (pl. bekapcsoláskor vagy időnként, időzítve), vagy kérésre.

Amint látható, a beágyazott tesztvezérlős megoldásnál is szükség van külső számítógépre, de a szerepe más, mint a külső tesztvezérlős elrendezésnél. Tulajdonképpen ez egy szerver-kliens kapcsolat, ahol az alacsony szintű és a magasabb szintű tevékenységek elkülönült helyen futnak le. Az, hogy a határ hol van, tehát, hogy mi minősül alacsony, illetve magas szintű tevékenységnek, a beágyazott vezérlő intelligenciájától függ, elképzelhető olyan viszony is, hogy a külső vezérlő szerepe elhanyagolható, esetleg alkalmazása szükségtelen.

III. A rendszerszintű peremfigyelés gyakorlati megvalósítása

Az előző fejezetekben már a megemlítés szintjén szerepelt néhány, a rendszerszintű peremfigyelés megvalósításához alkalmazható alkatrész. Mivel egyrészt a peremfigyeléses technika kidolgozásában úttörő szerepet vállalt, másrészről pedig a peremfigyeléses alkatrészek területén talán a legkiterjedtebb választékkal rendelkező cég a Texas Instruments, ezért e gyártó alkatrészei közül mutatok be néhányat. Az alkatrészek mindegyike létezik védelmi célú elektronikai, illetve általános katonai alkalmazásokra alkalmas változatban is (54-es sorozat), amely -55.125°C között használható.

74ACT8990 - Tesztbusz vezérlő13

Ez a típus egy mikroprocesszorral vezérelhető IEEE1149.1-kompatibilis tesztbusz-vezérlő. Segítségével egy áramköri panelen belül megvalósítható a particionálás, mivel az eszközzel akár 6 peremfigyeléses hurok vezérlése is megoldható. A vezérlő processzorhoz 5 bites cím- és 16 bites adatbuszon csatlakozik. Megszakítás-kimenetén képes jelezni, ha a vezérlő processzortól kiszolgálást kér. Az áramkör ki- és bemenetei TTL kompatibilisek (5 V). Blokkvázlatát az 7. ábra mutatja.

 
7. ábra:
A 74ACT8990 tesztbusz vezérlő felépítése [4]

74LVT8980a - Beágyazott tesztbusz-vezérlő14
Ennek az áramkörnek a használatával egy intelligens eszköz hozzáférhet az IEEE1149.1 szabványú tesztbuszhoz. Az áramkör egyszerűen kezelhető mikroprocesszoros vagy mikrovezérlős rendszerekben, a 3 bites cím- és a 8 bites adatbuszának köszönhetően. Bár tápfeszültsége 3,3 V, de úgy tervezték, hogy bemenetei elviselik az 5 V-ot is. Alkalmazási vázlatot a 8. ábra mutat. A példában az egyik rendszermodul tartalmazza a tesztbusz-vezérlőt, és az azt működtető mikroprocesszort. Az összes rendszermodulban egy-egy címezhető peremfigyeléses port (ASP, lásd később) található, amelyeken keresztül a hozzájuk csatlakozó peremfigyeléses hurkok vizsgálata elvégezhető.

 
8. ábra:
A 74LVT8980a beágyazott tesztbusz-vezérlő alkalmazása [5]

74ACT8997 - Peremfigyeléses hurok be/átkapcsoló áramkör15

Ennek az áramkörnek a segítségével a másodlagos hurkok közül egy, vagy több az elsődleges hurokba kapcsolható, tehát például particionálásra használható. Egy ilyen eszközzel 4 másodlagos hurok kezelhető, de több áramkör alkalmazásával a hurkok száma növelhető. Az áramkör azonosítója (ID), amely hardveresen (4 láb kívánt logikai szintre kötésével) beállítható, egy paranccsal lekérdezhető, így az eszköz egyértelműen azonosítható. Az áramkör ki- és bemenetei TTL kompatibilisek (5 V). Az áramkör lehetséges üzemmódjai közül néhányat a 9. ábra mutat. Itt az látható, hogy hogyan alakul a peremfigyeléses hurok a másodlagos hurkok nélkül, illetve egy, vagy több másodlagos hurok bekapcsolásával.

 
9. ábra:
A 74ACT8997-tel felépített peremfigyeléses rendszer néhány lehetséges üzemmódja [6]

74LVT8996 - Címezhető peremfigyeléses port16

Ennek az áramkörnek az alkalmazásával a peremfigyeléses hurok kiterjeszthető panelszintről rendszerszintre. A Multidrop rendszerekben alkalmazható áramkör, ahol a közös peremfigyeléses buszra (elsődleges tesztbusz) programozhatóan egy, esetleg több panel kapcsolódik rá (amelyekben a másodlagos tesztbuszok vannak kialakítva). 10 bites címmel rendelkezik, így elvben több mint 1000 áramköri panel Multidrop rendszerben való tesztelését teszi lehetővé. A kimenetei nagyáramúak, annak érdekében, hogy az elsődleges és másodlagos tesztbuszok felé ne kelljen bufferáramkört alkalmazni. Az alkalmazási terület miatt fontos, hogy ESD17-védelemmel rendelkezik. Bár tápfeszültsége 3,3 V, de úgy tervezték, hogy bemenetei elviselik az 5 V-ot is. Az áramkör blokkvázlatát a 10. ábra mutatja.

 
10. ábra:
A 74LVT8996 címezhető peremfigyeléses port blokkvázlata [7]

74LVT8986 - Bővíthető, címezhető peremfigyeléses port18

Ez az áramkör nagymértékben hasonlít az előzőekben tárgyalt típushoz, mind funkciójában, mind alkalmazásában, mind pedig elektromos tulajdonságaiban. A különbség annyi, hogy ez az eszköz kaszkádosítható, így legfeljebb 24 másodlagos tesztbuszig bővíthető. Az előző típussal együtt használható Multidrop rendszerekben, egy lehetséges alkalmazás vázlatát az 11. ábra mutatja.

 
11. ábra:
ASP és LASP áramkörökkel felépített peremfigyeléses rendszer [8]

 

IV. Peremfigyeléses vizsgálat a védelmi célú elektronikai rendszerek öntesztjében

A védelmi célú elektronikai berendezésekben egy bizonyos komplexitás felett gyakori a beépített tesztelés. A beépített önteszt megtalálható a személyi informatikai eszközökben (pl. PDA-kban, PDA alapú rendszerekben), vagy a felügyelet nélkül üzemelő eszközökben és rendszerekben (pl. védelmi célokat szolgáló szenzorok (akusztikus, mágneses, szeizmikus, stb.), szenzorrendszerek. A teszt lefutása legtöbb esetben többé-kevésbé rejtett marad a felhasználó számára, általában csak egy rövidített jelentésből észrevehető, hogy a háttérben megtörtént a tesztelés. Az önteszt során alkalmazott technológiát a fejlesztő és gyártó cégek üzleti titokként kezelik, így teljes biztonsággal nem tudható, hogy peremfigyeléses technológiával megvalósított öntesztelés működne bármelyik védelmi célú elektronikai eszközben. Az azonban kijelenthető, hogy a védelmi célú elektronikai alkalmazásokban a digitális (és a kevert jelű) peremfigyeléses tesztelés segítségével a digitális áramköri elemek nagy része, illetve az analóg áramköri elemek egy része tesztelhető lenne.

A védelmi célú elektronikai eszközökben az ipari elektronikai alkatrészeket, vagy azok fokozott környezeti hatásokat is elviselő, funkcióban azonos változatait használják. Ezek közül az alkatrészek közül tervezésnél választható olyan, amely bevonható a peremfigyeléses tesztelésbe, illetve sokuk olyan kialakítású, hogy nem is létezik belőle peremfigyelés nélküli változat. Az ilyen áramkörökből felépített berendezésekben megállapítható az áramköri lemez huzalozásának és forrasztásainak épsége, amely védelmi célú elektronikai eszközöknél a fokozott meghibásodási valószínűség miatt igen fontos. Segítségével vizsgálható a digitális áramköri funkciók a programozható logikák és a memóriák működése. Egy rendszerben ahhoz, hogy beépített öntesztet lehessen megvalósítani, kell egy vezérlő, amely az önteszt tevékenységeit irányítja, előállítja a vizsgálathoz szükséges tesztmintákat, majd a választ képes kiértékelni. Ilyen intelligens eszköz csaknem minden védelmi célú elektronikai eszközben megtalálható. Az előző fejezetekben leírtak szerint a rendszerszintű tesztelés is megvalósítható, ha a rendszerben legalább egy egység rendelkezik intelligenciával.

A peremfigyeléses tesztelés, illetve általánosan az öntesztelés alkalmazása a védelmi célú elektronikai rendszerekben - a szokásos áramköri funkciók megvalósításához képest - nem jelent többletet az alkatrészek paramétereinek szempontból. Minden alkatrésznek, tokozásnak, nyomtatott áramköri lemeznek, illetve az elektronikai egységek mechanikai kialakításának meg kell felelnie a fokozott igénybevételnek. Ilyen igénybevételek a használat közben jelentkező széles hőmérséklet- és relatív páratartalom tartomány, rezgések, ütések, fokozott porterhelés, stb. Strukturális szempontból - ahogyan az az előző fejezetekből is látható - szintén minimális kiegészítés szükséges (tesztbusz kialakítása, esetleg néhány segéd-áramkör). Szoftver oldalról a berendezés alap szoftverfunkcióin kívül számolni kell az önteszt vezérléséhez szükséges kiegészítő rutinok megírására, illetve a gerjesztő tesztvektorok, valamint a helyes válaszok eltárolására, esetleg tesztelés közbeni kiszámítására.

Összegzés

A fentiek alapján megállapítható, hogy a védelmi célú elektronikai berendezésekben a peremfigyeléses technológia alkalmazása jelentős előnyökkel bír. Gyakran előfordul, hogy a nem tesztelhetőre tervezett rendszereket felépítő integrált áramkörök nagy része rendelkezik a peremfigyelés képességével, és a peremfigyeléses tesztelés kialakítása csak minimális többletmunkát és -költséget jelentene. A peremfigyeléses teszteléssel rendelkező áramkörök áramköri panel és rendszer szinten nagymértékben leegyszerűsítik a tesztelési eljárást, felgyorsítják annak kidolgozását, amely az alkatrészköltség minimális emelkedését bőségesen ellensúlyozza. Áramköri panel és rendszerszinten is fontos a megfelelő tesztbusz-architektúra kiválasztása és gondos megvalósítása, mert enélkül a peremfigyeléses tesztelés előnyeinek egy része elveszhet. A nem peremfigyeléses áramkörök bevonása a tesztelésbe viszonylag egyszerűen megoldható, azonban a hibahely pontos behatárolása ebben az esetben nem mindig lehetséges. A rendszerszintű tesztelés architektúrájaként a Multidrop változatot kell előnyben részesíteni, ehhez több gyártó is kínál áramköröket. Minden új tervezésű rendszerben a tesztelhetőre tervezés elvét követve érdemes megvalósítani a peremfigyeléses hurkon keresztüli tesztelés, felkonfigurálás és hibakeresés lehetőségét.

 

Felhasznált irodalom

[1] JTAG Technologies: Design for Test Guidelines for Board Testing and In-System Configuration, JTAG Technologies B.V., Eindhoven, 2002

[2] Texas Instruments: IEEE Std. 1149.1 (JTAG) Testability Primer (SSYA002D), Texas Instruments Incorporated, Dallas, 1997

[3] SJTAG Core Group: System JTAG white paper, Tallin, 2005, (www.dft.co.uk/SJTAG) (2007. december 9-i elérhetőség)

[4] Texas Instruments: SN54ACT8990, SN74ACT8990 Test Bus Controllers, Texas Instruments Incorporated, Dallas, 1997

[5] Texas Instruments: SN54LVT8980A, SN74LVT8980A Embedded Test Bus Controllers, Texas Instruments Incorporated, Dallas, 2004

[6] Texas Instruments: SN54ACT8997, SN74ACT8997 Scan-Path Linkers with 4-bit Identification Buses, Texas Instruments Incorporated, Dallas, 1996

[7] Texas Instruments: SN54LVT8996, SN74LVT8996 3.3-V 10-bit Addressable Scan Ports, Texas Instruments Incorporated, Dallas, 1999

[8] Texas Instruments: SN54LVT8996, SN74LVT8996 3.3-V Linking Addressable Scan Ports, Texas Instruments Incorporated, Dallas, 2007

Vissza a szöveghez


Jegyzetek

1 Molnár Zsolt Budapesti Műszaki Főiskola, KVK MAI
molnar.zsolt@kvk.bmf.hu

2 LSI: Large Scale Integration, nagymértékű integráltság; VLSI: Very Large Scale Integration, nagyon nagymértékű integráltság (ide tartoznak például a processzorok és a programozható eszközök)

3 SSI: Small Scale Integration, alacsony mértékű integráltság (ilyenek például az egyszerű kapuáramkörök); MSI: Medium Scale Integration, közepes mértékű integráltság (ilyenek például a számlálóáramkörök)

4 Egy ilyen probléma az, hogy a megosztott lábak bekapcsolás után a normál működés szerinti alapfunkciójukat veszik fel, a másodlagos funkcióként meglévő peremfigyeléses tesztbusz-vonalakat külön engedélyezni kell.

5 Például a CPLD-k (Complex Programmable Logic Device), amelyekben a felépítésükből adódó korlátokon belül tetszőleges logikai elrendezés megvalósítható. A CPLD-k felkonfigurálása jellemzően a készre szerelt áramköri panelben történik.

6 Az IEEE1532 szabvány a programozható eszközök áramkörben való konfigurálását szabványosítja.

7 IEEE1149.1 szerinti kötelező parancsok: SAMPLE/PRELOAD (peremfigyelő cellákhoz tartozó lábak állapotának mintavételezése és tesztadatokkal való feltöltése), EXTEST (a peremfigyelő cellákba betöltött értéktől függően a lábak gerjesztése) és BYPASS (áthidalás, a peremfigyelő regiszter helyett egy egybites regiszter bekapcsolása a TDI és TDO lábak közé).

8 Például több, közös adat- és címbuszra csatlakozó eszköz esetén, a buszra csatlakozó memória peremfigyeléses eszközökön keresztüli beprogramozásakor a nem használt, de a buszra csatlakozó áramkörök lábainak nagyimpedanciás állapotba helyezésével nem okoznak konfliktust a buszon.

9 A memóriák esetében egyelőre még ritka a beépített peremfigyelés, ugyanis ezeknél az eszközöknél a cél a minél több memóriacella megvalósítása adott félvezető-felületen. RAM-ok esetében egyáltalán nem alkalmazzák a peremfigyelést, a FLASH memóriák között már találhatunk néhány típust, amely programozható peremfigyeléses technikával.

10 Például: a Texas Instruments Scan-Path Linker áramkörei, vagy a National Semiconductor IEEE1149.1 (JTAG) Multiplexer áramkörei

11 Gyártótól függően ezek az eszközök más-más néven található meg, azonos, illetve nagyon hasonló funkcióval. Ilyenek például a Texas Instruments ASP (Addressable Scan Port) eszközei, vagy a National Semiconductor SCAN Bridge eszközei.

12 BIST: Built-in Self Test, beépített önteszt

13 TBC: Test Bus Controller

14 eTBC-Embedded Test-Bus Controller

15 Scan Path Linker

16 ASP: Adressable Scan Port

17 ESD: Electro-Static Discharge

18 LASP: Linking Addressable Scan Port

Vissza a szöveghez

Vissza a tartalomhoz

© ZMNE BJKMK 2007.