Informática Industrial (II)



Documentos relacionados
T3-Rondas V 1.1. Help-Pc, S.L. C/ Pintor Pau Roig, 39 L Premià de Mar Barcelona Tel. (93) Fax marketing@t2app.

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Control Digital en PC con MS-DOS

Servicio de Informática

5.2.- Configuración de un Servidor DHCP en Windows 2003 Server

Cuestionario: Programación en C y máscaras (II)

Manual instalación Windows 8. Instalar Windows 8 paso a paso

Gestió n de Certificadó Digital

PROCEDIMIENTOS DE TÍTULOS. Para solicitar los títulos al finalizar determinadas enseñanzas es preciso seguir un proceso en la aplicación Plumier XXI.

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa Configuración Internet Explorer para ActiveX...

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

Virtual PC de Windows (Win7) (Windows XP Mode)

Instalación de ForMag en Windows Vista y en Windows 7

Guía de acceso a Meff por Terminal Server

CERTIFICADOS ELECTRÓNICOS Y LECTORES DE TARJETAS LTC31 USB CERTIFICADOS ELECTRÓNICOS Y LECTORES DE TARJETAS LTC31 USB

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Apéndice A Instalación de Visual Studio.NET

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

REQUISITOS PARA LA FIRMA DIGITAL

Compartir Biblio en una red local con Windows XP

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

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Escudo Movistar Guía Rápida de Instalación Para Windows

Actividad 4: Comunicación entre PLC s vía Ethernet

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Gestión de Retales WhitePaper Noviembre de 2009

Configuración de Internet Explorer para su uso con controles Activex

Requisitos mínimos para el correcto funcionamiento del Portal del Empleado

En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas.

Guía de uso del Cloud Datacenter de acens

Escritorio remoto y VPN. Cómo conectarse desde Windows 7

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación. Guía de usuario del servicio de Aula Virtual

Cobian Backup. Inguralde [Enero 2011]

Redirección de puertos

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL INSTALACIÓN ABOGADOS MF

UNIDAD DIDACTICA 4 INTEGRACIÓN DE CLIENTES WINDOWS EN UN DOMINIO

Servicio de Acceso Remoto

INSTALACION DEL Terminal Services. Instalamos el Terminal Services. Siguiente. Nos saldrá una advertencia, seleccionamos instalar.

Anexo B. Comunicaciones entre mc y PC

file:///d:/users/coord%20tic/mis%20documentos/mis%20sitios%20web/web%20ntic.orgfree.com/man...

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Memoria compartida y semáforos r/w. La página del manual que podría servir para describir estas funciones es la siguiente:

Para descargar la versión más reciente de Skype accedemos al sitio web de Skype y luego hacemos clic en Descargar Skype para escritorio de Windows.

Ingresa Aquí y sé un experto en equipos Mikrotik

Sistema operativo Discos duros Usuarios

SBConta.NET Manual de instalación. SBSS Consulting, S.A Barcelona Telf , fax web

Uso básico desde la propia página del sitio

WINDOWS : TERMINAL SERVER

Instalar PhotoGestión en un Mac con VirtualBox

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

VideoSoftPHONE Active Contact

Máquina Virtual, instrucciones de instalación

Citrix Access Essentials 2.0

Capítulo 0. Introducción.

Práctica 4: Toma de medidas mediante tarjeta de adquisición de datos.

CÓMO CREAR NUESTRO CATÁLOGO

CÓMO CONFIGURAR DHCP EN SUSE LINUX

Instalación de DRIVER de mochila

IS23 Mantenimiento de Instalaciones Informáticas Práctica 6. Acceso remoto a ordenadores tipo PC

1. Copias de seguridad.

Redes de Área Local: Configuración de una VPN en Windows XP

TRANSMISION DIGITAL. PCM, Modulación por Codificación de Pulsos

PROGRAMACIÓN EN C. PRÁCTICA 2: Operaciones con bits. Práctica 2: Índice. 2.1 Introducción 2.2 Representación de información binaria en C

Temporizadores y contadores en tiempo real: El módulo Timer0 y el prescaler del PIC

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

Manual de Uso Simuladores Gmetrix

CONFIGURACIÓN TERMINAL SERVER EN WINDOWS 2003

Máquina Virtual, instrucciones de instalación

MINI MANUAL PARA CREAR FORMULARIOS CON PHP Marzo 2007

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Teclado sobre una PDA para Personas con Parálisis Cerebral

ORGANIZAR LA INFORMACIÓN: EL EXPLORADOR DE WINDOWS

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

INSTITUTO TECNOLÓGICO DE COLIMA LIC. EN INFORMÁTICA

PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador.

1.- DESCRIPCIÓN Y UTILIDAD DEL SOFTWARE DAEMON TOOLS.

PS.Vending Almacén Pocket PC

10. El entorno de publicación web (Publiweb)

Implantar Microsoft Software Updates Service (SUS)

Instalación de Visual Studio Metodología de la Programación I Universidad de Granada

Configuración de Firma Electrónica en Internet Explorer

Documentación del Terminal

En la Parte III de este documento se explicará cómo instalar Vmware Player que es una solución diferente a Microsoft.

Aplicateca. Manual de Usuario: Ilion Factura Electrónica. Espíritu de Servicio

Redes de área local: Aplicaciones y servicios WINDOWS

Software Criptográfico FNMT-RCM

La central reproduce un sonido largo si los datos de configuración son almacenados de forma correcta, y dos sonidos cortos si hay un error.

OBTENCIÓN Y RENOVACIÓN (*) DEL CERTIFICADO ELECTRÓNICO DE EMPLEADO PÚBLICO DE LA FÁBRICA NACIONAL DE MONEDA Y TIMBRE (FNMT)

MANUAL DE AYUDA INSTALACIÓN VERSIÓN DEMO

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

. ConSix Gestión. Abogados. Versiones Home / Advance. Manual de Instalación. Copyright

Skype. Inguralde [Enero 2011]

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Instalación de Sistema Operativo Mac OsX Lion en VirtualBox.

INSTALACIÓN DEL SPSS 15.0 DESDE UN SERVIDOR

- 1 - ÍNDICE. PASO 3: Primero le hará falta elegir su lengua en esta pantalla:

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 3: sistemas operativos

Comerciales. Comisiones en Documentos de Venta WhitePaper Enero de 2008

Transcripción:

Informática Industrial (II) 3º Ingeniería Técnica Industrial (Especialidad en Electrónica). E. U. Politécnica. Universidad de Sevilla. 3-mayo Práctica STR2: Entorno de desarrollo para un SOTR (Sistema Operativo de Tiempo Real). Autor: Claudio Amaya Rodríguez. Esta práctica introduce las características del Embedded Visual C++ (EVC++ 4.0), el entorno de desarrollo que usaremos para el sistema operativo Windows CE.Net. Un segundo objetivo es mostrar cómo funcionan los mecanismos básicos para crear y controlar varios hilos de ejecución (threads) en un sistema multitarea. Qué se explicará en el laboratorio: Instalación y funcionamiento del software necesario para realizar aplicaciones con EVC++ 4.0: o El entorno de desarrollo. o Los SDKs (Software Development Kits). o Descarga y prueba de programas. Estructura básica de un programa de aplicación. Control de tiempos: la función Sleep. Threads y funciones de control de threads. Contenido: 1. Qué hay que hacer? Desarrollo de la práctica... 1 2. P.2: Cómo emitir un pitido por el altavoz del PC... 2 Cómo funciona el altavoz de un PC... 2 3. P.3: Cómo usar las funciones de tiempo de Windows CE.... 4 4. P.4: Cómo crear y usar hilos de ejecución (threads) en Windows CE.... 4 Apéndice A. Registros internos del timer 8254... 5 1. Qué hay que hacer? Desarrollo de la práctica. Para realizar la práctica hay que completar los siguientes pasos: P.1. Instalar y probar el software de EVC++. P.2. Realizar un programa que lea una frecuencia por teclado y emita un pitido por el altavoz del PC a esa frecuencia. La frecuencia de entrada puede tener un valor entre 100 y 20000 (Hz). Cualquier valor fuera de este rango hace que el altavoz del PC se apague. P.3. Modificar el programa anterior para que pida un segundo parámetro: el número de pitidos (entre 1 y 10). Una vez leído, dará el número de pitidos a la frecuencia indicada. Cada pitido durará ¼ de segundo. La separación entre dos pitidos consecutivos es de 1 segundo. P.4. Modificar el programa anterior para que pueda pedir los siguientes parámetros sin dejar de pitar. 1

2. P.1: Instalando Embedded Visual C++ 4.0. Qué software se necesita para usar Embedded Visual C++ 4.2? El software se debe instalar en el siguiente orden: embedded Visual C++ 4.0. Pasos para descargarlo (son 229.551 KB): o ir a http://www.microsoft.com/downloads o Introducir en el campo KeyWords la cadena embedded Visual C++ 4.0 y pulsar el boton Go. o Pulsar el enlace titulado embedded Visual C++ 4.0 El número de clave aparece al final de la página. Es TRT7H-KD36T-FRH8D- 6QH8P-VFJHQ. embedded Visual C++ 4.0 SP3 (Service Pack 3). Pasos para descargarlo (son 59.126 KB): o ir a http://www.microsoft.com/downloads o Introducir en el campo KeyWords la cadena embedded Visual C++ 4.0 SP3 y pulsar el boton Go. o Pulsar el enlace titulado embedded Visual C++ 4.0 SP3. Instalar al menos un Software Development Kit (SDK). El que vamos a usar en prácticas se puede descargar desde icaro.eii.us.es. o Otros SDKs populares se pueden descargar desde http://msdn.microsoft.com/mobility/downloads/sdks/default.aspx. Cómo comprobar que la instalación ha sido correcta? Para comprobar que se ha instalado correctamente el software debemos comprobar: Que funcionan las comunicaciones y la ejecución remota en una máquina target emulada. Que funciona la ejecución en una maquina target real (en el laboratorio:pendiente de la instalación del laboratorio). 3. P.2: Cómo emitir un pitido por el altavoz del PC. Los pasos para hacer el programa del punto P.2. son los siguientes: 1.- Pedir por consola la frecuencia, en hertzios, del pitido. 2.- Si se da un 0, apagar el altavoz. 3.- Si se da un número entre 100 y 20.000: 4.- Encender el altavoz con un pitido a la frecuencia dada. 5.- Volver al paso 1. Algunas funciones útiles: o printf Imprime texto por pantalla. o scanf Lee datos por consola. o OutPortB(unsigned int NroPuerto, unsigned char Dato) Escribe Dato en el puerto de E/S indicado en NroPuerto. o unsigned char InPortB(unsigned int NroPuerto) Lee el dato del puerto de E/S indicado en NroPuerto. Cómo funciona el altavoz de un PC El hardware del altavoz de un PC tiene el siguiente esquema: 2

Fig. 1. El altavoz puede recibir una señal cuadrada (secuencia de 0 s y 1 s) de dos fuentes diferentes. Estas fuentes se seleccionan mediante un multiplexor controlado por el bit 1 del puerto 0x61. Cuando se selecciona la fuente 0, la señal entregada al altavoz es el valor instantáneo del bit 0 del puerto 0x61. Variando con rapidez el valor de este bit podemos conseguir un tren de ondas cuadradas que excite al altavoz. Sin embargo este sistema requiere de mucha atención por parte de la CPU, así que usaremos la fuente 1. Al seleccionarla, la señal entregada al altavoz proviene de la salida del contador 2 del integrado 8254 del PC. Programando convenientemente este contador podemos generar un tren de pulsos cuadrados de la frecuencia que queramos, y de forma que no requiera de la CPU para la generación. El 8254 tiene una base de tiempos consistente en un reloj de exactamente 1193180 Hz. Cada uno de los contadores tiene un registro de 16 bits. Cuando se quiere usar un contador, se le da un valor escribiendo en ese registro. En cada tick de reloj del 8254 cada contador se decrementa en 1. Cuando llega a 0, se realiza una acción que depende de la configuración que tenga cada contador. Dicha acción puede ser la activación de una interrupción o el cambio de estado de una línea. En nuestro caso nos interesará que la salida del contador sea una onda cuadrada, con lo que usaremos el modo 3 de operación (ver apéndices). La frecuencia que se oirá en el altavoz será 1193180 / valor_inicial_contador. Para encender el altavoz habrá que poner a 1 los bits 0 y 1 del registro 0x61 que controla el multiplexor de la figura. En ese momento, el altavoz reproduce la señal cuadrada que hubiera en la salida 2 del contador. Por tanto, antes de activar el multiplexor deberemos poner un dato válido en dicho contador. Para apagar el altavoz, pondremos a 0 los bits 0 y 1 del puerto 0x61. NOTA: sólo debemos modificar los bits 0 y 1 del puerto 0x61. El resto de bits de este puerto no deben modificarse. Para reproducir, en el altavoz del PC, un pitido a una frecuencia dada, se tiene que seguir los siguientes pasos: Calcular ValorInicialContador a partir de la frecuencia requerida. Escribir en el puerto 0x61 de forma que seleccionemos la entrada 1 del multiplexor de la figura anterior. Escribir en el registro de control del timer (0x43) con la palabra de control del canal 2 (0xb6). El significado de esta palabra es el siguiente: 3

o Programamos el canal 2. o La cuenta inicial (16 bits) se hace en dos escrituras de 8 bits. Primero el byte menos significativo (LSB), después el más (MSB). o Modo 3: genera una onda cuadrada con un periodo igual al número de ciclos que se cargue en la cuenta inicial. o Cuenta binaria. Cargar la cuenta inicial en el registros de datos del canal 2 del timer (0x42). Primero se carga la parte baja del número de 16 bits, y después la parte alta. A partir de la segunda escritura, el timer comenzará a funcionar. Para apagar el altavoz: Escribir en el puerto 0x61 de forma que se pongan a 0 los dos primeros bits (bit 0 y 1). 4. P.3: Cómo usar las funciones de tiempo de Windows CE. Las modificaciones más importantes en el programa anterior, P.2, para conseguir el programa P.3 tienen que ver con cómo realizar tiempos de espera en Windows CE. Es necesario esperar intervalos de ¼ de segundo, y de ¾ de segundo. La forma más fácil de hacerlo es usando la función Sleep: void Sleep(DWORD dwmilliseconds ); Sleep suspende la ejecución del programa durante el número de milisegundos especificado en dwmilliseconds. 5. P.4: Cómo crear y usar hilos de ejecución (threads) en Windows CE. La forma más fácil de que podamos pitar al mismo tiempo que leemos de la consola es dividiendo la ejecución de nuestro programa en dos threads o hilos de ejecución. Cada thread se ejecuta simultáneamente en el computador, de forma que cada uno de ellos se encargará en exclusiva de realizar las operaciones que necesitamos: 1.- Leer de la consola. 2.- Pitar. Los pasos para hacer el programa del punto P.4. pueden ser los siguientes: Thread1.1.- Pedir por consola la frecuencia, en hertzios, del pitido, y el número de pitidos. Thread1.2.- Si se da un 0, le decimos a Thread2 que apague el altavoz. Thread1.3. - Si se da un número entre 100 y 20.000: Thread1.4.- Creamos el Thread2 y le pasamos la frecuencia a la que tiene que pitar y el número de pitidos. Thread1.5.- Volver al paso Thread1.1. Qué pasos tiene que dar el Thread2? Las funciones más importantes para crear y manejar un thread son: CreateThread o La función inicial del thread. TerminateThread. SuspendeThread. ResumeThread. Todos los threads de un mismo programa pueden compartir variables globales, pero no locales. 4

Apéndice A. Registros internos del timer 8254. 8253/8254 PIT - Programmable Interval Timer Port 40h, 8253 Counter 0 Time of Day Clock (normally mode 3) Port 41h, 8253 Counter 1 RAM Refresh Counter (normally mode 2) Port 42h, 8253 Counter 2 Cassette and Speaker Functions Port 43h, 8253 Mode Control Register, data format: 7 6 5 4 3 2 1 0 Mode Control Register +---- 0=16 binary counter, 1=4 decade BCD counter +-+-+----- counter mode bits +-+---------- read/write/latch format bits +-+------------- counter select bits (also 8254 read back command) 76 Counter Select 00 select counter 0 01 select counter 1 10 select counter 2 11 read back command (8254 only, illegal on 8253, see below) 54 Read/Write/Latch Format 00 latch present counter value 01 read/write of MSB only 10 read/write of LSB only 11 read/write LSB, followed by write of MSB 321 Counter Mode 5