Making JTAG work on low-pin-count 8/16-bit microcontrollers required some inventiveness and delicate timing. Here's how it was done.By Craig Greenberg, Texas InstrumentsEmbedded.com (01/25/09, 12:00:00 PM EST)
Microcontrollers have served the requirements of a broad range of applications for many years. With the advent of lower pin-count offerings, microcontrollers enable embedded processing to be available just about anywhere--from automobile electronics to electronic toothbrushes.
However, as the need for more functionality offered by these lower pin-count devices increases, the amount of overhead pins required has become a critical factor. Overhead pins include power and ground supplies, dedicated pins for isolation, reset pins, and test.
Basically, overhead pins are any pins not directly available for the user for the application. For embedded programmable devices, this typically includes all the pins necessary to interface to the device for software/hardware tools related to debugging and programming the device and its firmware, as well as support for the internal testing needs of the semiconductor manufacturer.
Traditionally, these pins have been dedicated pins at the cost of additional overhead. Otherwise, they were multiplexed with the existing functional pins of the device. Although this concept helps reduce the overall pin count, it doesn't allow for all functional pins to be readily available during debug or emulation. Multiplexing can therefore make hardware and firmware development quite challenging.
At Texas Instruments, we developed a Spy-Bi-Wire interface to address the needs of a simple interface that was easy to implement, required a small footprint in terms of silicon usage, needed no special hardware, and could leverage existing MSP430 microcontroller development systems. Of primary importance was that the interface needed to use a minimum number of interconnects to the device for communication. Meeting all of these constraints enabled the continued availability of low-cost development and test tools, key to continued growth of the MSP430 microcontroller user base.
The MSP430 microcontroller platform has used a standard JTAG interface as its primary development tool interface since the devices were first introduced. This interface is used not only to interface to MSP430 development tools, but also for device test purposes.
Click here to read more ...