12
Clase 03: E/S digital, controladores de memoria y DMA 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 03: E/S digital, controladores de memoria y DMA 2019 1 / 46 La clase anterior Prof: Lic. Jos´ e H. Moyano (Departamento de Ciencias e Ingenier´ Clase 03: E/S digital, controladores de memoria y DMA 2019 2 / 46 Repaso Un Sistema Embebido se compone de al menos un CPU, memoria y buses que interconectan dispositivos perif´ ericos (algunos “internos” y otros que implementan interfaces de E/S). Prof: Lic. Jos´ e H. Moyano (Departamento de Ciencias e Ingenier´ Clase 03: E/S digital, controladores de memoria y DMA 2019 2 / 46 Repaso ¿C´ omo realiza E/S el CPU? I Direcciones de E/S asociadas a dispositivos I ıneas de interrupci´ on (IRQs) e ISRs Mapeados a las direcciones, el sistema cuenta con dispositivos perif´ ericos: I Puertos (GPIO) como interfaz a dispositivos simples. I Dispositivos integrados al microcontrolador (por ej. timers, etc). I Dispositivos que implementan interfaces externas (est´ andar o para facilitar la interacci´ on con otros dispositivos) Prof: Lic. Jos´ e H. Moyano (Departamento de Ciencias e Ingenier´ Clase 03: E/S digital, controladores de memoria y DMA 2019 3 / 46

Clase 03: E/S digital, controladores de memoria y DMA ... · Problemas de una senal~ digital: Ruido El ruido son picos y ca das que estropean los datos Prof: Lic. Jos e H. Moyano

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Clase 03: E/S digital, controladores de memoria y DMA ... · Problemas de una senal~ digital: Ruido El ruido son picos y ca das que estropean los datos Prof: Lic. Jos e H. Moyano

Clase 03: E/S digital, controladores de memoria y DMASistemas 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 03: E/S digital, controladores de memoria y DMA 2019 1 / 46

La clase anterior

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 2 / 46

Repaso

Un Sistema Embebido se compone de al menos un CPU, memoria y buses queinterconectan dispositivos perifericos (algunos “internos” y otros que implementaninterfaces de E/S).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 2 / 46

Repaso

¿Como realiza E/S el CPU?I Direcciones de E/S asociadas a dispositivosI Lıneas de interrupcion (IRQs) e ISRs

Mapeados a las direcciones, el sistema cuenta con dispositivos perifericos:I Puertos (GPIO) como interfaz a dispositivos simples.I Dispositivos integrados al microcontrolador (por ej. timers, etc).I Dispositivos que implementan interfaces externas (estandar o para facilitar la

interaccion con otros dispositivos)

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 3 / 46

Page 2: Clase 03: E/S digital, controladores de memoria y DMA ... · Problemas de una senal~ digital: Ruido El ruido son picos y ca das que estropean los datos Prof: Lic. Jos e H. Moyano

Puertos externos de E/S

Los puertos externos permiten adquirir y controlar senalesLas senales pueden ser

Digitales: Se controlan de manera directa y pueden incluir circuitos de proteccion.

Analogicas: Requieren conversion D/A o A/D.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 4 / 46

Entradas y senales digitales

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 5 / 46

Definicion de los valores logicos

Las senales digitalesdefinen dos valores logicosEn el ejemplo, para unaE/S de 5v, se consideraentre 2 y 5 nivel alto (1logico), y entre 0 y 0.8 unnivel bajo (0 logico).Entre 0.8 y 2 el nivellogico es consideradoindefinido.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 6 / 46

Problemas de una senal digital: Picos

Los picos pueden generar tanto mediciones incorrectas, como danos en el equipo

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 7 / 46

Page 3: Clase 03: E/S digital, controladores de memoria y DMA ... · Problemas de una senal~ digital: Ruido El ruido son picos y ca das que estropean los datos Prof: Lic. Jos e H. Moyano

Problemas de una senal digital: Ruido

El ruido son picos y caıdas que estropean los datos

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 8 / 46

Problemas de una senal digital: Flancos lentos

Asemejan una funcion seno

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 9 / 46

Problemas de una senal digital: Desplazamiento de tension

Offset de la senal genera mediciones incorrectas

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 10 / 46

Acondicionamiento de la senal digital

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 11 / 46

Page 4: Clase 03: E/S digital, controladores de memoria y DMA ... · Problemas de una senal~ digital: Ruido El ruido son picos y ca das que estropean los datos Prof: Lic. Jos e H. Moyano

Acondicionamiento de la senal digital

Las senales pueden acondicionarse incorporando circuitos adicionales, brindandomecanismos de proteccion.En la opcion A de la figura, se utiliza la proteccion tradicional incorporando diodos paraproteger cortocircuito e inversion de polaridad.En la opcion B, se utiliza un Schmitt trigger que filtra ruido de una senal digital.En la opcion C, el circuito esta aislado por un opto aislador, con un led que controla unfototransistor que permite o no el paso de corriente.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 11 / 46

Ejemplo: E/S digital ATMega328P

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 12 / 46

Interfaces con dispositivos digitales simples

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 13 / 46

Pulsadores

Conexion simple de pulsadores y llaves:I SPDT: Single-pole, double-throwI SPST: Single-pole, single-throw

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 14 / 46

Page 5: Clase 03: E/S digital, controladores de memoria y DMA ... · Problemas de una senal~ digital: Ruido El ruido son picos y ca das que estropean los datos Prof: Lic. Jos e H. Moyano

PulsadoresEliminando el rebotede teclado(debouncing)

Polling

Interrupcionesp/generar undelay (timer)

Filtros pasivos enhardware ybuffers Schmitttrigger.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 15 / 46

Keypads

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 16 / 46

Keypads

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 17 / 46

Keypads

Matriz y barrido de teclado – Limitaciones:I Tiempos de barrido (ej. Teclado musical, gaming, etc)I Una sola tecla por vez (ghosting)

En dichos contextos se debe destinar una mayor cantidad de recursos para nomultiplexar el uso de los mismos en el tiempo.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 18 / 46

Page 6: Clase 03: E/S digital, controladores de memoria y DMA ... · Problemas de una senal~ digital: Ruido El ruido son picos y ca das que estropean los datos Prof: Lic. Jos e H. Moyano

DC switching

Llaves controladaspor software.

Permiten controlarcargas diversas, perorequieren circuiterıaadicional.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 19 / 46

LEDsSi el microcontrolador es capaz de proveer la corriente necesaria, el manejo de LEDspuede realizarse directamente para pequenas cargas:

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 20 / 46

LED arrays

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 21 / 46

LED arrays

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 22 / 46

Page 7: Clase 03: E/S digital, controladores de memoria y DMA ... · Problemas de una senal~ digital: Ruido El ruido son picos y ca das que estropean los datos Prof: Lic. Jos e H. Moyano

LED arrays

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 23 / 46

LED arrays

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 24 / 46

LED arrays

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 25 / 46

LED arrays

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 26 / 46

Page 8: Clase 03: E/S digital, controladores de memoria y DMA ... · Problemas de una senal~ digital: Ruido El ruido son picos y ca das que estropean los datos Prof: Lic. Jos e H. Moyano

Displays de cristal lıquido (LCD)Controlar LCDs de manera directa no es sencillo.Los LCDs traen un microcontrolador incorporado que provee una interfaz massencilla para integrarla en un sistema.Por ej: HD44780.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 27 / 46

Displays de cristal lıquido (LCD)

Lıneas de control:

RS: Instr vs escriturade char.

R/W:Lectura/escritura

E: Enable (clocksync.)

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 28 / 46

Displays de cristal lıquido (LCD)Ejemplo: Arduino LCD Keypad Shield

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 29 / 46

Displays

El manejo de displays en general no difiere mucho de lo presentado anteriormente:I CRT displaysI LCD displaysI OLED displaysI etc.

En general este tipo de dispositivos complejos suelen implementar la logica decontrol (controlador de video) y se suele incluir sus drivers mediante librerıas.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 30 / 46

Page 9: Clase 03: E/S digital, controladores de memoria y DMA ... · Problemas de una senal~ digital: Ruido El ruido son picos y ca das que estropean los datos Prof: Lic. Jos e H. Moyano

DisplaysEs posible construir un controlador VGA con dispositivos simples como un Arduino.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 31 / 46

Controladores de memoria

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 32 / 46

Controladores de memoria

Toda memoria que no sea ROM ni SRAM (las que pueden controlarse directamentepor el CPU), requiere de un controlador que se encargue de:

I Coordinar los accesos del CPU y los refrescos de la informacion almacenada (enmemorias DRAM).

I Coordinar el temporizado de lecturas y escrituras, mapeo de direcciones a bloques(memorias EEPROM y Flash), Wear leveling y Garbage Collection (memorias Flash)

Estos controladores son expuestos al sistema a traves de registros de datos ycontrol, y suelen tener asociados un conjunto de interrupciones destinadas anotificar de los eventos ocurridos.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 33 / 46

Controladores de memoria

Circuito separado (ej Northbridge)I La alternativa tradicional

Integrada en el CPUI Integrated Memory Controller (IMC)I Menor latencia en los accesos, menor flexibilidadI Ej: Intel Core i5, i7, AMD Athlon, AMD Opteron, etc.

Multiples controladores en paralelo para ampliar el ancho de los busesI Ej: 4 controladores de 64 bits = 256 bits (ej. Placas de video y GDDR SDRAM)

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 34 / 46

Page 10: Clase 03: E/S digital, controladores de memoria y DMA ... · Problemas de una senal~ digital: Ruido El ruido son picos y ca das que estropean los datos Prof: Lic. Jos e H. Moyano

Controladores de memoriaEscribiendo en una memoria EEPROM/flash

El controlador expone registros para las operaciones.

La escritura requiere un temporizado adecuado. Se escriben varias palabras a la vez.

Existen mecanismos de proteccion de bloques de memoria (tanto para escriturasinternas, como para el acceso desde el exterior vıa programadores y debuggers –proteccion de propiedad intelectual).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 35 / 46

Controladores de memoria

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 36 / 46

Controladores de memoria

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 37 / 46

Gestion y proteccion de memoriaMemory Management Unit (MMU)

Traducir direcciones virtuales a fısicas (Page/Seg Tables/TLB)

Proteccion de memoria, control de cache, arbitraje de bus, bank switching (enarquitecturas simples).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 38 / 46

Page 11: Clase 03: E/S digital, controladores de memoria y DMA ... · Problemas de una senal~ digital: Ruido El ruido son picos y ca das que estropean los datos Prof: Lic. Jos e H. Moyano

Gestion y proteccion de memoriaMemory Management Unit (MMU)

Traducir direcciones virtuales a fısicas (Page/Seg Tables/TLB)

Proteccion de memoria, control de cache, arbitraje de bus, bank switching (enarquitecturas simples).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 39 / 46

Gestion y proteccion de memoriaMemory Management Unit (MMU)

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 40 / 46

Gestion y proteccion de memoriaMemory Protection Unit (MPU)

Mapeo de direcciones virtual-fısico 1 a 1 (hardware mas simple)

Proteccion de accesos (multiples tareas)

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 41 / 46

Direct Memory Access (DMA)

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 42 / 46

Page 12: Clase 03: E/S digital, controladores de memoria y DMA ... · Problemas de una senal~ digital: Ruido El ruido son picos y ca das que estropean los datos Prof: Lic. Jos e H. Moyano

Direct Memory Access (DMA)

Alternativa al modo de I/O programadas.I Liberar al CPU de la tarea de coordinar las transferencias entre los dispositivos y la

memoria del sistema.I No se requiere programar software para que gestione las transferencias.I El CPU puede realizar otras tareas mientras ocurren las transferencias (mayor

performance).I El controlador de DMA compite con el CPU por el Bus.

Presente en arquitecturas embebidas con ciertas prestaciones y enmicrocontroladores c/DSP.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 43 / 46

Direct Memory Access (DMA)Esquema 1: El dispositivo espera el DMAACK para actuar sobre el bus.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 44 / 46

Direct Memory Access (DMA)Esquema 2: El controlador de DMA copia el dato del dispositivo a un buffer para luegotransferirlo a memoria (menos hardware en el dispositivo).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 45 / 46

Referencias

Atmel AVR ATmega328P Datasheet.

Simon, D. An Embedded Software Primer. Addison-Wesley Professional. 1999.ISBN: 978–0201615692. Capıtulo 3.

Wilmshurst, T. Designing Embedded Systems with PIC Microcontrollers: Principlesand Applications. Newnes. 2006. ISBN: 978–0750667555. Capıtulos 2, 3, 6, 7, 8, 9y 13.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 03: E/S digital, controladores de memoria y DMA 2019 46 / 46