Professional Documents
Culture Documents
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Bibliografa
Antonio Diaz Estrella, et al. Teora y diseo con microcontroladores de Freescale.
Introduccin a los MCUs. Conceptos bsicos.
Manuales de usuario
MC9S08JM60. MCF51JM128. MCF51QE128.
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Antes de comenzar
Metodologa de diseo
HW-COMPONENTES DISEO HARDWARE HARDWARE
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
Sistemas Embebidos
Universidad de Antioquia
Actualmente
Tendencia actual
Inteligencia distribuida. Mltiples CPUs trabajando de manera cooperativa para lograr el funcionamiento total de un sistema. Mltiples arquitecturas para comunicar las distintas CPUs.
NoCs. SoCs. Redes industriales. Buses. TCP/IP.
Universidad de Antioquia
A continuacin
M68k y ColdFireV1
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Freescale Flexis
Flexis se refiere a un conjunto especial de MCUs
Permite escalar las aplicaciones de la manera ms simple y transparente para el desarrollador. Paso de 8 a 32 bits de forma muy sencilla. Tericamente, no se requiere hacer ningn cambio en el programa. Compatibilidad pin a pin entre las diferentes familias Flexis.
MC9S08QE <=> MCF51QE MC9S08JE <=> MCF51JE MC9S08JM <=> MCF51JM MC9S08AC <=> MCF51AC MC9S08MM <=> MCF51MM
Ingeniera Electrnica
Sistemas Embebidos
Universidad de Antioquia
Microcontroladores Flexis
Compatibilidad total entre MCUs de 8 y 32 Bits.
Cuando se requiere mayor prestacin, se puede cambiar el ncleo S08 ColdFire V1.
Registro Acumulador A Registros de Datos D0-D7
15
31
0 31
15 15
0 31 0 31
0 0
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 Flexis
Aplicaciones
Dependiendo de la demanda de procesamiento de la aplicacin, se escoge entre S08 y ColdFire V1.
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Microcontroladores Flexis
Caractersticas de esta nueva CPU
Velocidad de CPU de hasta 50MHz de 2.1V a 3.6V. Hasta 20MHz de 1.8V a 2.1V. DemoQE Velocidad de bus de 25Mhz. Mltiples estados de ejecucin: RUN, LPRUN, WAIT, LPWAIT, STOP2 y STOP3.
DemoJM ColdFire V1 32 Bits
S08 8 Bits
Sistemas Embebidos Ingeniera Electrnica
CORE Flexis
Universidad de Antioquia
Microcontroladores Flexis
Principales caractersticas
Compatibilidad pin a pin entre las versiones de 8 y 32 bits. Zero code changes. Escalabilidad
Velocidad de ejecucin. Capacidad de procesamiento. Bus de datos y direcciones ms amplios. Cantidad de memoria. Manejo de excepciones e interrupciones.
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
A continuacin
M68k y ColdFireV1
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
M68k
M68000 fue la primera arquitectura de un procesador de 32 bits que se hizo popular.
Primera versin lanzada en 1979. Llamado as por la cantidad de transistores usados en su primera versin. Competidor serio del x86 en sus comienzos. Padre de la famosa arquitectura m68k. Compatibilidad de los programas desarrollados para esta CPU desde sus inicios hasta la actualidad. Filosofa CISC Von-Newmman. Usado principalmente como controladores de impresoras y consolas de juego.
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
Jaguar (1993)
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
M68k y ColdFire
ColdFire es una arquitectura desarrollada por Motorola semiconductors
Diseada con una mayor orientacin a sistemas embebidos. Su conjunto de instrucciones de ensamblador es un subconjunto de las originales del 68000. M68000 es un procesador CISC, mientras que los ColdFire se disean como una variante de RISC.
VL-RISC, instrucciones RISC de longitud variable.
Se restringe la cantidad de memoria accedida por el procesador. Se elimina la unidad de manejo de memoria (MMU).
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
ColdFire Vx
Los procesadores se presentan en varias ControllerColdFire Continuum Philosophy versiones a saber.
V1: Versin reducida del diseo original para facilitar la migracin desde 8bits. V2: Versin original del ColdFire diseada en 1994, No tiene MMU ni FPU. V3: Versin que incluye una unidad de multiplicacin y suma en un ciclo de reloj (MAC). Usada en Procesamiento de Seales. V4: Versin con MMU y FPU, MAC mejorada. Cuenta con una arquitectura superescalar limitada. V5: Arquitectura totalmente superescalar.
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
ColdFire V1
Freescale licenci el core de el ColdFireV1
Este puede ser usado como un procesador embebido (softcore) dentro de una FPGA de Altera Licencia gratuita! http://www.altera.com/devices/processor/freescale/coldfi re-v1/m-fre-coldfire-v1.html
Flexis
Esta estrategia de embebida de diseo. Esta fue lanzada en 2007. Marc el gnesis de los ColdFireV1.
ColdFire+
Es una implementacin del ColdFireV1 a 90nm.
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
Aplicaciones ColdFire V1
Electrnica de consumo
Reproductores de audio de CD e Internet. Telfonos VoIP. NetCams. Equipos de testing.
Electrnica industrial
Sistemas de fabricacin y automatizacin. Controladoras de impresoras. Controles de ingreso/inventarios.
Electrnica mdica
Equipos healthcare. Equipos portables de captura de seales.
Hogar
Lavaplatos, secadoras, refrigeradores.
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
ColdFire V1 tools
Herramientas Debugger, Compiladores Software Stacks, Sistemas Operativos
Costoso
Bajo/Mediano Costo
Gratis
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
A continuacin
M68k y ColdFireV1
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Mapa de Memoria
Los mapas de memoria dependen de cada MCU 0x00_0000 0xC0_0000 en particular
En general, el CFv1 implementa un 0x01_FFFF direcciones de 24 bits lo que supone que puede 0xC0_000F direccionar hasta 16MB.
0x80_0000 Nos concentraremos en 0xFF_8000 FLASH
Rapid espacioGPIO de
RAM El MCU Flexis MCF51JM128. Peripherals 0x80_3FFF La versin de 32 bits del MC9S08JMxx. 0xFF_FFFF Empaquetado de 64 pines LQFP. Los huecos en la memoria corresponden a zonas no implementadas.
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Manejo de memoria
La lectura y escritura de la memoria
Presenta ciertas restricciones en la Flash.
La memoria de perifricos
Tiene tres subregiones
0xFF_8000 0xFF_9800
0xFF_FFC0
0xFF_FFFF
Controlador de Int.
0xFF_807F
Sistemas Embebidos
Pgina directa
Pgina alta
0xFF_987F
Ingeniera Electrnica
Universidad de Antioquia
Organizacin de la memoria
Los MCUs ColdFire
Tienen una organizacin Big-Endian. Recuerde: Byte ms pesado en la direccin ms baja.
Primera palabra en la memoria
MSB
LSB
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Buses internos
Cada regin de memoria
Tiene caractersticas especiales, por lo que se recomienda usar modos de direccionamiento especficos para cada una de ellas. Tarea del compilador.
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Coldfire Core
La arquitectura bsica de un ColdFire est diseada:
Con una unidad de bsqueda de instrucciones llamada Instruction Fetch Ppiline (IFP). Con una unidad de decodificacin y ejecucin de las instrucciones llamada Operand Execution Pipeline (OEP).
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
ColdFire de Freescale
MCF5xxx
TIMER
Polarizacin
SIM
DRAM
RGPIO
1.8V 5.5V
UART
I2C
MAC
DMA
Frecuencia 50 - 162MHz
Mapeo de Memoria
Bus de Datos 32 Lneas D31..D0
Mapeo de Memoria
P1
P2
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Modelo de Programacin
Registros de Datos
Nmero? Longitud? Tipos de Datos?
Long. Word. Byte. A un bit!!.
D0 D1 D2 D3 D4 D5 D6 D7 31
Funcin principal?
16 15
87
Otras funciones?
Sirve como registro ndice.
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
Modelo de Programacin
Registros de Direcciones
Nmero? Longitud? Tipos de Datos? A7? USP SSP
A0 A1 A2 A3 A4 A5 A6 A7 31
Funcin principal?
16 15
Otras funciones?
Almacenar operandos. Sirve como registro ndice.
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
Arquitectura CFv1
En su modelo de programacin, los CFv1 poseen
8 Registros de direcciones de 32 bits (A0 A6).
Se puede acceder a
El word ms liviano. Todo el registro (long).
Tericamente
Es posible tener al procesador conectada una memoria de una memoria de hasta 4GB
Restricciones??
El registro A7 es usado como Stack Pointer. En el momento de un reset, como saber a que direccin se inicializa el SP? Los registros apuntadores son usados muy comnmente como Software Stack Pointers
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
Arquitectura CFv1
Registro Contador de Programa
PC de 32 bits.
Espacio real de direcciones
Universidad de Antioquia
Arquitectura CFv1
Registro de estado
SR de 16 bits. Almacena datos relacionados al estado del procesador. Contiene al CCR.
CCR
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Arquitectura CFv1
Vector Base Register (VBR)
Este registro contiene la direccin base de los vectores de atencin a interrupcin.
Universidad de Antioquia
Arquitectura CFv1
Registro de configuracin de la CPU (CPUCR)
Ciertas caractersticas propias del hardware del procesador pueden ser habilitadas desde el supervisor con este registro. Los 25 bits ms livianos de este registro no tienen uso y estn reservados.
Enable Enable Reset Reset por por Mask Flash Interrupt Interrupt buffer excepciones excepciones en Habilitar en filtrar Acknowlege Enable, Speculation de perifricos direcciones instrucciones Enable ints en SR[I] Enable
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
Modos de la CPU
Al heredar del 68000, el ColdFire tiene una caracterstica importante
Posee dos modos de funcionamiento bsicos llamados Usuario y Supervisor.
Como ha de suponerse
El modo Usuario presenta ciertas restricciones en cuanto al acceso a los recursos del procesador. Mientras que el modo supervisor da acceso total para el anlisis de todas las caractersticas del mismo.
La idea es
Permitir a los desarrolladores usar el modelo de programacin supervisado para implementar funcionalidades relacionadas a Sistemas Operativos.
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
Modos de la CPU
En el modo usuario
El modelo de programacin est restringido a 16 registros de propsito general de 32 bits.
D0 D7, A0 A6, USP.
Registro contador de programa de 32 bits (PC). Registro de cdigos de condicin de 8 bits (CCR).
En el modo supervisor
Registro de estado de 16 bits (SR).
Habilitar interrupciones y permitir ejecucin paso a paso.
Apuntador de pila del supervisor de 32 bits (SSP). 16 registros de propsito general de 32 bits. Registro base de vectores de 32 bits (VBR).
Ubicar los vectores de interrupcin en otras regiones de memoria.
Universidad de Antioquia
Universidad de Antioquia
Universidad de Antioquia
Universidad de Antioquia
Excepciones
Una excepcin es
Una condicin de hardware o de software que cambia el normal flujo del programa. Es posible pensar en una excepcin como una interrupcin sncrona o por software. (ej: SWI)
Universidad de Antioquia
Ecosistema de excepciones
Error de acceso.
Se da cuando algn perifrico interno del MCU no responde.
Trace exception.
Se da cada vez que se ejecuta una instruccin del procesador.
Error de direccin.
Se intenta acceder a una direccin de memoria invlida.
Trap #n.
Llamada al sistema. Ingreso al Supervisor. Similar al SWI en los S08.
Instruccin ilegal.
Se intenta ejecutar un OpCode invlido.
Interrupcin.
Excepcin de hardware.
Violacin de privilegio.
Intento de realizar una accin como supervisor sin serlo.
Sistemas Embebidos
Reset.
Excepcin dada cuando se activa alguna de las fuentes de reset del MCU.
Universidad de Antioquia
Ingeniera Electrnica
Excepciones internas
Este tipo de excepciones
NO son enmascarables. Por lo tanto requieren de una rutina especial en el caso de que se generen. Se utiliza una excepcin por defecto para hacer tratamiento de la mayora de estas excepciones (RESET).
Para ello
CPUCR[ARD] = 0, engloba las excepciones de direcciones, de error de acceso, y de retorno de subrutina a una direccin ilegal. CUCR[IRD] = 0, engloba las de instruccin ilegal y las de violacin de privilegio.
Sistemas Embebidos Ingeniera Electrnica
Universidad de Antioquia
Excepciones vs Interrupciones
Con respecto a las interrupciones
Denominadas tambin Excepciones Externas. Generadas por perifricos conectados a la CPU (requieren atencin de la CPU):
Internos: UART, A/D, SCI, TIMERs, I2C Externos: Lneas de IRQ, Teclados,
Universidad de Antioquia
Controlador de interrupciones
Es un mdulo de los ColdFirev1 (CFI_INTC)
Encargado de la gestin de las interrupciones que puede procesar el MCU. Este mdulo permite poca programabilidad, ocupa un rea mnima de silicio. El nivel de prioridad que ingresa se compara con el contenido del SR[I]
Se atendr la interrupcin si
De mayor a menor prioridad, los niveles de interrupcin estn organizados as: 7-6-5-4-3-2-1-0. Las interrupciones de nivel 7 son no enmascarables.
Las dems son enmascarables.
0x(FF)FF_FFC0 0x(FF)FF_FFFF
Sistemas Embebidos Ingeniera Electrnica
Controlador de Int.
Universidad de Antioquia
Niveles de prioridad
Leyenda
Cada nivel de prioridad cuenta con 9 prioridades dentro de cada nivel (subprioridades). De mayor a menor prioridad, estas se ordenan de la siguiente manera: 7 6 5 4 valor medio 3 2 1- 0. Se dispone entonces de 63 fuentes de interrupcin para los CFv1. Interrupciones Interrupciones no Tanto los niveles de prioridad como las subprioridades reubicables en enmascarables cuantoun a su siguen nivel estrictamente descendente.
ejecucin
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Manejo de Excepciones
Comparacin entre el manejo de excepciones
S08 ColdFireV1.
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Manejo de Excepciones
Comprende cuatro pasos bsicos en los CFv1.
El procesador hace una copia del SR e ingresa en modo Supervisor, deshabilita el trace.
SR[S,T] = (1,0). Cuando la excepcin es una interrupcin, la mscara global se establece al nivel de la interrupcin que se gener.
Universidad de Antioquia
Manejo de Excepciones
Comprende cuatro pasos bsicos en los CFv1.
Se hace un proceso de salvar el contexto antes de atender la excepcin.
En que consiste este paso? Que registros considera deben ser guardados en este proceso?
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Sistemas Embebidos
Ingeniera Electrnica
Universidad de Antioquia
Fin de la sesin