Modo ISP del Z8051

Bueno, pues aquí formulo esta pregunta que me parece que necesita un milagro para responderse, pero si alguien ha programado ya esta familia de micros podría comentar un poco su experiencia.

Ha caido en mis manos un Z51F0811 de la familia Z8051 que son los 8051 que recientemente (2012) ha introducido Zilog en el mercado. La verdad es que para ser un micro de 1 dolar tiene un montón de funcionalidades. Me gustaría hacer un hola mundo pero sin invertir en un programador para este micro, al menos de momento. La idea es subir al chip un HEX de ejemplo y comprobar cómo funciona. El problema es que la Datasheet es muy vaga en el manejo de la programación. He repasado 20 veces el datasheet y siempre me faltan datos para poder hacer algo. Por ejemplo, el sistema usa 2 líneas (twin bus) para acceder al depurador integrado del chip, o OCD. La forma de manejar estas líneas es muy parecida a un bus I2C (DSCL,DSDA). Pero hasta ahí llega, porque a partir de ahí aparecen unos algoritmos para las funciones de Flash y EEPROM, algo vagos, que implica escribir y leer valores en los SFR (registros de función especial) dedicados a la programación del chip. Sé cómo enviar paquetes de bytes al microcontrolador, y sé qué registros hay que escribir para operar con la flash y la EEPROM, pero ¿Cual es el formato de los paquetes del bus para leer y guardar valores en dichos SFR?, algo así como [inicio],[comando],[registro],[valor],[final], donde comando pudiera ser leer o escribir registro, el valor sería enviado al micro o devuelto por el micro. Por otro lado para entrar en el modo In System Programming (ISP), es necesario, además de aplicar la secuencia alternativa de 12 pulsos en DSDA y DSCL, antes poner a nivel bajo durante 10us el pin nTEST, pero ¿Donde está ese pin?.

Además hay otro modo, modo de programación paralela, donde los datos se meten en forma de bytes y ahí si aparecen varios comandos para iniciar la lectura o la escritura de las distintas secciones de la memoria del pic, el problema es que esos comandos vienen ejecutados alternando señales en varias lineas, nTEST, nALE, nWR, nRD, PDATA[7:0], lineas de pines que no aparecen equivalencia por ningún lado en ninguno de los encapsulados de este IC. Sí que he visto alguna equivalencia en el Z51F0410 pero es que este micro es uno de 8 pines y poco tiene que ver con el que tengo.

¿Alguien tiene alguna información, alguna appnote, o algo para averiguar de donde saco o bien los pines extraviados o bien los comandos del OCD para el ISP?

Sé que hay programadores alternativos al oficial, aunque pocos, por eso tiene que haber algo que de alguna pista para poder acceder a las especificaciones completas del modo de programación.

Como veis, la pregunta tiene miga, así que que encuentre alguna respuesta directa será un milagro (no la típica de comprate el programador y tendrás menos dolores de cabeza), en cualquier caso toda ayuda será bienvenida.

Gracias y un saludo. ...
 
Última edición:
Tendrás que buscar en la web del fabricante. Yo usaba derivados de Atmel y era el fabricante el que ya proporcionaba el programador, el software porque el harware es cero.

Hay que leer el datasheet, en el caso del atmel se mantenía la programación paralela por compatibilidad pero estaba desaconsejada. Bastaba con hacer reset con un par de pines a uno para entrar en el bootloader. Luego ya no hacía falta ni eso ya que el chip se puede autoprogramar sin salir de la aplicación en ejecución.

Rebusca en la web del fabricante porque a veces hay un datasheet "ligero" de unos 20 folios y el "potente" de 400.
 
Ya he rebuscado bien la web de Zilog sin suerte. Sin embargo he estado buscando por la red y he encontrado cosas interesantes (y bastante tristes por cierto). Por ejemplo, he mencionado antes el Z51F0410 que es un 8051 de 8 pines. Bueno, pues si tienes un par de minutos echa un vistazo por encima al datasheet del Z51F0410 y a este otro datasheet del microcontrolador MC95FG104 del fabricante coreano ABOV. ¿Notas algo raro?, el Z51F0410 se publicó en enero de 2012, y la última modificación del MC95FG104 en noviembre de 2011, aunque sigue en producción y venta desde ABOV. Pues así con todos los micros Z8051 de zilog (por ejemplo el que tengo, el Z51F0811 y el MC95FG308), con su respectivo MC51 de ABOV, al menos en algunos modelos superiores de los micros de ABOV incluyen las rutinas internas para la programación de la Flash y la EEPROM, que tampoco es que sean muy útiles sin conocer el formato de los paquetes de comunicación del On-Chip-Debugger.

Zilog no vende directamente las mochilas OCD, sino que vende los kits de evaluación para su serie de micros Z8051. El aspecto de la mochila OCD es idéntico a la mochila OCD(I) de ABOV. Es más, en los datasheets de los Z8051 aparecen varios programadores, todos ellos fabricados y vendidos por ABOV. Me parece que la OCD dongle de Zilog es el mismo que el de ABOV pero con la pegatina de fuera y el PID/VID del driver USB cambiados (lo que supongo que impediría en principio utilizar el OCD de ABOV con el MCU y el Software de Zilog, y viceversa). Hay alguien en los foros de Zilog que se quejaba de que si quería probar varios micros Z8051 tenía que comprar un kit cada vez en lugar de comprar la placa sólo ya que tenía el cable de kits anteriores, y menciona que el integrado del dongle OCD es un convertidor USB de Cypress de alta velocidad (si es el FX2LP supongo que las salidas hacia el OCD del Z8051 será el puerto I2C). No tuvo respuesta por parte de Zilog.

Por otro lado está el interfaz ET-Z8051 (de una compañía de israel, creo) que es un clon del OCD del Z8051 pero es más feo y vale más que un kit de evaluación de Zilog que incluye ya el OCD (Hay gente para todo).

He echado un vistazo a los manuales de los debuggers tanto de Zilog como de ABOV, y el de zilog tiene 4 ventanas y ya está y el de ABOV tiene muy buena pinta. Estos micros tienen el core del M8051 de alto rendimiento de Mentor Graphics, pero el interfaz ISP de los Zilog/ABOV es el OBD Twin bus (Copyright Choice.Dr - propiedad de ABOV) , y el de los M8051 es el JTAG estandar, por lo que no creo que rasque mucho investigando el core de estos micros.

En resumidas cuentas, Zilog no ha desarrollado nada del hardware del 8051 sino que ha comprado el diseño de ABOV y encima sin exclusividad ya que ABOV sigue produciendo MCUs que son clones (originales) de los de Zilog. Esto es coherente con la información que hay de Zilog que dicen que no sé si fue en 2007 o 2009 en el último recorte de plantilla Zilog se quedó sin ingenieros de diseño. Las datasheets de los Z8051 en el mejor caso son copias idénticas (excepto en el nombre del producto) de los MCU de ABOV, y en el peor caso son copias incompletas (por ejemplo comparar las figuras 7.2 de los datasheets de Zilog/ABOV y se verá lo que digo).

Vamos, que posiblemente ni siquiera los mismos de Zilog no saben cómo funciona su propia mochila OCD (Zilog, tú antes molabas).

Confome vaya encontrando más cosas ya iré ampliando/corrigiendo lo que he escrito por aquí, y si alguien tiene alguna idea más, bienvenida sea.

Un saludo.
 
Atrás
Arriba