top of page
Sergio Soriano

Cómo testear un microcontrolador en una PCB


Muchas veces nos enfrentamos a tarjetas que contienen estos dispositivos y que no sabemos determinar si el problema viene de ahí o no, lo cual nos genera una gran intranquilidad para seguir testeando otros dispositivos en la PCB. Aunque no es lo más común, en la reparacion, saber si el software está vivo y haciendo algo nos da la certeza de descartar al programa y el procesador como los malos de la peli. Hay una manera y metodo de comunicación para meterles mano y se trata del Boundary scan o tambien conocido cómo JTAG. Advierto que no es fácil, pero no hace falta ser un experto en la norma para determinar estos dispositivos durante un proceso de reparación. A continuación las cosas básicas que debes saber sobre la norma y sus alcances.

Boundary Scan

El sistema de test “Boundary-Scan”, también conocido como “JTAG” es una técnica de ensayo de “escaneo de borde” en sistemas electrónicos para circuitos integrados tales como procesadores, memorias, FPGA, BGAs etc. Aqui algunos ejemplos:

Para testear este tipo de dispositivos, estos deben ser compatibles con este sistema con el objeto de poder verificar sus conexiones eléctricas que por su formato encapsulado, no están accesibles físicamente a los sistemas de test tradicionales (como el test V-I o de voltaje). De esta forma se puede reducir el tiempo de testeo de una pcb determinando si estos dispositivos están en correcto funcionamiento.

¿De donde vienen, para donde van?

En 1985 un comité compuesto por profesionales de varias compañías de electrónica formaron el “Joint Test Action Group” o JTAG con el objetivo de desarrollar un método de prueba alternativo que eliminase o minimizase lo máximo posible las limitaciones de los test “In-Circuit” o ICT en los nuevos diseños de SMD.

En 1990 el Instituto de Ingeniería Eléctrica y Electrónica (IEEE) lo codificó en el estándar IEEE 1149.1-1990 titulado “Standard Test Access Port and Boundary-Scan Architecture”.

La prueba de Boundary-Scan básicamente consiste en el acceso a las conexiones de entrada/salida o puertos de E/S del chip mediante una comunicación en serie, normalmente con un adaptador para PC, bien para leer su estado o incluso para cambiarlo. De esta forma se puede comprobar si una determinada entrada está en un estado que no le corresponde, o que al forzar otra salida hay un cambio en otra u otras entradas indicando la presencia de un cortocircuito o incluso de varios.

También se puede detectar un circuito abierto o una mala soldadura al comprobar que una entrada no cambia su estado cuando debería hacerlo al forzar el cambio en una salida en concreto.

Para el testeo de varios chips, éstos normalmente se ponen en cascada o en cadena de tal forma que el primer chip que comunica con el adaptador o conector donde estarán los 4 o 5 pines necesarios para el Boundary-Scan, este chip también está conectado al segundo chip, este segundo chip está conectado con un tercer chip y así hasta el último chip que estará conectado al adaptador de Boundary-scan para sacar los datos de todos los demás.

También es posible leer, grabar o programar otros dispositivos como memorias FLASH, microcontroladores, etc., evitando así la necesidad de tener un programador específico para dichos dispositivos.

¿Se puede utilizar Jtag para la reparación de tarjetas?

Las respuesta es , cuando testeamos conjuntos electrónicos a medida que la industria ha ido avanzado los técnicos hemos ido observando el creciente número de situaciones en la que vemos estos encapsulados de difícil acceso y que nos es difícil determinar si están vivos o muertos. La única manera de testear propiamente estos dispositivos es mediante Jtag, hay muchas soluciones en el mercado pero no para todos los bolsillos.

Dependiendo de la complejidad de lo que queramos desarrollar, el presupuesto se nos puede ir hasta los 20.000€. Sin embargo hay una solución más económica que nos trae ABI de entre sus sistemas para el diagnóstico y que nos es muy útil para testear estos dispositivos.

¿Cómo me conecto al puerto Jtag de mi tarjeta?

La comunicación con el dispositivo Boundary-Scan normalmente se hace con un adaptador que se conecta a un PC y al circuito electrónico en el que se ha provisto de un conector especial para el test Boundary-Scan. En el PC ejecuta un programa o software de testeo en el cual se detecta el dispositivo o dispositivos Boundary-Scan conectados, se puede leer y cambiar el estado de las entradas y salidas, ejecutar secuencias de test, e incluso programación de otros dispositivos no Boundary-Scan, etc.

¿Dónde está el puerto Jtag en mi tarjeta?

Antes que nada, lo primero que tenemos que verificar es que los dispositivos en la tarjeta cumplan con esta norma. Esto es fácilmente legible en los datasheet del fabricante.

Ejemplo:

Buscamos la referencia del dispositivo en google para conseguir el datasheet del fabricante original.

En el datasheet debemos buscar por un apartado en su índice o entre sus páginas que trate sobre la interfaz Jtag, es ahí, cuando sabremos que el dispositivo puede ser intervenido mediante nuestro testeador Jtag.

Ahora queda buscar la interfaz de conexión dentro de la tarjeta, este es el punto en el que algunos fabricantes pueden ser muy originales a la hora de localizar los pines Jtag. Fundamentalmente buscamos 4 pines, pero lo normal es que cada fabricante tenga conectores para sus programadores de entre 8 y 20 pines aunque solo usen 4.

A los OEM (original electronics manufacture) nos les gusta que los usuarios le metan mano sus programas y diseños, por lo que, en muchas ocasiones, no, nos vamos a encontrar con un conector exactamente como el que tenemos, sino que pueden ser Pads, conectores de borde etc.

Aquí algunos ejemplos que nos hemos ido encontrando:

Cuando ya los tenemos localizados, guiándonos por la marca del progrador del fabricante o mediante prueba de continuidad, tenemos que averiguar cómo están mapeados los pines en nuestro conector, de tal manera que nos hagamos con el control de al menos los 4 pines principales TDI, TCK, TMS y TDO.

Cuidado!! El fabricante puede cortar la pista una vez programada en la línea de producción para evitar que se vuelva a acceder a la misma.

Aquí tenemos 2 opciones, manuales que se pueden dar dependiendo de los dispositivos presentes:

  1. Soldar los cables si el encapsulado con el que trabajamos tiene los pines accesibles, para ello el Datasheet nos delatará que pines del procesador son los que necesitamos.

2. La segunda opción es hacer una pequeña reingeniería inversa y averiguar estos pines nosotros, valiéndonos del datasheet y de conocer bien a nuestra víctima, con esto me refiero que al haber trabajado anteriormente con una PCB te da mucha mejor idea de dónde puede estar.

Ahora os estaréis preguntando… y una vez me conecto

¿Qué tipos de test puedo hacer con Jtag en mis tarjetas?

Coming soon...

Si quieres saber más, por favor deja tu comentario abajo o escribe a thesergioscorner@gmail.com

10.297 visualizaciones1 comentario
bottom of page