Autor Tema: Iniciación con los MC68H908QY4  (Leído 14293 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Iniciación con los MC68H908QY4
« en: 18 de Julio de 2008, 18:32:18 »
hola amigos, ha caido en mis manos una tarjetita bunker, y pues como me ha dado lata empezar con estos micros, desde cero, aqui pongo un pequeño start, claro, ya esta otro hilo excelente de programas con este micro en c por geo, asi que esto sera un complemento, haciendo comentarios acerca de este micro.

Ejercicios en C con QY4 por Geo

The M68HC08 Family is a Complex Instruction Set Computer (CISC) with
a Von Neumann architecture

Algo que me llamo enormemente la atención es que sus instrucciones son CISC  (Complex Instruction Set Computer) y con arquitectura Von Neumann, totalmente diferente a los PICS con RISC y arquitectura Harvard, aqui ponemos un esquema del micro en cuestion
Features include:
• High-performance M68HC08 CPU core
• Fully upward-compatible object code with M68HC05 Family
• 5-V and 3-V operating voltages (VDD)
• 8-MHz internal bus operation at 5 V, 4-MHz at 3 V
• Trimmable internal oscillator
– 3.2 MHz internal bus operation
– 8-bit trim capability allows 0.4% accuracy(1)
– ± 25% untrimmed
• Auto wakeup from STOP capability
• Configuration (CONFIG) register for MCU configuration options, including:
– Low-voltage inhibit (LVI) trip point
• In-system FLASH programming

• On-chip in-application programmable FLASH memory (with internal program/erase voltage
generation)
– MC68HC908QY4 and MC68HC908QT4 — 4096 bytes
– MC68HC908QY2, MC68HC908QY1, MC68HC908QT2, and MC68HC908QT1 — 1536 bytes
• 128 bytes of on-chip random-access memory (RAM)
• 2-channel, 16-bit timer interface module (TIM)
• 4-channel, 8-bit analog-to-digital converter (ADC) on MC68HC908QY2, MC68HC908QY4,
MC68HC908QT2, and MC68HC908QT4
• 5 or 13 bidirectional input/output (I/O) lines and one input only:
– Six shared with keyboard interrupt function and ADC
– Two shared with timer channels
– One shared with external interrupt (IRQ)
– Eight extra I/O lines on 16-pin package only
– High current sink/source capability on all port pins
– Selectable pullups on all ports, selectable on an individual bit basis
– Three-state ability on all port pins
• 6-bit keyboard interrupt with wakeup feature (KBI)
• Low-voltage inhibit (LVI) module features:
– Software selectable trip point in CONFIG register
• System protection features:
– Computer operating properly (COP) watchdog
– Low-voltage detection with reset
– Illegal opcode detection with reset
– Illegal address detection with reset
• External asynchronous interrupt pin with internal pullup (IRQ) shared with general-purpose input
pin
• Master asynchronous reset pin (RST) shared with general-purpose input/output (I/O) pin
• Power-on reset
• Internal pullups on IRQ and RST to reduce external components
• Memory mapped I/O registers
• Power saving stop and wait modes
• MC68HC908QY4, MC68HC908QY2, and MC68HC908QY1 are available in these packages:
– 16-pin plastic dual in-line package (PDIP)
– 16-pin small outline integrated circuit (SOIC) package
– 16-pin thin shrink small outline package (TSSOP)
• MC68HC908QT4, MC68HC908QT2, and MC68HC908QT1 are available in these packages:
– 8-pin PDIP
– 8-pin SOIC
– 8-pin dual flat no lead (DFN) package




ahora, trabajo con el codewarrior v3.1, pueden bajarse la nueva version 6.2 de la pagina de freescale, a mi ha dado lata esta version, pues trabajo con laptop, y no me reconocia el com que generaba el adaptador serial usb, y bueno, mas adelante pondre como empezar con el codewarrior, con imagenes, saludos
« Última modificación: 21 de Julio de 2008, 21:18:51 por scientist »
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Iniciación con los MC68H908QY4
« Respuesta #1 en: 20 de Julio de 2008, 04:28:11 »
Hola, empezamos la carrera con este micro, antes de empezar a programar, quiero dar unas pequeñas explicaciones de sus registros, al menos, los que vamos a utilizar para nuestros programas

empezamos con el registro CONFIG1



COPRS (Out of STOP Mode) — COP Reset Period Selection Bit
1 = COP reset short cycle = (8176) × BUSCLKX4
0 = COP reset long cycle = (262,128) × BUSCLKX4
COPRS (In STOP Mode) — Auto Wakeup Period Selection Bit
1 = Auto wakeup short cycle = (29) × INTRCOSC
0 = Auto wakeup long cycle = (214) × INTRCOSC
LVISTOP — LVI Enable in Stop Mode Bit
When the LVIPWRD bit is clear, setting the LVISTOP bit enables the LVI to operate during stop mode.
Reset clears LVISTOP.
1 = LVI enabled during stop mode
0 = LVI disabled during stop mode
LVIRSTD — LVI Reset Disable Bit
LVIRSTD disables the reset signal from the LVI module.
1 = LVI module resets disabled
0 = LVI module resets enabled
LVIPWRD — LVI Power Disable Bit
LVIPWRD disables the LVI module.
1 = LVI module power disabled
0 = LVI module power enabled
LVI5OR3 — LVI 5-V or 3-V Operating Mode Bit
LVI5OR3 selects the voltage operating mode of the LVI module. The voltage mode selected for the
LVI should match the operating VDD for the LVI’s voltage trip points for each of the modes.
1 = LVI operates in 5-V mode
0 = LVI operates in 3-V mode
NOTE
The LVI5OR3 bit is cleared by a power-on reset (POR) only. Other resets
will leave this bit unaffected.
SSREC — Short Stop Recovery Bit
SSREC enables the CPU to exit stop mode with a delay of 32 BUSCLKX4 cycles instead of a 4096
BUSCLKX4 cycle delay.
1 = Stop mode recovery after 32 BUSCLKX4 cycles
0 = Stop mode recovery after 4096 BUSCLKX4 cycles

nos sirve para declarar si queremos alimentar al perro guardian, para la opcion lvi,  al perro lo deshabilitamos con 0x09 en el registro


CONFIG2

este otro registro nos sirve para decir si queremos oscilador interno o externo, reset y si queremos habilitar la interrupcion externa



IRQPUD — IRQ Pin Pullup Control Bit
1 = Internal pullup is disconnected
0 = Internal pullup is connected between IRQ pin and VDD
IRQEN — IRQ Pin Function Selection Bit
1 = Interrupt request function active in pin
0 = Interrupt request function inactive in pin
OSCOPT1 and OSCOPT0 — Selection Bits for Oscillator Option
(0, 0) Internal oscillator
(0, 1) External oscillator
(1, 0) External RC oscillator
(1, 1) External XTAL oscillator
RSTEN — RST Pin Function Selection
1 = Reset function active in pin
0 = Reset function inactive in pin

para las opciones no reset, no interrupcion externa irq ponemos en este registro 0x00


ahora nos vamos con el registro de oscilador OSCTRIM




TRIM7–TRIM0 — Internal Oscillator Trim Factor Bits
These read/write bits change the size of the internal capacitor used by the internal oscillator. By
measuring the period of the internal clock and adjusting this factor accordingly, the frequency of the
internal clock can be fine tuned. Increasing (decreasing) this factor by one increases (decreases) the
period by approximately 0.2% of the untrimmed period (the period for TRIM = $80). The trimmed
frequency is guaranteed not to vary by more than ±5% over the full specified range of temperature and
voltage. The reset value is $80, which sets the frequency to 12.8 MHz (3.2 MHz bus speed) ±25%.

bueno, nos dice que

All devices are programmed with a trim value in a reserved FLASH location, $FFC0. This value can be
copied from the FLASH to the OSCTRIM register ($0038) during reset initialization.
Reset loads OSCTRIM with a default value of $80.

normalmente debemos configurar este registro con 0x80 si queremos una frecuencia de 12.8MHz y muy importante

WARNING
Bulk FLASH erasure will set location $FFC0 to $FF and the factory
programmed value will be lost.

esto lo debemos de tomar en cuenta a la hora de programar nuestro micro, este registro se utiliza cuando tenemos configurado el CONFIG2 con oscilador interno,para el externo hay otro registro

bueno, estos son los principales registros para empezar a entender este micro, en lo particular me ha gustado bastante este micro, bastante facil de entender, excelente para empezar con esta familia, mañana pongo como debemos de configurar el codewarrior para empezar nuestro primer programa, saludos
 
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Iniciación con los MC68H908QY4
« Respuesta #2 en: 20 de Julio de 2008, 04:42:58 »
por cierto, recomiendo muchisimo este programador programador

me consta que funciona, y muy facil de montar, ahi bajan la guia rapida del programador, saludos  :-/ :-/ :-/
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Iniciación con los MC68H908QY4
« Respuesta #3 en: 21 de Julio de 2008, 21:16:51 »
aqui posteo como debemos de comenzar a configurar el codewarrior para empezar a trabajar en c, al fin pude hacer que funcione la version 6.2, asi que mejor posteo la nueva, ya que es la que esta disponible en la pagina de freecale, saludos

aqui podemos ver la pantalla de inicio del codewarrior



le damos al new project y nos sale la siguiente ventana



donde escogemos el micro que tengamos, en mi caso escogi el mc68hc908qy4 con la opcion mon08 interface ya que con el programador que menciono mas arriba es con el que programos,mas adelante veremos que opcion debemos de poner a la hora de programar



aqui podemos ver que opcion de lenguaje de programacion necesitamos c,c++ y ensamblador, nombre del proyecto y su localizacion y le damos finalizar



nos debe de salir esta ventana cuando finalizamos y le damos doble click al main.c donde se va a alojar nuestro programa



ahora cuando programemos nuestro micro debemos configurarlo de la siguiente manera



ojo , debemos de seleccionar class 1 con 19200 bauds, de lo contrario no nos reconocera el programador, espero les haya sido de utilidad



NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado wizz

  • PIC10
  • *
  • Mensajes: 4
Re: Iniciación con los MC68H908QY4
« Respuesta #4 en: 22 de Julio de 2008, 01:34:21 »
Buenas tardes!

soy nuevo con el codewarrior y con los micros de la familia del HC08, asi que entre en este foro para ver ejemplos y me encontre con los de Geo, tome uno de ellos y trate de programarlo siguiendo los pasos que aparecen en este post, pero se queda en la pantalla del programador y de ahi no se mueve, anexo esta la imagen de donde se queda, me gustaria saber si me puedes ayudar a programarlo, cual podria ser el error que tengo o cualquier cosa, ¡ muchas gracias !



otra cosa, el codewarrior que estoy usando es el V6.2 para microcontroladores, aunque cada vez que lo empiezo me pide que lo registre y aun no lo he hecho, ¿esa podria ser la causa del error? en fin, cualquier ayuda es bienvenida, muchas gracias por tu respuesta.

saludos

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Iniciación con los MC68H908QY4
« Respuesta #5 en: 22 de Julio de 2008, 01:45:27 »
hola paisano, bienvenido al foro, que es lo que dice el mensaje, lamentablamente la imagen que pusiste es muy pequeña y no logro visualizar que esta pasando, mira, a mi me salio un error muy parecido, se quedaba atascado y no me borraba la memoria flash antes de que empezara a programarlo, cual era mi error? bueno, lo que pasa es que no habia escogido bien el micro que estaba utilizando, asi que en ves de poner mc68hc908qy4, ponia mc68HL908qy4, obviamente por el LH estaba fallando, no era el mismo micro, checa bien que eligas bien que micro estas utilizando, por otra parte, no importa que te salga ese aviso, aun asi funciona bien, saludos
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado wizz

  • PIC10
  • *
  • Mensajes: 4
Re: Iniciación con los MC68H908QY4
« Respuesta #6 en: 22 de Julio de 2008, 23:20:35 »
scientist, muchas gracias por la ayuda, por el momento no estoy en el laboratorio asi que no puedo comprobar si tengo el mismo error y tampoco puedo conseguir una mejor imagen, pero unicamente es la interfaz del programador de pemicro que se habre a la hora de darle el debug, dice que se esta conectando con el micro por el puerto com1 a 19200 bauds y que si se pudo establecer la comunicacion, despues dice "loading programming algorithm..." y es ahi donde se queda....

una vez mas, muchas gracias por la ayuda, voy a revisar lo mas pronto posible.

saludos

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Iniciación con los MC68H908QY4
« Respuesta #7 en: 23 de Julio de 2008, 02:49:25 »
hola, pues es cuestion de que lo cheques, y nos digas como va, en lo que te pueda ayudar con mucho gusto
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado wizz

  • PIC10
  • *
  • Mensajes: 4
Re: Iniciación con los MC68H908QY4
« Respuesta #8 en: 29 de Julio de 2008, 18:58:09 »
pues ya fui al laboratorio y encontre el problema, si estaba utilizando el algoritmo de programacion correcto, el unico problema era que en la configuracion del puerto serie viene por default que utilize 2 bits de paro, lo cambie a 1 y ya quedo, ya lo pude programar, incluso utilice uno de los ejemplos de Geo y si funciono, muchas gracias por la ayuda.

Ahora viene otro problemilla, me gustaria saber si es posible comunicar al micro (tengo una tarjeta bunker M68EVB908Q rev 1.1) con la pc utilizando el puerto serie que tiene la tarjeta, necesito que la comunicacion sea en dos vias (pc-micro y micro-pc) y que el micro cuente unos pulsos entre el envio de un dato y otro. ¿es esto posible?

una vez mas, muchas gracias por su ayuda. saludos

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Iniciación con los MC68H908QY4
« Respuesta #9 en: 29 de Julio de 2008, 19:17:40 »
pues mira, checando el esquematico de la mia, que es revision 1.2 , pues te cuento que no me parece buena idea, ya que tiene mucha circuiteria de transistores y resistencias, no se que tan viable sea esto, ahora, por otro lado, si todo esto no ocasionara ningun problema, pues yo creo que si, debido a que el RX del puerto serial esta conectado al PA0, y como este micro no cuenta con un modulo SCI (serial comunication interface) pues lo podrias hacer por software a este pin la salida para mandar datos y recibirlos, debido a que tambien el TX del puerto serial o mejor dicho del max232 esta conectado a la misma linea y con un diodo 1N4148 esta protegiendo que no se haga un corto, yo te recomiendo que lo hagas aparte, para no peligrar el funcionamiento de tu tarjeta, ahora, te cuento que con la tarjeta de RACOM del HCS12 si que pude hacer la conexion directa, checa el esquematico de tu tarjeta, saludos
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Iniciación con los MC68H908QY4
« Respuesta #10 en: 03 de Agosto de 2008, 01:25:24 »
me respondo a mi mismo, negando la afirmacion anterior, claro que se puede hacer la conexion serial directo desde la tarjeta de entrenamiento, me he quedado con la curiosidad, y me puse a estudiar el diagrama, hice un programita y ha funcionado muy bien, por cierto, he hecho el pcb del programador, lo voy a montar esta semana, si funciona, lo subo para que el que quiera hacerse de uno lo pueda hacer con uno ya probado, saludos
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado fbj_6

  • PIC10
  • *
  • Mensajes: 1
Re: Iniciación con los MC68H908QY4
« Respuesta #11 en: 29 de Abril de 2009, 18:07:00 »
hola que tal, veo que eres un programador muy bueno, quisiera saber como programar el hermano del QY4, el MC68HC908QT4, si es de forma similar al QY4 o cambian algunos archivos de cabecera, gracias.

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Iniciación con los MC68H908QY4
« Respuesta #12 en: 29 de Abril de 2009, 23:15:35 »
es el mismo sistema, solo que a la hora de escoger el microcontrolador, escoges esta familia qt4
y obviamente si cambia el archivo de cabecera .h ya que es el que define los puertos y modulos
saludos
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado lectra

  • PIC10
  • *
  • Mensajes: 15
Re: Iniciación con los MC68H908QY4
« Respuesta #13 en: 09 de Agosto de 2009, 02:53:07 »
Disculpen la ignorancia pero tambien estoy empezando con estos micros, la duda que tengo es cuales son los pasos para programar  con  codewarrior en asm,  solo tengo en cuenta en el menu el tipo de codigo y listo o hay algo mas que tengo que invocar para que`pueda ejecutar los programas, soy un poco desconfiando del C y quisiera empezar trabajando en bajo nivel al principio

Desconectado marvicdigital

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 311
Re: Iniciación con los MC68H908QY4
« Respuesta #14 en: 09 de Agosto de 2009, 08:56:00 »
Disculpen la ignorancia pero tambien estoy empezando con estos micros, la duda que tengo es cuales son los pasos para programar  con  codewarrior en asm,  solo tengo en cuenta en el menu el tipo de codigo y listo o hay algo mas que tengo que invocar para que`pueda ejecutar los programas, soy un poco desconfiando del C y quisiera empezar trabajando en bajo nivel al principio

Hola.
Mira Yo comencé con el Winide , una herramienta bastante viejita pero efectiva para el ASM, claro que algunas cosas como el define no funcionan. Como trabaje algunas semanas con él, intenté abrir algunos códigos con el CW y al compilar me daba error, es que en CW se cambian algunas instrucciones como el DW por BD.W o algo así.
Para que empieces a trabajar en ASM con el CW solo debes seleccionar el lenguaje que vas a usar hay 2 opciones:

<Absolute Assembly>
<Relocatable Assembly>

La diferencia entre ambas es que en la primera  genera código que está ligado a ejecutarse en determinadas direcciones de la memoria; y la otra opción es  todo lo contrario, osea genera código en cualquier dirección de memoria y creo que es el recomendado para empezar..y digo creo, por que no usé ASM con el CW si alguien puede aclarar un poco más, se lo agradecería mucho.

Luego hay opciones posteriores como el de :

Device Initializacion : Sirve para que configures el procesador, osea que puertos vas a usar, defines que pines son salidas y cuales entradas, configuras los periféricos como Timers, ADC, PWM y los que tenga el procesador en un entorno gráfico amigable, cuando termines tu le das a generar código y te crea un archivo main.asm o MCUini.asm(no recuerdo cuál) hay te puedes dar cuenta como se configura en ASM el procesador.

Espero que te sea de guía mi poca ayuda si tienes alguna otra duda, estaremos por acá para ayudarte.

Como nota personal, yo siempre había sido de PIC y cuando empecé con los Freescale, hace unos meses el cambio fue duro para mí por que la forma de trabajar es diferente por obvias razones, pero insistí mucho, estudie mucho e investigué lo que más pude y cuando le coges el truco o vez con claridad lo que son estos Freescale te empiezas a sentir cómodo, seguro y sobre todo una magia que no sabría explicar, solo cuando llegue el momento sabrás a lo que me refiero  :mrgreen:


Saludos