Clase 02: Hardware b asico - Universidad Nacional del Sur

64
Clase 02: Hardware b´ asico Sistemas Embebidos Prof: Lic. Jos´ e H. Moyano Departamento de Ciencias e Ingenier´ ıa de la Computaci´ on 2019 Prof: Lic. Jos´ e H. Moyano (Departamento de Ciencias e Ingenier´ Clase 02: Hardware b´ asico 2019 1 / 67

Transcript of Clase 02: Hardware b asico - Universidad Nacional del Sur

Page 1: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 2: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 3: Clase 02: Hardware b asico - Universidad Nacional del Sur

Definiciones

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 3 / 67

Page 4: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 5: Clase 02: Hardware b asico - Universidad Nacional del Sur

DefinicionesMicroprocesadores vs Microcontroladores

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 5 / 67

Page 6: Clase 02: Hardware b asico - Universidad Nacional del Sur

DefinicionesMicroprocesadores vs Microcontroladores

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 6 / 67

Page 7: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 8: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 9: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 10: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 11: Clase 02: Hardware b asico - Universidad Nacional del Sur

Clock

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 12 / 67

Page 12: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 13: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 14: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 15: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 16: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 17: Clase 02: Hardware b asico - Universidad Nacional del Sur

Clock y sincronismo

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 18 / 67

Page 18: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 19: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 20: Clase 02: Hardware b asico - Universidad Nacional del Sur

Division de clock

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 21 / 67

Page 21: Clase 02: Hardware b asico - Universidad Nacional del Sur

Procesador Central

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 22 / 67

Page 22: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 23: Clase 02: Hardware b asico - Universidad Nacional del Sur

Procesador Central

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 24 / 67

Page 24: Clase 02: Hardware b asico - Universidad Nacional del Sur

PIC12F50X arquitectura Hardvard

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 25 / 67

Page 25: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 26: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 27: Clase 02: Hardware b asico - Universidad Nacional del Sur

Mapa de memoria

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 29 / 67

Page 28: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 29: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 30: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 31: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 32: Clase 02: Hardware b asico - Universidad Nacional del Sur

Pipeline

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 35 / 67

Page 33: Clase 02: Hardware b asico - Universidad Nacional del Sur

Memorias

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 36 / 67

Page 34: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 35: Clase 02: Hardware b asico - Universidad Nacional del Sur

Memorias

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 38 / 67

Page 36: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 37: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 38: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 39: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 40: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 41: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 42: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 43: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 44: Clase 02: Hardware b asico - Universidad Nacional del Sur

Comparacion

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 47 / 67

Page 45: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 46: Clase 02: Hardware b asico - Universidad Nacional del Sur

Buses

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 49 / 67

Page 47: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 48: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 49: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 50: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 51: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 52: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 53: Clase 02: Hardware b asico - Universidad Nacional del Sur

Entrada/Salida

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 56 / 67

Page 54: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 55: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 56: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 57: Clase 02: Hardware b asico - Universidad Nacional del Sur

Interrupciones

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 60 / 67

Page 58: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 59: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 60: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 61: Clase 02: Hardware b asico - Universidad Nacional del Sur

Race conditions

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 02: Hardware basico 2019 64 / 67

Page 62: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 63: Clase 02: Hardware b asico - Universidad Nacional del Sur

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

Page 64: Clase 02: Hardware b asico - Universidad Nacional del Sur

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