Freescale 68HC08 El 68HC08 es una familia de microcontroladores de Freescale (antes Motorola Motorola)) de 8 bits y arquitectura de von Neumann, Neumann, con un solo bloque de memoria. Es conocida también simplemente simplemente por HC08. Los HC08 son microcontroladores microcontroladores de propósito general, cada miembro de esta familia cuenta con diferentes periféricos 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-d analógicos-digital igital,, módulo de control de tiempos y sistemas de comunicación como SPI SPI,, I²C 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 llamado BDM (background (background debug module) module) , que mejora su versatilidad y amplia su gama de aplicaciones. A la derecha podemos ver en la referencia (1) el microcontrolador microcontrolador 68HC08GP32 68HC08GP32 y en la referencia (2) el lugar donde se conecta el BDM ( background debug module) module) para localizar errores de programación en el programa. Existen infinidad de entornos de desarrollo desde GNU Compiler Collection a freeware o freeware o software software de de pago. Dos de los paquetes más más interesantes son los desarrollados desarrollados por P&E por P&E Micro y el Freescale CodeWarrior CodeWarrior (el (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 C para múltiples múltiples plataformas de microcontroladores. 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 Miembro
Característica principal
HC08AB
2 timers de 4 canales
HC08AP
10-bit A/D
HC08AS/AZ
Mercado automotriz
HC08BD
HC08EY HC08G
USB
Flash RAM AD
32KB
1KB
2.048 64KB bytes
8 canales, 8-bit
TIM
8 canales, 16-bit
8 4 canales, canales , 10-bit 16-bit
COMUNICACIONES
SCI , SPI
SCI, SPI, I2C
J1850 , CAN 1.024 48KB bytes 8KB- 384B16KB 512B
6 canales, 8-bit
2 canal, 16-bit
USB, I2C
ESCI, SPI
HC08GZ HC08JB/JG/JT/JW
HC08JK/JL
8192 256 bytes bytes
2 canales , 16-bit
4096 128 Propósito general bytes bytes
12 2 canales, canales , 8-bit 16-bit
Propósito general 4096 128 , tamaño, no bytes bytes necesita cristal
12 2 canales, canales , 8-bit 16-bit
USB
USB, I2C, SCI, SPI
HC08K HC08LB HC08LD HC08LJ/LK HC08LT HC08LV HC08MR HC08QT/QY 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
Atmel
AVR (mega y tiny), 89Sxxxx familia similar 8051
16 bits
32 bits
SAM7 (ARM7TDMI), SA M3 (ARM CortexM3), SAM9 (ARM926), AVR32
Freescale (antes Motorol a)
68HC05, 68HC08, 68HC1 1, HCS08
Holtek
HT8
68HC12, 68HCS12, 68HCSX1 2, 68HC16
683xx, PowerPC, C oldFire
Intel
MCS-48 (familia 8048) MCS51 (familia 8051) 8xC251
MCS96, MXS296
x
National Semiconductor
COP8
x
x
Microchip
Familia 10f2xx Familia 12Cxx Familia 12Fxx, 16Cxx y 16Fxx 18Cxx y 18Fxx
PIC24F, PIC24H y dsPIC30FXX, dsPIC33F con motor dsp integrado
PIC32
NXP Semiconductor s (antes Philips)
80C51
XA
Cortex-M3, CortexM0, ARM7, ARM9
Renesas (antes Hitachi, Mitsubishi y NEC)
78K , H8
H8S, 78K0R , R8C, R32C/M32 C/M16C
RX, V850, SuperH, SH-Mobile, H8SX
STMicroelectr onics
ST 62, ST 7
Texas Instruments
TMS370
Zilog
Z8, Z86E02
STM32 (ARM7)
MSP430
C2000, Cortex-M3 (ARM), TMS570 (ARM)
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 compiladoresC. 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 Reset COP (Computer Operating Properly) Detección de bajo voltaje con reset opcional y selección de voltaje de 3.0V y 5.0V de operación Detección de opcode ilegal con reset 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 Modo de espera Modo parado Pin de Master Reset y reset power-on (POR) o o
o o
o o
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: 26 pines de función entrada/salida compartidas 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 PTC0PTC4 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: Puerto C es sólo de 5 bits: PTC0 - PTC4 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: Puerto C es sólo de 5 bits: PTC0 - PTC4 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: Puerto C de 7 bits: PTC0 - PTC6 Puerto D de 8 bits: PTD0 - PTD7; Módulos TIM de 2 canales duales o o
o o
o o
o o