03 Repaso - Mcu
03 Repaso - Mcu
Antes de Comenzar
Preguntas de repaso
Cul es su definicin de Sistema embebido?. Diferencias entre un microprocesador y microcontrolador? Sabe que es un procesador embebido? Qu bloques componen una CPU? Qu es el modelo de programacin de un MPU/MCU? A que se refiere el trmino Instruction Set Architecture? Qu es la Memoria, que tipos conoce y que diferencias presentan, cuales tipos se usan dentro de los sistemas embebidos? Perifricos? Excepciones e Interrupciones?
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
1 2 3
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
A continuacin
Repaso de tendencias/conceptos
Fabricantes de MCUs
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Sistemas Embebidos
CONOCIMIENTOS PREVIOS
ESPECIFICACIN
SOFTWARE
IMPLEMENTACIN: CODIS. HW/SW Particionar Hardware/Software Administracin de Eventos. Mltiples tareas, concurrencia. Compilacin, Simulacin. Uso de bajo nivel (si es requerido)
REALIZACIN
SOFTWARE
Ingeniera Electrnica
Universidad de Antioquia
Unidades de Procesamiento
CPU
Aporta la inteligencia al S.E. Con/sin memoria interna. Usar/no memoria externa. Arquitectura especfica. Perifricos de E/S.
CONTROL
Memoria
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Unidades de Procesamiento
ASICs: Application Specified Integrated Circuit. Lgica Reconfigurable: FPGA, CPLD, ... Procesadores: MPUs, MCUs, DSPs,
Dificultad de Reprogramacin Eficiencia Energa
Tecnologa
Universidad de Antioquia
Flexibilidad
Mops/mW
Unidades de Procesamiento
ASICs (Hardwired).
Aplicaciones de alto desempeo y muy especficas. Mercado grande para el desarrollo. Costo del diseo y manufacturacin muy elevado.
Lgica Reconfigurable.
Prototipado rpido. Plataforma de prueba de grandes diseos. Expectativas de venta baja. CPLDs: Complex Programmable Logic Devices. FPGAs: Field Programmable Gate Arrays.
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
Unidades de Procesamiento
Microprocesador, Microcontrolador, DSPs
Unidad de procesamiento Cerebro
RAM
CONTROL DATAPATH
P1 P2
Pn
CPU 10110100101
MEMORIA
11111010101 10110001011 11001001111 00010100011 10100000000 00000011010 10100111010
CONTROL
ROM
Perifricos de Entrada
10110100101 11111010101 10110001011 11001001111 00010100011 10100000000 00000011010 10100111010
DATAPATH
Perifricos de Salida
P1
P2
Pn
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Pn
Universidad de Antioquia
P1 P2 P3
CPU
P4 P5 Pn
MCU
MEMORIA
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Aviones
Control vuelo. Anti-Colisin. Informacin. Fiabilidad 100%.
MCUs CONSUMO
Lavadoras. Neveras. Microondas. Relojes. Video Juegos. Cmaras de Video.
Sistemas Embebidos Ingeniera Electrnica
S. MDICOS
Marcapasos. ECG. Dilisis. Fiabilidad 100%.
Universidad de Antioquia
A continuacin
Repaso de tendencias/conceptos
Fabricantes de MCUs
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Fabricantes de MCUs
Actualmente se ofrecen muchas clases de microcontroladores. Este mercado es, por tanto, muy competido.
Cada fabricante tiene su squito de seguidores.
Universidad de Antioquia
Sistemas Embebidos
Universidad de Antioquia
Fabricantes de MCUs
MICROCHIP: PICs.
Alto nivel de integracin Caractersticas de altas prestaciones:
Filosofa RISC. Modalidad Pipeline. Arquitectura Harvard: instrucciones y datos.
Universidad de Antioquia
Fabricantes de MCUs
ATMEL AVR
Arquitectura diseada por estudiantes de la Universidad Noruega de Ciencia y Tecnologa. Caractersticas de altas prestaciones.
Filosofa RISC. Arquitectura Harvard: instrucciones y datos. 32 registros internos de 8 bits.
Desarrollado inicialmente para ser eficiente en la ejecucin de cdigo C (Compilador gratis). Popularizados a travs de la plataforma ARDUINO.
http://www.arduino.cc/es/
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Fabricantes de MCUs
Texas Instruments: MSP430
CPU RISC de 16 bits. Arquitectura Von Neumann Orientado a altas prestaciones
Capacidad de cmputo. Bajo consumo energtico.
Caractersticas.
A/D de 10/12/14/16 bits. Temporizadores. Comunicaciones seriales. Controlador de LCD. Reloj interno.
Universidad de Antioquia
Fabricantes de MCUs
NXP: 80C51
CPU de 8 bits. Arquitectura Harvard. Perifricos
Oscilador interno. Tiemporizadores. Puertos de I/O. Comunicaciones seriales.
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Fabricantes de MCUs
FREESCALE
Antiguamente Motorola Semiconductors. Microcontroladores descendientes del procesador M68K. Familias de 8 Bits.
HC05, HC11 (Ya no se fabrican). HC08 (Obsoleto). HCS08 y Flexis.
Familias de 16 Bits.
HC12 (Ya no se fabrica), MC9S12.
Universidad de Antioquia
MPUs/MCUs Embebidos
XILINX: PowerPC, MicroBlaze, PicoBlaze
PowerPC: Procesador HardCore Pipeline de 5 niveles. Arquitectura RISC. Memorias cach. Arquitectura Harvard. MicroBlaze: Est dentro de lo que se conoce como SoftCore
Procesador que est diseado en un lenguaje de descripcin de Hardware (HDL).
Universidad de Antioquia
Arquitecturas de 32 bits
Algunos fabricantes han migrado hacia arquitecturas ms ecomplejas
Omap Ello con el fin de dar soporte a(ARM) nuevas aplicaciones. AVR32, Estas arquitecturas SAM han evolucionado a partir de las (ARM) investigaciones en el diseo de MPUs. ColdFire (M68k), Muchos fabricantes han diseado sus propias Kinetics (ARM) PIC32 de 32 bits arquitecturas LPC (ARM) Propietarias y especializadas. x86, PXA (ARM) (MIPS)
Ahora casi todos los fabricantes estn optando por adoptar una arquitectura estndar
Advanced RISC Machine (ARM)
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
Preguntas
Cual es la diferencia entre un sistema electrnico reconfigurable y uno reprogramable?. Cul es la diferencia entre un microprocesador (MPU) y un microcontrolador (MCU)? Si un DSP se considera un sistema de aplicacin especfica, porque est dentro de la familia de los procesadores? Que se entiende por computacin reconfigurable? Cuando se dice que sistema embebido posee un procesador HardCore, a que se refieren?
Y uno SoftCore?
Universidad de Antioquia
A continuacin
Repaso de tendencias/conceptos
Fabricantes de MCUs
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Microcontrolador HCS08
Los MCUs HCS08 estn compuestos por:
HCS08 DE FREESCALE MCUs CPUS08. BDM Controller MEMORIA Memoria RAM. A/D Memoria ROM/FLASH. Perifricos. CPU S08
SCI
I2C
Todos tienen la misma CAN CPU: CPUS08. SPI Las diferencias estn en la memoria y los RELOJ TIMER LCD perifricos.
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Microcontrolador HCS08
Los MCU de la familia HCS08 comparten la CPU: Registro Acumulador A La CPUS08, de 8 Bits. 7 0 Total compatibilidad con HC08 Registro ndice H:X y HC05. H X Nuevas instrucciones. 8 7 0 15 Apuntador de pila Stack de 16 bits con instrucciones Pointer SP para manipularlo.
15 Equivalencia con registro A7 en el M68K 0
Contador de Programa PC
0 15 Registro H: 8 Bits. Parte Alta de H:X. Registro Cdigos de Condicin CCR Registro X: 8 Bits. Parte Baja de H:X. 0 Equivalencia con7registros apuntadores en el M68K
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
Mapa de Memoria
Mapa de Memoria para el MC9S08JM60
$0000 $00AF $00B0
$1860
Memoria RAM
$195F $1960
$10AF $01B0
Vectores
$FFFF
Universidad de Antioquia
Ingeniera Electrnica
Microcontrolador HCS08
16 Modos de direccionamiento. Instrucciones para mover datos de memoria a memoria sin usar el acumulador A. Instrucciones para la manipulacin de datos BCD: Binary-coded decimal Modos de bajo consumo: wait y varios niveles de stop.
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Microcontroladores Flexis
Microcontroladores de 8 y 32 Bits de alto rendimiento, pertenecen a la familia S08 y ColdFire.
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Microcontroladores
Otras caractersticas del S08
Arquitectura de alto desempeo optimizada para compiladores C. Frecuencia mxima de bus: 40, 48 y 50 MHz en algunas implementaciones. Seguridad Programa Almacenado.
void main(void) { Oscilador Externo main: Fbus SOPT1_COPD = 1; ICS, ICG, Memoria bset 0,$001F DDRA = 0xFF; MOV #$FF,$0004 FLASH Compilador Oscilador Interno }
MCG
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Microcontroladores
Los Microcontroladores de la familia S08
Protecciones.
Perro guardin. Alimentacin de voltaje. Instruccin o direccionamiento ilegales.
Si el MCU se bloquea!!!
RESET
MCU
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Microcontroladores
Los Microcontroladores de la familia S08
Pin de Reset y PowerOnReset. Memoria FLASH: Hasta 60Kbytes. Memoria RAM: Hasta 2kbytes.
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Microcontroladores
Algunos mdulos
Comunicacin serial SPI, SCI e I2C. TIMERs con Input Capture y PWM. Conversor Anlogo/Digital de hasta 12 Bits.
Adems
Puertos de Entrada/Salida. PullUps habilitables en algunos puertos. Capacidad de configuracin de alta o baja corriente en cada puerto.
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Microcontroladores
Consideraciones sobre el Reloj:
La frecuencia del Bus es la mitad de la Frecuencia de la CPU.
FCPU = 8MHz, FBUS = 4 MHz. FCPU = 10MHz, FBUS = 5 MHz.
Un ciclo de bus equivale a 1/FBUS. Las instrucciones se ejecutan con el reloj del bus.
Por ejemplo si se quiere traer un dato de la posicin de memoria $84 y guardarla en el acumulador Operacin de 3 Ciclos ??? a FBUS = 2 MHz. Tiempo = ???. Tiempo ejecucin 3 * 0.5s = 1.5s
Universidad de Antioquia
Modelo de Programacin
Registro Acumulador A 7 Registro ndice H:X H 15 8 7 X 0 0
Stack Pointer SP
15 Contador de Programa PC 15 Registro Cdigos de Condicin CCR V 1 1 H I N Z C 7 0
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
Modelo de Programacin
Acumulador de 8 Bits (A)
Registro de propsito general de 8 bits. Almacena operandos y resultados en operaciones lgicas y aritmticas. Lectura/Escritura. Equivalencia con Dn
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Modelo de Programacin
Registro ndice de 16 Bits (H:X)
Indexar o direccionar 64 Kbytes. Modos de direccionamiento indexados. Registro H, Registro X: Parte alta y baja. El registro H es llevado a cero cuando hay un reset. Equivalencia con An
H (PARTE ALTA DE H:X) X (PARTE BAJA DE H:X)
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Modelo de Programacin
Registro apuntador de pila de 16 Bits (SP)
Apunta a la siguiente posicin disponible del stack. Se decrementa despus de almacenarse un valor en el stack. Se incrementa antes de tomar un valor del stack. Durante el reset, SP es llevado a $00FF. XX $00F8 Equivalencia con A7
XX $00F9 XX $00FA XX $00FB B15 B14 B13 B12SP B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 $45 XX SP $00FC XX1 0 0 0 0 SP0 $00FD 0 0 0 1$30 1 1 1 1 1 1 $80 XX SP $00FE $40 XX SP $00FF Memoria 8 Bits
RESET:
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
Modelo de Programacin
Contador de Programa de 16 bits (PC)
Registro de 16 bits que contiene la direccin de la siguiente instruccin a ejecutar. Normalmente se incrementa automticamente a la siguiente posicin consecutiva de memoria. Controlado tambin por las instrucciones de salto.
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Modelo de Programacin
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
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Antes de comenzar
Comunicacin I2C Programacin & Debugging UART 2 Interrupcin Polarizacin Externa mdulo ADC
Comparador analgico Conversin ADC Canales de Polarizacin UART 1Timer Bus Serie MCU Universal Regulacin del USB SPI 1 SPI 2
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Comparte Comparte pinespines con con Comparte pines con Comparte pines mdulo de serial el el mdulo de Comparte pines el mdulo mdulo de con el de Comparte pines asncrono, serial teclado, de ADC y el con el I2C y serial teclado, de ADC y teclado y canales oscilador con los sncrono y canales comparador asncrono serial sncrono externo del timer de timer
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
MC9S08JM60 RTC TPM1 Referencia externa de Referencia TPM2 reloj COP interna de Referencia reloj opcional para Salida principal los timers Referencia del MCG, opcional para genera el reloj BDC 2 delel bus y la CPU (debugging) 2 IIC SCI1 SCI2 SPI1 SPI2
1KHz LPO
MCG
MCGERCLK MCGIRCLK MCGFFCLK MCGOUT MCGLCLK
CPU BDC
Ingeniera Electrnica
EXTAL
Sistemas Embebidos
XTAL
ADC
RAM
Flash
Universidad de Antioquia
Y que es el RTC?
Es bsicamente un contador, un preescalador y un mdulo a partir de los cuales es posible programar los eventos cclicos.
Usos?
Para todos las aplicaciones que requieran el uso de bases de tiempo.
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
1KHz LPO
RTC COP
TPM1 TPM2
IIC
MCG
MCGERCLK MCGIRCLK MCGFFCLK MCGOUT MCGLCLK
Configuracin SCI2local Mscara Seleccin Peticin Contador Mdulo de = de preescalado interrupcin Valor rueda la fuente de final libre de del a para el reloj interrupcin de conteo la reloj 8 CPU bits SCI1 SPI1 seleccionado
SPI2
2 2
CPU BDC
Ingeniera Electrnica
EXTAL
Sistemas Embebidos
XTAL
ADC
RAM
Flash
Universidad de Antioquia
RTC - Registros
Bandera de Clock interrupcin source Mscara local de interrupcin Preescalador para fuente de reloj
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Transmisin SCI
Transmisin de un dato
1.Configurar la velocidad de comunicacin. 2.Habilitar el transmisor escribiendo un 1 en TE del registro de control 2 SCIxC2. 3.Esperar a que TDRE del registro de estado 1 SCIxS1 se coloque en 1 para luego escribir el dato en SCIxD. 4.Repetir el paso 3 para enviar ms datos.
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Transmisin SCI
Transmisin de uno o varios caracteres:
Se habilita la Tx Para Tx otro caracter se verifica si El mdulo Se verifica SCI que secaracter encarga SCIxS1 de TDRE la Tx Bit = 1 a Bit. Se escribe el (10010001) en SCIxC2 TE SCIxS1 TDRE 1 + STOP START + TRAMA (SCIxD + Vaco) PARIDAD SCIxD . ==1 10010001 Mdulo SCIx
H P 1 0 0 1 0 0 0 1 L Registro Desplazamiento Tx
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Recepcin SCI
Recepcin de un dato
1. Configurar la velocidad de comunicacin. 2. Habilitar el receptor escribiendo un 1 en el bit RE dentro del registro de control 2 SCIxC2. 3. Se espera a que el dato sea puesto en SCIxD, es decir, se espera a que RDRF del registro de estado 1 SCIxS1 sea 1. 4. Repetir el paso 3 para recibir ms datos.
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Recepcin SCI
Recepcin de uno o varios caracteres:
Se hasta que se cumpla de la condicin Se espera verifica Cuando El con mdulo SCIxS1 el caracter SCI se RDRF est encarga = nuevo 1 de se (la SCIxD lleva Rx a Lleno), Se habilita la listo Rx SCIxS1 RDRF = 1 Entonces se Bit lee SCIxD a el Bit. registro . (Otro SCIxD SCIxC2 RE = 1Caracter)
H P 1 0 0 1 0 0 0 1 L Registro Desplazamiento Rx
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
CANAL 2
Interrupcin
CANAL 3
CANAL 4
MUX
Conversor n Bits
COCO
CANAL n
CHANNEL SELECT
CLOCK GEN
Sistemas Embebidos
Ingeniera Electrnica
Registros de estado/control
Status & Control register 1 (ADCSC1)
del canal
Indica si se est Habilitar funcin Conversion llevando a cabo trigger de comparacin una conversin Consultar!!! Consultar!!
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
Registros de configuracin
ADC configuration register (ADCCFG)
Modo de operacin. Fuente de reloj Preescalado Consumo de potencia Tiempo de conversin
Resolucin Configuracin Preescalado de Low Power del la fuente de tiempos de configuration conversin conversor reloj
Sistemas Embebidos Ingeniera Electrnica
Mdulo TPM
TPM Base de Tiempo bus, el como contador se
incrementa ms lentamente FTOF = FFEED Divide la frecuencia de
FIN
TIMER HC(S)08
PRES: 1, 2, 4,8, 16, 32, 64, 128
FFEED
ACK_SW
FOVERFLOW
SEL. PS.
Dos registros de 8 Bits, se escribe primero parte alta y luego la parte baja
Sistemas Embebidos
TOF
PTOF
TOIE
MOD 5 16-BITS
INT. a CPU
Ingeniera Electrnica
Universidad de Antioquia
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Universidad de Antioquia
Canales en PWM
TIMER HC(S)08
PRES: 1, 2, 4,
FFEED
8, 16, 32, 64, 128
SEL. PS.
PTOF
COMP
Set/Clear O.C.
COMP
PIN CHy
O.V.
Sistemas Embebidos
O.C. O.V.
O.V. O.C.
Universidad de Antioquia
Mdulo KBI
Driver para un Teclado Matricial 4x4.
Cmo funciona dicho teclado? No tiene polarizacin? Slo filas y columnas?
Teclado 4x3 4x4 1 2 3 A 4 7 5 8 0 6 9 # B C D
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Mdulo KBI
Teclado Matricial
Tecla 5 Tecla A Tecla 9
0V F1 5V XV
0V F2 5V XV 0V XV F3
1
4 7
2
5 8
3
6 9
A
B C
Tecla 9??
Poner 0V Coloco Se detecta 0Ven enlas las Ya tengo la fila y Filas. de interrupcin columnas. la columna, ahhh Las columnas las Leo KBI, las ya filas tengo por la es la tecla 9!!! leo con el KBI. columna. el puerto. Ahora?
0V F4 5V XV
*
C1 XV 5V 0V
C2 XV 5V 0V
C3 XV 5V 0V
C4 XV 5V 0V
Universidad de Antioquia
Sistemas Embebidos
Ingeniera Electrnica
Mdulo KBI
Teclado Matricial, usando KBI del MCU
MC9S08SE8 MC9S08JM60 PTBD3/KBIP7 PTGD3/KBIP7 PTBD2/KBIP6 PTGD2/KBIP6 PTBD1/KBIP5 PTBD5/KBIP5 PTBD0/KBIP4 PTBD4/KBIP4 PTAD3/KBIP3 PTDD3/KBIP3 PTAD2/KBIP2 PTDD2/KBIP2 PTAD1/KBIP1 PTGD1/KBIP1 PTAD0/KBIP0 PTGD0/KBIP0 F1 F2 F3 F4 C1 C2 C3 C4 F1 F2 F3 F4 C1 C2 C3 C4
1 4 7 *
2 5 8 0
2 5 8 0
3 6 9 #
3 6 9 #
A B C D
A B C D
4
7
Lectura
0b01111011 0bXXXXXXXX 0bXXXX1011
PTB3-0 Salidas 0V Se leen los puertos (A yel B) y3 Se Se ha lee presionado el puerto PTA3-0. la tecla Esperando a que pase Como la Entradas tecla sigue KBI3-0 con pullup se determina finalmente el F1 KBI7-4 C3 entrada KBI1, con interrupcin PullUp. tiempo de Antirrebote pulsada: C3interrupcin. F1 0V(50ms) Esperando cdigo. PTA3-0 salida en 0V.
Ingeniera Electrnica
Sistemas Embebidos
Universidad de Antioquia
Mdulo KBI
Y ahora, Qu es el mdulo KBI?
Mdulo de los MCUs que provee n eventos que son manejados por una interrupcin comn. Accesibles mediante los puertos del MCU. Funcionamiento similar a la IRQ. Las n interrupciones comparten el mismo vector de interrupcin, es decir Tres registros de control:
KBISC, KBIPE y KBIES
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Mdulo KBI
KBIP0 KBIEDG0 KBIPE0
. . . .
Peticin de Interrupcin
KBIPn
KBIEDGn KBIPEn
interrupt n void ISR_KBI(void) { // Cada INT llama esta misma funcin // Leyendo los puertos, se determina // que tecla gener la Int. Ext. }
Ingeniera Electrnica
Sistemas Embebidos
Universidad de Antioquia
Mdulo KBI
El mdulo KBI tiene un registro denominado Registro de Habilitacin (KBIPE).
Sirve para establecer independientemente cada pin del puerto como fuente de interrupcin.
Seleccin de flancos (KBIES). Una interrupcin se genera cuando uno de los pines del puerto configurados como KBI se pone en 0/1 despus de estar todos en 1s/0s.
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Mdulo de Programa
Directivas Preprocesador
Declaracin de Variables, prototipos
Universidad de Antioquia
Fin de la sesin