You are on page 1of 22

MC68HC08

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Familia HC08: Esquema interno


Base de Tiempos Oscilador interno Generador de Reloj Timers 16bit

UART / SCI

CAN 2.0

SPI

USB

RAM CPU08 EEPROM SIM

Watchdogs (COP, LVI)

ADC

Memoria Flash

ROM

Monitor

Interfaz Teclado

E/S Digitales

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

HC08: Control de la CPU y Perifricos


SIM: Control del estado del sistema.
Base de Oscilador Generador Timers

Modos de bajo consumo (Wait y Stop). Reloj Tiempos interno de LVI: Monitor de VDD baja. COP: Watchdog. UART / SCI CAN 2.0 SPI Deteccin de Cdigo de Operacin Ilegal. Deteccin de direccionamiento no vlido. Power-On reset. RAM Control del reset externo e interno. CPU08 SIM Retardo de encendido temporizado. Control de interrupciones y prioridades. EEPROM
Memoria Flash ROM Interfaz Teclado

16bit
USB

Watchdogs (COP, LVI)

ADC

Monitor

E/S Digitales

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

HC08: Memoria
Base de Tiempos Oscilador espacio. interno

Toda la memoria mapeada en un nico Timers Generador

UART / SCI

RAM

de Reloj 16bit La memoria de PROG/DATOS puede almacenarse en cualquier espacio. CAN 2.0 SPI La RAM retiene sus datos en USB modos de bajo consumo. Flash & EEPROM son programables Watchdogs internamente. (COP, LVI) 10000 ciclos de escritura/borrado. CPU08 SIM 10 aos de retencin de datos. ADC

EEPROM

Memoria Flash

ROM

Monitor

Interfaz Teclado

E/S Digitales

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

HC08: Temporizadores
Base de Tiempos Oscilador interno Generador de Reloj Timers

16bit
USB

CAN 2.0 SPI Timers UART / SCI multicanal y multifuncin: de 16 bits, Entradas de Captura Salidas por Comparacin RAM Salidas PWM

Las versiones HC08MR tienen mdulos PMW especiales. SIM CPU08 Generador de base de tiempos para aplicaciones de Tiempo Real. EEPROM ADC Mdulo PLL para trabajar con cristales de baja frecuencia:
Reduccin EMI. Control del consumo. Memoria ROM Interfaz E/S

Watchdogs (COP, LVI)

Opcionalmente, versiones con reloj interno para minimizar el nmero Flash Teclado Digitales Monitor de componentes externos.
Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

HC08: Comunicaciones
Base de Tiempos Oscilador interno Generador de Reloj Timers

16bit
USB

UART / SCI

CAN 2.0

SPI

RAM UART de 7/8/9bits, con velocidad programable y deteccin de errores. (COP, LVI) Interfaz serie sncrona SPI hasta 4Mbps (FBUS/2). CPU08 SIM USB a 1.5Mbps. ADC SoporteEEPROM CAN completo. de bus Buffers de Transmisin/Recepcin Memoria Flash ROM

Watchdogs

Monitor

Interfaz Teclado

E/S Digitales

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

HC08: Entrada-Salida
Base de 8/10-bits de aproximaciones Oscilador Generador ADC de sucesivas. Tiempos interno de Reloj Multicanal (multiplexados) Modos de conversin continua y nica. UART 17 ciclos de reloj por conversin (hasta 2.2us) / SCI CAN 2.0 SPI Timers

16bit
USB

Puertos de E/S configurables. Interfaz de Teclado externo por SIM interrupcin y con CPU08 Wake-up. funcin
EEPROM Pines independientes configurables Pull-ups internos activos/desactivos RAM Watchdogs (COP, LVI)

ADC

Memoria Flash

ROM

Monitor

Interfaz Teclado

E/S Digitales

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Motorola 8-bit uC,s Roadmap

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Motorola 8-bit uC,s Roadmap

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

MC68HC08: Caractersticas
Arquitectura de la CPU Mdulo de Reset e Interrupciones Mdulo COP (Computer Operating Properly) Mdulo LVI (Low Voltage Inhibit) Mdulo SPI (Serial Peripheral Interface) Mdulo ADC (Analog to Digital Converter) Mdulo Generador de Reloj Mdulo SCI (Serial Communications Interface) Mdulo TIM (Timer Interface Module) Mdulo TBM (Time Base Module) Mdulo de Memoria Flash
Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

MC68HC908GP32: Caractersticas
Arquitectura de altas prestaciones. Compatibilidad con la familia HC05. Modos de bajo consumo: Wait, Stop. 32 Kbytes de FLASH. 512 bytes de RAM. Mdulos SCI, SPI. 2 Timers (TIM1 y TIM2) de dos canales y 16 bits. ADC de 8 canales y 8 bits de resolucin. Pullups internos en puertos A, C y D, pines /RST, /IRQ. Hasta 33 pines I/O (QFP 44 pines). Interfaz de teclado de 8 bits. Mdulo de base de tiempo.
Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

MC68HC908GP32: Diagrama de bloques


8 Keyboard Interrupts PORTA Upward HC05 Object Code Compatible 512 Bytes RAM 32,292 Bytes Flash Single-Wire Development Interface Address-Match Hardware Breakpoints Reset / Interrupt Priority Control External Interrupt Watchdog Low-Voltage Inhibit 32kHz Clock Generator Module Time Base Module CPU08 RAM Flash MON BRK SIM IRQ COP LVI CGMC TBM SPI SCI TIM1 TIM2 ADC PORTB
8

KBI

8 Channel / 8-Bit Analog-to-Digital Converter 33 Bi-directional I/O All Ports Pins Rated for 10mA Sink 10mA Source Dual 2 Channel 16-Bit Timers Input Capture Output Compare Pulse Width Modulation

PORTC PORTD PORTE

Synchronous Serial Peripheral Interface Asynchronous Serial Communications Interface

DIP 40, QFP 44


Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

MC68HC908GP32: Diagrama de bloques

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

MC68HC908GP32: Encapsulados

40 pines PDIP

42 pines SDIP
Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

44 pines QFP

MC68HC08: Modelo de programacin


El modelo de programacin es una evolucin del modelo de CPU del 68HC05.
7 0 15 0 0 0 0 0 0 0 0 Accumulator (A) Index Register (HX)

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Stack Pointer (SP) Program Counter (PC) 7 0

V 1 1 H I N Z C Condition Code Register (CCR) Carry/Borrow (MSB) Zero Negative (MSB = 1) Interrupt Mask Half-Carry (for BCD) Twos Compliment Overflow

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Arquitectura de la CPU: Registros


Acumulador (A)
Registro de propsito general de 8 bits. Almacena operandos y resultados en operaciones lgicas y aritmticas.

Registro ndice (H:X)

Indexar o direccionar 64 Kbytes. Modos de direccionamiento indexados.


Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Arquitectura de la CPU: Registros


Puntero de Pila (SP)
Apunta a la siguiente posicin disponible (vaca) del stack. Se decrementa cuando se aloja un valor en el stack. Se incrementa cuando se toma un valor del stack. Modos de direccionamiento basados en el stack.

Contador de Programa (PC)


Registro de 16 bits que contiene la direccin de la siguiente instruccin a ejecutar.

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Arquitectura de la CPU: Registros


Registro de cdigos de condicin (CCR)
Registro de 8 bits que contiene la mscara de interrupcin y cinco banderas que indican el resultado de la ltima instruccin.

V - Bandera de overflow.
Se activa cuando el resultado de una operacin produce un overflow en complemento a 2.

H - Bandera de acarreo intermedio.


Se activa cuando se presenta un acarreo entre los bits 3 y 4 del acumulador durante las instrucciones ADC y ADD.

I - Mscara de interrupcin.
Cuando se activa todas las interrupciones de deshabilitan.
1: Interrupciones deshabilitadas 0: Interrupciones habilitadas

N - Bandera de resultado negativo.


Se activa cuando el resultado de una operacin es negativo.

Bandera de cero.
Se activa cuando el resultado de una operacin es cero.

Bandera de acarreo.
Se activa cuando se produce un acarreo (carry) o un prstamo (borrow) en el acumulador.
Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Arquitectura de la CPU: Diferencias con el HC05 Diferencias con el HC05:


El registro de ndice se ha ampliado a 16-bits El puntero de pila y el contador de programa son registros de 16bits. En Power-On Reset, el 68HC08 se parece al 68HC05.
Durante el Reset, los 8 bits ms altos del registro ndice HX se ponen a cero y el puntero de pila se inicializa a $00FF como en el 68HC05.

El bit V, del registro de cdigos de condicin (CCR) facilita los clculos aritmticos con signo.
Esta mejora permite a los programadores de lenguaje ensamblador y a los compiladores, realizar clculos de direccionamiento mucho mejor.

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

HC08: Arquitectura de la CPU


Compatibilidad con el HC05:
El cdigo objeto (opcode) del 68HC08 es compatible con el del 68HC05. El 68HC08 ejecuta el cdigo del 68HC05 aproximadamente un 25% ms rpido, corriendo a la misma velocidad de bus. Esto unido a que soporta mayor frecuencia, resulta un promedio de 5 veces ms rpido.
Puesto que el 68HC08 es mucho ms rpido que el 68HC05, lo ms probable, es que se necesite actualizar el tiempo de los bucles implementados en el software del 68HC05.

El 68HC08 incluye un conjunto de instrucciones y modos de direccionamiento mejorados, que pueden proporcionar mayores prestaciones. Aumenta las prestaciones con un tamao de cdigo ms pequeo.

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Arquitectura de la CPU: Ciclo de Bus


T1 T2 T3 T4 CICLO 1 Reloj CPU Bus interno de Direcciones Bus interno De Datos CICLO 2

T1 T2 T3 T4 T1 T2 T3 T4 Dir. Ciclo N Dato Ejecucin Ciclo N Frecuencia de Bus= 32 Mhz /4 = 8 MHz Ciclo de instruccin= 1/Fbus = 125 nseg.

4 fases de reloj interno. Frecuencia de bus=Fclk referencia/4. Todas las instrucciones se especifican en ciclos de bus. Opcin de utilizar un PLL interno para generar la frecuencia de bus.

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

HC08: Mapa de memoria


$0000

Registros de Perifricos Mapeados en Memoria

Registros de Perifricos

$0040

$0100

RAM 512(GP32)

Pgina 0: Manipulacin directa de bits. Mayor eficiencia en el tamao del cdigo y rapidez de ejecucin.

$023F (GP32) $8000 (GP32)

Memoria de programa y datos direccionable en el mismo espacio de memoria.


ROM o FLASH 32Kb(GP32)

No existen pginas especiales de memoria.


$FE00 $FE10 $FF80 $FFFF

Puede realizar operaciones con datos directamente en la memoria de programa


Reg. de Control

Monitor ROM Vectores

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Modos de direccionamiento
Inherente Immediato Directo Extendido Relativo ( 128) Indexedo
CLRA LDA #20 LDA $40 LDA $4000 BLT LOOP LDA ,X LDA $40, X LDA $4000, X CBEQ X+,lazo CBEQ 50,X+,lazo

sin desplazamiento con desplazamiento de 8-bits con desplazamiento de 16-bits sin desplazamiento y con post-incremento con desplazamiento de 8-bits y post-incremento

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Modos de direccionamiento
Transferencia entre memoria (MOV)
Immediato a directo MOV MOV MOV MOV #20, $40 $20, $40 X+, SCDR SCDR, X+ Directo a directo Indexedo a directo con post-incremento Directo a indexado con post-incremento

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Modos de direccionamiento
Indexado con desplazamiento de 8 bits
A_Data: 71 02 20 FC 9D B_Data: 08 A3 7B 01 3C C_Result: xx xx xx xx xx

A + B = C, donde cada tabla consta de 5 datos LDX LOOP LDA ADD STA DBNZX 2 ciclos #5 3 ciclos A_Data - 1, X 3 ciclos B_Data - 1, X C_Result - 1, X 3 ciclos 3 ciclos LOOP ----------------12 ciclos/lazo +2 10 bytes de cdigo
Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Modos de direccionamiento
Indexado con desplazamiento de 16 bits
A_Data: 71 02 20 FC 9D B_Data: 08 A3 7B 01 3C C_Result: xx xx xx xx xx

A + B = C, donde cada tabla consta de 5 datos y puede ocupar cualquier posicin en el mapa. LDX LOOP LDA ADD STA DBNZX 2 ciclos #5 4 ciclos A_Data - 1, X 4 ciclos B_Data - 1, X C_Result - 1, X 4 ciclos 3 ciclos LOOP ----------------16 ciclos/lazo +2 13 bytes de cdigo
Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Modos de direccionamiento
MOV (Indexado con post-incremento, a Directo)
SIZE SCSR1 SCDR EQU EQU EQU ORG RMB RMB ORG LDHX LDA MOV CPHX BLS LDHX STHX RTI 16 $16 $18 $50 2 SIZE TX_IRQ PTR_OUT SCSR1 X+, SCDR #TX_B + SIZE NOLOOP #TX_B PTR_OUT ;TX circular buffer length ;SCI status register ;SCI transmit data register

PTR_OUT TX_B

;Circular buffer data out pointer ;Circular buffer ;SCI transmit empty interrupt service ;Load pointer ;Dummy read as part of SCTE reset ;Move new byte to SCI and increment H:X ;Gone past end of circular buffer? ;If note, continue ;Else reset to start of new buffer ;Save new pointer value ;Return

TX_INT

NOLOOP

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

HC08: Instrucciones
Transferencia de Datos
LDA, LDX, STA, STX, TAX, TXA, LDHX, MOV, PSHA, PSHH, PSHX, PULA, PULH, PULX, STHX

Aritmticas
ADD, ADC, SUB, SUBC, MUL, DAA, DIV

Manipulacin de Datos
INCA, INCX, INC, DECA, DECX, DEC, CLR,NEGA, NEGX, NEG AIS, AIX, CLRH

Rotacin y Desplazamiento
ROLA, ROLX, ROL, RORA, RORX, ROR, LSLA, LSLX, LSL, LSRA, LSRX, LSR, ASRA, ASRX, ASR

Manipulacin de bits
BSET, BCLR
Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

HC08: Instrucciones
Logicas
AND, ORA, EOR, COMA, COMX, COM, NSA

Test
CMP, CPX, BIT, TSTA,TSTX, TST, BRCLR, BRSET, CPHX

Salto condicional
BRA, BRN, BSR, BHI, BLO, BHS, BLS, BPL, BMI, BEQ, BNE,BCC, BCS, BHC, BHCC, BHCS, BMC, BMS, BIL, BIH, BGE, BGT, BLE, BLT, CBEQ, CBEQA, CBEQX, DBNZ

Salto incondicional
JMP, JSR, RTS

De Control
SEC, CLC, SEI, CLI, SWI, RTI, RSP, NOP, WAIT, STOP,TAP, TPA, TSX, TXS
Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

HC08: Instrucciones
AIS
Sub1 AIS . . Skip AIS RTS #16 # -16 ;Crea 16 bytes ;de espacio local ;en la pila ;Recupera el espacio ;
PC (MS byte) PC (LS byte) SP -->

Espacio para Variables Locales

Decremento del puntero

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Puertos de I/O
MC68HC908GP32 (PDIP 40 pines): 29 lneas I/O de propsito general. MC68HC908GP32 (QFP 44pines): 33 lneas I/O de propsito general. Agrupadas en cinco puertos paralelos. Bits individuales de los puertos A, C y D programables como dispositivos de pullup cuando se configuran como entradas.

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Puertos de I/O: Puerto A


Puerto de propsito general de 8 bits. Comparte sus pines con el mdulo KBI (Interfaz de teclado). REGISTROS:
Registro de datos del puerto A (Entradas de teclado). Registro de direccin de datos del puerto A. Registro de habilitacin de pullup de entrada del puerto.

Registro de datos del puerto A (PTA)

PTA7-PTA0: Bits de datos del puerto A. KBD7-KBD0: Entradas de teclado.

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Puertos de I/O: Puerto A


Registro de direccin de datos del puerto A (DDRA)

DDRA7-DDRA0: Bits de direccin de datos del puerto A.


1: Pin correspondiente del puerto A como salida. 0: Pin correspondiente del puerto A como entrada.

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Puertos de I/O: Puerto A


Registro de habilitacin de pullups de entrada del puerto A (PTAPUE)

PTAPUE7-PTAPUE0: Bits de habilitacin de pullups de entrada del puerto A.


1: Pin correspondiente del puerto A configurado con pullup interno. 0: Pin correspondiente del puerto A con pullup interno desconectado.

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Puertos de I/O: Puerto A


Registro de direccin de datos del puerto A (DDRA)

DDRA7-DDRA0: Bits de direccin de datos del puerto A.


1: Pin correspondiente del puerto A como salida. 0: Pin correspondiente del puerto A como entrada.

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Puertos de I/O: Puerto B


Puerto de propsito general de 8 bits. Comparte sus pines con el mdulo ADC. REGISTROS:
Registro de datos del puerto B (Entradas del ADC). Registro de direccin de datos del puerto B.

Registro de datos del puerto B (PTB)

PTB7-PTB0: Bits de datos del puerto A. AD7-AD0: Entradas Analgico/Digitales.


Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Puertos de I/O: Puerto B


Registro de direccin de datos del puerto B (DDRB)

DDRB7-DDRB0: Bits de direccin de datos del puerto B.


1: Pin correspondiente del puerto B como salida. 0: Pin correspondiente del puerto B como entrada.

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Puertos de I/O: Puerto C


Puerto de propsito general de 7 bits. REGISTROS:
Registro de datos del puerto C. Registro de direccin de datos del puerto C. Registro de habilitacin de pullups de entrada del puerto C.

Registro de datos del puerto C (PTC)

PTC6-PTC0: Bits de datos del puerto C Los pines PTC6 y PTC5 no estn disponibles en el GP32 PDIP de 40 pines.

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Puertos de I/O: Puerto C


Registro de direccin de datos del puerto C (DDRC)

DDRC6-DDRC0: Bits de direccin de datos del puerto C.


1: Pin correspondiente del puerto C como salida. 0: Pin correspondiente del puerto C como entrada.

Registro de habilitacin de pullups de entrada del puerto C (PTCPUE)

PTCPUE6-PTCPUE0: Bits de habilitacin de pullups de entrada del puerto C.


1: Pin correspondiente del puerto C configurado con pullup interno. 0: Pin correspondiente del puerto C con pullup interno desconectad.

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Puertos de I/O: Puerto D


Puerto de propsito especial de 8 bits. Comparte sus pines con los mdulos TIMx y SPI. REGISTROS:
Registro de datos del puerto D (Seales SPI, I/O, TIM1 y TIM2). Registro de direccin de datos del puerto D. Registro de habilitacin de pullups de entrada del puerto D.

Registro de datos del puerto D (PTD)

PTD7-PTD0: Bits de datos del puerto D. T1CH1-T1CH0: Canales I/O TIM1. T2CH1-T2CH0: Canales I/O TIM2. SPSCK, MOSI, MISO, SS: Mdulo SPI.

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Puertos de I/O: Puerto D


Registro de direccin de datos del puerto D (DDRD)

DDRD7-DDRD0: Bits de direccin de datos del puerto D.


1: Pin correspondiente del puerto D como salida. 0: Pin correspondiente del puerto D como entrada.

Registro de habilitacin de pullups de entrada del puerto D (PTDPUE) pullups

PTDPUE7-PTDPUE0: Bits de habilitacin de pullups de entrada del puerto D.


1: Pin correspondiente del puerto D configurado con pullup interno. 0: Pin correspondiente del puerto D con pullup interno desconectado.
Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Puertos de I/O: Puerto E


Puerto de propsito general de 2 bits. Comparte sus pines con el mdulo SCI. REGISTROS:
Registro de datos del puerto E (RxD, TxD). Registro de direccin de datos del puerto E.

Registro de datos del puerto D (PTD)

PTE1-PTE0: Bits de datos del puerto E. RxD-TxD: Entrada de recepcin, Salida de transmisin.
Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

Puertos de I/O: Puerto E


Registro de direccin de datos del puerto E (DDRE)

DDRE1-DDRE0: Bits de direccin de datos del puerto D.


1: Pin correspondiente del puerto E como salida. 0: Pin correspondiente del puerto E como entrada.

Universidad de Alcal. Escuela Politcnica Sistemas Electrnicos Digitales. I. Telecomunicacin

You might also like