Surface-mount technology rang the death knell for bed-of-nails testing. That's why a consortium of companies called the Joint Test Access Group came together to define a standard for boundary-scan testing of ICs and boards. JTAG is currently used on almost all more complex devices. Furthermore, JTAG can be used also for programming chips in-circuit. Many non volatile memory (EEPROM/Flash) equipped chips provide JTAG interface for flash programming or reading out memory (e.g. Xilinx CPLDs, Altera CPLDs, almost all ARM7TDMI microcontrollers, MSP430, etc...)
JTAG connector is in most cases just a pin header.
- ARM JTAG - Standard JTAG connector for ARM based devices (ARM7TDMI, XScale, ARM9, ...)
- MIPS EJTAG
- Xilinx JTAG - interface for programming and configuring Xilinx FPGAs, CPLDs and configuration memories
- Lattice ispDOWNLOAD JTAG - interface for programming and configuring Lattice FPGAs and CPLDs
- PLD JTAG - generic 8pin JTAG for programming PLD devices
- Standard JTAG (Maxim-IC MAXQ,Altera ByteBlaster, AVR JTAG)
- MSP430 JTAG
- MCORE JTAG
- MPC BDM Freescale/IBM/Motorola PowerPC BDM and JTAG connector
Proprietary JTAG connectors
There are several different types of cables that are popular for hooking up to JTAG headers inside consumer electronic equipment. Most of these rely on a regular PC's parallel port to drive the JTAG signal lines. There are vendors of commercial JTAG cables that sell them at extravagent prices. For the home user or hobbyist, however, a better choice is usually to construct a cable at home from commonly available parts.
Driving a JTAG interface through the parallel port on a PC is a slow proposition. Really slow. This is due more to the nature of the parallel port connection than an inherent limit of the JTAG specification. In fact, the JTAG spec allows for up to 25 milliion bits-per-second transfers. With a parallel port cable, however, you will be lucky to achieve more than about 400,000 bits-per-second. With these speeds it is not unusual to spend 25 minutes writing a mere 256 KB of data over a JTAG cable. Programming an entire 2 MB or 4 MB flash chip can literally take hours. It's worth it, however, if you have an otherwise worthless device on your hands and JTAG is the only way to revive it. The Macraigor Raven and USB JTAG adaptors are much faster, but there are no known schematic to implement it.