HC08 - Programador USB Monitor

Programador para la familia MC68HC908 JL, JK, en mi caso solo lo he probado con el JL3.
Es un programador llamado Monitor que se encuentra en las notas de aplicaciones de Freescale AN-HK-32 y AN2317, desde aquí se ha rediseñado un programador USB que se alimenta del mismo puerto, lo que nos da un dispositivo portátil y seguro.
Independientemente del programador se puede utilizar el IDE CodeWarrior que provee Freescale o el WinIDE que también funciona bien y posee Debug.
El diseño consta de una etapa osciladora externa funcionando a 9.83MHz construida en base a compuertas NOT (7404), luego un conversor USB/UART basado en el MCP2200 que nos permitirá controlar el programador por USB (Se deben descargar los drivers desde la pagina de microchip, son gratuitos), y por ultimo una fuente SMPS Step-Up basada en MC34063 que nos provee de 9V para la tensión VPP o VTST de programación.
Al tratarse de un circuito Monitor de clase 3 se deben realizar "a mano" algunas rutinas, por ejemplo cuando querríamos acceder al MCU nos pedirá que reiniciemos el micro, esto tendremos que hacerlo presionando el botón de Reset, luego de esto dependiendo del IDE podría pedirnos que conectemos o desconectemos la alimentación del MCU, en el WinIDE no lo pide.
Este programador nos pide que realicemos alguna tarea de forma manual porque solo usa los pines Tx y Rx del puerto serial, hay otras versiones como la Clase 1 que además de estos pines también utiliza los de control de flujo (Pin DTR) para activar automaticamente el IRQ (Los 9V en IRQ). Para ello hay que cambiar el MCP2200 por un FT232, pero este ultimo cuesta 4 veces mas que el MCP por eso se ha optado no utilizarlo.
En nuestra sección de Storage pueden encontrar todo lo mencionado desde las notas de aplicación hasta los archivos de diseño y un PDF para imprimir el PCB. "MON08 - USB Programmer.7z"
https://sites.google.com/site/electgpl/storage


18 comentarios:

  1. Genio, groso. Sabes donde puedo conseguir el CodeWarrior o el WINIDE de la forma mas economica posible? Las versiones de prueba sabes que limites tienen ? Muy buen aporte !

    ResponderBorrar
    Respuestas
    1. Buen día, Gracias!, yo uso el WINIDE sin ningún problema (versión gratuita) sinceramente nunca me debute a ver las limitaciones de la versión free pero tampoco me ha limitado para programar la linea HC08. El codewarrior desconozco la licencia.
      Saludos!

      Borrar
  2. Disculpa, ese cristal no es comercial, ¿qué valor comercial se usa?

    ResponderBorrar
    Respuestas
    1. Hola, es un valor comercial 9.8304MHz, al menos acá lo consigo sin dificultad, es un valor de clock que especifica el fabricante en su datasheet para la comunicación.
      Saludos.

      Borrar
  3. Hola! Te hago una consulta. En que nota de aplicación se puede ver el circuito que realiza el reseteo automáticamente (via FT232).
    La última con WinIDE se puede programar en C o sólo assembler?

    Gracias!

    ResponderBorrar
    Respuestas
    1. Perdón es error mio lo que controlas con el programador Clase 1 es el IRQ, lo que hace es enviar la tensión de programación Vpp o Vtst, lo hace utilizando la salida DTR del FT232, esta lo que hace es activar los 9V para habilitar la programación. El datasheet donde se encuentra la configuración del Clase 1 es la nota de aplicación AN2317.
      Ahora cambio esa parte en la descripción para no generar dudas. El reset es un pulsador que pone a masa RST y en el caso contrario queda el pullUp.
      Saludos!

      Borrar
  4. hola, veo que no tiene mucho misterio, tengo una consulta, tengo un adaptador usb a ttl, con chip pl2303, se podrá utilizar es o tiene que ser rs232, se le podrá agregar un auto reset por puerto serial usb, saludos.

    ResponderBorrar
    Respuestas
    1. Hola, correcto, podes usar cualquier BridgeUSB, necesitas solo Tx y Rx, si queres el auto reset tenes que usar otro bridge mas completo con los demás pines de control de flujo como el FT232, no estoy seguro si el PL2303 tiene DTR (Data Terminal Ready), con ese pin desde la pc lo configuras como MON08 Clase 1.
      Saludos.

      Borrar
    2. hola, el chip pl2303 original lo tiene ya que lo use para mi arduino clon casero. el cristal que tiene este programador puede ser de otra frecuencia mas normal?, ya que de estos no tengo y si de frecuencias mas redondas tipo 8mhz, 12mhz etc. saludos

      Borrar
    3. la tención de programación es 9v se le puede ingresar directamente una sin usar todo el diseño que propones?

      Borrar
    4. Bueno, bien entonces porque el FTDI es bastante costoso en relación al resto.
      El cristal es el que recomienda el datasheet de freescale, sinceramente no he probado con otro ya que no tuve problemas para conseguirlo, supongo que tendrá algún calculo interno para que el baudrate sea correcto a esa frecuencia.
      Podes usar VPP de la fuente que quieras, en mi caso use una fuente SMPS Boost para tomar los 5V del USB y elevarlos, con la finalidad de no tener que usar una fuente extra.
      Saludos.

      Borrar
    5. perfecto, en el datasheet no veo el tema del cristal y del voltaje de 9v, cuando esta en modo normal el pin irq va a masa o se deja al aire, porque me entra la duda de si con cualquier contencioso superior a vdd sera suficiente para que entre en modo de programación?

      Borrar
    6. Algunos datasheet (los mas completos) lo tienen, peor no todos. En este caso podes buscar la nota de aplicación AN2317, ahí tenes el circuito del MON08, y te muestra un oscilador que ingresa a OSC1 en 9.8304MHz, también en IRQ podes ver que la tensión de programación esta limitada a 9V1 mediante un Zener.
      La idea es que cuando lo vas a programar le des los 9V, y cuando ya lo verificaste y lo vas a correr, se lo saques, lo mismo para el oscilador de 9.8M.
      Saludos.

      Borrar
    7. Hola! me meto en la conversación...
      Yo probé con el PL2303 y me anduvo. Donde vivo no consigo los cristales así que probé con uno de 10MHz y me anduvo sin problemas, aca dejo el post:
      https://ssihla.wordpress.com/2016/01/08/programando-dispositivos-hc08/

      Borrar
    8. Buenísimo! Gracias por la data!, yo lo probé como esta en el datasheet, pero esta bueno tener otra opción por si no se consigue el cristal.
      Saludos.

      Borrar
  5. Have you used mc68hc908jl3 for programming?

    ResponderBorrar
  6. Estimado Seba, esto lleva mucho tiempo, pero bueno...Sabes que tengo un chip MCQE16CLD que es de freescale...algo parecido a lo que publicas. Queria consultarte, si es posible levantar el codigo del micro (por ejemplo en los esp32 y arduino no se puede), pero pregunto porque no soy un experto.
    Luego tengo un archivo extension .s19, el mismo podre abrirlo con algun programa para modificarlo? Cual podria ser? Gracias Totales!!

    ResponderBorrar