26
Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr´ ın L ´ opez [email protected] Director: Michael Gonz ´ alez Harbour Universidad de Cantabria

Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· [email protected]

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

por el bus serie I2CDaniel Sangorrın Lopez

[email protected]

Director: Michael Gonzalez HarbourUniversidad de Cantabria

Page 2: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Page 3: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Page 4: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Page 5: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

MaRTE OS

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

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

Page 6: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Page 7: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Page 8: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Page 9: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Page 10: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Page 11: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Page 12: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Page 13: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Page 14: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

Arquitectura tarjeta A/D

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

Page 15: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Page 16: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Page 17: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Page 18: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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)

Page 19: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

El protocolo I2C

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

Page 20: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

Subsistema gestor del bus I2C

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

Page 21: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

Arquitectura del subsistema I2C

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

Page 22: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Page 23: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

Arquitectura Brújula

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

Page 24: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Page 25: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Page 26: Gestión de dispositivos de entrada/salida analógica ... · Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorr· n Lopez· daniel.sangorrin@gmail.com

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

Gracias por su atención