Programmeeritavate integraallülitustega elektroonikaseadmete testimisest
Teemaks on seekord midagi, mis oma standardsuse ja praktilise olemusega võib pakkuda huvi laiemale elektroonikahuviliste ringile.
Testimisliideste andmevahetus
Paljudesse mikrokontrolleritesse, signaaliprotsessoritesse jt keerukamatesse integraallülitustesse on integreeritud standardsed testimis- või silumisliidesed (debug port). Olemuselt ja skeemilt on need tavaliselt küllaltki lihtsad nihkeregistrid, mis on pikaks ketiks kokku ühendatud. Keerukamas süsteemis on sellises nihkeregistrite ketis sadu trigereid ja andmete edastamine läbi sellise pika trigeriketi on küllaltki aeglane. Olukorra parandamiseks on kasutusel kommuteeritavad möödaviigud (inglise k. bypass) mis võimaldavad andmete edastamisel väljalülitatud nikeregistritest “üle hüpata”. Kommutaatorite juhtimiseks on integraallülitustes kasutusel TAP (test access port) või DAP (debug access port) mille on käsuregister IR (Instruction Register). Kõige lihtsamal juhul sisaldabki integraallülitus ühebitilist möödaviiguregistrit BR (bypass register) ja mõnebitilist käsuregistrit IR. Juhul kui möödaviik on sisselülitatud siis paistab integraallülituse teistimisliidese ahel kui üksik D-triger ehk ühebitiline nihkeregister. Registrid sellises pikas nihkeregistrite ketis on erineva pikkusega. Lühemad, näiteks BR on ühebitised, pikemad andmeregistrid on sageli 35- või enamabitised. Standard IEEE 1149.1 määrab registrid, mis peavad seadmes olema, et seade vastaks JTAG liidese standardile, tähtsaimaks on käsuregister (IR). Mõnedel seadmetel, mis vastavad nimetatud standardis kirjeldatule osaliselt, on sel juhul testimisliidest teisiti nimetatud. On olemas ka väiksema ühendusjuhtmete arvuga testimisliideseid.
Integraallülituste poolt toetatud testimiskäsud
Erinevate töö- ja testimisviiside valikuks on seadmes paikneval testimisliide juhtseadmel käsukoodid. Testimisel on esimeseks saadetavaks bitijadaks tavaliselt käsukood mis viib testitava sedme soovitud olekusse – tööolek, peatatud olek, sisendolek, väljundolek vms. Sellele järgnevad kas andmed või teised testimisprotsessis vajalikud käsukoodid. Käsuregister on erinevates seadmetes erineva pikkusega. Levinud on 5-bitised käsuregistrid, millega on võimalik adresseerida kuni 32 erinevat käsku. Möödaviigu käsk on käsuregistris sageli selline kus kõik bitid on ühed st. 5-bitilise registri korral kahendkoodis 11111 = 0x1F. Seadme testimise seisukohalt on teiseks oluliseks registriks väliste ahelate juhtimiseks ja kontrolliks ettenähtud register BSR (boundary scan register). Käsuga EXTEST (external test) saab trigeriketti lülitada integraallülituste väliste ahelate testimiseks ettenähtud nihkeregistrit BSR ja selle kaudu ühenduda integraallülituse viikudega ja nendega ühendatud väliste ahelatega (trükkplaadiradadega). Paljud integraalülitused võimldavad ka oma sisemiste ahelate ja loogikalülituste testimist. Sisemiste loogikalülituste testimiseks on nendel integraallülitustel, mis seda võimldavad sageli eraldi käsk INTTEST (internal test). Testimisregistri BSR bittide arv sõltub integraallülituse viikude või testitavate sisemiste ahelate arvust. Keerukamate integraallülituste puhul ulatub selle maht sadadesse bittidesse. Paljudes seadmetes on kasutusel mitmeotstarbeline SAMPLE/PRELOAD register. Seadme monitoorimiseks selle tööd peatamata nimetatakse seda SAMPLE kuid sama registrer on kasutusel ka testimistalitluses vahepuhvrina PRELOAD. Vahepuhver on vajalik andmete laadimisel suure mahuga BSR registrisse
Viited mõnedele sissejuhatavatele loengutele Internetis
Testimise tulemused
Töötavat või osaliselt töötavat seadet testimisliidese abil jälgides võib jõuda võimalike rikete või defektide osas selgusele. Tüüpilisteks vigadeks on näiteks temperatuurimuutuste tõttu lagunenud või ebakvaliteetsed jootekohad trükkplaadil. Sellisel viisil on võimalik leida ka BGA-kestaga integraallülituste kiibialuseid külmjoodetest tingitud katkestusi või mitmekihiliste trükkplaatide vahekihtides paiknevad katkestusi. Vigade asukoha täpseks määramiseks on abiks kas vastava integraallülituse dokumentatsioon või seadme elektriline põhimõtteskeem. Seadmete ja kiipide tootjad neid sageli ei avalda, mistõttu võib vea leidmine eeltoodud meetodil olla raskendatud. Huupi ei tasu väljundeid siiski plõksida – jõupooljuhtmuunduritest võib huupi plõksides tulla nii suitsu kui ka tuld.
Testimisprotseduuriks läheb vaja ka tarkvara ja remondiks jootetarvikuid, aga sellest juba järgmistes blogi-postitustes.