Quark XXVI .::. Adaptador JTAG 20 a 10 pines y cable correspondiente

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:

Esquema JTAG de 20 a 10 pines.

Esquema JTAG de 20 a 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:

Vista de la PCB en Altium.

Vista en 2D de la PCB en Altium.

Puedes descargarte el fotolito de la placa en formato PDF desde aquí:

Adaptador JTAG de 20 a 10 pines
Adaptador JTAG de 20 a 10 pines
Adaptador JTAG.pdf
Version: 1.0
7.3 KiB
51 Descargas
Detalles

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:

Preparado para el ensamblaje.

Preparado para el ensamblaje.

Comenzamos soldando los dos conectores hembra a la placa de circuito impreso, es decir, montamos el adaptador propiamente dicho. Y queda tal que así:

Adaptador JTAG de 20 a 10 pines.

Adaptador JTAG de 20 a 10 pines.

Los manchurrones son debidos al flux, que aún está sin limpiar.

Si le damos la vuelta vemos esto:

Vista de las conexiones.

Vista de las conexiones.

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:

Hilos y "cuchillas" alineados.

Hilos y “cuchillas” alineados.

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:

El cable ha de estar colocado perpendicular a la carcasa.

El cable ha de estar colocado perpendicular a la carcasa.

En su posición definitiva, tendremos algo así:

Otro detalle de la posición adecuada.

Otro detalle de la posición adecuada.

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.

El tornillo ejerce una fuerza proporcional en toda la superficie del conector.

El tornillo ejerce una fuerza proporcional en toda la superficie del conector.

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.

Soporte-tornillo con ventosa del Lidl.

Soporte-tornillo con ventosa del Lidl.

Ahora nos haremos cargo del exceso de cable antes comentado. Una cuchilla y delicadeza para cortar al ras del conector y listo:

Perdón por la falta de foco. No tengo manos suficientes.

Perdón por la falta de foco. No tengo manos suficientes.

Queda así de bonito:

Sección del cable a ras del conector.

Sección del cable a ras del conector.

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á:

El cable se gira 180 grados.

El cable se gira 180 grados.

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:

Conector completamente instalado.

Conector completamente instalado.

Tras este trabajo maratoniano ya tenemos esto:

El conector de 20 pines ha sido reciclado.

El conector de 20 pines ha sido reciclado.

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:

Cable rematado.

Cable rematado.

Solo echo en falta una forma de indentificar cada cable sin tener que mirar la chuleta. Habrá que solucionarlo.

A probarlo:

Probando, probando...

Probando, probando…

El J-LINK reconoce el micro sin problemas y permite su programación y depuración.

Un par de notas:

  1. Hay que procurar que el cable sea lo más corto posible.
  2. 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.

Quark XX .::. Construyendo un cable con pines Dupont

En el Quark XVIII vimos como instalar un conector ICSP a un programador TL866. El siguiente paso para su utilización es, por supuesto, construir el cable adecuado para él.

El conector que instalé en el programador es uno de tipo estandar, modelo KF2510-6P. La designación KF2510 se refiere a la serie del modelo, es decir, al tipo del conector, mientras que la coletilla 6P se refiere a su número de contactos, seis en este caso.

Este tipo de conectores puede comprarse como un lote completo, conector macho, hembra y pines, o el conector macho por un lado y el hembra, más pines, por otro.

Este tipo de pines es uno de los más comunes para crimpar siendo, prácticamente, un estandar. Pueden encontrarse bajo la denominación pines Dupont.

Componentes conector completo.

Componentes conector completo.

Teniendo ya soldado el conector macho en su lugar, la PCB del TL866, nos queda ponernos a la obra en la construcción del cable adecuado. Para ello necesitamos la carcasa del conector hembra, los pines y un cable. En mi caso el cable es reciclado, por lo que aparece en la imagen ya con un par de conectores instalados. Un tijeretazo solucionará este inconveniente.

Material necesario.

Material necesario.

El primer paso será pelar el cable para introducirlo en el pin. Para regular la longitud adecuada, presentamos aquel en el pelacables, del que hablamos en el Quark XIX, y ajustamos la guía que limita la longitud de aislamiento a eliminar.

Ajustando...

Ajustando…

Una vez ajustada la guía, se coloca el cable haciendo tope en ella y ya podemos pelarlo.

Cable en posición.

Cable en posición.

En la siguiente imagen podemos ver el cable preparado para ser crimpado, la sección de aislamiento eliminado y el pin correspondiente. Éste tiene dos zonas de sujeción, el par de aletas, a la izquierda en esta imagen, que sujetarán el cable por su parte aislada, y el otro par, a la derecha, en el medio del pin, que abrazarán la sección pelada.

La longitud de la sección del cable a la que deberá de eliminarse el aislamiento ha de ser ligeramente superior a la de las aletas centrales que la sujetarán.

Cable pelado.

Cable pelado.

Para unir el pin al cable necesitamos la herramienta adecuada: una crimpadora. La mía, y al contrario que con el pelacables con el que no tuve miramientos con su precio, es una versión barata Made in China adquirida a través de eBay. La verdad es que no tengo queja de su funcionamiento.

Crimpadora para pines Dupont.

Crimpadora para pines Dupont.

La crimpadora admite diferentes tamaños de pines, a través de su mordaza con tres medidas diferentes.

En el detalle de la siguiente imagen, podemos ver como cada sección crimpadora tiene dos partes con aberturas ligeramente diferentes. Cada una de estas partes ha de crimpar unas aletas diferentes del pin, la más ancha las que sujetan el cable aislado y las más estrechas se encargarán de ajusta el pin a la parte pelada.

Detalle de la mordaza.

Detalle de la mordaza.

La posición del pin en la mordaza, por tanto es muy importante, crítica diría yo.

El pin ha de colocarse con las aletas en posición inversa a la V de la mordaza, de forma que las aletas centrales encajen sobre la parte estrecha y las exteriores, que sujetarán el cable aislado, en la parte ancha. Lo colocaremos apretando lo suficiente para que quede encajado y al soltarlo no caiga libremente.

Pin en posición.

Pin en posición.

Una vez colocado podemos ir cerrando suavemente la mordaza de la crimpadora hasta que haga presión sobre el pin y esté a punto de comenzar a cerrarlo. En este momento dejamos de apretar la crimpadora. La carraca de ésta la mantendrá cerrada y el pin sujeto.

Pin bloqueado pero sin crimpar.

Pin bloqueado pero sin crimpar.

Ahora se introduce el cable de forma que el comienzo de su extremo pelado asome ligeramente a través de las aletas correspondientes por el lado opuesto de la mordaza. Mientras lo sujetamos con una mano, con la otra cerramos completamente la crimpadora y tendremos nuestro cable listo.

En la siguiente imagen podemos ver el pin crimpado y la posición correcta para su introducción en la carcasa del conector. El pin dispone de un gatillo de bloqueo que, al introducirlo, asomará por el hueco correspondiente de la carcasa y lo bloqueará, fijando el cable.

Posición correcta de inserción.

Posición correcta de inserción.

Se introduce el pin hasta el fondo por el orificio correspondiente y sentiremos como encaja en su lugar. Aquí podemos verlo, ya bloqueado en su posición:

Pin insertado.

Pin insertado.

Repetimos la operación tantas veces como hilos tenga el conector.

Un primer plano del pin crimpado, antes de encajarlo en su posición definitiva, con las aletas exteriores sujetando el cable aislado y las centrales la parte pelada. Puede observarse como ésta sobresale ligeramente.

Detalle del pin crimpado y posición en el terminal.

Detalle del pin crimpado y posición en el terminal.

Tras la preparación de los seis cables y su posicionamiento en la carcasa obtenemos un cable impecable que encajará perfectamente en el conector de nuestro TL866.

Conector terminado.

Conector terminado.

Basta con comprobar el cable con su conector y trabajo terminado.

¿Quién dice que es hecho en casa?

¿Quién dice que es hecho en casa?

El otro extremo del cable podemos terminarlo de forma similar, o buscar un conector adecuado para una placa de prototipos, si vamos a utilizarlo asiduamente con una.

Quark XVIII .::. Programador universal Minipro TL866CS actualizado a TL866A

El Minipro TL866CS es un pequeño y barato programador universal, fabricado por Autoelectric, que se ha puesto muy de moda ya que apareció en uno de los videoblogs de David Jones (EEVBlog). En él se hacía una revisión de sus capacidades tanto de hardware como de software, y salía muy bien parado, más teniendo en cuenta su reducido precio.

Se presenta en dos versiones, la CS con un conector ZIF en el que se conectan los chips a programar o los diversos adaptadores disponibles para las versiones SMD, así como la versión A, de mayor precio, que, además, dispone de un conector ICSP que permite la conexión de los dispositivos que disponen de programación serie (y que el programador soporte, por supuesto).

Varios usuarios de los foros del blog citado lo adquirieron y, como ya va siendo normal, lo estudiaron al dedillo. Uno de ellos, radioman, acabó diseñando un pequeño programita con el que, mediante el puerto USB, puede actualizarse el firmware del modelo CS con el de la versión A, obteniendose un TL866A en toda regla. El hilo correspondiente al TL866 está AQUÍ. En él encontraréis tanto el programa como el fichero binario necesario para la conversión.

Tras leerlo me animé y pedí el mío:

Caja.

Caja.

La versión barata, por supuesto:

Detalle de la caja, en el que se muestra el modelo.

Detalle de la caja, en el que se muestra el modelo.

Tras hacer el pertinente uso de los medios proporcionados por radioman, mi TL866CS pasa a ser un todopoderoso TL866A. Pero falta un detalle, el hardware del TL866CS no incluye el conector ICSP.

Como podemos ver, el conector se encuentra tapado:

Abertura, bloqueada, del conector ICSP.

Abertura, bloqueada, del conector ICSP.

Veamos qué hay en su interior… Desatornillamos cuatro tornillos de fácil acceso en la parte inferior y tenemos lo siguiente:

Destripado.

Destripado.

La parte superior de la carcasa, la inferior, la placa con el conector ZIP, los cuatro tornillos de sujeción y un conector de seis contactos, no incluído con el TL8866, pero que yo ya tenía preparado a la espera de este momento.

El modelo del conector es el KF2510-6P, fácil de encontrar y tirado de precio en eBay.

En la placa pueden apreciarse los seis orificios previstos para el conector. Se encuentra en la parte derecha de la imagen, a la izquierda de los transistores y los diodos.

Placa con microcontrolador ocultado.

Placa con microcontrolador ocultado.

En la siguiente imagen los vemos más de cerca. La verdad es que los de Autoelectric lo han puesto fácil…

Detalle de los orificios para el conector ICSP.

Detalle de los orificios para el conector ICSP.

Preparamos la caja para poder acceder, cuando el montaje esté terminado, a los terminales del conector. Como hemos visto la entrada se haya tapada:

Acceso al ICSP bloqueado.

Acceso al ICSP bloqueado.

Parece una pequeña tapa. Vamos a ver… ¡Si sale sin ningún esfuerzo!

¡Ups!

¡Ups!

Acceso a través de la carcasa solucionado. Vamos a por el conector. Lo presentamos. Para colocarlo en su lugar me ayudo de unas pequeñas pinzas, ya que el cuerpo del TL866 está formado por dos placas, la principal con la mayor parte de la circuitería y otra paralela, soldada a ella, con soporte para el zócalo ZIF. El conector ha de colocarse en su lugar por el interior del sandwich que aquellas forman.

Conector colocado.

Conector colocado.

Quizá ya os habrá llamado la atención el conector ZIF. Aunque viene marcado como 3M, está claro que es una copia baratísima y de muy mala calidad. Supongo que algún día habré de cambiarlo. A ver cuánto aguanta…

Una vez debidamente soldado el su lugar la cosa tiene otro aspecto:

Sin orificios.

Sin orificios.

Montamos, atornillamos y ya tenemos nuestro flamante TL866A listo para su uso:

¡Tachán!

¡Tachán!

A excepción del conector ZIF, todo en este programador da sensación de robustez y buen acabado.

Ha sido utilizado por mi en varias ocasiones sin ningún tipo de dificultad y el número de dispositivos que acepta es bastante amplio.

Autoelectric está abierto a peticiones para añadir nuevos chips, solicita tres ejemplares para su estudio.

Puede descargarse el software de programación de su web, que actualizan cada cierto tiempo.

Quark XV .::. PCB para Bus Pirate v3.8, recibida

Como ya conté (CLICK!) estaba a la espera de una PCB de Bus Pirate 3.8.

Hoy, dos meses y cinco días después de su envío, me ha llegado. Hace cuatro o cinco días contacté con Ian Lesnet para comentarle que no la había recibido y, muy amablemente, me contestó informándome de que se enviaban desde China y había coincidido con un par de semanas festivas por aquellos lares. Inocente de mi, pensaba que las enviaba desde Estados Unidos…

 

En fin, que acabo de recibir el paquete:

El sobrecito tardón.

El sobrecito tardón.

Se envió desde Hong Kong.

En el pequeño sobre acolchado nos encontramos con esto:

Contenido del sobre.

Contenido del sobre.

Unas pegatinas de Dangerous Prototypes y la esperada PCB.

Ésta ha sido fabricada por Seeed Studio, con una calidad aceptable. Esta y otras empresas similares han puesto al alcance de cualquiera la fabricación de sus propias PCBs a unos costes realmente contenidos.

BusPirate 3.8

BusPirate 3.8

Espero ponerme pronto con su montaje y juguetear con ella.

Gracias a Ian y a su Dangerous Prototypes por su amabilidad.