Tutorial de montaje del Kit ZX Dandanator! Mini

Cursos, reparaciones, fichas, tutoriales, etc.

Moderador: Fundadores

Avatar de Usuario
España antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1586
Registrado: 02 Abr 2013, 19:06
Has thanked: 1 time
Been thanked: 13 times
Contactar:

Re: Tutorial de montaje del Kit ZX Dandanator! Mini

Mensaje por antoniovillena » 27 Jul 2016, 17:34

dandare escribió:Muchas gracias Antonio. Gracias por compartirlo y por facilitar el acceso al fichero. Espero que te vaya bien el kit!
Lo acabo de probar y funciona perfectamente.

Avatar de Usuario
España merlinkv
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 5380
Registrado: 06 Abr 2015, 23:08
Ubicación: Madrid / Europa del Este
Has thanked: 71 times
Been thanked: 311 times
Contactar:

Re: Tutorial de montaje del Kit ZX Dandanator! Mini

Mensaje por merlinkv » 27 Jul 2016, 19:49

Unas preguntas ....

Quería probar mi nuevo programador que admite el PIC16F1826. Para reprogramarlo he usado el ZXDDTM_422.hex (11.272 bytes).

He borrado, grabado y verificado el IC y, vuelta a probar en el Dandanator Mini todo va OK y se puede hacer el proceso de actualización del firmware del PIC encendiendo con los dos botones pulsados.

Como digo, todo funciona OK por lo que entiendo que fw/bl son correctos.

¿Hay un fw/bl nuevos, es decir 4.4, o el 4.22 es el último? .... "asiassssss" :D :D :D :D :D

Otra pregunta ... si a un PIC16F1826 en blanco le quieres poner solo el Bootloader se necesita el adaptador de Antonio o se puede hacer directamente desde el programador .....
No sé como será la tercera Guerra Mundial. Pero sí sé como será la cuarta: Con palos y piedras.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Pásate por: WinUAEspañol

Avatar de Usuario
España antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1586
Registrado: 02 Abr 2013, 19:06
Has thanked: 1 time
Been thanked: 13 times
Contactar:

Re: Tutorial de montaje del Kit ZX Dandanator! Mini

Mensaje por antoniovillena » 27 Jul 2016, 20:37

merlinkv escribió: Otra pregunta ... si a un PIC16F1826 en blanco le quieres poner solo el Bootloader se necesita el adaptador de Antonio o se puede hacer directamente desde el programador .....
Depende cómo sea tu programador. El mío es el Pic Kit 2, es bastante antiguo y se programa por ICSP (el método estándar de los PICs). Con este método sólo tengo 5 pines que van conectados directamente a 5 pines del chip sin necesidad de alimentación aparte. Las placas que tienen PIC suelen ir con este conector, de tal forma que conectas directamente el programador a ese conector. Como el Dandanator no lo tiene, pues me he apañado este invento. También vale una protoboard para hacer esto.

Pero si tú tienes un programador que acepta directamente el chip como parece ser, no necesitas nada más.

Avatar de Usuario
España merlinkv
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 5380
Registrado: 06 Abr 2015, 23:08
Ubicación: Madrid / Europa del Este
Has thanked: 71 times
Been thanked: 311 times
Contactar:

Re: Tutorial de montaje del Kit ZX Dandanator! Mini

Mensaje por merlinkv » 27 Jul 2016, 20:48

Es un Xeltek SuperPro 610p y sí, acepta directamente el PIC ... si tengo un PIC en blanco .... ¿le puedo programar solo el BL?

He visto por la red que hay mogollón de BLs para los PICS y por eso era mi pregunta .....
No sé como será la tercera Guerra Mundial. Pero sí sé como será la cuarta: Con palos y piedras.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Pásate por: WinUAEspañol

Avatar de Usuario
España antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1586
Registrado: 02 Abr 2013, 19:06
Has thanked: 1 time
Been thanked: 13 times
Contactar:

Re: Tutorial de montaje del Kit ZX Dandanator! Mini

Mensaje por antoniovillena » 27 Jul 2016, 20:52

Da igual que el chip esté en blanco o esté grabado. Tu programador machacará lo que hay. El bootloader sólo no te va a servir para nada, vamos que no te va a funcionar y los que hay son para puerto serie, con lo que no podrás actualizar. El Dandanator ya viene con su propio bootloader que permite actualizar desde el propio Spectrum.

Avatar de Usuario
Australia dandare
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3631
Registrado: 09 Feb 2016, 15:09
Ubicación: I Register
Has thanked: 16 times
Been thanked: 192 times
Contactar:

Re: Tutorial de montaje del Kit ZX Dandanator! Mini

Mensaje por dandare » 27 Jul 2016, 21:07

Confirmo todo lo que dice Antonio.

Un bootloader, como tal, es algo que permite al chip programarse a si mismo. Imagina una bios de un PC que permite instalar un SO u otro desde disquete.

Aparte de soportar el modelo de chip determinado, el bootloader tiene que soportar el periferico desde el que se va a hacer la actualización: Puerto serie, tarjeta sd... En el caso del Dandanator, como es un bootloader que he programado yo, la actualización la hace desde el propio spectrum con un protocolo basado en pulsos WR en ROM y pulsos NMI.

Además de actualizar, el bootloader es el encargado de inicializar o contener la configuración hardware del PIC, que no se puede autoreprogramar, y de lanzar el programa principal. También es el encargado de redireccionar las interrupciones al programa principal.
Imagen
Imagen

Avatar de Usuario
España merlinkv
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 5380
Registrado: 06 Abr 2015, 23:08
Ubicación: Madrid / Europa del Este
Has thanked: 71 times
Been thanked: 311 times
Contactar:

Re: Tutorial de montaje del Kit ZX Dandanator! Mini

Mensaje por merlinkv » 27 Jul 2016, 21:16

Ya entiendo que el programador se carga todo lo que tenga el chip.... :)

Mirando un poco más lo he encontrado, admite el modo PIC16F1826 (LVISP) ... necesito un adaptador "Header-01" voy a ver si lo consigo y si no, intentaré hacerme uno.... :))

Lo del BL lo entiendo, más que nada era que necesitaba saber un poco la estructura de la programación que, en el caso de estos PICs, imagino sera más o menos en este orden ¿no?: Arranque del BL / Programación / BL

Gracias por la info :)
No sé como será la tercera Guerra Mundial. Pero sí sé como será la cuarta: Con palos y piedras.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Pásate por: WinUAEspañol

Avatar de Usuario
Australia dandare
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3631
Registrado: 09 Feb 2016, 15:09
Ubicación: I Register
Has thanked: 16 times
Been thanked: 192 times
Contactar:

Re: Tutorial de montaje del Kit ZX Dandanator! Mini

Mensaje por dandare » 27 Jul 2016, 22:19

antoniovillena escribió:
dandare escribió:Muchas gracias Antonio. Gracias por compartirlo y por facilitar el acceso al fichero. Espero que te vaya bien el kit!
Lo acabo de probar y funciona perfectamente.
Estupendo! Me alegro :-]
Imagen
Imagen

Avatar de Usuario
Australia dandare
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3631
Registrado: 09 Feb 2016, 15:09
Ubicación: I Register
Has thanked: 16 times
Been thanked: 192 times
Contactar:

Re: Tutorial de montaje del Kit ZX Dandanator! Mini

Mensaje por dandare » 27 Jul 2016, 22:46

merlinkv escribió:Ya entiendo que el programador se carga todo lo que tenga el chip.... :)

Mirando un poco más lo he encontrado, admite el modo PIC16F1826 (LVISP) ... necesito un adaptador "Header-01" voy a ver si lo consigo y si no, intentaré hacerme uno.... :))

Lo del BL lo entiendo, más que nada era que necesitaba saber un poco la estructura de la programación que, en el caso de estos PICs, imagino sera más o menos en este orden ¿no?: Arranque del BL / Programación / BL

Gracias por la info :)
Hola, no he entendido muy bien lo que me comentas, pero llevo todo el día por Somiedo dando tumbos y estoy frito! ;) así que puede ser perfectamente achacable a eso.

Realmente no necesitas el adaptador para programar el chip. Con cinco hilos puedes hacerlo. Microchip utiliza dos sistemas para programar chips, uno se llama LVP (Low voltage programming) y otro ICSP (In circuit serial programming), que utiliza alto voltaje (bueno, los voltios habituales : 3..5, dependiendo del chip). El LVP tiene sus aplicaciones, pero puedes hacerlo perfectamente con voltaje normal con un protocolo serie de 3 hilos + alimentación:
VCC, GND, PGD (programming data), PGC (Programming Clock) y MCLR (Master Clear). Por lo que he visto, tu programador soporta este modo sin adaptador, aunque he mirado rápido, compruébalo ;).

Respecto a la estructura, y lo digo de memoria ahora, por lo que a lo mejor no coincide al 100% con este chip, pero es mas o menos lo normal para los microcontroladores de microchip:
- bits de configuración: estos son unos bits o "fuses" que seleccionan algunos parámetros de operación como el tipo de reloj que se va a usar y su velocidad, la protección de escritura o lectura, el watchdog, la asignación de algunos pines... Estos sólo se pueden programar desde el programador y no son modificables en ejecución ni por autoprogramacion.
- user/serial: suele haber un espacio reservado para un número de serie y para datos sobre versión, etc. Creo que tampoco se puede cambiar en ejecución, pero no estoy seguro ahora.
- program flash: Los chips de microchip utilizan una arquitectura Hardvard, donde la zona de datos y de programas está separada. Aunque los PIC16 son de 8 bits(datos) son de 14bits de programas, por lo que se mide en words. Nuestro PIC tiene 2kwords.
- eeprom: Algunos chips tienen memoria eeprom incorporada, el nuestro tiene 256 bytes.
- RAM: nuestro chip tiene la friolera de 256 bytes de RAM :D
- stack HW: algunos PIC tienen un stack HW. El nuestro tiene uno de 12 niveles creo.
- registros: toda la memoria puede ser vista como registros, pero existe el equivalente al acumulador A del z80 que seria el registro w.

Al arrancar, y tras estabilizar el reloj (porque así se lo he indicado en un bit de configuración), se lee la instrucción 0 y se empieza a ejecutar el programa. El pic16 tiene varias interrupciones externas, el nuestro como 10 o así, pero un solo vector de interrupción en 0x08. He decidido poner el bootloader en los primeros 512words de flash, por lo que también capturo, de alguna forma, el vector de interrupción.
Al arrancar hace una serie de comprobaciones sobre los botones y, si no están pulsados, salta a la dirección 0x200, que es el inicio del programa real (sin bootloader)
Si los botones están pulsados, se intenta poner en comunicación con el spectrum para actualizar desde el 0x200 en adelante. El bootloader nunca cambia (politica normal de seguridad en los bootloaders, pero no es una restricción técnica como la de los fuses)

En ejecución normal, cuando salta una interrupción no enmascarada, se salta a la dirección 0x08, que a la vez llama al nuevo vector que he puesto en 0x208.

Al programar el chip, dependiendo del SW de programación, puedes elegir si grabar los bits de configuración, la eeprom, o una zona de la flash, aunque lo normal es borrar y grabar todo.

Espero haberme explicado bien, si no, pregunta lo que sea a ver si me aclaro! :D

(Modo ladrillo off :)) )
Imagen
Imagen

Avatar de Usuario
España merlinkv
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 5380
Registrado: 06 Abr 2015, 23:08
Ubicación: Madrid / Europa del Este
Has thanked: 71 times
Been thanked: 311 times
Contactar:

Re: Tutorial de montaje del Kit ZX Dandanator! Mini

Mensaje por merlinkv » 27 Jul 2016, 22:53

Más claro ... el agua :)

Sí, he estado leyendo y buscando y he encontrado lo que necesito para programar en LVISP (así lo llama mi programador). Creo que con una pequeña PCB, un zócalo de 10 pines, un conector de 10 pines para placa base y 10 cables, me puedo construir uno (afortunadamente tengo de todo). He encontrado además las imágenes de la PCB (Top/Bottom) del adaptador original con lo que no tendré problemas.

Gracias otra vez compi :-]
No sé como será la tercera Guerra Mundial. Pero sí sé como será la cuarta: Con palos y piedras.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Pásate por: WinUAEspañol

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados