JTAGJTAG, acronimo di Joint Test Action Group, è un consorzio di 200 imprese produttrici di circuiti integrati e circuiti stampati allo scopo di definire un protocollo standard per il test funzionale di questi dispositivi, che tendono ad essere sempre più complessi e difficili da controllare, fino a rendere impraticabili i tradizionali metodi manuali o automatici e ad aumentare in modo non competitivo il “Time to market”. Consapevoli di queste esigenze, le grandi industrie hanno scelto una strada che permette un collaudo razionale della scheda su cui viene installato sacrificando in piccola parte le risorse disponibili nel circuito integrato. Oltre a questo vi è la possibilità di avere delle funzionalità aggiuntive (rivolgendo il controllo dai piedini verso l'interno del componente)[non chiaro] quali la facile programmazione di memorie, microcontrollori e altri dispositivi programmabili con un'unica operazione, la possibilità di debug del firmware e la possibilità di attivare dei test automatici (detti BIST, Built-in self-test) inseriti stabilmente nei componenti elettronici per verificare la loro funzionalità in modo parziale o totale. Storia del JTAGQuesto consorzio è stato attivo tra il 1985 e il 1990 e ha dato vita a quello che poi è diventato lo standard IEEE 1149.1 (prima stesura nel 1990; titolo: IEEE Standard Test Access Port and Boundary-Scan Architecture; revisioni nel 1993 e 1994), noto colloquialmente come standard JTAG dal nome del consorzio promotore o anche Boundary Scan (esame della frontiera) inteso come esame dei pin accessibili di un circuito integrato. Le principali aziende aderenti furono IBM, AT&T, Siemens, DEC, Nixdorf, Texas Instruments, Philips. Nel 1990 la Intel produce il primo microprocessore con lo standard JTAG: l'80486. Nel 1994 venne definita lo standard del linguaggio di accesso ai vari componenti (chiamato Boundary scan description language) in modo che il programma che gestisce tutto il test e a cui vengono passate tutte le informazioni sullo schema elettrico della scheda possa accedere ai singoli dispositivi ed effettuare i test sulle connessioni e le eventuali programmazioni sui componenti che lo necessitano. I problemi di un collaudo efficiente delle schede elettronicheLe schede elettroniche sono diventate sempre più complesse:
I sistemi di collaudo si basano su vari metodi spesso usati contemporaneamente:
Il JTAGLa soluzione proposta dal Joint Test Action Group è stata quella di prevedere per alcuni pin dei circuiti integrati la possibilità di bloccare il funzionamento normale degli stessi e di passare in un modo di funzionamento speciale che permetta di prendere il controllo di tutti i restanti pin dei circuiti integrati. Nella figura sono illustrati tre circuiti integrati (DEVICE 1, DEVICE 2 e DEVICE 3) e le loro connessioni di test JTAG che saranno accessibili su un connettore riservato al test. I tre circuiti integrati avranno numerosi altri pin, anche centinaia, variamente collegati:
I segnali che permettono il test JTAG (indicati in figura) sono:
I circuiti integrati sono controllati in modo seriale in catena (daisy chain), in quanto i segnali TDI e TDO trasferiscono i dati dall'ingresso della scheda, tra un circuito integrato e il successivo ed infine vengono letti sul pin TDO sull'uscita della scheda. La trasmissione seriale è sincrona (Serial Peripheral Interface) in quanto controllata da un segnale di clock (TCK) applicato contemporaneamente a tutti gli integrati JTAG[2]. La frequenza del clock (TCK) viene determinata dal dispositivo più lento della catena (tipicamente è di 10-100 MHz, 100-10 ns per bit). Il segnale TMS segnala ai circuiti integrati di sospendere il loro normale funzionamento e di riconoscere il modo di funzionamento di test (JTAG). Per dettagli sulle temporizzazioni dei segnali si possono consultare i datasheet degli integrati che lo usano[3]. Test della scheda mediante il JTAGEntrati in modo test JTAG si può accedere ad ogni pin dei circuiti integrati della catena e metterli in modo uscita (alto o basso) o in modo ingresso. Le connessioni non visualizzate in figura tra DEVICE 1 e DEVICE 2, che potrebbero ad esempio essere un microprocessore e un altro dispositivo (CPLD, FPGA, ecc.) possono essere controllate per quanto riguarda sia le interruzioni sia eventuali cortocircuiti. Se tra i due dispositivi sono presenti componenti non JTAG (detti in gergo cluster) il test può essere possibile, ad esempio se si tratta di resistori collegati in serie o di un semplice buffer digitale, oppure possono essere possibili solo verifiche parziali della funzionalità. I software di gestione delle funzioni JTAG permettono di definire una "copertura", in genere espressa in percentuale, che definisce quanto di un componente può essere testato e quanto il risultato del test è affidabile. Anche su schede semplici, dove è presente un solo componente, con JTAG il test può essere possibile e conveniente in concomitanza con i tradizionali sistemi. Difficilmente le schede complesse sono costituite interamente da circuiti digitali testabili mediante boundary scan, dato che quasi sempre ci sono anche componenti e parti interamente analogiche e quindi spesso è utile considerare un approccio integrato di test funzionale e boundary scan[4]. Altre funzioni possibili con il JTAG
Note
Altri progetti
Collegamenti esterni
|