gestión de dispositivos de entrada/salida analógica ... · gestión de dispositivos de...

Post on 14-Jun-2020

9 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Gestión de dispositivos deentrada/salida analógica, digital y

por el bus serie I2CDaniel Sangorrın Lopez

daniel.sangorrin@gmail.com

Director: Michael Gonzalez HarbourUniversidad de Cantabria

Tabla de contenidos

Daniel Sangorrın Lopez 27/2/2006 1/25

1. Motivación y objetivos del Proyecto2. Proyecto: arranque de MaRTE OS3. Proyecto: entrada/salida analógica y digital4. Proyecto: gestión bus serie I2C5. Conclusiones y trabajo futuro

Contexto del proyecto

Daniel Sangorrın Lopez 27/2/2006 2/25

Objetivo general: sistemas empotrados deautomatización industrial y otrosObjetivo particular: torneo RoboCup

Primer prototipo:1. PC2. Etapa de potencia3. Motores + Encoders4. Chasis5. Baterías

MaRTE OS

Daniel Sangorrın Lopez 27/2/2006 3/25

Necesitamos un Sistema Operativo que ...Nos abstraiga del uso del hardwareNos facilite interactuar con un entorno cambiantecumpliendo criterios de:

PlanificabilidadRespuesta de peor casoEstabilidad

Ligero, eficiente, sin disco duro ni terminal

MaRTE OS cumple los requisitos y es Libre

MaRTE OS

Daniel Sangorrın Lopez 27/2/2006 4/25

$ mgnatmake aplicacion_ada.adb$ mgcc aplicacion_c.c$ mkkernel

Drivers en MaRTE OS

Daniel Sangorrın Lopez 27/2/2006 5/25

Un Driver es un software intermedio entre undispositivo y su usuarioOfrece una interfaz estándar basada en ficheros:

create open read write close ioctlfd = open ("/dev/demo_c", O_RDWR);count = write(fd, "hola", 5);

Oculta las complejidades y registros internos decada dispositivo hardware

Inb_P Outb_PE/S mapeada en memoria

Motivación del Proyecto

Daniel Sangorrın Lopez 27/2/2006 6/25

Necesidad de una nueva forma de arranqueadecuada al RobotProblemas del primer prototipo:

CPU sobrecargadaLas ruedas resbalan

Capacidad de expansión limitada

Objetivos del Proyecto

Daniel Sangorrın Lopez 27/2/2006 7/25

Arranque de MaRTE OS:Fase desarrollo: Ethernet PXEFase final: CompactFlashTM

Driver para la tarjeta PCM-3718-H:Entrada analógicaEntrada/salida digital

Subsistema software para la gestión dedispositivos I2C

Driver brújula magnética con interfaz I2C

Tabla de contenidos

Daniel Sangorrın Lopez 27/2/2006 8/25

1. Motivación y objetivos del Proyecto2. Proyecto: arranque de MaRTE OS3. Proyecto: entrada/salida analógica y digital4. Proyecto: gestión bus serie I2C5. Conclusiones y trabajo futuro

Arranque en Fase Desarrollo

Daniel Sangorrın Lopez 27/2/2006 9/25

Ethernet: usaremos el protocolo PXE, integradoen la placa, junto al cargador ETHERBOOT

Necesitamos configurar:Servidor DHCP (Ej: /etc/dhcpd.conf)Servidor TFTP (Ej: /etc/xinetd.d/tftp)Servidor NFS (Ej: /etc/exports)

Emuladores: QEMU, BOCHS, VmWare

Arranque en Fase Final

Daniel Sangorrın Lopez 27/2/2006 10/25

Utilizaremos una tarjeta CompactFlashTM

Muy ligeraSoportada por la placaApenas consume energía

Necesitamos instalar y configurar el cargadorGNU/GRUB para que arranque con nuestraaplicación

Tabla de contenidos

Daniel Sangorrın Lopez 27/2/2006 11/25

1. Motivación y objetivos del Proyecto2. Proyecto: arranque de MaRTE OS3. Proyecto: entrada/salida analógica y digital4. Proyecto: gestión bus serie I2C5. Conclusiones y trabajo futuro

La tarjeta PCM-3718-H

Daniel Sangorrın Lopez 27/2/2006 12/25

Entrada/Salida DigitalDos canales digitales de 8 bits.Compatibles TTL

Entrada Analógica16 entradas simples u 8 diferencialesConversor A/D 12 bits hasta 100 kHz (DMA)Rangos de entrada programablesTrigger Software, Pacer o ExternoSondeo, Interrupciones o DMASe configura mediante jumpers

Arquitectura tarjeta A/D

Daniel Sangorrın Lopez 27/2/2006 13/25

Entrada Analógica

Daniel Sangorrın Lopez 27/2/2006 14/25

Se distinguen cinco modos de funcionamientoSoftware+Fixed: captura N muestrasPacer+Fixed: captura N muestras al ritmo delgenerador de pulsos (Pacer)Pacer+Scan: captura continua de muestras alritmo del PacerExternal+Fixed: captura N muestras al ritmode una señal externaExternal+Scan: captura continua de muestrasal ritmo de una señal externa

Entrada Analógica

Daniel Sangorrın Lopez 27/2/2006 15/25

readScan: lee muestras del BufferFixed: captura y devuelve N muestras

ioctlSet_Range_Of_Channel: rangos de entradaSet_ParametersTrigger + ModeStart_Ch, Stop_ChCountScan_Rate

Get_Status: muestras en el BufferFlush: vacía el Buffer

Tabla de contenidos

Daniel Sangorrın Lopez 27/2/2006 16/25

1. Motivación y objetivos del Proyecto2. Proyecto: arranque de MaRTE OS3. Proyecto: entrada/salida analógica y digital4. Proyecto: gestión bus serie I2C5. Conclusiones y trabajo futuro

El bus serie I2C

Daniel Sangorrın Lopez 27/2/2006 17/25

El bus serie I2C está formado por tres cables

SDA: datosSCL: relojGND: masa

Son bidireccionalesDrenador/Colector abierto (AND cableada)

El protocolo I2C

Daniel Sangorrın Lopez 27/2/2006 18/25

Subsistema gestor del bus I2C

Daniel Sangorrın Lopez 27/2/2006 19/25

Arquitectura del subsistema I2C

Daniel Sangorrın Lopez 27/2/2006 20/25

Brújula Magnética

Daniel Sangorrın Lopez 27/2/2006 21/25

ioctl:Start_Conversion: iniciar una capturaBearing_Mode_Byte: 8 bits (0 .. 255)Bearing_Mode_Word: 16 bits (0.0 .. 359.9)

Get_Status: chequear estado de operaciónread: leer el valor capturado

Arquitectura Brújula

Daniel Sangorrın Lopez 27/2/2006 22/25

Tabla de contenidos

Daniel Sangorrın Lopez 27/2/2006 23/25

1. Motivación y objetivos del Proyecto2. Proyecto: arranque de MaRTE OS3. Proyecto: entrada/salida analógica y digital4. Proyecto: gestión bus serie I2C5. Conclusiones y trabajo futuro

Conclusiones y futuro

Daniel Sangorrın Lopez 27/2/2006 24/25

Objetivos cumplidosArranque de MaRTE OSDriver para la tarjeta PCM-3718-HSubsistema gestor de dispositivos I2C

Driver brújula magnética con interfaz I2C43 archivos, 3085 líneas de códigoTrabajo futuro:1. Periféricos con interfaz I2C2. Adaptadores I2C3. Utilizar la brújula

Daniel Sangorrın Lopez 27/2/2006 25/25

Gracias por su atención

top related