Sie sind auf Seite 1von 11

Freescale 68HC08

El 68HC08 es una familia de microcontroladores de Freescale (antes Motorola) de 8 bits y arquitectura


de von Neumann, con un solo bloque de memoria. Es conocida también simplemente por HC08.
Los HC08 son microcontroladores de propósito general, cada miembro de esta familia cuenta con
diferentes periféricos internos, pero con una CPU común que permite migrar aplicaciones entre ellos,
facilitando con ello el diseño.
Entre los periféricos internos que cuentan estos microcontroladores esta conversores analógicos-digital,
módulo de control de tiempos y sistemas de comunicación como SPI, I²C, USB o SCI o UART entre
otros.

Imagen de un Microcontrolador HC08GP32 montado.

Freescale creo una mejora a esta familia de microcontroladores, la HCS08 que ofrece mejoras en algunas
instrucciones y agrega nuevas, además en esta mejora los microcontroladores pueden ser depurados por
puerto dedicado llamado BDM (background debug module) , que mejora su versatilidad y amplia su
gama de aplicaciones.
A la derecha podemos ver en la referencia (1) el microcontrolador 68HC08GP32 y en la referencia (2) el
lugar donde se conecta el BDM (background debug module) para localizar errores de programación en el
programa.
Existen infinidad de entornos de desarrollo desde GNU Compiler Collection a freeware o software de
pago. Dos de los paquetes más interesantes son los desarrollados por P&E Micro y el
Freescale CodeWarrior (el compilador cruzado de pago por excelencia), y SDCC (Small Device C
Compiler) , un desarrollo Open Source muy interesante y funcional que permite compilar código escrito
en lenguaje C para múltiples plataformas de microcontroladores.

Índice
[ocultar]

 1Principales características
 2Partes y registros del la HC08 CPU
 3Tabla familia HC08
 4Enlaces externos
Principales características[editar]
 Código compatible con la familia M6805, M14805 y la familia HC05.
 El bus interno tiene una frecuencia de 8 MHz.
 Sistema para proteger el funcionamiento estable del programa.
 Reset opcional por watch-dog o (COP) (computer operating properly).
 Detección de baja tensión de alimentación seleccionable a 3.0 o 5.0 Volts.
 Detección de un código de instrucción ilegal o no existente con opción a reset automático.
 Detección de una dirección ilegal o no existente con opción a reset automático.
 Diseñado para sistemas que usan poca potencia.
 La memoria RAM es totalmente estática con los modos (STOP) y modo esperar un evento
externo (WAIT).
Con respecto a la compatibilidad con el código escrito para HC05; hay una leve incompatibilidad en los
llamados de interrupciones ya que en el microcontrolador HC05 el registro índice X es de 8 Bits y en el
HC08 y HCS08 dicho registro índice se denomina H:X y es de 16 bits y por lo tanto el único registro que
se omite guardar en el stack ante una interrupción es el registro H y por lo tanto se deberá apilar (push)
y retirar (o desapilar, pop) el registro H con las instrucciones PSHH y PULH respectivamente.

Partes y registros del la HC08 CPU[editar]


 Acumulador de 8-bit denominado A.
 Registro índice de 16-bit denominado H:X .
 Un registro de puntero de pila (stack) de 16-bit denominado SP.
 Un contador de programa de 16 bits denominado PC.
 Registro de condiciones de 8 bits denominado CCR.
 Instrucciones de multiplicación de 8-bit por 8-bit y de división de 16-bit por 8-bits.

Tabla familia HC08[editar]


Tabla familia Hc08
Característica
Miembro Flash RAM AD TIM COMUNICACIONES
principal
8 8
2 timers de 4
HC08AB 32KB 1KB canales, canales, SCI , SPI
canales
8-bit 16-bit
8 4
2.048
HC08AP 10-bit A/D 64KB canales, canales , SCI, SPI, I2C
bytes
10-bit 16-bit
Mercado
HC08AS/AZ J1850 , CAN
automotriz
6
1.024 2 canal,
HC08BD USB 48KB canales, USB, I2C
bytes 16-bit
8-bit
8KB- 384B-
HC08EY ESCI, SPI
16KB 512B
HC08G
HC08GZ
2
8192 256
HC08JB/JG/JT/JW USB canales , USB, I2C, SCI, SPI
bytes bytes
16-bit
12 2
4096 128
HC08JK/JL Propósito general canales, canales ,
bytes bytes
8-bit 16-bit
HC08K
HC08LB
HC08LD
HC08LJ/LK
HC08LT
HC08LV
HC08MR
Propósito general 12 2
4096 128
HC08QT/QY , tamaño, no canales, canales ,
bytes bytes
necesita cristal 8-bit 16-bit
HC08RF

HC08SR

Freescale Semiconductor, Inc. fue un fabricante estadounidense de semiconductores. Fue


creado a partir de la división de semiconductores de Motorola en 2004. Su negocio se
centraba en el mercado de los sistemas integrados y las comunicaciones. En 2015 Freescale
fue adquirida por NXP Semiconductors.1
Freescale forma parte del Top 20 mundial de empresas de semiconductores.
La arquitectura von Neumann, también conocida como modelo de von
Neumann o arquitectura Princeton, es una arquitectura de computadoras basada en la
descrita en 1945 por el matemático y físico John von Neumann y otros, en el primer borrador
de un informe sobre el EDVAC.1 Este describe una arquitectura de diseño para un computador
digital electrónico con partes que constan de una unidad de procesamiento que contiene
una unidad aritmético lógica y registros del procesador, una unidad de control que contiene
un registro de instrucciones y un contador de programa, una memoria para almacenar tanto
datos como instrucciones, almacenamiento masivo externo, y mecanismos de entrada y
salida.12 El concepto ha evolucionado para convertirse en un computador de programa
almacenado en el cual no pueden darse simultáneamente una búsqueda de instrucciones y
una operación de datos, ya que comparten un bus en común. Esto se conoce como el cuello
de botella Von Neumann, y muchas veces limita el rendimiento del sistema.3
El diseño de una arquitectura von Neumann es más simple que la arquitectura Harvard más
moderna, que también es un sistema de programa almacenado, pero tiene un conjunto
dedicado de direcciones y buses de datos para leer datos desde memoria y escribir datos en
la misma, y otro conjunto de direcciones y buses de datos para ir a buscar instrucciones.
Un ordenador digital de programa almacenado es aquel que mantiene sus instrucciones de
programa, así como sus datos, en una memoria de acceso aleatorio (RAM) de lectura-
escritura. Las computadoras de programa almacenado representaron un avance sobre los
ordenadores controlados por programas de la década de 1940, como la Colossus y la ENIAC,
que se programaron mediante el establecimiento de conmutadores y la inserción de cables de
interconexión para enrutar datos y para controlar señales entre varias unidades funcionales.
En la gran mayoría de las computadoras modernas, se utiliza la misma memoria tanto para
datos como para instrucciones de programa, y la distinción entre von Neumann vs. Harvard se
aplica a la arquitectura de memoria caché, pero no a la memoria principal.

Un microcontrolador (abreviado μC, UC o MCU) es un circuito integrado programable,


capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloques
funcionales, los cuales cumplen una tarea específica. Un microcontrolador incluye en su
interior las tres principales unidades funcionales de una computadora: unidad central de
procesamiento, memoria y periféricos de entrada/salida.
Algunos microcontroladores pueden utilizar palabras de cuatro bits y funcionan a velocidad de
reloj con frecuencias tan bajas como 4 kHz, con un consumo de baja potencia (mW o
microwatts). Por lo general, tendrá la capacidad de mantenerse a la espera de un evento
como pulsar un botón o de otra interrupción; así, el consumo de energía durante el estado de
reposo (reloj de la CPU y los periféricos de la mayoría) puede ser sólo de nanowatts, lo que
hace que muchos de ellos sean muy adecuados para aplicaciones con batería de larga
duración. Otros microcontroladores pueden servir para roles de rendimiento crítico, donde sea
necesario actuar más como un procesador digital de señal (DSP), con velocidades de reloj y
consumo de energía más altos.
Cuando es fabricado el microcontrolador, no contiene datos en la memoria ROM. Para que
pueda controlar algún proceso es necesario generar o crear y luego grabar en la EEPROM o
equivalente del microcontrolador algún programa, el cual puede ser escrito en lenguaje
ensamblador u otro lenguaje para microcontroladores; sin embargo, para que el programa
pueda ser grabado en la memoria del microcontrolador, debe ser codificado en sistema
numérico hexadecimal que es finalmente el sistema que hace trabajar al microcontrolador
cuando éste es alimentado con el voltaje adecuado y asociado a
dispositivos analógicos y discretos para su funcionamiento.1

Familias de microcontroladores.[editar]
Véase también: Anexo:Microcontroladores comunes
Los microcontroladores más comunes en uso son:

Empresa 8 bits 16 bits 32 bits

SAM7
AVR (mega y (ARM7TDMI), SA
Atmel tiny), 89Sxxxx familia M3 (ARM Cortex-
similar 8051 M3), SAM9
(ARM926), AVR32
Freescale
68HC05, 68HC08, 68HC1 68HC12, 68HCS12, 68HCSX1 683xx, PowerPC, C
(antes Motorol
1, HCS08 2, 68HC16 oldFire
a)

Holtek HT8

MCS-48 (familia 8048)


Intel MCS51 (familia 8051) MCS96, MXS296 x
8xC251

National
COP8 x x
Semiconductor

Familia 10f2xx Familia


PIC24F, PIC24H y
12Cxx Familia 12Fxx,
Microchip dsPIC30FXX, dsPIC33F con PIC32
16Cxx y 16Fxx 18Cxx y
motor dsp integrado
18Fxx

NXP
Semiconductor Cortex-M3, Cortex-
80C51 XA
s M0, ARM7, ARM9
(antes Philips)

Renesas
(antes Hitachi, H8S, 78K0R, R8C, R32C/M32 RX, V850, SuperH,
78K, H8
Mitsubishi y C/M16C SH-Mobile, H8SX
NEC)

STMicroelectr
ST 62, ST 7 STM32 (ARM7)
onics

C2000, Cortex-M3
Texas
TMS370 MSP430 (ARM), TMS570
Instruments
(ARM)

Zilog Z8, Z86E02


El microcontrolador de Motorola MC68HC908GP32
Este microcontrolador pertenece a la familia HC08 de Motorola, cuyas principales
características son:

Modelo de programación HC05 mejorado.


Control de bucles optimizado

16 modos de direccionamiento

Registro de indice y puntero de pila de 16-bits

Transferencia de datos de memoria a memoria

Rápidas instrucciones de multiplicación de 8x8

Rápidas instrucciones de división de 16/8

Instrucciones BCD (Binario codificado en decimal)

Optimización para aplicaciones de control

Soporte eficiente del lenguaje C

Se pueden ver todos los componentes de esta familia en la página Motorola M68HC08
Family . Para acceder a la información general de todos los microcontroladores de
Motorola pinchar aquí .

Las características principales del microcontrolador MC68HC908GP32 son:

Arquitectura de alto rendimiento M68HC08 optimizada para compiladores


C
Compatible con la familia 68HC05

Frecuencia interna del bus de 8-MHz

Código de seguridad para la lectura y programación de la memoria FLASH

Firmware On-chip para la programación desde PC

Programable en el circuito

Sistemas de protección:

"Watch Dog" opcional ( Computer Operating Properly (COP) reset)

Detección de baja tensión con reset opcional

Detección de código ilegal con reset

Detección de direccionamiento ilegal con reset

Diseño de bajo consumo, completamente estático y varios modos de


operación
32 Kbytes de memoria FLASH programable en circuito

512 bytes de memoria RAM

Módulo de interfaz serie asíncrono (SPI)

Módulo de interfaz serie síncrono (SCI)

Dos temporizadores de 2 canales de 16 bits (TIM1 y TIM2) con captura de


entrada seleccionable, comparadores y capacidad de PWM en cada canal

8 canales para conversión AD por aproximaciones sucesivas de 8 bits

Módulo generador de reloj con PLL "on-chip"C

Hasta 33 pines de entradas/salidas de propósito general

Pullups seleccionables en los puertos A, C, y D. La selección puede ser de


forma individual, por bit.

Corriente de entrada/salida de hasta 10mA en todos os puertos

Puerto de 8-bits para menejo de teclado

Encapsulados plástico 40 pines DIP, 42 pines SDIP o 44 pines QFP (quad


flat pack)

Para más información consultar la página de Motorola del HC08GP32 .

Las familias HC08

 Familia HC08AB
Diseñada para el mercado general y aplicaciones en automotores que requieren
EEPROM embebida.

 Familia HC08AP
Diseñada para aplicaciones de propósito general que requieren A/D de 10-bit, e
IIC. Compatibles Pin a Pin de 8 a 60 K de flash.

 Familia HC08AS/AZ
Diseñada para aplicaciones automotivas e industriales incorporando los
protocolos de comunicación J1850 y CAN.

 Familia HC08BD
Diseñada para sistemas de monitoreo digital con módulos de display en pantalla
y USB 1.1.

 Familia HC08EY
Diseñada para aplicaciones utilizando el protocolo de comunicaciones LIN.

 Familia HC08G
Dispositivos de propósito general diseñados para aplicaciones de consumidor e
industriales con un rango de periféricos.
 Familia HC08GZ
Diseñada para aplicaciones utilizando el protocolo de bajo costo CAN.

 Familia HC08JB/JG/JT/JW
Soluciones de bajo costo USB diseñadas para interface con PC.

 Familia HC08JK/JL
Soluciones de bajo costo de propósito general con A/D que proveen fácil
migración y compatibilidad Pin a Pin.

 Familia HC08K
Dispositivos con pocos Pines con ICG diseñadas para sistemas de seguridad y
control industrial y de consumidor y sistemas de redes.

 Familia HC08LB
Soluciones de simple chip para iluminación eficiente en energía con corrección
de factor de poder y PWM de alta resolución.

 Familia HC08LD
Monitoreo digital.

 Familia HC08LJ/LK
Productos de bajo costo con LCD diseñados para dispositivos de baja escala.

 Familia HC08MR
Incluye PWM con alta resolución para control de motores de tres fases.

 Familia HC08Q
Dispositivos de 8 y 16 pines, bajo costo, paquetes pequeños diseñados para
aplicaciones de propósito general con miembros específicos diseñados para
aplicaciones de RF y LIN.

 Familia HC08RF
Módulos con RF integrados para aplicaciones de control remoto y portátiles a
batería.

 Familia HC08SR
Diseñadas para batería inteligente, sensores de temperatura, y aplicaciones de
instrumentación con SCI, SPI, e IIC.
Características especiales del MC68HC908GP32

 Alto desempeño de la arquitectura optimizada M68HC08 para compiladores-


C.
 Código completamente compatible con familias como M6805, M146805 y
M68HC05.
 Frecuencia de bus interno de 8 MHz
 Programa seguro de memoria FLASH
 Programación de en el chip para uso con computadoras personales que no
requieren alto voltaje de entrada
 Programación en sistema
 Reset opcional (Computer operating properly – COP)
 Características de protección de sistema
o Reset COP (Computer Operating Properly)
o Detección de bajo voltaje con reset opcional y selección de voltaje de
3.0V y 5.0V de operación
o Detección de opcode ilegal con reset
o Detección de direcciones ilegales con reset
 Diseño de bajo poder; totalmente estático con stop y modo de espera
 Modos de operación estándar de bajo poder
o Modo de espera
o Modo parado
 Pin de Master Reset y reset power-on (POR)
 Memoria FLASH en el chip con programación en el chip compatibles con
programas de memoria FLASH.
 RAM dentro del chip de 512 bytes
 Modulo de interfase periférica serial (SPI)
 Modulo de interfase de comunicación serial (SCI)
 Dos 16-bit, modulo de interfase de tiempo de 2 canales (TIM1 y TIM2) con
selección de captura de entrada, comparación de salida y capacidad PWM en
cada canal.
 Modulo BREAK (BRK) que permite fijar puntos de quiebra sencillos durante el
durante el depurado en el circuito
 Pullups internos en IRQ y RST que reducen el costo del sistema
 33 pines de entradas/salidas de uso general, incluyendo:
o 26 pines de función entrada/salida compartidas
o 5 o 7 pines de entrada/salida dedicados, dependiendo la elección de
el paquete
 Alta corriente 10 mA de drenado/alimentación compatible con todos los
puertos
 Corriente mas alta de 15 mA de drenado/alimentación compatible en PTC0-
PTC4
 Modulo de base de tiempo pre escalado de circuitería para 8 usos de periodos
seleccionables de interrupciones en tiempo real con activación de reloj
opcional alimentado durante el modo de parada del periodo activo a parado
usando un cristal de 32 KHz externo
 Bit de habilitación del oscilador en modo parado (OSCSTOPENB) en el registro
CONFIG que permite el uso de selección teniendo el oscilador habilitado y
deshabilitado durante el modo parado.
 Puerto para teclado de 8 bits
 Corriente máxima de inyección de 8 mA en todos los pines de puertos para
mantener la entrada de protección.
 Características especiales de el MC68HC908GP32 en PDIP de 40 pines son:
o Puerto C es sólo de 5 bits: PTC0 - PTC4
o Puerto D es sólo de 6 bits: PTD0 - PTC5; Modulo sencillo TIM de 2
canales
 Características especiales de el MC68HC908GP32 en SPID de 42 pines son:
o Puerto C es sólo de 5 bits: PTC0 - PTC4
o Puerto D de 8 bits: PTD0 - PTD7: Módulos TIM de 2 canales duales
 Características especiales de el MC68HC908GP32 en QFP de 44 pines son:
o Puerto C de 7 bits: PTC0 - PTC6
o Puerto D de 8 bits: PTD0 - PTD7; Módulos TIM de 2 canales duales