Clase 02: Hardware basicoSistemas Embebidos
Prof: Lic. Jose H. Moyano
Departamento de Ciencias e Ingenierıa de la Computacion
2019
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 1 / 67
Principales componentes
Procesador central
Memoria
Entrada/Salida
Puertos
Interrupciones
Dispositivos e Interfaces
Buses
Clock
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 2 / 67
Definiciones
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 3 / 67
Definiciones
Microprocesador: Uno o mas CPUs en un encapsulado (puede incluir controlador dememoria, etc).
Microcontrolador: Un conjunto de uno o mas CPUs memoria dispositivos,interfaces de E/S simples
Single Board Microcontroller: Un microcontrolador con otros dispositivos en unaunica tarjeta/placa.
System on a Chip (SoC): Similar a un microcontrolador, pero conteniendodispositivos avanzados en el mismo integrado.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 4 / 67
DefinicionesMicroprocesadores vs Microcontroladores
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 5 / 67
DefinicionesMicroprocesadores vs Microcontroladores
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 6 / 67
DefinicionesuC PIC16 vs uP I8086
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 7 / 67
Single Board Microcontroller vs System-On-Chip
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 8 / 67
Single Board Microcontroller vs System-On-Chip
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 9 / 67
Single Board Microcontroller vs System-On-Chip
Muchos SoC vienen en Demo Boards, que incorporan prestaciones adicionales yconectores.En el ejemplo, el Soc AT32AP7080 de ATMel en su demo board, con todos losperifericos adicionales.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 10 / 67
ASIC y ASSP
ASIC (Application-Specific Integrated Circuit): es un circuito integrado deproposito particular.
I Suelen acompanar al uP en Single Board uCs.I Se disenan y manufacturan a medida.I Por ej:
F UARTs, Conversores AD/DAF Controladores de InterrupcionesF SoCs completos, etc.
I Se contraponen a los ICs de proposito general (procesadores, dispositivos logicosprogramables).
ASSP (Application-specific standard product): es un ASIC de proposito generalpredisenado por los fabricantes (COTS).
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 11 / 67
Clock
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 12 / 67
Clock y sincronismo
Practicamente todas las actividades en un microcontrolador estan sincronizadas a partirde una senal de reloj (clock).Esta senal de clock es lo que hace evolucionar la operacion de distintos componentes delsistema. El principal es el microprocesador.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 13 / 67
Clock y sincronismo
Mayor frecuencia implica:I Mayor velocidad de operacionI Mayor consumo y posiblemente mayor interferencia electromagnetica
Ademas de la frecuencia, interesan cuestiones como la estabilidad de la senal declock (variaciones respecto de la temperatura, humedad, alimentacionsuministrada, layout del circuito impreso (PCB), etc).
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 14 / 67
Clock y sincronismo
La senal de clock puede generarse a partir de:
Osciladores RC: Menos preciso, varıa con temperatura, humedad, etc. Con losvalores de R y C, se selecciona la frecuencia.
Cristales: Son caros y fragiles mecanicamente. Senal mas precisa y estable.
Resonador ceramico: Mismo efecto piezoelectrico de los cristales. Costo yestabilidad intermedia entre RC y cristales.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 15 / 67
Generando la senalLa senal de clock puede generarse a partir de:
Osciladores RCCristalesResonador ceramico
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 16 / 67
Buffer Schmitt trigger
La senal de clock puede generarse a partir de:
Osciladores RC
Cristales
Resonador ceramico
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 17 / 67
Clock y sincronismo
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 18 / 67
Clock y sincronismo
¿Donde se encuentra en el Arduino el clock?¿Es el unico clock que hay en el sistema?
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 19 / 67
Clock y sincronismo
La frecuencia debe seleccionarse de manera que:
Sea suficientemente lenta para cubrir los requerimientos temporales de los diversosdispositivos (en general, los dispositivos no funcionan por encima de las frecuenciasde reloj para las que fue disenados).
Sea suficientemente rapida para cubrir los requerimientos temporales de laaplicacion.
Contemple las restricciones de consumo del sistema (la performance de operacionno lo es todo).
Para lograr los primeros dos objetivos, a una senal de reloj base, se la suele dividir paralograr senales de reloj sincronicas mas lentas utiles para manejar diversos dispositivos.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 20 / 67
Division de clock
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 21 / 67
Procesador Central
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 22 / 67
Procesador Central
Es el centro de procesamiento de todo el sistema.
La eleccion del CPU define la arquitectura del sistema:I Ancho de palabra (data bus)I Espacio direccionable (address bus) y su organizacionI Set de instruccionesI Registros internosI Aritmetica (floating/fixed point, si es saturada)I Gestion de interrupcionesI Existencia de MMU (Memory Management Unit)/MPU (Memory Protection Unit)
Condiciona consumo, desempeno, las posibles aplicaciones, etc.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 23 / 67
Procesador Central
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 24 / 67
PIC12F50X arquitectura Hardvard
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 25 / 67
PIC12F50X arquitectura Hardvard
En la figura, PIC12F50X
Data (Addr) bus: 8bits
Instr. (Addr) bus: 12 bits
Arquitectura Harvard
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 26 / 67
Freescale MC68HC908 arquitectura Von Neumann
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 27 / 67
Procesador Central
El procesador condiciona el mapa de memoria:I En que direcciones estan los registros y la memoria.I Memory mapped I/O vs Port mapped I/O.I Ubicacion del vector de interrupciones (si existe).I Direccion/vector de reset (la primer instr. a ejecutar).
En sistemas embebidos es esencial conocer la configuracion del mapa de memoria(lo fija el disenador de hardware).
I En SoCs y Single Board uC esta preestablecido.I Si implementamos el hardware, hay que decodificar correctamente las direcciones
establecidas por el CPU.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 28 / 67
Mapa de memoria
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 29 / 67
Mapa de memoria
El Mapa de Memoria se define por la logica de decodificacion de direcciones (logicacombinacional – glue logic).
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 30 / 67
Mapa de memoria
¿Como es el mapa de memoria del ATMega328P?
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 31 / 67
Set de instrucciones
Set de instrucciones:I RISC (Reduced Instruction Set Computing)I CISC (Complex Instruction Set Computing)
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 32 / 67
Set de instrucciones
El procesador y su set de instrucciones define:I La funcionalidad (instrucciones basicas, unidades funcionales, instrucciones SISD vs
SIMD, instrucciones para DSP, etc).I El soporte de herramientas (compiladores, ensambladores, etc.) y librerıas
disponibles para la plataformaI El soporte de sistemas operativos (si se requiriese su uso) y middleware embebido
en general.
Existen arquitecturas/familias...I ... de procesadores: 80x86, PIC 16 Series, CortexI ... de instruction sets: ARM, IA32, IA64, MIPS
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 33 / 67
Pipeline
El pipelining (al igual que el uso de caches) tiene implicancias en aplicaciones detiempo real.
Se busca temporizados estables (por ej, minimizar el tiempo de latencia deinterrupciones), en lugar de incrementar el throughput de instrucciones.
I Pipelines menos profundosI Arquitecturas mas simples
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 34 / 67
Pipeline
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 35 / 67
Memorias
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 36 / 67
Memorias
Las memorias poseen diversas caracterısticas:
Tipo (ROM, PROM, EPROM, EEPROM, Flash, RAM, etc.).
Ancho de palabra y tamano
Tiempo de acceso (RAS time, CAS time)
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 37 / 67
Memorias
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 38 / 67
Memorias SRAM (Static RAM)
Volatil (mantiene datos mientras este alimentada).
Cada celda de memoria es un flip-flop.
Poco densa (niveles de integracion moderados).
Mantienen los datos con bajo consumo (CMOS).
Usualmente usada como memoria de datos en uC.
Interface sencilla.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 39 / 67
Memorias DRAM (Dynamic RAM)
Celdas basadas en capacitores.
Volatil (mantiene datos por cortos intervalos de tiempo).
Necesita ser refrescada periodicamente (leyendola).
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 40 / 67
Memorias ROM (masked)No volatil.Lectura rapida.La escritura se realiza durante el proceso de fabricacion y es irreversible.Interface sencilla.CE: Chip enabled y RE: Read enabled
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 41 / 67
Memorias PROM (Programmable ROM)La escritura se realiza mediante un programador y solo puede realizarse una vez.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 42 / 67
Memorias EPROM (Erasable Programmable ROM)La escritura se realiza mediante un programador.Se pueden borrar con luz ultravioleta.Muy densas (1 transistor x celda).Poco practica (ventana)
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 43 / 67
Memorias EEPROM (Electrically Erasable Programmable ROM)
La escritura/borrado se realiza electricamente sin HW adicional (un byte por vez).
Util para guardar valores de configuracion individuales.
Se degrada con las escrituras/lecturas.
Menos densas que las EPROMs.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 44 / 67
Memorias FLASH
Constituyen la evolucion de las memorias EEPROMs.
Alta densidad (como las EPROMs).
Borrable en bloques (no byte a byte).
Lectura rapida, escritura lenta.
Se utilizan algoritmos de wear leveling.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 45 / 67
Memorias NVRAM
Memoria RAM no volatil
No tiene limitaciones en los ciclos de escritura/borrado (como las memorias Flash)
Escrituras palabra a palabra (no en bloques).
Similares en estructura a las DRAM. El tipo mas comun (RAM Ferroelectrico –F-RAM/FeRAM) posee un material ferroelectrico polarizable en lugar deldielectrico existente en el capacitor de cada celda.
La estructura cristalina preserva polaridad sin energıa (no requiere refresco nienergıa p/mantener la informacion).
Mayor velocidad y menor consumo.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 46 / 67
Comparacion
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 47 / 67
Memorias
¿Que tipos de memorias tiene disponibles el ATMega328P?
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 48 / 67
Buses
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 49 / 67
Buses
Buses: Las lıneas decomunicacion entre elprocesador y los diversosdispositivos.
I Data busI Instruction busI Address (Data/Instr) bus
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 50 / 67
Arbitraje de buses
bus handshaking: CPU respeta protocolo y temporizados para obtener/proveerdatos estables (bus cycle).
no handshaking: solo si el CPU es mas lento que todos los demas componentes (elCPU acciona las senales sin restricciones).
Uso de wait signals vs. wait states
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 51 / 67
Arbitraje de busesWait signals
Los dispositivos fuerzan al CPU a queespere el tiempo necesario activando lalınea de Wait
Requiere soporte en dispositivos
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 52 / 67
Arbitraje de busesWait states
CPU inserta ciclos de espera para obtener el dato del dispositivo
No requiere HW adicional en dispositivos. . .
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 53 / 67
Ejemplo bus AMBAAdvanced Microcontroller Bus Architecture
Desarrollado por ARM en 1996Conjunto de protocolos de interconexion de componentes on-chip4 generaciones: AMBA, AMBA 2, AMBA 3, AMBA 4
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 54 / 67
Otros ejemplos
Arquitecturas de buses (on chip):I AMBAI IBM CoreConect (Power, Xilinx Microblaze)I Altera Avalon (Nios II)
Alternativas (off chip)I Hyper Transport (AMD)I PCI ExpressI Rapid IO
Veremos otros protocolos de interconexion: I2C, SPI, CAN Bus, etc.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 55 / 67
Entrada/Salida
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 56 / 67
Entrada/Salida
E/S: comunicacion con el exterior
Memory Mapped I/O vs Port Mapped I/O (instrucciones generales vs particulares)
Transferir datos desde y hacia la memoria
Mediante:I Pines GPIOI PuertosI Dispositivos
Polling de dispositivos
Interrupciones
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 57 / 67
Puerto bidireccional programable ATMega328P
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 58 / 67
Puertos
Salidas Open Collector y Tri-statePara evitar conflictos en los busesy lıneas compartidas.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 59 / 67
Interrupciones
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 60 / 67
InterrupcionesPor niveles y flancos
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 61 / 67
Interrupciones
IRQs
ISRs
Interrupciones vectorizadas
Prioridades
Anidamiento
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 62 / 67
Interrupt service routine (ISR)Salvar/restaurar el contexto
Desactivar ints (no NMI) el menor tiempo posible.
Seccion crıtica / atomicidad
Reentrancia
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 63 / 67
Race conditions
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 64 / 67
Interrupciones
La ISR debe
Atender la interrupcion lo mas rapidoposible (bajar la latencia)
Desactivar (solo si es necesario), lasinterrupciones durante el menor tiempoposible
No hay que sacrificar la respuestatemporal del sistema
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 65 / 67
InterrupcionesOptimizaciones del compilador
Cuidado con las optimizaciones delcopilador: volatile C keyword. . .static volatile long int
lSecondsToday;
Se evita el reordenamiento de codigo yotras optimizaciones del compilador.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 66 / 67
Referencias
AMBA Specification.
Atmel AVR ATmega328P Datasheet.
Barr, M., Massa, A. Programming Embedded Systems: With C and GNUDevelopment Tools, 2nd Edition. O’Reilly Media. 2006. ISBN: 978-0596009830.Capıtulos 2, 6, 7 y 8.
Simon, D. An Embedded Software Primer. Addison-Wesley Professional. 1999.ISBN: 978-0201615692. Capıtulos 2, 3 y 4.
Wilmshurst, T. Designing Embedded Systems with PIC Microcontrollers: Principlesand Applications. Newnes. 2006. ISBN: 978-0750667555. Capıtulos 1, 2 y 3.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 67 / 67
Top Related