Prof. Ing. Miguel Angel Aguilar Ulloa 2009-2010



Documentos relacionados
... partes internas del computador!...

PUERTOS DE COMUNICACIÓN EXTERNOS TIPO VELOCIDAD DESCRIPCION GRAFICO

Curso sobre Microcontroladores Familia HC9S08 de Freescale

I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

BUS I2C: IMPLEMENTACIÓN PRÁCTICA CON MICROCONTROLADORES PIC MEMORIAS EEPROM SERIE

Componentes Internos y Externos del Ordenador. Prof: Ronald Méndez

HARDWARE DE UN ORDENADOR. Elementos básicos

Tema 2 HARDWARE II. TICs 1º Bachillerato

I2C. Ing. Pablo Martín Gomez

Arquitectura basica de un computador

Organización de Computadoras. Turno Recursantes Clase 8

El Computador. Software

Protocolo USB CDM /11/2012 Autor: Ing. Jorge R. Osio 1

Componentes de la placa base

Bajo coste, alta densidad, alta velocidad, bajo consumo de energía y alta fiabilidad.

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

USB (Universal Serial Bus)

UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval

Figura 1.4. Elementos que integran a la Tecnología de Información.

Comunicación Serie IIC: Inter-Integrated Circuit

PROBLEMAS DE FUNDAMENTOS DE TECNOLOGÍA DE COMPUTADORES T5. MEMORIAS

SPI. Teoría y Aplicaciones. INGENIERIA EN MICROCONTROLADORES Protocolo SPI( Serial Peripherical Interface) Protocolo

Cada computadora conectada a la red suele recibir el nombre de estación de trabajo o nodo de la red.

Practica de Control y Programación de Robots ROBOT HERMES. Curso

Clase 20: Arquitectura Von Neuman

Organizacion del Computador

Desde el punto de vista físico en un ordenador se pueden distinguir los siguientes elementos:

COMUNICACIÓN I2C (INTER-INTEGRATED CIRCUIT)

Unidad II Introducción a las redes de computadoras

Tema 7: Esquema del Funcionamiento de una Computadora. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

PARTES DE UN COMPUTADOR

HARDWARE DE SISTEMA AUTOMÁTICO DE RASTREO DE VEHÍCULOS MEDIANTE TECNOLOGÍAS GPRS Y GPS

BUS I2C. IES Los Viveros Sevilla Dpto. Electrónica. 1

Fundamentos básicos sobre computación

El Protocolo SPI. IES Juan de la Cierva. Aprendizaje de la Electrónica a través de la Robótica. Fernando Remiro Domínguez

502 A I.S.C. JOSE BARDO MORENO MACHADO ENRIQUE EDUARDO MORAN PRADO EDILBERTO RASCON HERNANDEZ

Partes de la Computadora

Taller de Operaciones Informáticas

TEMA 4. Unidades Funcionales del Computador

Memoria de la impresora

Curso Introducción A Los Computadores Y Open Office Writer

REDES DE COMPUTADORES FACULTAD DE INGENIERIA ELECTRONICA UNIVERSIDAD PONTIFICIA BOLIVARIANA. Profesor: Jhon Jairo Padilla Aguilar, Ph.D.

Dispositivos de Red Hub Switch

VIVIENDO EN LÍNEA. IC3 Redes

Memoria 24LC256 I. I NTRODUCCIÓN

CAPITULO 3: SISTEMAS ADICIONALES PARA EL CENTRO DE LLAMADAS DE EMERGENCIA

Tema 3. Buses. Arquitectura de computadores. Plan 96. Curso Jerarquía de buses

Introducción. Trabajo Práctico de TAI 2 - PCI Express Página 1

Tema 5. Memorias. Estructura de Computadores. Índice. Curso

Guía Nro. 2 de Arquitectura del Computador TI - PI

TRABAJO PRÁCTICO Nº 6: PUERTO SERIE

Reprogramación de módulos de control

Capitulo V Administración de memoria

MANUAL TÉCNICO DE IMPLEMENTACIÓN PROYECTO SOCIAL COMPUESCUELA. Elaborado por: Julián A. Hernández M.

La informática es el conjunto de técnicas y conocimientos necesarios para el tratamiento automático de la información mediante el ordenador.

TEMA EL BUS I 2 C (Inter Integrated Circuit Bus) I2C EN C

2 Sea una unidad de disco duro de brazo móvil con las siguientes características:

UNIVERSIDAD DE ORIENTE GUÍA TEÓRICA NO #1

CCNA 1 v3.0 Módulo 5 Cableado LANs y WANs Docente: Mg. Robert Romero Flores

Introducción a la Computación

INGENIERIA EN MICROCONTROLADORES. Protocolo RS-485. Introducción

CAN BUS Controller Area Network:

AD a 24Vcc 100mA (1) SI SI SI 100 mw 1Km (2) 256 bytes AD a 24Vcc 500mA (1) SI SI SI 500 mw 3km (2) 256 bytes

Detección de Presencia Serie para la Identificación de Módulos de Memoria

Hardware Se refiere a todas las partes tangibles de un sistema informático; sus componentes son: eléctricos, electrónicos, electromecánicos

6. Controlador del Motor

Tarjeta Principal. Disco Duro. Memoria RAM. Procesador. Fuente de Poder. Tarjetas de Expansión. Jair Acosta Núñez

Contenido CAPÍTULO 1. El procesador CAPÍTULO 2. El motherboard... 59

SIGAN 1.0 SISTEMA DE INFORMACIÓN DE GESTIÓN ADMINISTRATIVA DE NÓMINA

Organización Básica de un Computador y Lenguaje de Máquina

Dispositivos de Entrada/Salida

Actividad N 1. Primer procesador creado por Intel

DIRECCIONAMIENTO IPv4

Intel Tera-Scale Computing Alumno: Roberto Rodriguez Alcala

Guía de estudio para examen de recuperación tecnología I

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

Act 1: Revisión de Presaberes. Lectura No. 1. Título de la Lectura: El Computador

Redes I Clase # 3. Licda. Consuelo E. Sandoval

FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013

Redes y Sistemas Computarizados de Control CAPITULO 1. Introducción a las Redes de Comunicación Industrial

podemos enfocar al funcionamiento del robot, es decir la parte de electrónica. Para que el

Periféricos Interfaces y Buses

Tema 1. Hardware. Fundamentos de Informática Grado en Ingeniería Mecánica

BUSES. Una comunicación compartida Un conjunto de cables para comunicar múltiples subsistemas. Memoria

DISEÑO E IMPLEMENTACIÓN DE UNA TARJETA DE ADQUISICIÓN DE DATOS PARA EL LABORATORIO DE TELECOMUNICACIONES DE LA FIEC.

Concepto y tipo de redes

BUSES GRUPO 8 Miguel París Dehesa Ricardo Sánchez Arroyo

1. Conociendo el equipo

EL COMPUTADOR. Las computadoras son actualmente

CONCEPTOS BÁSICOS DE INFORMÁTICA

UD2.notebook. May 07, Tema 2. Redes. Sonia Lafuente Martínez

DataMAX pa r a PS3. Manual del Usuario V1.0

Introducción al enrutamiento y envío de paquetes

Conceptos de redes. LAN (Local Area Network) WAN (Wide Area Network)

DESCRIPCION DEL SITEMA MASTER.

Profesor(a): Ing. Miriam Cerón Brito

4. PLATAFORMA DE COMUNICACIÓN SISTEMA PLC5 DE ALLEN- BRADLEY

FUNCIONAMIENTO DE UNA COMPUTADORA 2

Ensamblador. Interrupciones. Dentro de una computadora existen dos clases de interrupciones:

Transcripción:

LECCIÓN 4 ARQUITECTURA DE HARDWARE DE LOS SISTEMAS EMPOTRADOS Prof. Ing. Miguel Angel Aguilar Ulloa 2009-2010

Copyright 2009. Ing. Miguel Angel Aguilar Ulloa. Última actualización: 04/10/2009. Usted es libre de: Copiar, distribuir y comunicar públicamente la obra. LICENCIA Hacer obras derivadas. Bajo las siguientes condiciones: Reconocimiento Debe reconocer los créditos de la obra de la manera especificada por el autor o el licenciador (pero no de una manera que sugiera que tiene su apoyo o apoyan el uso que hace de su obra). No comercial No puede utilizar esta obra para fines comerciales. Compartir bajo la misma licencia Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Texto de la licencia: http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode. 2

1. Arquitectura de hardware de una computadora vs sistema empotrado. 2. Componentes de hardware de un sistema empotrado. 1. Procesadores. 2. Memorias. 3. Entradas/Salidas Digitales (GPIOs). 4. Buses, redes y protocolos de comunicación. 5. Periféricos. CONTENIDO 3. Interfaz de componentes. 4. Compromiso entre Hardware y Software. 3

1. ARQUITECTURA DE HARDWARE DE UNA COMPUTADORA VS SISTEMA EMPOTR ADO

Arquitectura Básica de una Computadora EMPOTRADO ARQUITECTURA DE HARDWARE DE UNA COMPUTADORA VS SISTEMA 5

Arquitectura genérica de una computadora EMPOTRADO ARQUITECTURA DE HARDWARE DE UNA COMPUTADORA VS SISTEMA 6

Arquitectura de hardware de un sistema empotrado EMPOTRADO ARQUITECTURA DE HARDWARE DE UNA COMPUTADORA VS SISTEMA 7

2. COMPONENTES DE HARDWARE DE UN SISTEMA EMPOTRADO

Un procesador es un dispositivo electrónico capaz de manipular datos de una determinada manera mediante una secuencia de instrucciones. Las instrucciones son conocidas como opcodes o código de máquina. La secuencia de instrucciones es lo que es en sí un programa. Un concepto más genérico para definir un procesador es el de elemento de procesamiento (PE), que puede ser un microprocesador, microcontrolador, SoC, DSP, GPU, entre otros, los cuales se conectan entre ellos en sistemas donde hay más de un PE o bien con el resto de componentes del sistema mediante buses. PROCESADORES 9

Microprocesadores Un microprocesador es un procesador implementado en un solo circuito integrado. Un microprocesador es algunas veces llamado CPU (Central Processing Unit). PROCESADORES Algunas arquitecturas de procesadores actuales son la serie Intel Pentium, Freescale/IBM, PowerPC, MIPS, ARM, and the Sun SPARC, entre otros. 10

Microcontrolador Un microcontrolador es un procesador, memoria y algunos dispositivos E/S contenidos en un solo circuito integrado con el objetivo de ser empleado en sistemas empotrados. Los buses que interconectan el procesador con sus E/S se encuentran dentro del mismo circuito integrado. PROCESADORES PIC 16F877 11

System-on-Chip (SoC) Los SoC tienen una amplia variedad de dispositivos de E/S según la aplicación deseada y están diseñados para interconectarse con grandes bancos de memoria externa. A diferencia de los microcontroladores que usualmente tienen toda su memoria integrada y ofrecen un soporte limitado para memoria externa. PROCESADORES OMAP35x 12

Procesadores de Señales Digitales - DSP Éstos procesadores tienen sets de instrucciones y arquitecturas optimizadas para el procesamiento numérico de arreglos de datos. DSPs usualmente tienen hardware dedicado para incrementar la velocidad de operaciones aritméticas. PROCESADORES Los DSPs son comúnmente empleados en aplicaciones embebidas y se incluyen en Microcontroladores y SoCs. 13

Unidad de procesamiento gráfico - GPU Es un procesador dedicado exclusivamente al procesamiento de gráficos, para aligerar la carga de trabajo del procesador central en aplicaciones como los videojuegos y o aplicaciones 3D interactivas. PROCESADORES 14

RAM: Random Access Memory. ROM: Read-Only Memory. EPROM: Erasable Programmable Read-Only Memory. MEMORIAS EEPROM: Electrically Erasable Programmable Read-Only Memory. FLASH: Es la tecnología dominante actualmente. Existen actualmente tres versiones NOR, NAND y OneNAND. 15

Flash NOR: La escritura y lectura está basada en acceso aleatorio, es decir, byte a byte. Los tamaños típicos de los bloques son de 64, 128 o 256Kb. MEMORIAS NAND: La escritura y lectura está basada en bloques. Los tamaños típicos de bloque son 16, 128, 256 o 512KB. Los sistemas basados en NAND son más baratos y rápidos pero carecen de una fiabilidad que los haga eficientes, lo que demuestra la necesidad imperiosa de un buen sistema de archivos. 16

NAND Tamaños típicos de bloque: 32 páginas de 512 bytes, con un tamaño de bloque de 16 KB. 64 páginas de 2048 bytes, con un tamaño de bloque de 128 KB. 64 páginas de 4096 bytes, con un tamaño de bloque de 256 KB. 128 páginas de 4096 bytes, con un tamaño de bloque de 512 KB. MEMORIAS Cada página tiene asociado unos cuantos bytes adicionales que se emplean para almacenar información extra, como por ejemplo marcar una determinada página como mala con el fin de no ser usada más o bien almacenar información de corrección de errores (ECC) asociada a la página. Usualmente a estos bytes se les conoce como memoria fuera de banda (out-of-band memory - OOB). 17

Estructura de las páginas de una memoria NAND MEMORIAS 512 bytes 16 bytes 512 bytes 2048 bytes 16 bytes 512 bytes 16 bytes 512 bytes 64 bytes 16 bytes 18

OneNAND Es una tecnología de memorias desarrollada por Samsung, la cual combina la alta densidad de la memoria NAND y la simple interfaz de la memoria NOR, además posee una memoria RAM interna. MEMORIAS Algunas características de la memoria OneNAND son: Bootloader interno (Un bloque de 1KB). Un controlador de memoria flash interna. Un búfer de datos interno (4kB SRAM-512Mb/2kB, SRAM-256Mb). ECC por hardware (2-bit EDC/1-bit ECC). 19

Estructura de una memoria OneNAND Celda de memoria NAND MEMORIAS SRAM Interface NOR Software Interface de Traducción 20

Entradas y Salidas Digitales de Propósito General (GPIO) Éstos puertos son configurados por software en una base de pin a pin, tanto como entradas como salidas. En muchos Microcontroladores y SoCs los pines de los GPIOs son compartidos con otros subsistemas lo cual permite ahorrar pines y le da una gran versatilidad al sistema. ENTRADAS Y SALIDAS DIGITALES Y ANALÓGICAS 21

Entradas analógicas Muchos microcontroladores poseen entradas analógicas que permiten monitorear sensores y voltajes. Así, un sistema empotrado puede medir niveles de luz, temperatura, vibración o aceleración, presiones, humedad campos magnéticos entre otros. ENTRADAS Y SALIDAS DIGITALES Y ANALÓGICAS 22

Conceptos generales Bus: es un sistema digital que transfiere datos entre los componentes de un sistemas, existen dos tipos: paralelo y serie. Red: es un conjunto de sistemas conectados por medio de cables, señales, ondas o cualquier otro método de transporte de datos, que comparten información, recursos, servicios, etc. Protocolo: es un conjunto de reglas usadas por sistemas para comunicarse unas con otras a través de un bus o una red. Un protocolo es una convención o estándar que controla o permite la conexión, comunicación, y transferencia de datos entre dos puntos finales. La diferencia entre bus y red es muy sutil, los buses refieren a medios de comunicación internos a los sistemas placas de circuitos impresos, o bien a lo interno de los chips, por otra parte las redes usualmente comunican sistemas de manera externa y a mayores distancias. La lógicas de los protocolos es otra diferencia. BUSES, REDES Y PROTOCOLOS DE COMUNICACIÓN 23

UART Actualmente el protocolo UART es impráctico para transmitir datos en aplicaciones finales, sin embargo es la forma más simple y barata de conectar una computadora de trabajo al sistema empotrado con el propósito de ser empleado en la etapa de diseño y para depuración del sistema. BUSES Diagrama funcional de UART Datos seriales asincrónicos 24

Serial Peripheral Interface - SPI Es un protocolo maestro/esclavo. BUSES Todos los dispositivos de una determinada red emplean una señal de reloj común y el máster decide con que dispositivo establecer una comunicación. Puede ser empleado para interfazar memorias, controladores de periféricos en general como ADCs, DACs, Real-Time Clocks, LCDs, sensores, chips de audio, entre otros. 25

Señales del SPI Master Out Slave In (MOSI) Master In Slave Out (MISO) Serial CLocK (SCLK or SCK) Chip Select (CS) BUSES Arquitectura del bus Señales 26

I2C Es un protocolo multimaster lo cual significa que cada dispositivo puede actuar como master o como esclavo. Señales Serial Data (SDA) Serial Clock (SCL) BUSES Cada dispositivo conectado a la red tiene una dirección única. Éste bus es bidireccional, de baja velocidad y sincrónico a un reloj común. Arquitectura del bus 27

Infrarojo (IrDA) El propósito básico de IrDA es proveer una comunicación dispositivo-dispositivo en cortas distancias. Paquete de transmisión BUSES Soporta tasas de transmisión de 1.152Mbps y 4Mbps. Arquitectura del bus Ángulo de transmisión 28

Universal Serial Bus - USB Un sistema de USB consiste de uno o más dispositivos USB (periféricos) y uno o más hubs y un host. Al host a veces se le conoce como host controller. BUSES Sistema USB 29

Características fundamentales del USB Característica Bajo costo Descripción El USB provee una solución de bajo costo para conectar dispositivos a PCs. Conexión en caliente La conexión del dispositivo se detecta automáticamente y el software igualmente lo configura Un solo tipo de conector Velocidades Cable de poder Cualquier dispositivo se conecta usando el mismo estándar de conector Low speed 1.5Mbps Full speed 12Mbps High speed 480Mbps Los dispositivos pueden ser alimentados y cargados por USB. El voltaje es de 5V y la corriente oscila entre 100mA y 500mA. BUSES 30

Enumeración Antes de que una transferencia se lleve a cabo, el host debe aprender sobre el dispositivo con el cual se va a comunicar. Éste proceso se le conoce como enumeración. BUSES El proceso de enumeración incluye las siguientes funciones: asignar una dirección al dispositivo, leer los descriptores del dispositivo, asignar y cargar el driver del dispositivo y seleccionar la configuración del dispositivo. 31

Endpoinds de un dispositivo USB El endpoint es un buffer que reside en el dispositivo. En él se almacenan datos que van a ser enviados desde el dispositivo al host o bien que han sido recibidos desde el host. El host también cuenta con buffers pero no son endpoints. BUSES La dirección de un endpoint consiste del número de endpoint (0-15) y la dirección IN o OUT desde la perspectiva del host. Todo dispositivo debe tener un endpoint 0 configurado como endpoint de control. Los endpoints son unidireccionales con excepción de los endpoints de control que son bidireccionales. 32

Tuberías (Pipes) Antes de empezar una transferencia entre el host y el dispositivo se debe establecer una tubería. El host establece las tuberías durante a la enumeración. BUSES Todo dispositivo tiene una tubería bidireccional de control por defecto que usa el endpoint 0. 33

Diagrama de comunicación entre el host y el dispositivo USB Host Dispositivo BUSES Buffer de datos IO Tubería Endpoint 0 Buffer de datos IN Tubería Endpoint Buffer de datos OUT Tubería Endpoint 34

Tipos de Transferencias de USB Una transferencia de control es empleada para configurar el bus y los dispositivos del bus y para retornar información de estatus. BUSES Una transferencia bulk mueve datos asincrónicamente sobre USB. Una transferencia isocrónica se emplea para mover datos que tienen tiempo crítico como el audio que son datos destinados a un dispositivo de salida. Una transferencia de interrupción se emplea para mover datos en intervalos regulares desde 1 a 255 ms. 35

Transacciones de USB Cada transferencia consiste de una o más transacciones, y cada transacción consistes y uno o más paquetes. BUSES Básicamente existen tres tipos de paquetes, los cuales determinan cada una de las fases de una transacción: símbolos (token), datos (data) y reconocimiento (handshake). Fase de Token Fase de datos Fase de reconocimiento Una transacción 36

Paquetes de Símbolos de USB (Token packets) Los tokens son paquetes de 24 bits que determinan el tipo de transferencia que se llevará a cabo sobre el bus. BUSES USB token packets 37

Paquetes de datos de USB (Data packets) Hay dos tipos de paquetes de datos DATA0 y DATA1. La transmisión de los paquetes alterna entre los dos tipos. Cada uno puede transferir entre 0 y 1023 bytes. El CRC es de 16 bits. BUSES USB data packets 38

Paquetes de reconocimiento de USB (Handshake packets) Hay tres tipos de paquetes de reconocimiento. Una recepción exitosa es reconocida con un ACK (acknowledged). El receptor notifica al host de un transmisión fallida enviando un NAK (No acknowledged). Finalmente un STALL pausa una transferencia. BUSES USB Handshaking packets 39

Descriptor de datos Un descriptor es un paquete de datos usado para informarle al host las capacidades del dispositivo. BUSES Contiene un identificador del manufacturador, un identificador del producto, el tipo de clase y configuración interna del dispositivo. Cada manufacturador y producto tiene IDs únicos. 40

Interfaz Física de USB Pin Señal Propósito Color de cable 1 VBUS Alimentación 5V Rojo 2 D+ Línea diferencial Verde 3 D- Línea diferencial Blanco 4 GND Referencia Negro BUSES Conectores y receptáculos Cable USB y receptáculos en un hub Tipo A Tipo B 41

Controller Area Network (CAN) Está diseñado para operar en ambientes ruidosos. REDES Ésta red tiene una alta inmunidad al ruido y además posee detección de error con retransmisión de los paquetes fallidos. La velocidad de transmisión es de 1Mbps sobre una pareja de cables TX/RX. 42

Red CAN Señales REDES Pin Señal 1 Reservado 2 CAN_L 3 Tierra 4 Reservado 5 Reservado 6 Tierra 7 CAN_H 8 Reservado 9 V+ 43

Ethernet Es la interfaz de red más empleada. REDES Al incorporar Ethernet a un sistema empotrado las posibilidades de comunicación se amplían y permite enviar datos al sistema a alta velocidad, así también se puede acceder a impresoras, servidores, otros sistemas empotrados y por supuesto al internet. Las tasas de transferencia disponibles son 10Mbps, 100Mbps y 1000Mbps. 44

Algoritmo de Ethernet Inicio Formato del paquete de Ethernet REDES Espere? Incremente Preámbulo Marco de inicio Transmite Espere Tamaño Datos Colisión? Aborte Relleno No Hecho? CRC Fin 45

Señales de Ethernet REDES Pin Señal Propósito Color del Cable 1 TD- Transmisión Blanco/Anaranjado 2 TD+ Transmisión Anaranjado 3 RD+ Recepción Blanco/Verde 4 NC Sin conexión Azul 5 NC Sin conexión Blanco/Azul 6 RD- Recepción Verde 7 NC Sin conexión Blanco/Café 8 NC Sin conexión Café 46

Concepto de periférico Son los dispositivos auxiliares e independientes conectados a la CPU de una de un sistema y no están conectados al núcleo fundamental de una computadora (CPU + memoria). PERIFÉRICOS En general los periféricos comunican al CPU con el mundo exterior y con dispositivos de almacenamiento. En general el CPU, la memoria y los periféricos se comunican por medio de los siguientes buses: Bus de direcciones. Bus de control. Bus de datos. 47

Controladores de dispositivos Los controladores de dispositivos se refieren a dos cosas: Desde el punto de vista de software, son las rutinas que manejan a nivel del kernel los dispositivos del hardware y le permiten a las aplicaciones hacer uso del hardware (device drivers). PERIFÉRICOS Desde el punto de vista del hardware, son chips que actúan como interfaz entre el fenómeno físico que rige el comportamiento del periférico y el sistema digital como tal (CPU). Fenómeno físico Controlador CPU (Sistema) 48

Tipos de periféricos Periféricos de entrada: captan y envían los datos al dispositivo que los procesará. Periféricos de salida: son dispositivos que muestran o proyectan información hacia el exterior del sistema. Periféricos de entrada/salida (E/S) Periféricos de almacenamiento: son los dispositivos que almacenan datos e información por bastante tiempo. La memoria RAM no puede ser considerada un periférico de almacenamiento, ya que su memoria es volátil y temporal. Periféricos de comunicación: son los periféricos que se encargan de comunicarse con otros sistemas, ya sea para trabajar en conjunto, o para enviar y recibir información. Periféricos del sistemas: son usualmente periféricos que tiene que ver con funciones de administración del sistema, como relojes de tiempo real, watch dog timers, temporizadores, circuitos de manejo de potencia, etc. PERIFÉRICOS 49

Dispositivos de entrada Teclados. Sensores. PERIFÉRICOS Mouse. Micrófonos (CODECs de audio). Convertidores A/D. 50

Dispositivos de salida Pantallas (Ej. LCD). LEDs. PERIFÉRICOS Parlantes / Bocinas (CODECs de audio). Impresoras. Convertidores D/A. 51

Pantallas Una pantalla puede ser manejada directamente o bien mediante un frame buffer. Típicamente, simples son manejados directamente por lógica digital, mientras que las pantallas más grandes son manejadas por frame buffers en RAM. PERIFÉRICOS 52

Dispositivos de Entrada/Salida Pantallas táctiles. Sistemas de audio full-duplex micrófono y parlantes. PERIFÉRICOS 53

Pantallas táctiles Una pantalla táctil es un dispositivo de entrada y salida. La pantalla táctil registra la posición del toque sobre su superficie. Existen dos tipos: las pantallas táctiles resistivas y las capacitivas. PERIFÉRICOS 54

Pantalla resistiva Una pantalla táctil resistiva esta formada por varias capas. Las más importantes son dos finas capas de material conductor entre las cuales hay una pequeña separación. Cuando algún objeto toca la superficie de la capa exterior, las dos capas conductoras entran en contacto en un punto concreto. De esta forma se produce un cambio en la corriente eléctrica que permite a un controlador calcular la posición del punto en el que se ha tocado la pantalla midiendo el voltaje. PERIFÉRICOS 55

Pantalla capacitiva Esta cubierta con un material, habitualmente óxido de indio y estaño que conduce una corriente eléctrica continua a través del sensor. El cuerpo humano también se puede considerar un dispositivo eléctrico en cuyo interior hay electrones, por lo que también dispone de capacitancia. Cuando el ser humano toca la pantalla distorsiona la capacitancia lo cual se mide mediante la distorsión en la corriente. PERIFÉRICOS 56

Dispositivos de almacenamiento Discos duros. Memorias flash. PERIFÉRICOS Memorias flexibles (Ej. SD). 57

Secure Digital - SD Es un formato de tarjeta de memoria flash. Se utiliza en dispositivos portátiles tales como cámaras fotográficas digitales, PDAs, teléfonos móviles e incluso videoconsolas (Wii), entre otros. PERIFÉRICOS Los dispositivos con ranuras SD pueden utilizar tarjetas MMC, que son más finas, pero las tarjetas SD no caben en las ranuras MMC. 58

SDIO Las ranuras SD pueden ser utilizadas para más cosas que una tarjeta de memoria flash. Los dispositivos que soportan SDIO (típicamente PDA, pero cada vez más ordenadores portátiles y teléfonos móviles) pueden usar pequeños dispositivos diseñados para las dimensiones SD, como receptores GPS, Wi-Fi o adaptadores Bluetooth, modems, lectores de códigos de barras, adaptadores IrDA, sintonizadores de radio FM, cámaras digitales acoplables, etc. PERIFÉRICOS 59

Dispositivos de comunicación Modem. Red (Ethernet). PERIFÉRICOS Wireless. Hubs. 60

OMAP4 PERIFÉRICOS 61

3. INTERFAZ DE COMPONENTES

Memorias Si se puede conseguir la memoria del tamaño exacto que se necesita la estructura es simple. Las dificultades comienzan cuando se emplean múltiples chips de memoria. Esto implica diseñar un bus de direcciones y de datos apropiado. CPU INTERFAZ DE COMPONENTES Memoria Memoria Control CS / RW Direcciones Datos 63

Periféricos Los periféricos usualmente tiene un controlador con un conjuntos de registros unos dedicados a control y otros al manejo de datos, el objetivo de interfazar dispositivos a los sistemas digitales es permitirle al CPU leer y escribir esos registros. Existen fundamentalmente dos formas de interfazar un periférico a un sistema: INTERFAZ DE COMPONENTES 1. Mediante el uso de buses (I2C, SPI, etc) unos dedicados al control y otros a los datos. 2. Mapeando los dispositivos en memoria así se escriben y leen los registros como si se tratara de posiciones de memoria RAM. 64

Interfaz de un periférico mediante buses Cuando se interfaza un periférico a un sistema mediante buses usualmente se emplean dos: un bus para control del dispositivo y otro para transmisión de datos masivos. El CPU se conecta mediante un bus a los controladores de los buses de control y datos, los controladores de los buses se conectan a su vez a los periféricos. Usualmente los buses de control empleados son SPI, I2C, entre otros, y los buses de datos son buses especializados, ya sean serie o paralelo. CPU Controlador de bus de control (SPI, I2C, etc) Periférico INTERFAZ DE COMPONENTES Controlador de bus de datos 65

Interfaz de un periférico mapeándolo en memoria Un alternativa para interfazar periféricos es mapeándolos en memoria, así el CPU puede leer y escribir los registros como si estuviera tratando con la memoria RAM, lo cual es más eficiente. Éste es el enfoque empleado en los SoC para interfazar los periféricos que están integrados en el propio SoC con el CPU. CPU Mapa de memoria INTERFAZ DE COMPONENTES Memoria RAM Reg val Reg id R/W Periférico Reg1 Reg2 Reg3 Periféricos Control CS / RW Direcciones Datos 66

4. COMPROMISOS ENTRE HARDWARE Y SOFTWARE

Las decisiones iniciales en software y hardware influyen hasta las etapas de producción. En general el proceso de diseño de un sistema empotrado inicia con el hardware (procesador). Una vez diseñado el hardware se inicia la implementación del software. La elección del microprocesador es el punto de partida para el diseño de un sistema empotrado, ya que determina las herramientas de hardware y software que emplearan, la experiencia necesaria del equipo de trabajo que desarrollará el sistema y el soporte de software necesario como base del sistema (bootloader, kernel). COMPROMISOS ENTRE HARDWARE Y SOFTWARE 68

Ahorrar hardware para disminuir costos puede aumentar demasiado el tiempo de programación. Sin embargo, emplear demasiado hardware incrementa el costo de producción. Los diseñadores en general poseen mayor expertise en una de las dos áreas, sea en software o hardware. La eficiencia de la implementación mejora cuanto más temprano se inicia el diseño del software. El tamaño y el tipo de memoria (NAND, NOR) influyen en el desarrollo del software. COMPROMISOS ENTRE HARDWARE Y SOFTWARE 69

Anderson, Don. USB Architecture.1997 Catsoulis, J. Designing Embedded Hardware. O Reilly. 2005. Wolf, W. Computers as components: Principles of embedded computing design. Morgan Kaufmann. 2007. Wolf, W. High-Performance Embedded Computing. Morgan Kaufmann. 2007. BIBLIOGRAFÍA 70