JTAG Cables - Get Your JTAG Cable
Looking for JTAG Cable? Learn about JTAG interface, wigglers, programmers and JTAG software. JTAG cable is a simple cable that connects one control device (usually computer) with JTAG port on the target board or device.
JTAG cables usually have some interface or at least buffer to amplify signals. All JTAG cables have TDI, TDO, TCK, TMS and TRST signal. These are part of the IEEE 1149 standard. However, there is no standard for cable headers. Each family of devices might have different JTAG pinout. JTAG cables can be pretty simple, few wires connected to the parallel port. A better JTAG cable has USB interface. For each JTAG table there must be some JTAG software that supports this cable. There is no universal solution, although many popular JTAG software applications support common JTAG cables used.JTAG is also widely used for FPGA programming. Each FPGA board has some JTAG interface which is used to program the FPGA. There are three very popular FPGA programmers: the Altera Byte Blaster (which has USB interface), Xilinx USB JTAG programmer and the old Xilinx JTAG programming cable for parallel port.There is also one popular JTAG cable called Wiggler which is a parallel port interface for either JTAG or BDM debugging. The wiggler is simple and cheap interface used to debug and program embedded systems. One side of the Wiggler connects to the PC parallel port and the other side connects to an On-Chip Debug port of the target device. This OCD port may be either JTAG, E-JTAG, OnCE, COP, BDM, or any of several other types of connections.
One of the difficult areas in the development of any modern hardware system is the production-testing of the Printed Circuit Boards (PCBs). This is the problem addressed by the IEEE standard number 1149 "Standard Test Access Port and Boundary-Scan Architecture". JTAG (Joint Test Action Group) is the common name used for the IEEE 1149.1 standard for test access ports used for testing printed circuit boards using boundary scan. It is also often used as an IC debug or probing port. This standards defines a 5-pin serial protocol for accessing and controlling the signal-levels on the pins of a digital circuit, and has some extensions for testing the internal circuitry on the chip itself. The standard was written by the Joint Test Action Group (JTAG) and the architecture defined by it is known as "JTAG boundary scan" or as "IEEE 1149".
A JTAG interface is a special four/five-pin interface added to a chip, designed so that multiple chips on a board can have their JTAG lines daisy-chained together if specific conditions are met, and a test probe need only connect to a single "JTAG port" to have access to all chips on a circuit board. The JTAG interface uses the following five dedicated signals which must be provided on each chip that supports the standard:
These signals should be present on all JTAG cables, regardles of the pinout, header or PC interface. Although it was originally designed for testing printed circuit board assemblies, today JTAG is also used for accessing sub-blocks of integrated circuits, making it a useful mechanism for debugging embedded systems, providing a convenient "back door" into the system. On most systems, JTAG-based debugging is available from the very first instruction after CPU reset. A so-called in-circuit emulator (or more correctly, "JTAG adapter") uses JTAG as the transport mechanism to access on-chip debug modules inside the target CPU. Those modules let software developers debug the software of an embedded system directly at the machine instruction level when needed, or (more typically) in terms of high level language source code.
Besides debugging, another purpose of the JTAG interface is allowing device programmer hardware to transfer data into internal non-volatile device memory (CPLDs). Some device programmers serve a double purpose for programming as well as debugging the device. In the case of FPGAs, volatile memory devices, they can also be programmed via the JTAG port normally during development work. In addition, newer parts, for instance Xilinx Virtex-5, have internal monitoring capability (temperature, voltage and current) accessible via the JTAG port. JTAG programmers are also used to write software and data into flash memory. This is usually done using data bus access like the CPU would use, and is sometimes actually handled by a CPU, but in other cases memory chips have JTAG interfaces themselves.
Widespread uses of JTAG interface
JTAG CablesThere 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 extravagant prices. For the home user or hobbyist, however, a better choice is usually to construct a cable at home from commonly available parts. Whereas an unbuffered JTAG cable can be constructed for maybe $5 USD or less, the parts for a buffered JTAG Cable will cost a little more, perhaps in the $15 to $30 USD range.