Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Gestión de dispositivos deentrada/salida analógica, digital y
por el bus serie I2CDaniel Sangorrın Lopez
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