Looking for JTAG interface? Learn about JTAG cables, wigglers, programmers and JTAG software. JTAG programmers allow programming and debugging of many JTAG enabled devices using a PC with a USB or parallel port.

Traditional JTAG programmers attach to the parallel port of the PC. While this method allows for easy connectivity, it has many drawbacks. Many modern PC computers are "legacy-free" and don't have a parallel printer port. In addition to this programming speeds are rather slow as well, which can be problematic with large devices.There are also many cheap JTAG programmers that connect to PC's USB port which is available on almost every PC in use today. The USB interface chip used with the JTAG programmer allows for JTAG data-rates up to 6Mbps, which is significantly higher than most parallel port based solutions can offer. The JTAG programmer gets power from the USB interface so you can use it with almost any board. The only thing you should check is software compatibility (drivers) and price.Another cheap solution for JTAG programmer is JTAG-USB Programming Cable which has all electronics embedded in the USB connector. This is a low-cost JTAG configuration & SPI communication solution. It connects to a standard 6-pin JTAG or SPI programming header. There is also a chep JTAG Programmer parallel port cable which is intended to for use with Digilent FPGA board. This is also a low-cost JTAG configuration solution. JTAG Programmer connects directly to the parallel port of a PC, and to a standard 6-pin JTAG programming header and can program devices that have a JTAG voltage of 1.8V or greater.

Unbuffered JTAG Cable - Xilinx DLC5 Cable III

This is the simplest type of JTAG cable. This is an old cable so you can find vey cheap offers. The original cable was introduced by Xilinx and has a full name Xilinx DLC5 JTAG Parallel Cable III. It is also popular to use with the Hairydairymaid de-brick utility software for Linksys routers. It consists of only a few cheap resistors, a DB-25 connector for parallel port and a flat cable with a 12-pin connector that slides onto a header soldered onto the PCB found inside the cases of Linksys WRT54G and WRT54GS routers. Make sure that the cable is short; the length must be 15 cm or less to avoid problems with electrical noise.

Parallel Cable III - Xilinx JTAG Cable

The Parallel Cable III (also known as the PC3) is an old Xilinx JTAG cable used for programming Xilinx FPGAs. You are encouraged to use the complete Platform Cable USB (PCUSB) and Parallel Cable IV (PC4) products. The PC3 cable supports two interfaces to target devices. The first interface is an IEEE STD 1149.1 (JTAG) interface which can connect to the JTAG port of a CPLD, ISP PROM, or FPGA. The second interface is a connection to the slave-serial port of an FPGA. Note: IMPACT software no longer supports this PC3 Cable after release 10.1. The original PC3 cable consisted of a cable assembly containing logic to protect the host PC's parallel port and a set of headers to connect to the target system. Also, the PC3 cable typically requires a PC equipped with an AT compatible parallel port interface with a DB25 standard printer connector. When combined with appropriate software, the PC3 Xilinx JTAG cable enables development of systems that can download to a single device or several devices connected in either a Boundary-Scan chain or a slave serial daisy chain (FPGA only). The PC3 cable could also be used to develop systems that provide read back configuration and Boundary-Scan data.

ByteBlaster II Altera JTAG cable

This Altera JTAG cable connects to the parallel port and allows you to program and configure Altera devices. It supports the following Altera devices: Stratix series FPGAs, Cyclone series FPGAs, MAX series CPLDs, Arria GX series FPGAs, APEX series FPGAs, ACEX 1K FPGAs, Mercury FPGAs, FLEX 10K series FPGAs, and Excalibur FPGAs. It also supports in-system programming of EPC2, EPC4, EPC8, and EPC16, serial configuration of EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128, and SignalTap II logic analysis. Altera JTAG cable ByteBlaster II supports target systems using 5.0-V TTL, 3.3-VLVTTL/LVCMOS, and single-ended I/O standards from 1.5 V to 3.3 V.

USB-Blaster Altera JTAG cable

The USB Blaster is a new Altera JTAG cable to configure or program Altera devices. It supports Stratix series FPGAs, Cyclone series FPGAs, MAX series CPLDs, Arria GX series FPGAs, APEX series FPGAs, ACEX 1K FPGAs, Mercury FPGAs, FLEX 10K series FPGAs, Excalibur FPGAs. It also supports in-system programming of EPC2, EPC4, EPC8, and EPC16, serial configuration of EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128, and SignalTap II logic analysis. The USB Blaster is supported under Windows, Unix and Linux platforms.

JTAG Programmer/Debugger for ARM processors

Many suppliers offer cheap JTAG programmers for ARM processors. Prices can vary, but you can get a good programmer for only $20. Features of a typical JTAG programmer:

  • Program LPC21xx, Atmel AT91, STMicroelectronics STR7 Parts, and other ARM flash microcontrollers

  • Compatible with the standard ARM 2x10 pin JTAG pinout

  • Since all the power is taken from the target board no external power supply is required

  • Compatible with Rowley's CrossConnect, IAR EWARM and GCC (OCD) software for programming, real time emulation, debugging, step by step program execution, breakpoints, memory dump etc. Compatible with many high priced emulators

  • Works with free GCC C compiler and Insight tool chain and debugger.

One of the modern USB JTAG programmers is Keil ULINK2 USB-JTAG adapter.The Keil ULINK2 USB-JTAG Adapter connects your PC's USB port to your target hardware (via JTAG, OCDS or Serial Wire) and allows you to:

  • Download programs and test them on your target hardware.

  • Program the on-chip FLASH memory of many devices.

  • Program external FLASH memory of many target systems.

The Keil µVision® IDE/Debugger is the front-end you use with ULINK2 JTAG programmer to create, download, and test embedded applications on target hardware.

There are five JTAG connectors inside ULINK2. These connectors support various cables required for debugging different targets with ULINK2. The connectors provided are:

  • A narrow (2.00mm/0.079") pin spacing) 20-pin connector for ARM targets,
  • A standard (2.54mm/0.1") 20-pin connector for ARM targets,
  • A 16-pin connector for Infineon OCDS (JTAG) targets,
  • A 14-pin connector for STMicroelectronics µPSD targets,
  • and a 10-pin connector for ARM targets (Mfgr: Don Connex P/N: C42 or Samtec P/N: EHF-105-01-L-D).

Cables for each connector ship with the ULINK2 Standard Product. If you must change cables, make certain you line up the marker stripe on the cable with pin 1 on the connector. Pin 1 is labeled on the board.ULINK2 supports both JTAG and Serial Wire Mode interfaces. Refer to the appropriate pinout diagram for the ULINK2 adapter connectors to make sure they match your target hardware.

The VCC jumper determines the source of VCC power for the JTAG interface.

  • If the target hardware provides VCC to the JTAG interface, set the jumper at VCC to the ARM position.
  • If the target hardware does not provide VCC to the JTAG interface, set the jumper at VCC to the 3.3V position.

Note: Some NXP (formerly Philips) LPC2000 Devices have special pins (RTCK / DBGSEL) that enable the JTAG interface. For example, on the Philips LPC2129 the signal RTCK must be driven low during RESET to enable the JTAG interface. You may want to add jumpers to your hardware to accomplish this.

Additional ARM 10-pin cables with connectors are available directly from Samtec:

  • 6" JTAG Cable (Samtec P/N: FFSD-05-D-06.00-01-N-P07)
  • 12" JTAG Cable (Samtec P/N: FFSD-05-D-12.00-01-N-P07)

Note

  • ULINK2 gets its power from the USB connection.

  • ULINK2 operates at 3.3V. All JTAG pins are 5V tolerant.

Before you go for any JTAG programmer check what device you will program, which JTAG header it has (there are many incompatible JTAG pinouts), check which JTAG software you would like to use - not all JTAG programmers are compatible with every software, and, of course, check prices. You can find functionally the same JTAG programmer for a ridiculously low price.