Para juguetear con el microcontrolador Kinetis del que hablé en la entrada anterior, necesito un programador y un depurador hardware. O un programador-depurador. Y uno de los más reconocidos es el J-LINK de SEGGER. Existe en varias versiones, algunas de precio estratosférico, pero también existe una versión económica, el J-LINK EDU, con un precio en torno a los 58€. Este depurador dispone de las mismas capacidades con respecto a su hermano mayor inmediato, el J-LINk (a secas) en cuanto a software y hardware, pero está limitado por su licencia, que lo restringe a un uso estrictamente no comercial.
Así que me he comprado uno. Y ya me ha llegado. Y tiene un conector estandar JTAG de 20 pines. Y mi Kinetis utiliza el protocolo SWD que lleva menos pines. Y con un conector estandar de 10 pines me vale. Y el precio de un simple adaptador de este tipo es absurdamente alto para lo que es. Y entonces decido hacerme yo uno. Y aquí estamos. Y…
Al lío. Aquí tenemos el esquema de las conexiones entre un conector JTAG de 20 pines y uno de 10 pines:
Sencillo. ¿Porqué un adaptador comecial es tan caro? No lo sé. Quizá se me escape algo.
Del esquema pasamos al PCB y tenemos una plaquita pequeña, simple y de una única cara con pistas:
Puedes descargarte el fotolito de la placa en formato PDF desde aquí:
Una vez diseñada la placa, seguimos el procedimiento habitual (AQUÍ). Con la PCB lista, toca preparar materiales. A parte del adaptador JTAG, para programar el micro necesitaré un cable adecuado. Por ahora tenemos J-LINK <-> Adaptador JTAG 20 a 10, pero nos falta el cable desde el adaptador hasta el microcontrolador. Un cable de 10 pines. Así que necesitamos:
- PCB del adaptador
- Conector hembra de 20 pines para la PCB
- Conector hembra de 10 pines para la PCB
- Cable de 10 vías
- Conector macho de 10 pines para el cable
Es decir, todo esto:
Comenzamos soldando los dos conectores hembra a la placa de circuito impreso, es decir, montamos el adaptador propiamente dicho. Y queda tal que así:
Los manchurrones son debidos al flux, que aún está sin limpiar.
Si le damos la vuelta vemos esto:
Insisto en la simplicidad de la placa.
Nos ponemos manos a la obra con el cable de seis vías.
Una nota sobre este adaptador y cable. Los conectores y cables de 10 vias “oficiales” para JTAG modernos tienen una separaciones entre pines de 2mm, no los habituales en este tipo de conectores de 2,54mm. En mi caso, y como lo quiero para conectar en una placa de prototipos, utilizo un conector normal y corriente de 10 pines y 2,54 de paso entre ellos.
Primer paso para montar el cable, presentamos éste en su posicion en el conector:
La parte estrecha del conector tiene surcos donde cada uno de los hilos del cable debe alojarse. La parte ancha, donde están los conectores individuales que encajan en la hembra, tiene unas cuchillas que atraviesan el aislante del cable y conectan físicamente con el conductor. Hay un par de cuchillas por hilo, de forma que cada uno de ellos encaja entre las dos correspondientes.
Una vez situado el cable en su posicioón correcta con respecto a los surcos y las cuchillas, hay que confirmar la posición global del cable con respecto al conector. El perfil de éste debe ser perfectamente perpendicular con respecto a la dirección del cable:
En su posición definitiva, tendremos algo así:
Dejamos un exceso de cable que luego retiraremos, por lo que su longitud no es crítica.
Ahora hay que cerrar el conector. Esto puede hacerse a mano, con unos alicates, … Imaginación. En mi caso utilizo un tornillo con mordazas de goma. Ejerce una presión idéntica en toda la superficie del conector y lo cierra de forma homogénea y sin riesgos de desplazamiento del cable.
Se van cerrando poco a poco las mordazas del tornillo hasta que ambas partes del conector encajan completamente.
Este tipo de soportes tiene mil y una utilidades. Lo recomiendo encarecidamente. En mi caso lo compré hace tiempo en el Lidl. El cabezal es móvil en todas las direcciones. Creo recordar que costó menos de 10€. Búscate uno, me lo agradeceras.
Ahora nos haremos cargo del exceso de cable antes comentado. Una cuchilla y delicadeza para cortar al ras del conector y listo:
Queda así de bonito:
Hay dos tipos de conectores de esta clase, uno de ellos el que estoy utilizando, dispone de reductor de tensiones. Esto evita que el punto de unión entre el cable y el conector sufra por el movimiento y el cable se rompa.
Para su instalación doblamos el cable 180º sobre la parte superior del conector y presentamos la grapa que lo sujetará:
Mientras sujetamos el cable para que esté bajo cierta tensión, nos ayudamos de nuevo del tornillo con mordazas de goma y terminamos definitivamente el conector:
Tras este trabajo maratoniano ya tenemos esto:
Ahora estamos en el punto:
J-LINK <-> Adaptador JTAG 20 a 10 <-> Cable de 10 pines
Para conseguir:
J-LINK <-> Adaptador JTAG 20 a 10 <-> Cable de 10 pines <-> Placa de prototipos
necesitamos terminar el cable de 10 vías con el conector adecuado.
Podría poner una cabecera de 10 pines, similar a la del adaptador, en la placa de prototipos, pero luego necesitaría cablear la placa desde esa cabecera hasta cada uno de los pines del micro y a la alimentación y masa. Además, cada tipo microcontrolador tiene sus conexiones para JTAG o SWD en pines diferentes. Así que lo mejor es que la terminación del cable sea lo más práctica posible: conectores individuales. Es decir, un pin en cada vía del cable.
Necesitamos una tira de pines, un poco de tubo aislante termoretráctil, y en un par de minutos tenemos:
Solo echo en falta una forma de indentificar cada cable sin tener que mirar la chuleta. Habrá que solucionarlo.
A probarlo:
El J-LINK reconoce el micro sin problemas y permite su programación y depuración.
Un par de notas:
- Hay que procurar que el cable sea lo más corto posible.
- Aunque en el adaptador todas las señales de masa están conectadas entre sí, conviene conectar todos los cables correspondientes a la masa de la placa de prototipos, ya que esto disminuye en ruido y las interferencias en el cable.
Pingback: Quark XXXIII .::. Etiquetando cables | ELEKTROQUARK