Proyectos cacharreo 2021-2024

Proyectos de hardware con sus esquemáticos y si llevan software en fuente

Moderadores: cacharreo, Fundadores

Reglas del Foro
Aquí solo tienen cabida proyectos de hardware que incluyan siempre al menos sus esquemáticos para poder reproducirlos si llevan componentes electrónicos, y si es posible los ficheros del programa en que se hacen, los diseños de las placas, los gerber, etc. Si llevan algún tipo de software asociado debe estar diponible el código fuente

Para los que no cumplen estas condiciones se debe postear en el foro de proyectos generales.
Responder
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5614
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1190 times
Been thanked: 2717 times
Contactar:

Re: JTAG VaDeRetror! Programmer 0.02 y 0.03

Mensaje por cacharreo »

Sí, de hecho tengo otros proyectos más complejos pero en general utilizan un conjunto de instrucciones y técnicas conocidas que son compatibles con los chips que las soportan.
wilco2009 escribió: 05 Dic 2022, 13:55Lo que me interesaría más a mi sería una variante de este proyecto para programar las CPLDs sin necesidad de ayuda exterior desde un PC, por ejemplo cargando desde la SD.
Y ya puesto, ya sería la leche poder cambiar el propio programa del microcontrolador (o parte de él) desde la SD, aunque eso tiene que ser aun más complejo.
Tiene mucho sentido. El Nano no hace más que de reproductor XSVF para programar la CPLD y a priori no parece nada complicado añadirle un interfaz con pantalla y un módulo tipo Catalex para leer de la SD.
wilco2009 escribió: 05 Dic 2022, 13:55Y ya puesto, ya sería la leche poder cambiar el propio programa del microcontrolador (o parte de él) desde la SD, aunque eso tiene que ser aun más complejo.
Actualizar por ejemplo un ATmega328P desde SD ya está hecho, requiere una nueva versión del cargador (bootloader).
© cacharreo
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: JTAG VaDeRetror! Programmer 0.02 y 0.03

Mensaje por wilco2009 »

cacharreo escribió: 05 Dic 2022, 16:08
wilco2009 escribió: 05 Dic 2022, 13:55Lo que me interesaría más a mi sería una variante de este proyecto para programar las CPLDs sin necesidad de ayuda exterior desde un PC, por ejemplo cargando desde la SD.
Y ya puesto, ya sería la leche poder cambiar el propio programa del microcontrolador (o parte de él) desde la SD, aunque eso tiene que ser aun más complejo.
Tiene mucho sentido. El Nano no hace más que de reproductor XSVF para programar la CPLD y a priori no parece nada complicado añadirle un interfaz con pantalla y un módulo tipo Catalex para leer de la SD.
¿Le has echado un vistazo al código para ver si sería fácil de modificar?
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".

Douglas Adams. Guía del autoestopista galáctico.
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5614
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1190 times
Been thanked: 2717 times
Contactar:

Re: JTAG VaDeRetror! Programmer 0.02 y 0.03

Mensaje por cacharreo »

wilco2009 escribió: 05 Dic 2022, 23:48¿Le has echado un vistazo al código para ver si sería fácil de modificar?
Hacía tiempo que no lo revisaba y me ha costado encontrarlo pero ahora que lo veo básicamente consiste en modificar que reciba los datos de la tarjeta SD en lugar de recibirlos del puerto serie. Todo está muy estructurado y tal como lo veo no creo que sea necesario complicarse para nada con la gestión a bajo nivel del JTAG.
© cacharreo
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: JTAG VaDeRetror! Programmer 0.02 y 0.03

Mensaje por wilco2009 »

cacharreo escribió: 06 Dic 2022, 11:48
wilco2009 escribió: 05 Dic 2022, 23:48¿Le has echado un vistazo al código para ver si sería fácil de modificar?
Hacía tiempo que no lo revisaba y me ha costado encontrarlo pero ahora que lo veo básicamente consiste en modificar que reciba los datos de la tarjeta SD en lugar de recibirlos del puerto serie. Todo está muy estructurado y tal como lo veo no creo que sea necesario complicarse para nada con la gestión a bajo nivel del JTAG.
Cierto, cambiando Serial por SD debería funcionar...

Código: Seleccionar todo

	PlayXSVFJTAGArduino p(Serial, SERIAL_RX_BUFFER_SIZE, 8, 9, 10, 11, 12);
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".

Douglas Adams. Guía del autoestopista galáctico.
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5614
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1190 times
Been thanked: 2717 times
Contactar:

Re: JTAG VaDeRetror! Programmer 0.02 y 0.03

Mensaje por cacharreo »

Reflexionando sobre los comentarios que he recibido a este respecto, con el proyecto tal como está ahora mismo programar puntualmente una CPLD consistiría en seleccionar un archivo .xsvf en el PC y ejecutar el comando que lo transfiere a través del puerto serie al microcontrolador. Trasladada esta funcionalidad a una placa con microcontrolador para una programación puntual de CPLD implica seleccionar el fichero XSVF en el PC, pasarlo a la SD, extraer la SD, arrancar el microcontrolador, navegar hasta seleccionar el fichero y ejecutar la rutina de programación. Comparando las dos opciones este proceso parece menos directo, menos cómodo y de mayor duración. Llevar todo a una placa con microcontrolador compensaría si se quisiera grabar la misma CPLD una vez detrás de otra o si se dispusiera de antemano de una placa con microcontrolador preprogramada y una tarjeta SD con una colección de todos los ficheros XSVF que se pudiesen necesitar.

El quid de la cuestión es que hace falta una placa adaptadora según el encapsulado y la asignación de los pines de alimentación y JTAG. Como veis en el tema tengo varias hechas y diseñar nuevas no es costoso, se hace en un ratillo pero, al igual que ocurre con un programador universal tipo TL866II Plus (Minipro), T48, T56,..., para que un proyecto de esta naturaleza sea viable y práctico resulta imprescindible contar con una buena panoplia de adaptadores para poder trabajar con comodidad. También somos conscientes de que los zócalos necesarios para programar chips de alta densidad de pines tipo QFN, MLF, DQFN, VQF, TQFP,... tienen un alto precio por lo que, en este sentido, otra opción sería tener placas adaptadoras para los (caros) accesorios disponibles de estos programadores universales.
© cacharreo
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: JTAG VaDeRetror! Programmer 0.02 y 0.03

Mensaje por wilco2009 »

La idea mia no era un programador universal, sino una forma de actualizar el firmware de un cartucho u otro circuito propio.

Por ejemplo, imaginate un cartucho SD para una consola que lleva una CPLD, con esta solucion se podría actualizar la configuracion de la CPLD sin necesidad de PC, copias el archivo al raiz de la CPLD y reinicias el cartucho para que, al encontrar el archivo, actualice el firmware, tras lo cual lo borra para no encontrarlo la última vez.

Como decía en mi post anterior, para completar la jugada sería muy interesante poder actualizar el programa del arduino desde la SD, pero eso sí que se me hace complicado.
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".

Douglas Adams. Guía del autoestopista galáctico.
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5614
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1190 times
Been thanked: 2717 times
Contactar:

Re: Proyectos cacharreo 2021-2022

Mensaje por cacharreo »

Ahora comprendo, el JTAG Programmer estaba inicialmente pensado para programar los chips de las CPLD sueltos que después se soldarían a una placa concreta pero tu objetivo es un programador independiente para un dispositivo que dispone de interfaz (pines) JTAG. Como hemos hablado se requiere un reproductor XSVF como firmware de la placa con el microcontrolador, el fichero .XSVF en el raíz de la SD y el interfaz para lanzar el proceso o hacerlo automáticamente como sugieres.

Actualizar el firmware de la placa con el microcontrolador es viable, como apuntaba existe un cargador específico para hacerlo, pero ¿cuál sería el objetivo de actualizar el firmware? En teoría el reproductor .SVF sería el mismo y solo se necesitaría actualizar el fichero .SVF.
© cacharreo
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: Proyectos cacharreo 2021-2022

Mensaje por wilco2009 »

Sí, el reproductor sería el mismo, pero es que me estoy refiriendo a un circuito que tiene un microcontrolador y una CPLD ya de por sí. Por ejemplo, con el microcontrolador cargo los juegos desde la SD y controlo una pantalla OLED con un menu para cargar los juegos, y el control de señales y puertos lo lleva la CPLD.
Aprovechando que tengo un microcontrolador puedo cambiar la programacion de la CPLD, pero el problema es como actualizar el programa del microcontrolador cargandolo desde la SD.
Se necesitaría como un bootloader pero que tuviera acceso a la SD, y que yo sepa no hay nada hecho para Arduino.
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".

Douglas Adams. Guía del autoestopista galáctico.
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5614
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1190 times
Been thanked: 2717 times
Contactar:

Re: Proyectos cacharreo 2021-2022

Mensaje por cacharreo »

wilco2009 escribió: 07 Dic 2022, 23:34Se necesitaría como un bootloader pero que tuviera acceso a la SD, y que yo sepa no hay nada hecho para Arduino.
En los últimos años he visto varios proyectos de ese tipo pero no me han hecho falta y no los he probado. Un ejemplo, AVR boot.
© cacharreo
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5614
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1190 times
Been thanked: 2717 times
Contactar:

Re: Proyectos cacharreo 2021-2022

Mensaje por cacharreo »

© cacharreo
Responder

Volver a “Proyectos de hardware abiertos”