Showing posts with label Electronics. Show all posts
Showing posts with label Electronics. Show all posts

Tuesday, 1 February 2011

JTAG Cables and Programmers

JTAG is a popular serial interface used in professional embedded systems and commercial electronic devices. It is used to program, read and debug on-board electronics. Since all chips on the circuit board can be connected in a chain there is only one JTAG connector needed. Unfortunately this connector is not standardized and there are many different pinouts used. Different pinouts and different applications have resulted in many JTAG programmers for specific devices.

A popular use of JTAG cable is to program routers and Xbox devices. In fact, almost all programmable electronic devices support JTAG interface, but the connector is not always implemented. While the JTAG itself is standardized there is no universal programmer. You will have to get one for each device type you need to program.

The simplest JTAG programmer is only an interface between parallel port and JTAG. A software running on PC controls signals on parallel port which via JTAG interface control JTAG signals. A more sophisticated JTAG interface has own microcontroller and connects to PC via USB. JTAG programmers/interfaces are cheap and you can even build a simple JTAG cable!

Thursday, 16 September 2010

Universal JTAG Cable

Every electronic device around has some microcontroller or other programmable device in it. Even kitchen appliances or toy has some kind of electronics which controls important functions. In some cases this electronic device has predefined functionality which can not be changed. But in most cases this electronics contains a processor that uses flash memory to store code. And if a device is programmable then you can change the program it runs at any time.


Of course, in many cases this programming is not needed since the electronics performs what is supposed to. But in some cases it makes sense to allow end users to update the device with the latest firmware. Therefore, it makes sense to have a universal interface that can be used in factory and at home to program electronic devices with simple additional hardware. This universal interface is JTAG. This is a standard that defines a serial interface to transfer data between a device and computer (or between devices). The JTAG interface needs only four basic signals. This makes it easy to use PC parallel port as JTAG interface. While this works many modern JTAG programmers use USB port to connect to the PC.

Another beauty of the JTAG interface is the possibility to connect many devices in chain. This way you can program all the JTAG enables devices on the board with only one interface. In any case you need a JTAG cable to connect to the device. Each device may have own JTAG pinout but this is not a problem since JTAG cables can be made (almost) universal--at least for few device types. Unfortunately, JTAG cable is not enough. You need also a suitable software that will program the target device.


JTAG is not used only for commercial electronics. It is also a standard interface for all embedded systems including FPGAs, microcontrolelrs and various memories. Each manufacturer has some kind of JTAG cable to program their devices. Unfortunately, these cables use dedicated software and can not be used for other purposes.

One of the very popular uses of the JTAG interface in consumer electronics is to reprogram some router models with new firmware. There are many cheap JTAG cables that can be used to bring a new life for an old router. Changing original firmware is very popular not just for routers but also for other highly popular electronic devices. The Xbox is such example where a simple JTAG hack can change some built-in functions.


There are many JTAG cable supplies around. Before you decide for specific cable you need to check the JTAG pinout and software support. Usually, cheap cables are made only for specific devices and use the parallel port signals to program the device. More advanced JTAG cables use USB interface or at least a buffer to boost signals from parallel port.

Thursday, 19 August 2010

JTAG - Standard Test Access Port and Boundary - Scan Architecture

When you have an integrated circuit (IC) or many such devices on a board, where each IC has 100 or more pins, it is mandatory to have some tool to test connections and verify operation. Having this in mind, an expert group prepared a specification for testing that was standardized in 1990 as the IEEE Std. 1149.1. It is also known as the JTAG (Joint Test Action Group) standard.

JTAG is a method for testing connections on printed circuit boards (PCBs) that are implemented at the integrated circuit (IC) level. It is very difficult to test complex circuits with traditional in-circuit testers. Because of physical space constraints and inability to access very small components and BGA devices, the cost for board testing has increased significantly. JTAG is an elegant solution to overcome problems with physical in-circuit testers.

With JTAG you can test interconnects between integrated circuits on a board without using physical test probes. This is a big advantage because you don't need any additional customized tool for testing. Of course, the device has to be JTAG enabled. This means an additional cell (a boundary-scan cell) for each pin. Boundary-scan cell can set or read data on each pin. Boundary-scan cells are connected together and the data is serially shifted into the boundary-scan cells. The process is controlled from a serial data path called the scan path or scan chain. This is the basic principle of the JTAG interface.

JTAG eliminates the need for a large number of test vectors, which would be needed to initialize all the devices. Using JTAG means shorter test times, increased diagnostic capability higher test coverage, and lower equipment cost. Although there are many variations of the JTAG header on the board it is possible to use standard JTAG signals with almost any JTAG interface and boundary-scan software.

An additional benefit with JTAG interface is that it can be also used for programming and debugging. Many microcontrollers, FLASH memories, FPGAs and similar devices can be programmed via JTAG interface. And the same interface can be used for debugging. JTAG is a big step toward standard interfaces in electronics industry.


There are many JTAG cables that can be used on more than one device. In fact, JTAG cable is more than a cable. Usually it has some small electronics to boost signals and to provide standard computer interface. The price of the simplest JTAG cable can be as low as $5.

If you are interested in details you can visit http://JtagCables.com and read more about the JTAG standard and various JTAG cables used by the industry.