Etc practica 2

Solo disponible en BuenasTareas
  • Páginas : 12 (2835 palabras )
  • Descarga(s) : 0
  • Publicado : 27 de febrero de 2011
Leer documento completo
Vista previa del texto
ETC II, Practica 2.

Objetivos:

- Construir el dispositivo de adquisición de datos. El dispositivo se maneja a través del puerto paralelo del PC, LPT1, IRQ7. La esquema principal esta proporcionada en el apartado del hardware.
Con fin de escribir el driver, el dispositivo de puede sustituir con NULL device, que consiste en un enchufe DB25 con un puente entre los señales ACK y RDY.La descripción del hardware esta en las paginas WEB correspondientes.

- Escribir el programa driver de manejo del dispositivo. El programa esta compuesta de dos partes -- una que sirve como interfaz del usuario y otra que sirve para el manejo de las interrupciones del dispositivo. El programa comunica con la aplicación del usuario utilizando INT 61h. Las funcionalidad es la misma como deldriver de la practica 1.

Recursos de hardware utilizados:

- LTP1 -- para conectar el dispositivo con el ordenador.
- RT clock del ordenador -- para pedir el ADC in intervalos determinados del usuario.

Recursos de software:

- INT 61h, programa residednte en la memoria.

El driver funciona en la manera siguiente:

1. La parte de instalación instala el driver. Las acciones quedebe de realizar esta parte se describen en este manual. Después de la instalación correcta del driver:
- El reloj genera interrupciones con frecuencia 1024 Hz y el PC recibe INT 70h con la misma frecuencia.
- Al inicializar una transformación analógico digital, si el dispositivo esta instalado correctamente el PC recibe INT 7 después de que ACK sube de nivel.
2. La parte que recibe lasinterrupciones del reloj cuenta un intervalo determinado por el usuario y al terminar dicho intervalo se pide el dato del primer canal activo, después de que el driver sale de la interrupción. En este punto se puede levantar una bandera que significa que el driver esta pidiendo datos del ADC.
3. Al recibir interrupción del LPT1 (es decir del ADC), el driver guarda el dato recibido en el buffercorrespondiente al canal (el numero de canal se recibe a través del LPT1), se elige el siguiente canal activo y se pide de nuevo dato del dispositivo, después de que se sale del manejo de la interrupción. En esta manera punto 3 se repite tantas veces cuantas canales activos hay. Al no tener mas canales activos, el driver baja la bandera que señala que el driver esta pidiendo datos.
4. Si el timeoutdel driver expira y la bandera esta levantada esta claro que el dispositivo no funciona, o que el intervalo de tiempo elegido esta as corto que el tiempo de transformada de ADC y el driver funciona erróneamente, Esta información se proporciona el usuario a la llamada siguiente. También hay que señalar al usuario si existe relleno del buffer de algún canal.

Cronograma de las interrupciones deldriver. Suponiendo que los canales activos son 0,1,3.

( int timer decremento del contador del timeout. Limpiar interrupción. Salir de interrupción.
( int timer decremento del contador del timeout. Limpiar interrupción. Salir de interrupción.

( int timer decremento del contador del timeout. Limpiar interrupción. Salir de interrupción.
( int timer (timeout). Poner valor inicial del contadorde timeout. Limpiar interrupción.
Iniciar petición de datos. Set canal 0 (en el hardware). Pedir datos. Salir del driver.
( int lpt1: -- los datos estan disponibles. Input dato. Determinar numero canal. Guardar dato (canal 0).
Limpiar la interrupción.
Determinar el siguiente canal activo. Set canal (1). Pedir datos. Salir de lainterrupción.
( int lpt1: -- los datos estan disponibles. Input dato. Determinar numero canal. Guardar dato (canal 1).
Limpiar la interrupción.
Determinar el siguiente canal activo. Set canal (3). Pedir datos. Salir de la interrupción.

( int lpt1: -- los datos están disponibles. Input dato. Determinar numero canal. Guardar dato (canal 3).
Limpiar...
tracking img