JTAG

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

JTAG, un acrónimo para Joint Test Action Group, es el nombre común utilizado para la norma IEEE 1149.1 titulada Standard Test Access Port and Boundary-Scan Architecture para test access ports utilizada para testear PCBs utilizando escaneo de límites.

JTAG se estandarizó en 1990 como la norma IEEE 1149.1-1990. En 1994 se agregó un suplemento que contiene una descripción del boundary scan description language (BSDL). Desde entonces, esta norma fue adoptada por las compañías electrónicas de todo el mundo. Actualmente, Boundary-scan y JTAG son sinónimos.

Diseñado originalmente para circuitos impresos, actualmente es utilizado para la prueba de submódulos de circuitos integrados, y es muy útil también como mecanismo para depuración de aplicaciones empotradas, puesto que provee una puerta trasera hacia dentro del sistema. Cuando se utiliza como herramienta de depuración, un emulador en circuito que usa JTAG como mecanismo de transporte permite al programador acceder al módulo de depuración que se encuentra integrado dentro de la CPU. El módulo de depuración permite al programador corregir sus errores de código y lógica de sus sistemas.

Características Eléctricas[editar]

Una interfaz JTAG es una interfaz especial de cuatro o cinco pines agregadas a un chip, diseñada de tal manera que varios chips en una tarjeta puedan tener sus líneas JTAG conectadas en daisy chain, de manera tal que una sonda de testeo JTAG necesita conectarse a un solo "puerto JTAG" para acceder a todos los chips en un circuito impreso. Los pines del conector son

  1. TDI (Entrada de Datos de Testeo)
  2. TDO (Salida de Datos de Testeo)
  3. TCK (Reloj de Testeo)
  4. TMS (Selector de Modo de Testeo)
  5. TRST (Reset de Testeo) es opcional.
Example of JTAG chain

Ya que posee una sola línea de datos, el protocolo es necesariamente serial, como el Serial Peripheral Interface. La entrada de la señal de reloj es por el pin TCK. La configuración del dispositivo se realiza manipulando una máquina de estados de un bit empleando el pin TMS. Un bit de datos es cargado en TDI y otro sacado en TDO por cada pulso de reloj de la señal TCK. Se pueden cargar diferentes modo de instrucción como leer el ID del chip, muestrear el valor de pines de entrada/salida, manejar pines de salida, manipular funciones del chip, o funciones de bypass que unen el pin TDI con TDO para lógicamente unir cadenas de varios chips (chips en cascada). La frecuencia de trabajo de la señal de reloj del pin TCK varía en función de cada chip, pero típicamente está en el rango de 10-100 MHz (10-100ns/bit).

Cuando se hace la operación de boundary scan en circuitos integrados, las señales manipuladas están entre diferentes bloques funcionales del chip, más que entre diferentes chips.

El pin TRST es una señal opcional bajo-activa para reseteo o reinicio de la prueba lógica (por lo general asíncrona, pero que a veces está sincronizada con el reloj, dependiendo del chip). Si no se dispone de dicho pin, la prueba lógica puede reiniciarse mediante una instrucción reset.

Existen productos de consumo que tienen un puerto JTAG integrado, por lo que las conexiones están a menudo disponibles en la PCB como parte de la fase de prototipado del producto. Estas conexiones pueden proporcionar una sencilla forma de realizar ingeniería inversa.

Extensiones Comunes[editar]

Extensiones de fabricantes: Infineon, MIPS EJTAG, Freescale COP, ARM ETM (Extended Trace Macrocell), OnCE etc.

Aplicaciones[editar]

  • Casi cualquier sistema embebido tiene un puerto JTAG.
  • El conector del bus PCI posee pines JTAG.
  • Existe una tarjeta especial JTAG que se puede usar para regrabar una BIOS dañada.

Software Cliente[editar]

La interfaz JTAG es accesible por medio de aplicaciones de JTAG.

Software Libre[editar]

Software propietario[editar]

  • JTAG Technologies Test and programming development systems.
  • TopJTAG Circuit visualization and debugging software employing boundary-scan (IEEE 1149.1 JTAG) technology.
  • JTAG ScanWorks JTAG development systems.
  • Green Hills Software MULTI Debugger and Green Hills Probe, Software and hardware supports JTAG and BDM based development on ARM, XScale, PowerPC, MIPS, ColdFire, Blackfin, ARC, TI C6000, v800, StarCore, SH, M32R, and LSI ZSP.
  • Ronetix PEEDI, JTAG Emulator and Flash Programmer for ARM7/9, XScale
  • SEGGER Microcontroller Systeme GmbH j-link, USB to JTAG interface for ARM cores (J-Flash, J-Mem, RDI Pro Bundle)
  • Lauterbach Datentechnik GmbH produce JTAG-based in-circuit emulators the most popular being TRACE 32
  • Macraigor Systems LLC JTAG Commander and OCD Commander
  • Abatron AG's BDI-2000 acts as a GDB server on your LAN, giving you source-level debugging via JTAG.
  • JTAG Emulator Embedded Toolsmiths Guardian-SE JTAG Emulator connects a GDB server on your LAN to the JTAG interface on PowerPC, MIPS, XScale and Arm Processors. This allows: JTAG FLASH Programming, JTAG Emulation and JTAG source-level debugging via JTAG for PowerPC, MIPS, XScale and ARM Processors.
  • XJTAG Development System
  • Göpel electronic SCANFLEX, JTAG / Boundary Scan test and In-System Programming, debug, emulation
  • Corelis ScanExpress
  • GOEPEL Electronics JTAG / Boundary Scan test and In-System Programming, debug, emulation at device, board, and system level; SYSTEM CASCON, SCANFLEX, CASLAN.
  • Wind River MultiCore Debugger, Wind River OCD, Probe, ICE and Trace tools JTAG support along with HW reference development boards.

Enlaces externos[editar]