Técnicas de Programación

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Técnicas de Programación"

Transcripción

1 Técnicas de Programación Tema: Entradas y salidas a través de los puertos Índice de contenido Puertos de E/S...3 Puerto paralelo...5 Norma IEE Registros del puerto paralelo Registro de datos Registro de estado Registro de control...9. Direcciones y nombres en la BIOS y en DOS...0. Señales en los pines y bits de los registros... Protocolo de comunicación Modo compatible Modo EPP (Enhanced Parallel Port o Puerto paralelo mejorado) Modo ECP (Extended Capability Port o Puerto de capacidad extendida)...5 Transferencia de datos por los puertos Modo A: Modo B: Modo C: Modo 2: Modo 3A: Modo 3B:...22 Acceso al hardware del PC...22 MS-DOS/Windows Windows 95/ Windows NT, 2000 y XP...24 Interface con los drivers en modo kernel CREATEFILE CLOSEHANDLE READFILE WRITEFILE DEVICEIOCONTROL Estructura OVERLAPPED...28 Configuración de Windows 2000-XP para acceder a los puertos...29 Ejemplo : Acceso a puerto paralelo mediante aplicación de consola... 3 Puerto serie...34 Propiedades del hardware...34 Los dispositivos hardware que utilizan cables de comunicación serie se dividen en dos categorías, que son:...34 Interconexión entre terminales...37 de 54 Tema: Entrada y salida a través de los puertos

2 --Conexiones null módem con el puerto serie Conexiones null módem con el puerto paralelo...39 El Circuito integrado UART 8250 y compatibles Circuitos integrados Registros de la UART RBR (Receiver Buffer Register) BRSR (Baud Rate Select Register) THR (Transmitter Holding Register) IER (Interrupt Enable Register) IIR (Interrupt Identification Register) FCR (FIFO Control Register) LCR (Line Control Register) MCR (Modem Control Register) LSR (Line Status Register)...5. MSR (Modem Status Register) SCR (Scratch Register) Circuitos de reloj típicos Programación del de 54 Tema: Entrada y salida a través de los puertos

3 Puertos de E/S Los puertos de entrada/salida (E/S o IN/OUT) son el medio por el que el microprocesador de un ordenador se comunica con su entorno. Existen puertos para cada interacción de la unidad de procesamiento principal con sus dispositivos auxiliares. Así, existe un puerto de entrada del teclado, un puerto de salida para el adaptador de vídeo, un puerto de entrada para el ratón, etc. Un ordenador personal o PC puede direccionar hasta 64k puertos de E/S designándose cada puerto por un número. En la tabla vemos las direcciones en hexadecimal de algunos de los puertos de E/S. Dirección Desde Hasta Descripción x0000 x000f Controlador de DMA (acceso directo a memoria) x0020 x002 Controlador programable de interrupciones x0040 x0043 Cronómetro del sistema x0060 x0060 Controlador del teclado x006 x006 Altavoz del sistema x0064 x0064 Controlador del teclado x0070 x007 Sistema CMOS/reloj en tiempo real x008 x0087 x0089 x008f x00a0 x00c0 x00f0 x0200 x02f8 x0278 x02e8 x0378 x03e0 x03f2 x03f8 x0083 x0087 Controlador de acceso directo a memoria x008b x009 x00a Controlador programable de interrupciones x00df Controlador de acceso directo a memoria x00ff Procesador de datos numéricos x0207 Puerto de juegos o Creative Gameport Joystick x02ff Puerto de comunicaciones (COM2) x027f Segundo puerto paralelo LPT2 x02ef Puerto de comunicaciones (COM4) x037f Printer Port (LPT) x03ef Puerto de comunicaciones (COM3) x03f5 Controlador estándar de disquetes x03ff Puerto de comunicaciones (COM) 3 de 54 Tema: Entrada y salida a través de los puertos

4 En Windows 98, en herramientas de sistema encontramos una entrada titulada Información de sistema, donde podemos ver una información detallada de los puertos de nuestro sistema, como vemos en la figura: En la figura siguiente vemos lo mismo que antes para un sistema con Windows 4 de 54 Tema: Entrada y salida a través de los puertos

5 Y en la figura vemos el detalle para un sistema con Windows XP. Puerto paralelo En el año98 IBM introduce el ordenador personal o PC y con él también el puerto paralelo (Standart Parallel Port de acrónimo SPP) para utilizarlo como controlador de las impresoras de matriz de puntos. Este puerto tenía la capacidad de transmitir 8 bits de datos simultáneos del PC a la impresora. Paralelamente aparecieron tres grandes grupos de problemas para desarrolladores y usuarios: Primero: La máxima velocidad de transferencia alcanzable estaba en 50 kbyte/s y era extremadamente dependiente del software Segundo: No había un estándar para la interface eléctrica lo que causaba muchos problemas cuando se quería garantizar la operación en múltiples plataformas Tercero: Su diseño limitaba la distancia de los cables externos hasta un máximo de,8 metros. Desde su introducción el puerto paralelo ha sufrido varias modificaciones para hacerlo más veloz. El puerto original era unidireccional y se creó el puerto bidireccional, que fue introducido con el PS/2. Hasta la actualidad se han creado además el Enhanced Parallel Port (EPP) y el Extended Capability Port (ECP) que son al puerto estándar lo que es el Pentium al 286. Aunque inicialmente el puerto paralelo se creó para ser utilizado en la comunicación con impresoras, en la actualidad se utiliza también para manejar otros periféricos como CD ROM, discos duros, tarjetas de red, scanners, unidades externas de almacenamiento, etc. 5 de 54 Tema: Entrada y salida a través de los puertos

6 Existen por tanto cuatro tipos de puerto paralelo: Puerto paralelo estándar (Standart Parallel Port SPP) Puerto Paralelo PS/2 (bidireccional) Puerto paralelo mejorado (Enhanced Parallel Port EPP) Puerto de capacidad extendida (Extended Capability Port ECP) En la tabla vemos información de cada uno de estos tipos de puertos. SPP PS/2 EPP ECP Fecha de Introducción Fabricante IBM IBM Intel Xircom Zenith Data Systems Hewlett Packard Microsoft Bidireccional No Si Si Si DMA No No No Si Velocidad 50 Kbyte/seg. 2 Mbytes/seg. Debido a la acentuada falta de estandarización del interfaz paralelo surgió Centronics como un estándar en este tipo de conexión y a raíz de este interfaz apareció la norma IEEE 284 para el interfaz paralelo en los ordenadores personales. La transmisión en paralelo entre un ordenador y un periférico, se basa en la transmisión de datos simultáneamente por varios canales, generalmente 8 bits. Por esto se necesitan 8 cables para la transmisión de cada uno de los bits, mas otros tantos cables para controles del dispositivo, dependiendo el numero de estos del protocolo de transmisión utilizado. Los principales tipos y nombres de canales utilizados como control son: STROBE: El ordenador comunica, a través de el, al periférico que esta preparado para transmitir. BUSY: El periférico comunica, a través de el, que no esta preparado para recibir datos, es decir, que está ocupado. ACKNOWLEDGE: El periférico comunica, a través de el, que esta preparado para recibir datos, es decir, que está disponible. SELECT y SELECTIN: Para indicar el tipo de error producido en el periférico. ERROR: Indica que se ha producido un error en el periférico. PE: En el caso de la impresora indica que no tiene papel y en general depende del tipo del periférico. Las líneas son latcheadas, es decir, mantienen siempre el último valor establecido en ellas salvo que se cambien expresamente, coincidiendo sus valores de tensión y corriente con los estándares TTL: V H = 2'4 a 5V, V L = 0 a 0'8V, I OUT(max) = 2'6 ma e I IN(max) = 24 ma En la norma Centronics se establece el nombre y las caracteristicas de 36 líneas eléctricas aunque en realidad, en la tarjeta interface paralelo, para la transferencia de señales de datos y de control solamente se requieren 8 líneas, las restantes son líneas de masa enrolladas alrededor de los cables de señal para proporcionar apantallamiento contra interferencias. Las tarjetas en el PC incorporan un conector hembra tipo Cannon DB-25 y las impresoras un conector hembra tipo Centronics DB de 54 Tema: Entrada y salida a través de los puertos

7 Los cables de impresora se construyen con estos dos conectores según la descripción de líneas que vemos en la tabla siguiente: DB-36 Centronics en la impresora DB-25 DB-36 Señal Dirección PC-PRN DB-25 Cannon en el PC Descripción /STR Strobe. Un nivel bajo indica a la impresora que el dato es válido 2 2 D0 Bit 0 de datos 3 3 D Bit de datos 4 4 D2 Bit 2 de datos 5 5 D3 Bit 3 de datos 6 6 D4 Bit 4 de datos 7 7 D5 Bit 5 de datos 8 8 D6 Bit 6 de datos 9 9 D7 Bit 7 de datos 0 0 /ACK BSY Acknowledge. Un nivel bajo indica que la impresora está lista para recibir datos. Busy. Un nivel alto indica que la impresora está ocupada y no puede recibir datos 2 2 POUT Paper Out o Paper End. Imprsora sin papel 3 3 OFON Impresora conectada y en linea 4 4 /ALF Auto Line Feed. Un nivel bajo indica a la impresora que realice un cambio de línea /ERR Error. Un nivel bajo indica un error en la impresora. 6 3 /INI 7 36 /DSL Initialize Printer. Un nivel bajo provoca un reset en la impresora, siempre que esta lo admita. Select. Un nivel bajo pone en linea a la impresora, siempre que esta lo admita. 8 a 25 9 a 30 y 33 Masa Referencia de tensión para las señales. 6 0V Masa lógica 7 Chasis Conexión al chasis del equipo. 8 +Vcc + 5V DC (50 ma max) 5,34 y 35 No utilizadas 7 de 54 Tema: Entrada y salida a través de los puertos

8 Norma IEE 284 Es la norma "IEEE Std Standard Signaling Method for a Bi-directional Parallel Peripheral Interface for Personal Computers la que provee una alta velocidad de comunicación bi-direccional entre el ordenador y el periférico externo lo que hace la comunicación de 50 a 00 veces mas rápida que el puerto paralelo original. Además del incremento de velocidad la gran ventaja es que la compatibilidad con todos los periféricos existentes que puedan usar el puerto paralelo. La norma 284 define 5 modos de transmisión de datos y cada tipo provee un método de transmisión de datos entre el ordenador y el periférico. Estos modos son: Ordenador - Periférico: Compatibility Mode: "Centronics" en modo standard Periférico - Ordenador: Byte Mode: líneas de datos de 8 bits simultáneos, algunas veces puede funcionar como un puerto bidireccional. Bidireccional. EPP: Puerto Paralelo mejorado, usado principalmente por periféricos como: CD-ROM, cintas, discos duros, adaptadores de redes, etc. excluyendo las impresoras. ECP: Puerto de Capacidad Extendida, usado principalmente por scanners e impresoras de nueva generación. Todos los modos utilizan software solo para la transmisión de datos, el driver se encarga de escribir los datos, comprobar las líneas de unión (BUSY), hacer valer las señales de control apropiadas (STROBE) y luego pasar al siguiente byte. Este software limita la efectiva transmisión de datos a unos ratios de 50 a 00 Kbytes por segundo. La norma 284 nos indica lo siguiente: 5 tipos de operaciones para transmitir datos. Un método para el ordenador y el periférico para determinar el modo de transmisión mantenido y negociar el modo requerido. Define el interfaz físico: Cables y Conectores. Define el interfaz eléctrico: Drivers, Terminación e Impedancia. Registros del puerto paralelo El puerto paralelo está formado por 7 líneas de señales y 8 líneas de tierra. Las líneas de señales están formadas por tres grupos: 4 Líneas de control, usadas para la interface, control e intercambio de mensajes desde el PC a la impresora. Estas líneas son los pines, 4, 6 y 7. 5 Líneas de estado, usadas para intercambio de mensajes, indicadores de estado desde la impresora al PC (falta papel, impresora ocupada, error en la impresora). Estas líneas son los pines 0,, 2, 3 y 5. 8 Líneas de datos que suministran los datos de impresión del PC hacia la impresora. Estas líneas son los pines 2 a 9. Las nuevas implementaciones del puerto permiten una comunicación bidireccional mediante las líneas de datos. Cada una de estas líneas (control, estado, datos) puede ser referenciada de modo independiente mediante un registro. El puerto paralelo tiene por tanto tres registros: Registro de datos. Se trata de un registro de solo escritura, o sea que solo se puede variar mediante la programación, pero ningún dispositivo lo podrá hacer electrónicamente. 8 de 54 Tema: Entrada y salida a través de los puertos

9 Registro de estado. Es un registro de solo entrada, o sea, que en este caso solo un dispositivo electrónico lo puede variar, pero mediante software es imposible. Este puerto es el que utiliza la impresora(o el dispositivo electrónico que tengamos conectado) para darnos información sobre su estado. Registro de control. Se puede modificar tanto por el dispositivo electrónico conectado, como por medio de software. Registro de datos Para mandar una señal por un pin, lo que tenemos que hacer es activar (poner a uno) su bit correspondiente. Con esto se consigue que el ordenador mande una señal de 5 voltios (estado lógico alto) por el pin deseado. Pero debemos tener claro que el ordenador mantendrá ese bit a hasta que lo pongamos a 0. Para activar los bits de este registro enviamos un numero codificado en binario a la dirección del registro, que coincide con la dirección base del puerto paralelo (0x378 en LPT). A continuación se muestra un esquema de este registro con su distribución de pines y datos. Como se puede observar en este registro se utilizan los ocho bits. Registro de datos o printer data output (D) bit Nombre D7 D6 D5 D4 D3 D2 D D0 Hardware pin Registro de estado Este registro refleja la situación de la impresora o dispositivo conectado al puerto paralelo permitiendo controlar su comportamiento. Este registro es solo de entrada, por lo que no podremos modificarlo mediante software, siendo la única forma posible de modificación, la que se realice por medio de un dispositivo conectado al puerto paralelo. Su dirección se obtiene sumándole 0x0 a la dirección base del puerto (0x379 en LPT). También tiene una longitud de ocho bits, aunque en este caso se controlan los pins 0,, 2, 3 y 5 siendo útiles los bit que van desde el 3 al 7. El bit 2 es utilizado para la IRQ y los bits y 2 son reservados. A continuación se muestra un esquema de este registro con su distribución de pines y datos. Como se puede observar en este registro se utilizan cinco bits. Registro de estado o printer status register (S) bit Nombre /BSY /ACK POUT OFON ERR IRQ (Not) Reservada Reservada Hardware pin El bit BSY del registro de estado (bit 7) es invertido por el hardware y, por tanto, la línea tiene un nivel complementario al que aparece en ese bit. Registro de control Este registro permite controlar la transferencia de información con la impresora. Es bidirecional, lo que quiere decir que se pueden modificar sus bits tanto por software, como por un dispositivo conectado al puerto paralelo. Su dirección se obtiene sumándole 0x02 a la dirección base del puerto (0x37A en LPT). 9 de 54 Tema: Entrada y salida a través de los puertos

10 A continuación se muestra un esquema de este registro con su distribución de pines y datos. Registro de control o printer control register (C) bit Nombre No usada No usada Bi-dir IRQ /DSL /INI /ALF /STR Hardware pin El bit 5 (C4) pone disponible la interrupción a través de la linea ACK y el bit 6 (C5) establece la bidireccionalidad del puerto. Direcciones y nombres en la BIOS y en DOS IBM definió tres direcciones base de puerto estándar (según el espacio de direccionamiento de entrada/salida del 80x86). El Adaptador de Impresora podía usar la dirección base 0x378 y más tarde 0x278, mientras que la pantalla monocromática y el adaptador de impresora usan la dirección 0x3BC. La BIOS de IBM define espacio en RAM para 4 direcciones base de puerto paralelo de impresora, almacenado como 4 palabras de 6 bit comenzando en la dirección 0x408 de la memoria principal. Durante el arranque el BIOS comprobará los puertos de impresora en las direcciones base 0x3BC, 0x378, y 0x278 en este orden y almacena las direcciones base de cada uno que encuentre en posiciones consecutivas en esta tabla. Las entradas no usadas deben ser 0 aunque algunas BIOS las llenan con la primera dirección de puerto encontrada. La BIOS detecta estos puertos escribiendo 0xAA en el registro de datos (en la dirección base+0 de entrada/salida) y leyendo ese mismo registro de datos en la misma dirección. Deduciendo que hay un puerto instalado si lee 0xAA. La BIOS también cuenta el número de puertos paralelo encontrados y los guarda en los dos bits siguientes al byte 0x4. Advertencia: Justo antes de esta tabla hay 4 palabras en 0x400 que contienen hasta 4 entradas para direcciones base de los puertos serie. Al menos debemos saber que algún software puede almacenar más de 4 entradas sucesivas solapando la tabla del puerto paralela, aunque esto es bastante raro. El MSDOS Y EL DOS DE IBM establecen un mapa de estos dispositivos como LPTn. La primera entrada en la tabla de la BIOS en 0x408 es para LPT, la segunda para LPT2, y la tercera para LPT3. El dispositivo de MSDOS "PRN" es realmente el alias de software para el puerto que por defecto es LPT. Usando el comando MODE se puede cambiar este alias. Direcciones de los registros en el puerto paralelo Registro de R/W IOAddr Bits Función Datos (Salida) W Base+0 D0-D7 8 salidas LS TTL Estado (Entrada) R Base+ S3-S7 5 entradas LS TTL Control (Salida) W Base+2 C0-C3 4 salidas TTL colector abierto C4 C5 habitila IRQ interna Dato triestado interno (PS/2) 0 de 54 Tema: Entrada y salida a través de los puertos

11 Señales en los pines y bits de los registros Entrada Salida DB25 pin Cent pin Nombre de la señal Bit en los registros -Strobe C0- Notas sobre significado de los bits Establecer un pulso a nivel bajo con duración > 0'5 us para enviarlo. Control de la linea que permite validar el dato que está en el registro de datos. La puesta a indica a la impresora que el carácter del registro de datos es válido y debe aceptarlo. Es decir, para enviar un carácter, además de ponerlo en el registro de datos, debemos resetear este bit del registro de control y validar el dato volviéndolo a poner a. 2 2 Dato 0 D0 Establece el dato menos significativo 3 3 Dato D 4 4 Dato 2 D2 5 5 Dato 3 D3 6 6 Dato 4 D4 7 7 Dato 5 D5 8 8 Dato 6 D6 El registro de datos es de tipo latch de 8 bits y es donde el procesador, en operaciones de salida, pone el dato que se quiere enviar a la impresora. 9 9 Dato 7 D7 Establece el dato mas significativo 0 0 -ACK S6+ IRQ - Pulso bajo ~ 5 us después de aceptar. Indica la transferencia correcta de byte pasando a nivel bajo. Estado alto indica impresora ocupada. +BSY S7- Si está a 0 indica que la impresora está ocupada POUT S5+ Nivel alto indica falta de papel 3 3 +OFON S4+ Cuando está a indica que la impresora no está lista ALF C ERR S3+ En estado alto la impresora produce un cambio de linea (LF) cada vez que recibe un retorno de carro (CR). Cuando está a 0 indica que se ha producido un error en la impresora INI C2+ Para inicializar la impresora establecer un pulso > 50 us DSL C3- = 8 a 25 9, 30, 33, 6, 7 Masas Permite activar impresoras que funcionan bajo el estándar Centronics. Las impresoras paralelo compatibles no utilizan esta línea disponiendo de su propio pulsador online. En el registro de control existe un bit 4 (IRQ) que permite controlar la generación de interrupciones de tipo hardware desde el puerto paralelo. El bit a provoca que el interface genere la petición de interrupción (IRQ7 en LPT e IRQ5 en LPT2). La petición de interrupción se produce en la transición H L de la linea ACK. de 54 Tema: Entrada y salida a través de los puertos

12 Algunos cables, puertos, o conectores pueden no conectar todas las masas. Si la dirección de los datos es Entrada ( ) o Salida ( ) se define desde el punto de vista del PC, no de la impresora. En la tabla siguiente se dan los mismos datos agrupados por registros. Entrada Entrada Salida DB25 pin Cent pin Nombre de la señal Bit en los registros 2 2 Dato 0 D0 3 3 Dato D 4 4 Dato 2 D2 5 5 Dato 3 D3 6 6 Dato 4 D4 7 7 Dato 5 D5 8 8 Dato 6 D6 9 9 Dato 7 D7 Salida DB25 pin Cent pin Nombre de la señal Bit en los registros DSL C INI C ALF C- -Strobe C0- +BSY S ACK S POUT S OFON S ERR S3+ La figura muestra un esquema con la distribución de los pines en un conector hembra con referencia a los registros y a la lógica de cada bit. Las referencias a cada registro del puerto se realizan de la siguiente forma: Registro de datos (base): base+0 Registro de estado: base + Registro de control: base + 2 Por ejemplo, si la dirección base es 0x378, entonces las direcciones de los registros de datos, estado y control serán: Registro de datos: 0x378 Registro de estado: 0x379 Registro de control: 0x37A Permitiendo cada una de ellas el acceso a los siguientes bits: Registro de datos: D0, D, D2, D3, D4, D5, D6, D7 Registro de estado: S3-, S4, S5, S6-, S7 Registro de control: C0-, C-, C2-, C3-2 de 54 Tema: Entrada y salida a través de los puertos

13 Protocolo de comunicación El protocolo de comunicación en el PC y la impresora es el siguiente: El PC pone el dato en el registro de datos y envía un impulso por la línea de comprobación (strobe) para indicar dato válido. La impresora lee las líneas de datos y, mientras los procesa, mantiene activa la línea busy indicando que está ocupada. Una vez procesado el dato se activa la línea de reconocimiento (acknowledge) desactivando busy. Si en la impresora se produce algún error se indica por la línea correspondiente. Modo compatible Se trata de la forma de transmisión descrita anteriormente y que sigue los siguientes pasos en la fase de transmisión:. Escribir los datos en el registro de datos. 2. Leer el registro de estado para comprobar que la impresora no esta ocupada. 3. Si no esta ocupada se escribe el registro de control para validar la línea STROBE. 4. Escribir el registro de control para volver a su estado anterior la línea STROBE. En la figura siguiente se describe mediante un cronograma el método de transmisión descrito: Como se puede observar, para sacar byte de información se necesitan 4 instrucciones de E/S, limitando las capacidades de ancho de banda del puerto al orden de 50 kbytes/segundo. Muchos controladores de E/S integrados han implementado un modo que, conservando su compatibilidad con éste, utiliza un buffer FIFO para transferir datos. Se le conoce como "Fast Centronics" o "Modo FIFO de puerto paralelo". Las velocidades que pueden alcanzarse con él son de mas de 500 kbytes/segundo, aunque este no está descrito en la norma IEEE 284. Modo EPP (Enhanced Parallel Port o Puerto paralelo mejorado) El protocolo EPP fue originalmente desarrollado por Intel, Xircom y Zenith Data Systems, como una manera de obtener un puerto paralelo de alta resolución totalmente compatible con el puerto paralelo estándar. Esta capacidad fue implementada por Intel en el procesador 386SL. Dadas sus ventajas, la mayoría de fabricantes de periféricos que utilizaban puertos paralelos lo adoptaron hasta el punto que una asociación de ochenta fabricantes se unió 3 de 54 Tema: Entrada y salida a través de los puertos

14 para el desarrollo de este protocolo y que se denominó Comité EPP. El protocolo EPP realiza cuatro ciclos de transferencia: Ciclo de escritura de datos Pensados para transferir datos tanto al ordenador 2 Ciclo de lectura de datos como al periférico. 3 Ciclo de escritura de direcciones 4 Ciclo de lectura de direcciones Son usados para transferir direcciones, canales, comandos e información de control. Señales EPP y sus asociadas SPP Señal SPP Nombre EPP In/Out Descripción Strobe Write OUT Autofeed Datastb OUT Selectin Addrstb OUT Inactivo operación de escritura. Activo ciclo de lectura. Init Reset OUT Inactivo resetea periférico Inactivo indica operación de lectura o escritura de datos en proceso. Inactivo indica operación de lectura o escritura de direcciones en proceso. Ack Intr IN El periférico genera una interrupción al ordenador Busy Wait IN Inactivo valida el comienzo del ciclo Activo valida el final del ciclo D[8: Ad[8: BI-DI Direcciones y datos fluyen bi-direccionalmente PE IN Definido por Select IN Diferentes usos según periférico usuario Error IN Las fases de transmisión de un ciclo de escritura de datos son:. El programa ejecuta un ciclo de escritura E/S al puerto 4 (Puerto de datos EPP). 2. La línea Write indica la salida de datos hacia el puerto paralelo. 3. Se confirma el DataStrobe ya que el canal Wait esta desactivado. 4. Reconocimiento del puerto desde el periférico. 5. DataStrobe se desconecta y finaliza el ciclo EPP. 6. El ciclo ISA E/S finaliza. 7. El canal Wait es desactivado para indicar que el próximo ciclo puede comenzar. Vemos esto gráficamente en el siguiente cronograma: 4 de 54 Tema: Entrada y salida a través de los puertos

15 Una de las características mas importantes es que la transferencia de datos ocurre en un ciclo ISA E/S. El resultado es que mediante el uso del protocolo EPP para la transmisión de datos un sistema puede mejorar la velocidad de transmisión desde 500 k hasta 2Mbytes por segundo, de esta manera los periféricos de puertos paralelos pueden operar tan eficientemente como un periférico conectado directamente a la placa. En la anterior figura el canal DataStrobe puede conectarse porque el canal Wait esta desactivado, el canal Wait se desactiva en respuesta a un canal DataStrobe conectado, un canal DataStrobe se desactiva en respuesta a que un canal Wait esta siendo desconectado. La figura siguiente muestra un ejemplo de un ciclo de lectura de direcciones: Modo ECP (Extended Capability Port o Puerto de capacidad extendida) Este protocolo fue propuesto por Hewlett Packard y Microsoft como un modo avanzado para la comunicación de periféricos del tipo escaner e impresora. Proporciona una alta resolución en la comunicación bidireccional entre el adaptador del ordenador y el periférico con los siguientes ciclos en ambas direcciones : Ciclos de Datos Ciclos de Comandos Las características principales del ECP incluyen: RLE (Run Length Encoding) o compresión de datos en los ordenadores; FIFO para los canales directo e inverso, y; DMA. La característica RLE mejora la compresión de datos en tiempo real logrando una compresión superior a 64:. Los pasos en la fase de transmisión directa son:. El ordenador sitúa los datos sobre las líneas de datos, inicia un ciclo de datos activando el HostAck. 2. El ordenador desactiva HostClk para indicar un dato valido. 3. El periférico reconoce el ordenador activando PeriphAck. 4. El ordenador activa HostClk. Este es el punto que debería ser usado para cerrar los datos al periférico. 5. El periférico desactiva PeriphAck indicando que esta preparado para recibir el siguiente byte. 6. El ciclo se repite pero en un ciclo de comando ya que HostAck esta desactivado. La siguiente tabla describe las señales de este protocolo: 5 de 54 Tema: Entrada y salida a través de los puertos

16 Señales EPP y sus asociadas SPP Señal SPP Nombre ECP In/Out Descripción Strobe HostClk OUT Autofeed HostAck OUT Selectin 284Active OUT Init ReverseRequest OUT Ack PeriphClk IN Busy PeriphAck IN Data[8: Data[8: BI-DI Usado con PeriphAck para transmitir datos o direcciones en la dirección directa. Proporciona estado de datos y de comando en la dirección directa. Usado con PeriphClk transfiere datos en la dirección inversa. Se activa cuando el ordenador esta en el modo de transmisión 284. Se desactiva para colocar el canal en dirección inversa. Usado con HostAck para transmisión de datos en la dirección inversa. Usado con HostClk para transmisión de información de datos o direcciones en la dirección directa. Proporciona estado de comandos y datos en la dirección inversa. Usado para proporcionar datos entre el periférico y el ordenador. PE AckReverse IN Desactivado para reconocer Reverse Request. Select Xflag IN Flag de extensibilidad. Desactivado por el periférico para indicar que es Error PeriphRequest IN posible la transferencia inversa. Los pasos en la fase de transmisión directa son:. El ordenador sitúa los datos sobre las líneas de datos, inicia un ciclo de datos activando el HostAck. 2. El ordenador desactiva HostClk para indicar un dato valido. 3. El periférico reconoce el ordenador activando PeriphAck. 4. El ordenador activa HostClk. Este es el punto que debería ser usado para cerrar los datos al periférico. 5. El periférico desactiva PeriphAck indicando que esta preparado para recibir el siguiente byte. 6. El ciclo se repite pero en un ciclo de comando ya que HostAck esta desactivado. La figura siguiente muestra los dos ciclos de transmisión de datos directos. Cuando HostAck esta activado indica que se lleva a cabo un ciclo de datos y cuando esta desactivado se lleva a cabo un ciclo de comandos, los datos representan un calculo de RLE o un canal de direcciones. El bit 8 del byte de datos se usa para indicar una RLE, si el bit 8 es cero entonces los bits del al 7 representan un calculo de la longitud de cadena de transmisión, si el bit es entonces los bits al 7 representan un canal de dirección. 6 de 54 Tema: Entrada y salida a través de los puertos

17 Los pasos en la fase de transmisión inversa son: El ordenador pide una transmisión por el canal inverso desactivando ReverseRequest. El periférico señala que esta de acuerdo para proceder desactivando AckReverse. El periférico sitúa los datos sobre las líneas de datos e indica un ciclo de datos activando PeriphAck. El periférico desactiva PeriphClk para indicar un dato valido. El ordenador reconoce la señal activando HostAck. El periférico PeriphClk. Esta manera debería ser usada para guardar los datos en el ordenador. El ordenador desactiva HostAck para indicar que esta preparado para el siguiente byte. El ciclo se repite pero esta vez es un ciclo de comando porque PeriphAck esta desactivado. La figura siguiente muestra el proceso inverso de transferencia. Con el protocolo ECP los cambios en la dirección de datos deben ser negociados, el ordenador debe pedir una transmisión por el canal inverso desactivando el canal ReverseRequest, entonces esperar que el periférico reconozca la señal desactivando AckReverse. Solamente entonces puede llevarse a cabo una transmisión de datos por canal inverso. Transferencia de datos por los puertos Hay tres modos básicos de conectar puertos paralelo para transferir datos entre ellos. El más común conecta D0-D4 (o D3-D7) de un puerto a S3-S7 de otro puerto, y viceversa. De este modo podemos enviar 4 bits de datos por uno (por ejemplo D0-D3) y leerlos en el otro (por ejemplo S3-S6). Podemos usar otro bit (por ejemplo D4/S7) para la sincronización (por ejemplo: Datos Listo). 7 de 54 Tema: Entrada y salida a través de los puertos

18 En este esquema debemos recordar que S3-S6 son bits de lectura y D0-D3 de escritura. Seguidamente desglosamos los modos de transferencia y la forma de realizar los cableados para la transferencia de datos por el puerto paralelo. Modo A: Utiliza para salida el registro de datos y para entrada el registro de estados. Conector Pin Dirección Pin Conector 2 Conexión D0 2 5 S3+ Directa D 3 3 S4+ Directa D2 4 2 S5+ Directa D3 5 0 S6+ Directa D4 6 S7- Invertida S7-6 D4 Invertida S D3 Directa S D2 Directa S D Directa S D0 Directa GND GND Masa Modo B: Utiliza para salida el registro de datos y para entrada el registro de estados. Conector Pin Dirección Pin Conector 2 Conexión D3 5 5 S3+ Directa D4 6 3 S4+ Directa D5 7 2 S5+ Directa D6 8 0 S6+ Directa D7 9 S7- Invertida S7-9 D7 Invertida S D6 Directa S D5 Directa S D4 Directa S D3 Directa GND GND Masa 8 de 54 Tema: Entrada y salida a través de los puertos

19 Modo C: Utiliza para salida el registro de datos y para entrada el registro de estados. El cableado adicional del registro de estados es para interfaces adicionales. Conector Pin Dirección Pin Conector 2 Conexión D3 5 5 S3+ Directa D4 6 3 S4+ Directa D5 7 2 S5+ Directa D6 8 0 S6+ Directa D7 9 S7- Invertida S7-9 D7 Invertida S D6 Directa S D5 Directa S D4 Directa S D3 Directa C0- (*) C0- Directa C- 4 (*) 4 C- Directa C2+ 6 (*) 6 C2+ Directa C3-7 (*) 7 C3- Directa GND GND Masa (*) Nota: Los bits de salida del registro de control se ponen en estado alto en el receptor (incluso los invertidos, es decir: C0, C, C3=0; C2=). El retorno del registro de control lo puede leer el registro de control del remitente. 9 de 54 Tema: Entrada y salida a través de los puertos

20 Modo 2: Puerto paralelo bidireccional de 8 bits. Esta versión trabaja sólo con puerto paralelo bidireccional cuyo registro de datos sea triestado. El conector receptor debe tener su registro de datos triestado para poder usarlo como registro de entrada de un puerto de 8 bits. Conector Pin Dirección Pin Conector 2 Conexión D0 2 (*) 2 D0 Directa D 3 (*) 3 D Directa D2 4 (*) 4 D2 Directa D3 5 (*) 5 D3 Directa D4 6 (*) 6 D4 Directa D5 7 (*) 7 D5 Directa D6 8 (*) 8 D6 Directa D7 9 (*) 9 D7 Directa S4+ 3 C0- Invertida S C- Invertida S C2+ Directa S7-7 C3- Directa C0-3 Invertida C Invertida C Directa C3-7 7 Directa GND GND Masa (*) Nota: sólo tarjetas bidireccionales; el conector receptor debe ser triestado con C5=. Si dos puertos bidireccionales se conectan de la misma forma, y ambos están habilitados con diferentes datos en sus salidas, entonces el circuito integrado driver 74LS374 tendrá un conflicto. Debemos ser especialmente cuidadosos al hacer un cable de este tipo. Un conector RS-232 puenteado es la forma comercial de un DB25 con sus 25 líneas cableadas, usando 8 resistencias de 0k entre las líneas de Datos correspondientes para limitar la corriente. También es posible situar un dispositivo DIP de resistencias en la placa madre del PC. 20 de 54 Tema: Entrada y salida a través de los puertos

21 Modo 3A: Usa 8 bits como entradas siendo las salidas del registro de control en colector abierto. Esta versión usa 4 salidas del registro de control y 4 del registro de estado como entradas. Conector Pin Dirección Pin Conector 2 Conexión D0 2 (*) C0- Invertida D 3 (*) 4 C- Invertida D2 4 (*) 6 C2+ Directa D3 5 (*) 7 C3- Invertida D4 6 3 S4+ Directa D5 7 2 S5+ Directa D6 8 0 S6+ Directa D7 9 S7- Invertida C0- (*) 2 D0 Invertida C- 4 (*) 3 D Invertida C2+ 6 (*) 4 D2 Directa C3-7 (*) 5 D3 Invertida S D4 Directa S D5 Directa S D6 Directa S7-9 D7 Invertida GND GND Masa (*) Nota: las salidas de control usadas como entradas deben programarse a estado alto: C0, C, C3 a 0 y C2 a. 2 de 54 Tema: Entrada y salida a través de los puertos

22 Modo 3B: Usa 8 bits como entradas siendo las salidas del registro de control en colector abierto. Esta versión usa 3 salidas del registro de control como entradas más 5 entradas del registro de estado. La otra salida del registro de control es bidireccional en el otro conector se establece en estado alto por defecto, el otro conector debe establecerse a nivel bajo con una resistencia (lógica inversa). Conector Pin Dirección Pin Conector 2 Conexión D0 2 (*) C0- Invertida D 3 (*) 4 C- Invertida D2 4 (*) 6 C2+ Directa D3 5 (*) 5 S3+ Directa D4 6 3 S4+ Directa D5 7 2 S5+ Directa D6 8 0 S6+ Directa D7 9 S7- Invertida C0- (*) 2 D0 Invertida C- 4 (*) 3 D Invertida C2+ 6 (*) 4 D2 Directa S3+ 5 (*) 5 D3 Directa S D4 Directa S D5 Directa S D6 Directa S7-9 D7 Invertida C3-7 7 C3- Directa (OC) GND GND Masa (*) Nota: las salidas de control usadas como entradas deben programarse a estado alto: C0, C, C3 a 0 y C2 a. Acceso al hardware del PC Vamos a introducir en este punto la forma de acceso a hardware y los problemas que conlleva bajo entorno operativo Windows. La parte que más nos interesa es la referente a W2K (Windows 2000) y Windows XP aunque introduciremos también sistemas anteriores. MS-DOS/Windows 3. Estos sistemas operativos se ejecutan en el anillo 0 de acceso al hardware de la máquina. Así que cualquier proceso puede acceder directamente a los recursos hardware. De hecho con estos sistemas operativos cada programa era el encargado de implementar los drivers de periféricos que necesitara para poder acceder a dichos periféricos. El acceso a hardware no presentaba mayor problema. En un sistema operativo como estos y un compilador ANSI C como el conocido DJGPP, un programa como el siguiente nos permitirá comprobar los niveles de tensión en las líneas de datos del puerto 22 de 54 Tema: Entrada y salida a través de los puertos

23 paralelo así como forzar los niveles H o L en estas líneas para comprobar si el puerto es bidireccional: #include <stdio.h> #include <conio.h> #include <dos.h> #define PARALELO 0x378 /*Dirección base de LPT*/ void main() { unsigned int entrada, salida; char tecla; do { clrscr(); printf("\t\t*** EL REGISTRO DE DATOS"); printf("del PUERTO PARALELO ***"); entrada = inp(paralelo); printf("\nel dato actual en el puerto"); printf("paralelo es: 0x%0X",entrada); printf("\ndato hexadecimal para"); printf("sacarlo por el puerto paralelo:\n"); scanf("%x",&salida); printf("\ncomprueba o cambia los"); printf("niveles en las lineas de"); printf("datos.\n\n"); outp(paralelo, salida);/*salida del dato por el puerto paralelo */ entrada = inp(paralelo); printf("\n\ndato escrito: 0x%0X", entrada); printf("\dato leido: 0x\%0X", salida); printf("\n\npara terminar pulsar"); printf("\'escape\'. Otra tecla para"); printf("seguir"); tecla = getch(); } while (tecla!= 0xB); } Windows 95/98 Este sistema operativo sigue ejecutando todos los procesos en el anillo 0 de acceso al hardware. Se mantiene la posibilidad de que los propios programas sean los que implementen los drivers para acceso a hardware. Se introduce un nuevo concepto: la estructura Universal driver/minidriver. Mediante esta estructura el sistema operativo proporciona unos drivers básicos para el hardware más común, y sobre estos drivers básicos los fabricantes de dispositivos implementan funciones de interfaz para los programas de usuario que aumentan las capacidades del driver original. Además de esta estructura, también se introducen los llamados VxD s (Virtualizaction Device Drivers) que son drivers de 32 bits que se ejecutan en modo protegido. Estos drivers pueden ser compartidos por más de un programa a la vez. Con la introducción de Windows 98 se amplían los drivers básicos existentes y se introduce una nueva clase de drivers denominados HID (Human Interface Device) destinados a acceder a los dispositivos de entrada como teclados, joystics,... En un sistema operativo como estos y un compilador ANSI C, un programa como el anterior funcionará perfectamente. 23 de 54 Tema: Entrada y salida a través de los puertos

24 Windows NT, 2000 y XP Estos sistemas operativos ya utilizan dos de los anillos de acceso al hardware: el anillo 0 y el anillo 3. Aquellos procesos que se ejecutan en el anillo 0 se dice que se ejecutan en modo kernel y los que se ejecutan en el anillo 3 se dice que se ejecutan en modo usuario. Tan sólo los programas que se ejecutan en modo kernel pueden acceder al hardware. Para que los programas en modo usuario puedan acceder al hardware tienen que hacerlo a través de algún proceso en modo kernel. El siguiente gráfico muestra la estructura de Windows NT Como se puede ver los procesos que se ejecutan en modo usuario no tienen comunicación directa con el hardware. Para acceder a él tienen que pasar por el módulo denominado I/O Manager. Este módulo se encarga de recibir las peticiones de acceso al hardware por parte de los procesos que se ejecutan en modo usuario y reenviar dichas peticiones a los drivers encargados del acceso requerido. Estos drivers son los que se comunican directamente con el hardware (pasando previamente por un filtro denominado HAL o Hardware Abstraction Layer que lo que hace es presentar diferentes arquitecturas hardware, como CISC o RISC, de una forma homogénea al resto de módulos). Estos drivers que están dentro del módulo I/O Manager son lo que se denominan Kernel Mode Drivers (Drivers en Modo Kernel). Estos drivers se pueden dividir en tres categorías: Device Drivers (Drivers de dispositivos): Son los drivers que controlan directamente los dispositivos físicos. 24 de 54 Tema: Entrada y salida a través de los puertos

25 Intermediate Drivers (Drivers intermedios): Son los drivers que no acceden directamente a los dispositivos físicos, sino que acceden a device drivers o a otros intermediate drivers. File System Drivers (FSDs, Drivers de sistemas de archivo: Son los drivers para acceder a la información de los discos según su formato (FAT, HPFS, NTFS, CDFS,...). Al igual que los intermediate drivers no acceden directamente a los dispositivos físicos sino que se basan en otros drivers de nivel inferior. Interface con los drivers en modo kernel Como ya hemos dicho para que nuestras aplicaciones (en modo usuario) puedan acceder al hardware desde Windows NT, 2000 o XP necesitan hacerlo a través de drivers en modo kernel. Estos drivers deben proveer ciertas funciones para que las aplicaciones puedan acceder a ellos. En el caso de los drivers que controlan dispositivos de comunicación (puerto serie, puerto paralelo, módems, y en general dispositivos que permitan establecer un flujo bidireccional de datos) estas funciones son: CreateFile: Se encarga de conectar la aplicación en modo usuario con el driver. CloseHandle: Finaliza la conexión entre la aplicación en modo usuario y el driver. ReadFile: La aplicación utiliza esta función para que el driver le devuelva datos que se encuentran en el dispositivo físico al que quiere acceder. WriteFile: La aplicación utiliza esta función para decirle al driver que quiere enviarle datos al dispositivo físico. DeviceIoControl: Se utiliza para enviarle al driver comandos especiales para el propio driver o para que este realice alguna acción sobre el dispositivo físico. Todos estos drivers de dispositivos de comunicación en modo kernel deben implementar estas funciones. Adicionalmente pueden soportar otro tipo de funciones para mejorar la gestión del dispositivo que controlan (como posteriormente veremos con los drivers del puerto serie). Realmente los drivers lo que hacen es presentar el hardware al resto de los procesos como si fueran ficheros, de ahí que las funciones de interface tengan la apariencia de funciones para manejar ficheros. Vamos a describir detalladamente cada una de estas funciones. CREATEFILE El prototipo de esta función es: HANDLE CreateFile( LPCTSTR lpfilename, DWORD dwdesiredaccess, DWORD dwsharemode, LPSECURITY_ATTRIBUTES lpsecurityattributes, DWORD dwcreationdistribution, DWORD dwflagsandattributes, HANDLE htemplatefile ); Donde: lpfilename: Nombre del recurso de comunicación al que nos vamos a conectar. La longitud de la cadena está limitada a la constante MAX_PATH. 25 de 54 Tema: Entrada y salida a través de los puertos

26 dwdesiredacces: Especifica el tipo de acceso que queremos tener sobre el dispositivo. Tenemos tres posibilidades (que se pueden combinar mediante el operador OR): 0: Sólo queremos acceder a información sobre el dispositivo. No queremos leer información desde él ni enviarle información. GENERIC_READ: Queremos leer información desde el dispositivo. GENERIC_WRITE: Queremos escribir información al dispositivo. dwsharemode: Cómo queremos compartir el dispositivo. Podemos combinar las siguientes opciones: 0: No se quiere compartir el dispositivo. FILE_SHARE_DELETE: Sólo se permitirá abrir el dispositivo para borrar. FILE_SHARE_READ: Sólo se permitirá abrir el dispositivo para leer. FILE_SHARE_WRITE: Sólo se permitirá abrir el dispositivo para escribir. lpsecurityattributes: Puntero a una estructura SECURITY_ATTRIBUTES en la que se indica si procesos hijos pueden heredar el handle del dispositivo. Si es NULL el handle no puede ser heredado. (Este parámetro sólo vale para Windows NT, en Windows 95 es ignorado). dwcreationdistribution: Qué hacer si el fichero no existe. Podemos usar una de las siguientes opciones: CREATE_NEW: Crea un nuevo fichero. Se produce un fallo si el fichero ya existe. CREATE_ALWAYS: Crea un nuevo fichero. Si ya existe uno se sobrescribe. OPEN_EXISTING: Abre el fichero. Si no existe se produce un fallo. OPEN_ALWAYS: Abre el fichero. Si no existe se crea. TRUNCATE_EXISTING: Abre el fichero y lo recorta para que tenga cero bytes. Si el fichero no existe se produce un fallo. Hay que especificar por lo menos acceso GENERIC_WRITE. dwflagsandattributes: Atributos e indicadores para abrir el archivo. En el caso de los dispositivos de comunicación podemos usar: FILE_FLAG_OVERLAPPED: Especifica que las operaciones de lectura (ReadFile) y escritura (WriteFile) se pueden realizar en modo asíncrono. htemplatefile: handle de un fichero cuyos atributos (normales y extendidos) queremos copiar a un fichero nuevo que se vaya a crear. Si la llamada a la función tiene éxito, se devuelve un handle al dispositivo o fichero abierto. Si hay algún fallo entonces se devuelve el valor INVALID_HANDLE_VALUE. En el caso de abrir un dispositivo de comunicación, siempre hay que establecer el parámetro dwcreationdistribution al valor OPEN_EXISTING, y el parámetro htemplate al valor NULL. 26 de 54 Tema: Entrada y salida a través de los puertos

27 CLOSEHANDLE Con esta función se cierra un archivo o dispositivo previamente abierto con CreateFile. El prototipo de esta función es: BOOL CloseHandle( HANDLE hobject ); // Manejador (handle) del objeto a cerrar El parámetro hobject es el handle devuelto por una llamada a la función CreateFile. READFILE Con esta función leeremos datos del fichero o dispositivo abierto con con una llamada previa a la función CreateFile. El prototipo de esta función es: BOOL ReadFile( HANDLE hfile, // handle del fichero a leer LPVOID lpbuffer, // direccion del buffer que recibe datos DWORD nnumberofbytestoread, // numero de bytes a leer LPDWORD lpnumberofbytesread,// direccion del numero de bytes a leer LPOVERLAPPED lpoverlapped // direccion de la estructura para datos ); Donde: hfile: handle del fichero o dispositivo devuelto por la función CreateFile. lpbuffer: Buffer dónde se guardarán los datos que se lean del fichero o del dispositivo. nnumberofbytestoread: Número de bytes que se quieren leer. lpnumberofbytesread: Número de bytes que se han leido. Si lpoverlapped no es NULL entonces este parámetro puede ser NULL. lpoverlapped: Puntero a una estructura OVERLAPPED. Si al abrir el dispositivo se ha usado el indicador FILE_FLAG_OVERLAPPED éste parámetro no puede ser NULL. Si la función se ejecuta con éxito se devuelve un valor distinto de cero. Si ocurre algún error entonces se devuelve cero. WRITEFILE Con esta función escribiremos datos al fichero o dispositivo abierto con con una llamada previa a la función CreateFile. El prototipo de esta función es: BOOL WriteFile( HANDLE hfile, LPVOID lpbuffer, DWORD nnumberofbytestowrite, LPDWORD lpnumberofbyteswritten, LPOVERLAPPED lpoverlapped ); Donde: hfile: handle del fichero o dispositivo devuelto por la función CreateFile. lpbuffer: Buffer dónde están los datos que se van a escribir en el fichero o dispositivo. 27 de 54 Tema: Entrada y salida a través de los puertos

28 nnumberofbytestowrite: Número de bytes que se quieren escribir. lpnumberofbyteswritten: Número de bytes que se han escrito. Si lpoverlapped no es NULL entonces este parámetro puede ser NULL. lpoverlapped: Puntero a una estructura OVERLAPPED. Si al abrir el dispositivo se ha usado el indicador FILE_FLAG_OVERLAPPED éste parámetro no puede ser NULL. Si la función se ejecuta con éxito se devuelve un valor distinto de cero. Si ocurre algún error entonces se devuelve cero. DEVICEIOCONTROL Mediante esta función enviaremos directamente un código de control al driver para que éste realice las operaciones adecuadas sobre el dispositivo. El prototipo de esta función es: BOOL DeviceIoControl( HANDLE hdevice, // handle to device of interest DWORD dwiocontrolcode, // control code of operation to perform LPVOID lpinbuffer, // pointer to buffer to supply input data DWORD ninbuffersize, // size, in bytes, of input buffer LPVOID lpoutbuffer, // pointer to buffer to receive output data DWORD noutbuffersize, // size, in bytes, of output buffer LPDWORD lpbytesreturned, // pointer to variable to receive byte count LPOVERLAPPED lpoverlapped // pointer to structure for async. op. ); Donde: hdevice: handle del dispositivo devuelto por CreateFile. dwiocontrolcode: Código de control de la operación a realizar. Este código dependerá del driver al que nos estemos refiriendo. lpinbuffer: Buffer en el que están los datos que se envían driver. El significado de los datos dependerá del código de control. ninbuffersize: Longitud, en bytes, del buffer de entrada al driver. lpoutbuffer: Buffer en el que están los datos que se reciben del driver. El significado de los datos dependerá del código de control. noutbuffersize: Longitud, en bytes del buffer de salida del driver. lpbytesreturned: Número de bytes que realmente devuelve el driver. lpoverlapped: Puntero a una estructura OVERLAPPED. Si la ejecución de la función es correcta entonces se devuelve un valor distinto de cero. Si tiene algún error se devuelve cero. Estructura OVERLAPPED Esta estructura hay que usarla para poder llamar a las funciones ReadFile, WriteFile y DeviceIoControl de forma asíncrona. Al utilizar esta forma de llamada, inmediatamente después de realizar la llamada a la función, ésta retorna devolviendo cero como respuesta ya que la operación no se habrá completado. Sin embargo la operación que habíamos solicitado con la llamada se estará ejecutando hasta que se complete. La estructura OVERLAPPED nos ayudará a saber cuando se ha completado la operación. 28 de 54 Tema: Entrada y salida a través de los puertos

29 La definición de dicha estructura es la siguiente: typedef struct _OVERLAPPED { DWORD Internal; DWORD InternalHigh; DWORD Offset; DWROD OffsetHigh; HANDLE hevent; } OVERLAPPED; Donde: Internal: Reservado para el sistema operativo. InternalHigh: Reservado para el sistema operativo. Offset: Posición del fichero desde la que debe comenzar la transferencia de datos. En el caso de dispositivos de comunicación se ignora. OffsetHigh: Parte alta de la posición del fichero desde la que debe comenzar la transferencia de datos. En el caso de dispositivos de comunicación se ignora. hevent: handle a un objeto de tipo Evento de Windows. Cuando la operación asíncrona finaliza, el evento se activa. Configuración de Windows 2000-XP para acceder a los puertos Ya hemos indicado que para versiones de Windows con tecnologia NT (2000 o XP) no resulta sencillo el acceso a hardware y funciones tan básicas como outp e intp ya no resultan operativas. Para poder leer y escribir en el puerto paralelo es necesario un driver que comunique el sofware con el hardware. No es propósito de este curso el desarrollo de este driver, pero al resultar imprescindible tendremos que recurrir a uno ya creado, por lo que pasaremos a describir la forma de instalar un driver que permita el acceso al puerto paralelo. En concreto vamos a utilizar uno gratuito denominado PORTTALK que está disponible en la web como vemos en la figura: 29 de 54 Tema: Entrada y salida a través de los puertos

30 Una vez descargado el fichero porttalk22.zip lo descomprimimos en una carpeta cualquiera y tendremos un contenido similar a: Ahora copiamos el archivo porttalk.sys en la carpeta de Windows donde normalmente están los drivers, es decir: C:\Winnt\System32\Drivers para Windows 2000 y XP y hacemos doble clic en el archivo porttalk.reg para ejecutarlo y permitir añadir la información que contiene al registro de Windows. Una vez realizados los pasos anteriores deberemos reiniciar el sistema para que tengan efecto los cambios efectuados. Para comprobar que todo está correcto accedemos a las propiedades de sistema a través del panel de control y seleccionamos según la figura siguiente. 30 de 54 Tema: Entrada y salida a través de los puertos

31 Si todo funciona correctamente la situación será la que vemos en la figura siguiente, donde comprobamos que se encuentra el driver Porttalk: Si no vemos el cambio señalado podemos pulsar sobre el icono de búsqueda de cambios de hardware siguiente: Ejemplo : Acceso a puerto paralelo mediante aplicación de consola Vamos a adaptar el ejemplo citado para el sistema operativo MS-DOS y un compilador ANSI C que nos permitirá comprobar los niveles de tensión en las líneas de datos del puerto paralelo así como forzar los niveles H o L en estas líneas. Lo primero que debemos hacer es incluir en nuestra carpeta de trabajo los dos ficheros siguientes, obtenidos del fichero porttalk22.zip: pt_ioctl.c porttalk_ioctl.h Nuestro directorio de trabajo deberá tener un aspecto similar a: 3 de 54 Tema: Entrada y salida a través de los puertos

32 El código del programa comentado es el siguiente: #pragma hdrstop #include <condefs.h> #include <stdio.h> #include <conio.h> #include <windows.h> //Sustituye a #include <dos.h> #include "pt_ioctl.c" // Fichero de definicion del Interface con los drivers en modo kernel #define PARALELO 0x378 /*Dirección base de LPT*/ // #pragma argsused int main(int argc, char* argv[]) { clrscr(); printf("\t\t*** REGISTRO DE DATOS"); printf(" DEL PUERTO PARALELO ***"); printf("\n\t\t \n\n"); unsigned int entrada, salida; char tecla; do { OpenPortTalk(); //Llamada a la función CreateFile entrada = inportb(paralelo); //Lectura del dato del puerto paralelo printf("\nel dato actual en el puerto"); printf(" paralelo es: 0x%0X",entrada); printf("\n\ndato hexadecimal para escribirlo en el puerto paralelo:"); scanf("%x",&salida); printf("\n\t\t **********************************"); printf("\n\ncomprobacion o cambio de los"); printf(" niveles en las lineas de datos.\n\n"); outportb(paralelo, salida); /*Salida del dato por el puerto paralelo */ entrada = inp(paralelo); printf("\tdato escrito: 0x%0X", entrada); printf("\n\tdato leido: 0x\%0X", salida); printf("\n\npara terminar pulsar"); printf("\'escape\'. Otra tecla para seguir"); tecla = getch(); printf("\n\n*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\n"); } while (tecla!= 0xB); //0xB es el código Hex de la tecla ESCAPE ClosePortTalk(); //Llamada a la función CloseHandle para dejar disponible el puerto return 0; } En tiempo de ejecución obtenemos un resultado como el que vemos seguidamente, obtenido tras la introducción de algunos datos y partiendo del estado inicial que normalmente es FF. 32 de 54 Tema: Entrada y salida a través de los puertos

33 33 de 54 Tema: Entrada y salida a través de los puertos

34 Puerto serie Realizar un interface con un puerto serie es más complejo que hacerlo con un puerto paralelo. En la mayoría de los casos, cualquier dispositivo que se conecte al puerto serie necesitará reconvertir la transmisión serie a paralelo para poder utilizarla, y esta es la función de una UART (acrónimo de Universal Asynchronous Receiver/Transmitter o receptor/tramsmisor asíncrono universal). Desde el punto de vista del software debemos atender a muchos más registros que en un puerto paralelo estándar (SPP). Visto lo anterior cabe preguntarse: Cuáles son las ventajas de transferir datos en serie respecto a tranferirlos en paralelo? Vamos a tratar de establecer los motivos: Los cables serie pueden ser más largos que los cables paralelo. En el puerto serie, la transmisión del nivel lógico '' se realiza con una tensión de -3 a -25 voltios y un nivel lógico '0' como +3 a +25 voltios, mientras que un puerto paralelo se transmite un '0' como 0 voltios y un '' como 5 voltios. Por lo tanto el puerto serie tiene un margen de tensiones de trabajo de 50 voltios y, en cambio, el margen de tensiones del puerto paralelo es de 5 voltios. Por lo tanto, las caídas de tensión en el cable no van a ser tanto problema en los cables serie como en los paralelo. Se necesitan menos hilos que en la transmisión paralelo. Si su dispositivo va a montarse a una cierta distancia lejos del ordenador, un conductor de tres hilos (configuración Null Modem) será mucho más económica que un conductor de 9 o 25 hilos. No obstante siempre debemos considerar el coste de la electrónica de interconexión en cada extremo. El empleo cada vez más usual de dispositivos infrarrojos en la vida cotidiana y en la estructura interna de ordenadores. Debemos imaginarnos el problema que se plantea si realizamos transmisiones simultaneas de ocho bits de datos en una habitación para descifrar cual es cual desde el punto de vista de los dispositivos. La transmisión serie solamente envía un bit a la vez. Las primeras especificaciones infrarrojas (IrDA-) ya transmitían a 5,2 k baudios interconectadas a una UART. Sin embargo, en el estándar RS232 se redujo en 3/6 para compatibilizar en los dispositivos más usuales. El creciente empleo de micro controladores. La mayoría integran un dispositivo SCI (Serial Communications Interfaces) para usarlo en las comunicaciones con el exterior. La comunicación serie reduce el número de pines de estos dispositivos. Normalmente solo se emplean dos pines, uno para la transmisión de datos (TXD) y otro para la recepción de datos (RXD), que son bastantes menos que los ocho necesarios en la comunicación paralelo. Propiedades del hardware Los dispositivos hardware que utilizan cables de comunicación serie se dividen en dos categorías, que son: Data Communications Equipment (DCE): equipo de comunicación de datos, que son dispositivos tales como módem, plotter o trazador, etc. Data Terminal Equipment (DTE): equipo terminal de datos, que es el ordenador o terminal. Las especificaciones eléctricas del puerto serie se definen en el estándar RS-232C de la asociación de la industria de la electrónica EIA (Electronics Industry Association), donde se indican todos sus parámetros, algunos de ellos los citamos a continuación: Un "espacio" (0 lógico) estará entre +3 y +25 voltios Una "marca" ( lógico) estará entre -3 y -25 voltios. La región entre +3 y -3 voltios es indefinida. 34 de 54 Tema: Entrada y salida a través de los puertos

35 Una tensión a circuito abierto nunca debe exceder los 25 voltios con referencia a masa. Una corriente de cortocircuito no debe exceder los 500mA. Es muy importante que el conductor pueda soportar está corriente sin sufrir daños. Naturalmente esto no es una una lista completa de caracteristicas del estándar EIA, donde además se incluyen la capacidad de línea, las velocidades máximas, etc. Es interesante destacar sin embargo, que el estándar de RS232C especifica una velocidad máxima de BPS, que es algo lenta para estándares actuales. Por esto se han implementado nuevos estándares, como RS-232D lanzado recientemente. El cuadro siguiente resume los niveles lógicos para entradas y salidas que establece la norma. En la tabla se resumen las características eléctricas. DESCRIPCIÓN MIN MAX Tensión de salida del transmisor: Nivel alto = 0 (En circuito abierto) Nivel bajo = Tensión de salida del transmisor: Nivel alto = 0 (Con carga de 3 a 7 kω) Nivel bajo = Impedancia de salida del Tx sin alimentación -25 V +25 V +5 V -5 V +5V -5 V 300 Ω Corriente de salida del Tx en cortocircuito -500 ma +500 ma Slew Rate (dv/dt) 4 V/μs 30 V/μs Impedancia de entrada del Rx 3 kω 7 kω Tensión de entrada del Rx Espacio = 0 Marca = +3 V -25 V +25 V -3 V A continuación vamos a citar las principales caracteristicas de transmisión, es decir, los parámetros que determinan como se realiza la transmisión:. El número de bits de datos que se transmiten es seleccionable entre 5, 6, 7 y 8, según el número de bits necesario para codificar la información. 2. La velocidad de transmisión expresada en baudios (un baudio es el número de condiciones discretas que se transmiten por segundo. En informática un baudio es igual a un bit por segundo o bps). Las frecuencias en baudios más empleadas son: 0, 300, 600, 200, 800, 2400, 9600, 9200, 28800, 33600, y hasta La paridad como método sencillo de detectar errores en la transmisión que consiste en enviar un bit de datos adicional que depende del tipo de paridad seleccionado y de la composición del dato que se transmite. Puede ser: Sin paridad, en cuyo caso no se añade bit de paridad 35 de 54 Tema: Entrada y salida a través de los puertos

36 Paridad par (even parity), cuando el bit de paridad tiene un valor tal que el número de bits transmitidos en estado lógico " es par. Paridad impar (odd parity), cuando el bit de paridad tiene un valor tal que el número de bits transmitidos en estado lógico " es impar. Marca (mark parity, one), si el bit de paridad que se transmite es un. Espacio (space parity, zero), cuando el bit de paridad que se transmite es un Los bits de sincronismo se envían antes de los bits de datos y después del bits de paridad a fin de que transmisor y receptor puedan evitar los errores por las diferencias de frecuencias en sus circuitos. Estos bits son el bit de arranque, que normalmente es un único bits de valor cero y los bits de parada (stop) que pueden ser,.5 o 2. Los puertos serie se implementan bien con conectores tipo D de 25 o de 9 pines, siendo tipo macho en la parte posterior del PC y necesitando, por tanto, conectores hembra para las interconexiones. La tabla muestra las conexiones tanto para uno como para otro tipo e imágenes de los mismos. Nº de pin DB2 5 DB9 Nombre Función Tierra de protección Se conecta al chasis del equipo 2 3 Transmit Data Transmisión de datos TD Salida de datos serie (TXD). DTE envía datos a DCE 3 2 Receive Data Recepción de datos RD Entrada de datos serie (RXD). DTE recibe datos de DCE Request To Send Petición de envió Clear To Send Preparado para transmitir RTS CTS Esta línea informa al módem que la UART está lista para intercambiar datos. Petición de transmisión de DTE Esta línea indica que el módem está listo para intercambiar datos. Es la respuesta a RTS 6 6 Data Set Ready Modem preparado DS R Indica a la UART que el módem está listo para establecer una conexión. Es la respuesta a DTR 7 5 Signal Ground SG Referencia de tensión para señales 8 Data Carrier Detect Detector portadora de datos CD El módem indica al DTE que recibe la portadora de otro módem vía línea telefónica. Hay conexión establecida Data Terminal Ready Terminal de datos listo DT R Indica al módem que la UART está lista para establecer una conexión. Hace que el módem se conecte a la linea Ring Indicator Indicador de llamada RI El módem detecta una señal de llamada en la línea y se lo indica al DTE a través de esta línea. 36 de 54 Tema: Entrada y salida a través de los puertos

37 Interconexión entre terminales La norma RS-232C utiliza el termino DTE para definir al equipo origen y destino de la información y DCE para referirse al equipo que hace viable la transmisión a través de la línea telefónica (normalmente un módem). Es decir, una conexión estándar RS-232 deberá realizarse según vemos en la figura siguiente: Data Terminal Equipment (DTE) Ordenador RD TD RTS CTS DTR DSR RI CD GND Modem RD TD RTS CTS DTR DSR RI CD GND Data Communications Equipment (DCE) Conexión telefónica Data Communications Equipment (DCE) Modem RD TD RTS CTS DTR DSR RI CD GND Ordenador RD TD RTS CTS DTR DSR RI CD GND Data Terminal Equipment (DTE) Resulta muy interesante poder realizar conexiones entre terminales DTE sin la necesidad de intercalar modems y línea telefónica, como por ejemplo conectar un ordenador con una impresora, un aparato de medida, una capturadora de datos o, incluso, conectarlo con otro ordenador. La posibilidad de realizar esta conexión entre ordenadores es utilizar los puertos serie o paralelo del ordenador. En estos casos la denominación y significado de cada una de las líneas empleadas queda desvirtuado en relación a su previsión inicial. La realización física de este tipo de conexiones recibe el nombre de null módem o módem ficticio. A continuación retomaremos el tema de comunicaciones por el puerto paralelo mediante conexiones null módem centrándonos, por ahora en el puerto serie. Conexiones null módem con el puerto serie Una conexión null módem se utiliza comúnmente como manera barata de transferir datos entre ordenadores usando protocolos de comunicación como Zmodem, Xmodem, etc, aunque también se puede utilizar con sistemas de desarrollo basados en microprocesador. Se pueden realizar cables con muchos tipos de conexiones para disponer de un cable null módem En cualquier caso siempre debemos analizar las caracteristicas de los equipos a conectar para preparar el cable adecuado. En las figuras siguientes vemos algunas de las posibles realizaciones. 37 de 54 Tema: Entrada y salida a través de los puertos

38 Data Terminal Equipment (DTE) PC 2 RD 3 TD 7 RTS 8 CTS 4 DTR 6 DSR 9 RI CD 5 GND DB PC 2 RD TD RTS CTS DTR DSR RI CD GND Data Terminal Equipment (DTE) Data Terminal Equipment (DTE) PC 2 RD 3 TD 7 RTS 8 CTS 4 DTR 6 DSR 9 RI CD 5 GND DB PC 2 RD TD RTS CTS DTR DSR RI CD GND Data Terminal Equipment (DTE) 2 Data Terminal Equipment (DTE) PC 2 RD 3 TD 7 RTS 8 CTS 4 DTR 6 DSR 9 RI CD 5 GND DB PC 2 RD TD RTS CTS DTR DSR RI CD GND Data Terminal Equipment (DTE) Data Terminal Equipment (DTE) PC 2 RD 3 TD 7 RTS 8 CTS 4 DTR 6 DSR 9 RI CD 5 GND DB PC 2 RD TD RTS CTS DTR DSR RI CD GND Data Terminal Equipment (DTE) 3 4 El método preferido es el de la figura 4 ya que requiere solamente 3 hilos (TD, RD y SG) para la conexión. La forma de trabajo es razonablemente fácil y consiste en hacer creer al PC que se está comunicando con un módem y no con otro PC. Cualquier dato transmitido por PC por su terminal TD se debe recibir por PC 2 en su terminal RD. El Data Terminal Ready (DTR), Data Set Ready (DSR) y Data Carrier Detect (CD) se conectan entre sí en ambos terminales DTE. Cuando Data Terminal Ready se activa lo hacen inmediatamente Data Set Ready y Data Carrier Detect, y, en este punto, el PC piensa que el módem virtual con el que está conectado está listo y ha detectado la portadora del otro módem. Siempre que ambos ordenadores se comuniquen a la misma velocidad no debemos preocuparnos de Request to Send y Clear To Send, pudiendo unir entre sí estas dos líneas. Cuando un PC desea enviar datos, la línea Request to Send (petición de envió) y Clear To Send (preparado para transmitir) están activas. La línea Ring Indicator no es necesario conectarla en ninguno de los terminales si no tenemos una conexión a través de una línea telefónica. Esta línea se utiliza solamente para indicar al ordenador que hay una señal de sonido en la línea telefónica. 38 de 54 Tema: Entrada y salida a través de los puertos

39 Una conexión que puede ser sumamente práctica para escribir programas de comunicaciones con el puerto serie RS232 es la que se denomina conector de realimentación, que vemos en la figura siguiente. Data Terminal Equipment (DTE) 2 RD 3 TD 7 RTS 8 CTS 4 DTR 6 DSR 9 RI CD 5 GND Las líneas de recepción y de emisión están conectadas entre si, para que todo lo transmitido por Puerto Serie sea recibido por el mismo puerto. Si conectamos este dispositivo a un puerto serie y se ejecuta un programa de comunicación como hyper Terminal, todo que se escribe será inmediatamente mostrado en la pantalla. Conexiones null módem con el puerto paralelo Si realizamos una conexión como la que vemos en la figura siguiente entre puertos paralelo bidireccionales podremos transferir información entre ordenadores. PC C0 3 S4 2 D0 3 D 4 D2 5 D3 6 D4 7 D5 8 D6 9 D7 C0 3 S4 2 D0 3 D 4 D2 5 D3 6 D4 7 D5 8 D6 9 D7 Vemos que se interconectan las líneas de datos de ambos conectores y que se utilizan las líneas C0 y S4 como líneas de protocolo. El PC que va a enviar datos indicará al receptor la validez del dato presente en el registro de datos mediante la activación de la línea C0 del emisor, mientras que S4 se utilizará para conocer si el receptor está listo para recibilirlos; mientras que en el PC receptor C0 indica la disposición de recibir datos y S4 que el dato en las líneas de entrada es válido. Naturalmente debemos implementar el programa de emisión y recepción para poder aplicar una configuración como la anterior. PC 39 de 54 Tema: Entrada y salida a través de los puertos

40 El Circuito integrado UART 8250 y compatibles UART es el acrónimo de Universal Asynchronous Receiver/Transmitter, y es un circuito integrado que permite interactuar entre la placa madre y dispositivos como el módem La mayoría de placas madre tendrán un circuito integrado UART (normalmente de montaje superficial) que también permita controlar el puerto paralelo, el puerto de juegos, unidad de disquete o unidades de disco duro. La serie 8250, que incluye las UART 6450, 6550, 6650 y 6750, es la más comúnmente usada en ordenadores personales. Una comunicación serie se realiza según el siguiente proceso:. La línea que transmite los datos en serie está inicialmente en estado alto. 2. Al comenzar la transferencia, se envía un bit de inicio (un 0). 3. Se transmiten los 8 bits de datos (en ocasiones son 5, 6 ó 7) que están espaciados con un intervalo temporal fijo y preciso, ligado a la velocidad de transmisión que se esté empleando. 4. Se transmite un bit de paridad generado automáticamente por la UART, aunque no es obligatorio. 5. Finalmente aparecen los bits de parada o bits de stop a (a veces un bit y medio ó dos bits). Medio bit significa que la señal correspondiente en el tiempo a un bit dura la mitad; realmente, en comunicaciones se utiliza el término baudio para hacer referencia a las velocidades, y normalmente un baudio equivale a un bit. La presencia de bits de inicio y parada permite sincronizar la estación emisora con la receptora, haciendo que los relojes de ambas vayan al unisono. A la hora de transmitir los bytes de datos unos tras otros, existe flexibilidad en los tiempos, de ahí que este tipo de comunicaciones se consideren asíncronas. La transmisión de los 8 bits de datos de un byte realmente es síncrona, pero las comunicaciones en serie siempre han sido consideradas asíncronas. Circuitos integrados El circuito integrado 6550 es compatible con los 8250 y los Las únicas diferencias son los pines 24 y 29. En el 8250 el pin 24 es una salida que funciona solamente como indicador de que la salida es activa o no. En las UARTs 8250 y 6450 el pin 29 es de tipo No Conectado. El 6550 introduce en su lugar dos nuevos pines, que son Transmit Ready y Receive Ready (preparado para recibir y/o transmitir) que pueden implementarse con DMA ((Direct Memory Access o acceso directo a memoria). El 8250/6450/6550 son circuitos integrados CMOS Asynchronous Communications Element que integran en un solo chip una UART (Universal Asynchronous Receiver/Transmitter) y un BRG (Baud Rate Generator). Soportan velocidades de hasta baudios con relojes de hasta 0 MHz. El BRG incorporado divide la frecuencia base para conseguir las velocidades estándar de la RS-232-C. La UART es un chip del puerto serie que convierte los datos de formato paralelo utilizados 40 de 54 Tema: Entrada y salida a través de los puertos

41 por el PC en datos de formato serie para su envío. Existen básicamente dos tipos de UARTs:. Sin buffer: Diseñadas cuando los módem más rápidos transmitían a 200 bps. No tienen buffer de carácter extra por lo que dependen del procesador para borrar cada carácter enviado por el módem antes de que el siguiente carácter sea enviado. Las UARTs sin buffer comprenden las series 8250, 6450 y y 8250B: El 8250 es la UART original usada en el IBM PC/XT y el 8250B es una versión un poco más lenta. Esta UART no debe usarse en ordenadores AT o superiores, ya que muchos programas de chequeo muestran un informe erróneo, y existen riesgos ocasionales de error, e incluso pueden producirse fallos si se utilizan en estas máquinas. 8250A: Es una versión mejorada del 8250/8250B que trabaja un poco más rápido sobre el bus del PC, no sobre el módem, y con menos problemas. Este chip es lo suficientemente rápido para trabajar con máquinas basadas en el procesador 8086 diseñado entre.983 y.985, pero no es lo suficientemente rápido para ser aplicado en los tipos AT o superiores. 6450: Es una versión más rápida, también sobre el bus del 8250A que fue diseñado para su uso en máquinas del tipo AT. Un 6450 es lo suficientemente rápido para soportar las velocidades de transmisión de los ordenadores actuales. 6550: Se utilizó durante un corto período de tiempo. Esta UART tiene un buffer interno de 6 bytes que no trabaja. Muchos de los IBM PS/2 incluyen este chip. 2. Con buffer: Diseñadas como apoyo a los módem actuales más rápidos. La UART original con buffer es el circuito integrado 6550A, que puede acumular 6 caracteres en el buffer antes de que el procesador lea el dato. Esto hace que el software del PC tenga una mayor facilidad para comunicarse con el módem, creándose menos errores y una mayor velocidad de transmisión. 6550A: Versión mejorada del 6550, donde el buffer trabaja, y es el standard UART de los 90. El buffer colabora en los sistemas operativos Windows y OS/2. Existen diferentes versiones del 6550A creadas por diferentes fabricantes. Así, hay quienes han optado por poner dos UARTs en un mismo chip. Otros han hecho el "super-i/o", que incluye dos puertos serie, y los controles del disco duro y la diskettera. Estas modificaciones lo han mejorado con el paso del tiempo. StarTech 6650 UART: Este chip es una versión mejorada del 6550A UART, que posee un buffer FIFO de 32 bytes, control de flujo automático y un gran potencial en comunicaciones. Su diseño no lo hace completamente compatible con el 6550A, lo que supone que en algunas ocasiones puede no trabajar con algunas aplicaciones y drivers. Texas Instruments 6750 UART: UART totalmente compatible con el 6550A. El 6750 posee un buffer de 64 bytes y capacidad de control de flujo automático En la figura siguiente vemos el diagrama funcional o de bloques del PC6550D (Universal Asynchronous Receiver/Transmitter con FIFOs). 4 de 54 Tema: Entrada y salida a través de los puertos

42 42 de 54 Tema: Entrada y salida a través de los puertos

43 Y a continuación la distribución de patillas en sus tres encapsulados típicos. Seguidamente describimos la funcionalidad de cada uno de estos pines. Pines a 8 - D0 a D7: Bus de Datos: Bus triestado bidireccional de 8 líneas input/output para transmitir datos, información de control y de estado entre la CPU y la UART. Los datos, palabras de control e información del estado se transmiten a través de este bus. Pin 9 - RCLK: Entrada de reloj para la sección receptora, equivalente a 6 veces la frecuencia empleada en la transmisión y puede proceder del BAUDOUT de la estación remota o de un reloj externo. Pin 0 - SIN: Serial Input. Es la línea de entrada de datos desde el enlace (periférico o módem). Pin SOUT: Serial Output: Salida de datos en serie al enlace (periférico o módem). Una marca 43 de 54 Tema: Entrada y salida a través de los puertos

44 es un '' y un espacio es un '0'. SOUT está en marca cuando se realiza una operación de reset. Pin 2, 3 y 4 - CS0,CS y CS2 :Chip Select. La selección del chip se realiza con CS0 y CS en estado alto y CS2 en estado bajo, permitiendo la comunicación entre la UART y la CPU. Pin 5 BAUDOUT :Esta línea de salida contiene una señal de reloj 6 veces mayor que la frecuencia usada para transmitir. Equivale a la frecuencia de entrada en el oscilador dividida por el BRG. La estación receptora podría emplear esta señal conectándola a RCLK (para compartir el mismo reloj). Pin 6 - XIN (External Crystal Input): Esta entrada se usa con XOUT para conexionar un circuito oscilador para general la señal de reloj del BRG. Si la señal de reloj es externa debemos introducirla por este pin. Pin 7 - XOUT (External Crystal Output): Esta entrada se usa con XIN para conexionar un circuito oscilador para general la señal de reloj del BRG. Si la señal de reloj es externa este pin quedará abierto. Pines 8 y 9 - WR y WR : Cuando WR está en estado alto o WR está en estado bajo el chip está seleccionado y la CPU puede escribir palabras (words) de control o datos en el registro seleccionado de la UART. Pin 20 VSS: Masa o referencia de alimentación (0V). Pines 2 y 22 - RD y RD : Cuando RD está en estado alto o RD está en estado bajo el chip está seleccionado y la CPU puede leer información sobre el estado o datos del registro seleccionado de la UART. Pin 23 DDIS: Driver Disable. Esta salida está a nivel bajo cuando la CPU lee datos de la UART. Una salida activa puede emplearse para inhibir un transceiver externo cuando la CPU está leyendo datos. Pines 24 y 29 - TXRDY y RXRDY : La señal DMA de transmisor y receptor está disponible en los pines 24 y 29. Cuando trabajamos en modo FIFO se puede seleccionar entre dos tipos de acceso DMA a través de FCR3. Si operamos en modo 6450 solamente está permitido el modo 0 de DMA. El modo 0 solo soporta transferencias DMA simples cuando se produce un ciclo de bus de la CPU. El modo soporta multitransferencia DMA de forma continua hasta que se vacía el RCVR o se ha llenado XMIT. Pin 25 ADS: Address Strobe. Cuando esta línea de entrada está activa (por flanco de subida) se enclavan o latchean las líneas A0, A, A2 y las señales Chip Select CS0, CS y CS2.. Pin 26, 27 y 28 - A2, A y A0: Register Select. Líneas de entrada que permiten direccionar el registro de la UART para las operaciones de lectura o escritura de la CPU durante la transferencia de datos. La tabla de direccionamiento es la siguiente: DLAB A2 A A0 Registro Receiver Buffer (read), Transmitter Holding Register (write) Interrupt Enable X 0 0 Interrupt Identification (read) X 0 0 FIFO Control (write) X 0 Line Control X 0 0 MODEM Control X 0 Line Status X 0 MODEM Status X Scratch Divisor Latch (least significant byte) 0 0 Divisor Latch (most significant byte) 44 de 54 Tema: Entrada y salida a través de los puertos

45 Pin 30 INTR: Interrupt. Línea de salida que se activa cuando se produce una interrupción de alguno de estos tipos y está permitida: Flag de error de recepción, dato recibido disponible, registro de retención de transmisión vacío, y estado del módem Esta línea se desactiva (se pone a nivel bajo) con el servicio de interrupción apropiado o ante una operación Master Reset. Pin 3 - OUT2 : Esta salida de propósito general se puede activar (poner a 0) programando un en el bit 3 (OUT2) del registro de control del MODEM. Un operación de reset establece está señal como desactivada (nivel alto). En el modo lazo (LOOP o bucle), está también inactiva. Con componentes XMOS se pueden alcanzar niveles TTL. Pin 32 - RTS : Request To Send. Cuando está a nivel bajo esta línea informa al MODEM que la UART está lista para intercambiar datos. Esta señal se pone en alto en respuesta a MR. Pin 33 DTR : Data Terminal Ready. En estado bajo informa al MODEM o terminal que la UART está lista para establecer una comunicación o enlace. Línea de salida que puede activarse (poner a 0 o nivel bajo) escribiendo un o nivel alto en el bit 0 del registro de control del MODEM. Una operación de reset establece esta señal como un nivel alto o inactiva. En el modo loop o lazo la señal es inactiva. Pin 34 - OUT : Esta salida de propósito general se puede activar (poner a 0) programando un en el bit 2 (OUT) del registro de control del MODEM. Un operación de reset establece está señal como desactivada (nivel alto). En el modo lazo (LOOP o bucle), está también inactiva. Con componentes XMOS se pueden alcanzar niveles TTL. Pin 35 MR: Master Reset. Con la entrada a nivel alto se borran todos los registros (excepto el buffer de recepción, transmisión y latches divisores) y el control lógico de la UART. El estado de varias señales de salida ( SOUT, INTR, OUT, OUT2, RTS, DTR ) se modifica por una activación del MR, como vemos en la tabla siguiente. Pin 36 - CTS : Clear To Send: Línea de entrada. El estado lógico de esta señal puede consultarse en el bit CTS del Modem Status Register (MSR) - como el bit CTS es el bit 4 del MSR se referencia MSR(4). Un cambio en el estado de CTS desde la última lectura 45 de 54 Tema: Entrada y salida a través de los puertos

46 del MSR provoca que se active DCTS (bit MSR(0)). Cuando CTS está activo (a 0) el módem indica que el dato puede ser transmitido. Pin 37 - DSR :Data Set Ready: Línea de entrada. El estado lógico de esta señal puede consultarse en MSR(5). DDSR (bit MSR()) indica si DSR ha cambiado desde la última lectura del MSR. Cuando DSR está activo el módem indica que está listo para intercambiar datos con la UART; lo que depende del estado del DCE (Data Communications Equipment) local y no implica que haya comunicación con la estación remota. Pin 38 - DCD : Data Carrier Detect. Línea de entrada que indica si el módem ha detectado portadora. Se puede consultar su estado lógico en MSR(7). El bit MSR(3) indica si esta línea ha cambiado desde la última lectura del MSR. Esta línea no tiene efecto sobre el receptor. Pin 39 - RI : Ring Indicator. Cuando la línea de entrada tiene un nivel bajo indica que el módem ha detectado que llaman por la línea y puede consultarse en MSR(6). El bit TERI (MSR(2)) indica si esta línea ha cambiado desde la última lectura del MSR. Si las interrupciones están habilitadas (IER(3) activo) esta patilla provoca una interrupción al activarse. RI permanece activo durante el mismo intervalo de tiempo que la zona activa del ciclo de llamada e inactivo en los intervalos de la zona inactiva (o cuando el DCE no detecta la llamada). Pin 40 VDD: Tensión de alimentación de 5 V según especificaciones técnicas dadas por el fabricante. Registros de la UART 8250 El 6550 dispone de 2 registros (el 8250 tiene uno menos) pero sólo 3 líneas de dirección para seleccionarlos. Para distinguir unos de otros, aparte de las líneas de direcciones, se utiliza el sentido de acceso (en lectura o escritura) y el valor del bit 7 del registro LCR (DLAB). Para hacer referencia a un bit de un registro se utiliza la notación: REG(i), donde REG es el nombre del registro e (i) el número de bit, por ejemplo LCR(7) para el caso que estamos tratando. Realmente, DLAB se emplea sólo puntualmente para poder acceder y programar los registros que almacenan el divisor de velocidad; el resto del tiempo, DLAB estará a 0 para acceder a otros registros más importantes. En la tabla siguiente vemos los registros y su direccionamiento. A2 A A0 DLAB Read/Write Nombre Función R RBR (Receiver Buffer Register) Buffer de recepción R/W DLL (Divisor Latch LSB) LSB del divisor de velocidad W THR (Transmitter Holding Register) Registro de retención de la transmisión R/W IER (Interrupt Enable Register) Habilitación de interrupciones 0 0 R/W DLM (Divisor Latch MSB) MSB del divisor de velocidad 0 0 X R IIR (Interrupt Identification Register) Identificación de interrupciones 0 0 X W FCR (FIFO Control Register) Control de FIFO () 0 X R/W LCR (Line Control Register) Control de línea (2) 0 0 X R/W MCR (Modem Control Register) Control del modem 0 X R/W LSR (Line Status Register) Estado de línea 0 X R/W MSR (Modem Status Register) Estado del modem X R/W SCR (Scratch Register) Registro residual () Disponible solamente en el 6550 (2) El bit 7 es DLAB 46 de 54 Tema: Entrada y salida a través de los puertos

47 RBR (Receiver Buffer Register) El circuito receptor del 8250 puede programarse para 5, 6, 7 u 8 bits de datos. En el caso de emplear menos de 8, los bits más significativos de este registro están a 0. Los datos entran en serie por SIN (comenzando por el bit D0) en un registro de desplazamiento gobernado por el reloj de RCLK, sincronizado con el bit de inicio. Cuando un carácter completa el registro de desplazamiento de recepción, sus bits son volcados al RBR y el bit DR del LSR es activado para indicar a la CPU que puede leer el RBR. El diseño del 8250 permite la recepción continua de datos sin pérdidas: el RBR almacena siempre el último carácter recibido dando tiempo suficiente a la CPU para leerlo mientras simultáneamente está cargando el registro de desplazamiento con el siguiente; si la CPU tarda demasiado un nuevo dato podría aparecer en el RBR antes de haber leído el anterior (condición de overrun, bit OE del LSR). BRSR (Baud Rate Select Register) Son los registros DLL y DLM. Estos dos registros de 8 bits conforma dos bytes o un valor de 6 bits que será el divisor que se aplicará a la frecuencia base para seleccionar la velocidad a emplear. Las velocidades más comunes son: Velocidad (BPS) Divisor (Decimal) Byte DLM (Hex.) Byte DLL (Hex.) h 00h h 80h h C0h h 30h h 8h h 0Ch h 06h h 03h h 02h h 0h Para obtener estas velocidades serán necesarias unas frecuencias base que se obtienen como el producto de BRSR en decimal por 6 veces la velocidad, es decir: f base =BRSR 6 V BPS Para 2400 BPS f base = = Hz=,8432 MHz Podemos despejar y obtenemos que: f base BRSR= 6 V BPS Para V =50BPS BRSR= =2304 d =900 h 6 50 Para V =300BPS BRSR= =384 d =80 h Para V =9600BPS BRSR= =2 d =C h Para V =57600BPS BRSR= =2 d=2 h THR (Transmitter Holding Register) En el registro de retención de transmisión se almacena el siguiente carácter que va a ser transmitido en serie mientras el registro de desplazamiento de transmisión está enviando el carácter actual, y una vez enviado el registro de desplazamiento queda vacio 47 de 54 Tema: Entrada y salida a través de los puertos

48 y vuelve a cargarse desde el THR para transmitir el nuevo carácter. Cuando se han transmitido todos los caracteres THR queda vacio y el bit THRE del LSR se activa. Cuando están vacíos tanto el THR como el registro de desplazamiento de transmisión se activa el bit TEMT del LSR. IER (Interrupt Enable Register) Este registro de escritura se utiliza para seleccionar entre cinco tipos de interrupciones de la UART y que, por consiguiente, van a ser solicitadas a la CPU. Cada interrupción (INTR) puede activarse como señal de salida individualmente. Deshabilitar el sistema de interrupciones inhibe el IIR y desactiva la salida INTR. En la tabla se muestra el contenido de IER. Bit Estado (*) (*) (*) (*) Nombre IER(3) IER(2) IER() IER(0) Bit 0 IER0: Cuando se pone a nivel lógico se habilita la interrupción de dato disponible y las interrupciones de temporización en modo FIFO. Bit IER: Cuando se pone a nivel lógico se habilita la interrupción de registro de retención de transmisión vacío. Bit 2 IER2: Cuando se pone a nivel lógico se habilita la interrupción de estado de línea del receptor o error de recepción (bits a 4 del LSR). Bit 3 IER3: Cuando se pone a nivel lógico se habilita la interrupción de estado del modem ante el cambio del registro de estado del modem MSR. Bit 4 a 7: Estos cuatro bits permancen siempre en estado lógico 0. IIR (Interrupt Identification Register) El 8250 genera cuatro niveles de prioridad en las interrupciones:. Estado de la línea de recepción. 2. Dato recibido disponible. 3. Registro de retención de transmisión vacío. 4. Estado del modem. El IIR almacena la información que indica que hay una interrupción pendiente y el tipo de la misma e indica la interrupción de mayor prioridad pendiente. No serán reconocidas otras interrupciones hasta que la CPU envíe la señal de reconocimiento apropiada. En el registro IIR, el estado lógico 0 del bit 0 indica si hay una interrupción pendiente y el estado lógico del bit 0 que no la hay, lo que permite tratar las interrupciones consultando este bit. Los bits y 2 indican el tipo de interrupción. Cuando la CPU solicita acceso se graba l interrupción pero no se cambia la indicación actual hasta que el acceso se ha completado. Bit 0: Se utiliza para indicar si hay una interrupción pendiente. Cuando está en estado lógico 0 indica interrupción pendiente y el contenido del IIR se usa como puntero para la rutina del servicio de interrupciones. Cuando su estado lógico es indica que no hay ninguna interrupción pendiente. Bit y 2: Estos dos bits del IIR se utilizan para identificar el nivel de prioridad de la interrupción como vemos en la tabla siguiente, en la que también se incluye el bit 3. Bit 3: Este bit es el indicador de producción de error (Framing Error -FE). En modo 6450 este bit es 0. En modo FIFO indica que está pendiente la interrupción del TIMEOUT. 48 de 54 Tema: Entrada y salida a través de los puertos

49 Modo FIFO Registro Identificación interrupción Bit 3 Bit 2 Bit Activación de interrupciones y funciones de reset Bit 0 Prioridad Tipo Fuente Control de reset Ninguno Ninguna Primera Línea de estado del receptor Segunda Recibir dato disponible 0 0 Segunda Indicación de Interrupción de Carácter Tercera Registro de retención de información vacio Cuarta Estado del MODEM OE -Error Overrun (desborde) o PE - Error de paridad o se produce un error FE - (Framing Error) o BI- rotura de interrupición Recibir dato disponible o nivel de disparo alacanzado No se han enviado carácteres desde la última entrada o al FIFO RCVR durante los últimos 4 caracteres THRE - Registro de retención de información vacio Clear to Send o Data Set Ready o Ring Indicator o Data Carrier Detect Leer Line Status Register Lectura del buffer del registro receptor o nivel FIFO menor que nivel de disparo Lectura del buffer del registro receptor Leer el registro IIR (si hay fuente de interrupción) o escribir el registro de retención de la transmisión Leer el MODEM Status Register Bit 4: Indicador de rotura de interrupción (BI) que se pone en estado lógico si la entrada de datos se mantiene (estado lógico 0) más tiempo que el de completar una palabra. El bit se pone a cero cuando la CPU lee el contenido de Line Status Register. Bit 5: Bit indicador de Transmitter Holding Register Empty (THRE) e indica que la UART está lista para aceptar un nuevo carácter para su transmisión Bit 6: Bit indicador de Transmitter Empty (TEMT). Se pone a cuando Transmitter Holding Register (THR) y Transmitter Shift Register (TSR) están vacíos y en estado lógico 0 cuando cualquiera de los dos o ambos contienen algún dato. En modo FIFO se pone a cuando el transmisor FIFO y el registro de desplazamiento están vacíos. Bit 7: En modo 6450 es un 0 y en modo FIFO pone a LSR7 cuando hay un error de paridad o se produce un error o existe una indicación de ruptura en FIFO. El LSR7 se pone a cero cuando la CPU lee el LSR y no existen errores en FIFO. FCR (FIFO Control Register) Solamente está disponible en el Bit 0: Habilita el borrado de FIFO, XMIT y RCVR cuando se pone a, estado en el que debe estar para escribir los bits y 2. Los registros de desplazamiento de transmisión y recepción no resultan afectados. Bit : Cuando se pone a y está habilitado por FCR0 = borra la cola RCVR. Los registros de desplazamiento de transmisión y recepción no resultan afectados. Bit 2: Cuando se pone a y está habilitado por FCR0 = borra la cola XMIT. Los registros de desplazamiento de transmisión y recepción no resultan afectados. Bit 3: Se pone a cuando los pines RXRDY y TXRDY cambian de 0 a. Bit 4, 5: Reservados. 49 de 54 Tema: Entrada y salida a través de los puertos

50 Bit 6, 7: Estos dos bits se usan para establecer el nivel de disparo para la interrupción del RCVR FIFO, según las siguientes posibilidades: Bit 7 Bit 6 Tamaño de la cola (Bytes) LCR (Line Control Register) Este registro controla el formato del carácter de datos. Bits 0 y : Permiten seleccionar el tamaño del dato de la recepción o transmisión serie. Se denominan WLS0 y WLS (WLS es el acrónimo de Word Length Select) y los tamaños de datos pueden ser: WLS WLS0 Tamaño del dato (Bits) Bit 2: Bit que se denomina STB e indica el número de bits de stop, que pueden ser (STB=0) ó 2 (STB=), al trabajar con datos de 5 bits STB= implica.5 bits de stop. Bits 3, 4 y 5: El bit 3, denominado PEN (Parity Enable), permite habilitar o no la generación de bit de paridad, EPS (Even Parity Select) --bit 4-- selecciona paridad par si está a (o impar en caso contrario). El bit 5 se denomina Stick Parity y permite forzar el bit de paridad a un estado conocido según el valor de EPS. Las posibles combinaciones para selección de paridad con estos 3 bits son: Stick Parity EPS PEN Paridad Sin paridad Impar Par Marca () Espacio (0) Bit 6: Cuando el bit 6 denominado Break Control se pone a, la salida SOUT se pone en estado espacio (a 0), sólo afecta a SOUT y no a la lógica de transmisión. Esto permite a la CPU transmitir sin caracteres erróneos o extraños siguiendo estos pasos: ) cargar un carácter 0 en respuesta a THRE 2) Activar Break Control en respuesta al próximo THRE 3) Esperar a que el transmisor esté inactivo (TEMT=) y bajar Break Control. Durante el Break, el transmisor puede usarse como un temporizador de carácter muy preciso Bit 7: Se trata del bit DLAB (Divisor Latch Access Bit) que puesto a permite acceder a los Latches divisores DLL y DLM del BRG en lectura y escritura. Para acceder al RBR, THR y al IER debe ser puesto a 0. MCR (Modem Control Register) Controla el interface con el modem. La descripción del registro bit a bit es la siguiente: 50 de 54 Tema: Entrada y salida a través de los puertos

51 Bits Denominación LOOP OUT2 OUT RTS DTR Las líneas de salida correspondientes a los bits 0 (Data Terminal Ready), (Request To Send), 2 ( OUT ) y 3 ( OUT2 ) están directamente controladas por estos bits. Son activas a nivel bajo, por lo que son puestas a 0 escribiendo un en estos bits y viceversa. Estas líneas sirven para establecer protocolos de comunicaciones. El bit 4 (LOOP) pone al 8250 en modo lazo o bucle de autodiagnóstico. Con LOOP activo, SOUT pasa a estado de marca () y la entrada SIN es desconectada. Los registros de desplazamiento empleados en la transmisión y la recepción son conectados entre sí. Las cuatro entradas de control del modem ( CTS, DSR, DC y RI ) se desconectan y en su lugar son internamente conectadas las cuatro salidas de control del modem ( DTR, RTS, OUT y OUT2 ) cuyos pines son puestos en estado inactivo (alto). En esta modalidad de operación (modo lazo o bucle), los datos transmitidos son inmediatamente recibidos, lo que permite comprobar el correcto funcionamiento del integrado. Las interrupciones son completamente operativas en este modo, pero la fuente de estas interrupciones son ahora los 4 bits menos significativos del MCR en lugar de las cuatro entradas de control. Estas interrupciones están aún controladas por el IER. Los 5, 6 y 7 están permanentemente a 0. LSR (Line Status Register) Este suele ser el primer registro consultado tras una interrupción. La descripción del registro bit a bit es la siguiente: Bits Nombre -- TEMT THRE BI FE PE OE DR Denominación -- Transmitter Empty Transmitter Holding Register Empty Break Interrupt Framing Error Parity Error Overrun Error Data Ready Bit 0: El bit DR está activo cuando hay un carácter listo en el RBR y es puesto a 0 cuando se lee el RBR. Bits, 2, 3 y 4: Los bits OE, PE, FE y BI son puestos a 0 al consultarlos (cuando se lee el LSR) y al activarse pueden generar una interrupción de prioridad siempre que esta interrupción esté habilitada. El bit OE se activa para indicar que el dato en el RBR no ha sido leído por la CPU y acaba de llegar otro que lo ha sobreescrito. El bit PE indica si hay un error de paridad. El bit FE indica si el carácter recibido no tiene el bit de stop correcto. El bit BI se activa cuando la entrada de datos es mantenida en espacio (a 0) durante un tiempo superior al de transmisión de un carácter (bit de inicio + bits de datos + bit de paridad + bit de parada). Bit 5: El bit THRE indica que el 8250 puede aceptar un nuevo carácter para la transmisión. Este bit se activa cuando el THR queda libre y se desactiva escribiendo un nuevo carácter en el THR. Se puede producir, si está habilitada; la interrupción THRE (prioridad 3); INTRPT se borra leyendo el IIR. El 8250 emplea un registro interno para ir desplazando los bit y mandarles en serie (el Transmitter Shift Register), dicho registro se carga desde el THR. Bit 6: El bit TEMT se activa cuando los registros THR y el Transmitter Shift están vacíos, y volverá a desactivarse cuando se deje otro dato en el THR hasta que el último bit salga por SOUT. Bit 7: En modo 6450 permanece a 0. En modo FIFO LSR se pone a cuando se produce un error de paridad, de desbordamiento o de ruptura. LSR se pone a 0 cuando la CPU lee el LSR y no existen errores en FIFO. 5 de 54 Tema: Entrada y salida a través de los puertos

52 MSR (Modem Status Register) La descripción del registro bit a bit es la siguiente: Bits Nombre DCD RI DSR CTS DDCD TERI DDSR DCTS Denominación Data Carrier Detect Ring Indicator Data Set Ready Clear To Send Delta Data Carrier Detect Trailing Edge of Ring Indicator Delta Data Set Ready Delta Clear To Send Bit 0,, 2 y 3: Además de la información de estado del modem, los 4 bits menos significativos (DDCD, TERI, DDSR, DCTS) indican si la línea correspondiente, en los 4 bits de mayor peso, han cambiado de estado desde la última lectura del MSR; en el caso de TERI sólo indica transiciones de nivel bajo a alto y no las contrarias. Bit 4: La línea CTS del modem indica si está listo para recibir datos del 8250 a través de SOUT. En modo loop o lazo este bit equivale al bit RTS del MCR. Bit 5: La línea DSR del modem indica que está listo para dar datos al En modo lazo o loop equivale al bit DTR del MCR. Bit 6 y 7: RI y DCD indican el estado de ambas líneas. En modo loop se corresponden con OUT y OUT2 respectivamente. Al leer el MSR, se borran los 4 bits de menor peso pero no los bits de estado o mayor peso. Los bits de estado o más significativos (DCD, RI, DSR y CTS) reflejan siempre la situación de los pines físicos respectivos (estado del modem). Si DDCD, TERI, DDSR ó DCTS están a y se produce un cambio de estado durante la lectura, dicho cambio no será reflejado en el MSR; pero si están a 0 el cambio será reflejado después de la lectura. Tanto en el LSR como en el MSR, la asignación de bits de estado está inhibida durante la lectura del registro: si se produce un cambio de estado durante la lectura, el bit correspondiente será activado después de la misma; pero si el bit ya estaba activado y la misma condición se produce, el bit será borrado tras la lectura en lugar de volver a ser activado. SCR (Scratch Register) Este registro no es utilizado por el 8250, y de hecho no existía en las primeras versiones del integrado. Los 8 bits de lectura/escritura pueden ser empleados por el programador como un byte de memoria temporal. Circuitos de reloj típicos Externo Con cristal Osciladores a cristal típicos Cristal R p R X2 C C 2 3. MHz MΩ.5k 0-30 pf pf.8 MHz MΩ.5k 0-30 pf pf 52 de 54 Tema: Entrada y salida a través de los puertos

53 Programación del 8250 El 8250 se programa a través de los registros de control LCR, IER, DLL, DLM y MCR. Aunque los registros de control pueden ser escritos en cualquier orden, IER debe ser escrito al final porque controla la habilitación de las interrupciones. Una vez que el 8250 ha sido programado, los registros pueden ser actualizados en cualquier momento en que el 8250 no se encuentre enviando o recibiendo datos. En ordenadores compatibles puede haber conectados, de manera normal, hasta 4 puertos serie, nombrados de COM a COM4. En el área de datos de la BIOS (segmento 40h) y justo al principio de la misma, hay 4 palabras con la dirección de memoria base de los puertos serie. A esta dirección de memoria base habrá que sumar el desplazamiento relativo del número de registro a ser accedido. El principal problema reside en que sólo están previstas 2 interrupciones para los puertos serie. Ello implica que generalmente sólo 2 de los puertos podrán emplear interrupciones a un tiempo, debido a la arquitectura del bus ISA. Generalmente COM/COM3 compartirán la IRQ4 (INT 0Ch) y COM2/COM4 la IRQ3 (INT 0Bh). Estas asignaciones pueden ser cambiadas por el usuario actuando sobre los switches de configuración de las tarjetas (que en ocasiones permiten incluso elegir la IRQ5). Por tanto, no está de más tener cuidado en los programas y permitir un cierto grado de configuración en estas cuestiones. En la tabla siguiente muestra los offsets o desplazamientos que hay que sumar a la dirección E/S base del puerto serie para acceder a sus registros. COM suele estar en 3F8h, COM2 en 2F8h, COM3 en 3E8h y COM4 en 2E8h. Sin embargo, es mejor acceder a las variables de la BIOS para obtener la dirección, lo que podemos hacer de la misma forma que hicimos para el puerto paralelo y que en un PC concreto con un solo puerto serie vemos en la imagen siguiente. 53 de 54 Tema: Entrada y salida a través de los puertos

Anexo B. Comunicaciones entre mc y PC

Anexo B. Comunicaciones entre mc y PC Anexo B Comunicaciones entre mc y PC En este apartado se hará hincapié en los comandos para el manejo del módulo de comunicaciones desde el PC. Conociendo estos comando se podrá realizar una aplicación

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en

Más detalles

EL PUERTO PARALELO. Puertos de Entrada / Salida (E/S) Aspectos generales

EL PUERTO PARALELO. Puertos de Entrada / Salida (E/S) Aspectos generales EL PUERTO PARALELO Aspectos generales Puertos de Entrada / Salida (E/S) Los puertos de E/S se constituyen en el medio por el cual el microprocesador de un computador se comunica con su entorno. Existen

Más detalles

T3-Rondas V 1.1. Help-Pc, S.L. C/ Pintor Pau Roig, 39 L-5 08330 Premià de Mar Barcelona Tel. (93) 754 90 19 Fax 93 752 35 18 marketing@t2app.

T3-Rondas V 1.1. Help-Pc, S.L. C/ Pintor Pau Roig, 39 L-5 08330 Premià de Mar Barcelona Tel. (93) 754 90 19 Fax 93 752 35 18 marketing@t2app. T3-Rondas V 1.1 1 Indice 1 Requisitos mínimos 3 2 Instalación 3 2.1 Instalación del software 3 2.2 Instalación del terminal 4 3 Configuración Inicial 4 3.1 Crear terminales 5 3.2 Crear puntos de lectura

Más detalles

Tema 4. Gestión de entrada/salida

Tema 4. Gestión de entrada/salida Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada

Más detalles

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

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10 CONCEPTOS BASICOS Febrero 2003 Página - 1/10 EL ESCRITORIO DE WINDOWS Se conoce como escritorio la zona habitual de trabajo con windows, cuando iniciamos windows entramos directamente dentro del escritorio,

Más detalles

USB (Universal Serial Bus)

USB (Universal Serial Bus) USB (Universal Serial Bus) USB es una interfaz para transmisión de datos y distribución de energía que ha sido introducida en el mercado de PC s y periféricos para mejorar las lentas interfaces serie (RS-232)

Más detalles

Programa de Textos FIRECONTROL para centrales ZXCE

Programa de Textos FIRECONTROL para centrales ZXCE Programa de Textos FIRECONTROL para centrales ZXCE El programa de modificación de textos FIRECONTROL, trabaja bajo entorno de sistema operativo Windows, se precisa realizar una petición de datos de la

Más detalles

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

Actividad 4: Comunicación entre PLC s vía Ethernet Actividad 4: Comunicación entre PLC s vía Ethernet 1.- Listado de materiales: PC con Tarjeta de red 3com o similar. 2 PLC Omrom CJ1M CPU11 ETN Estos autómatas llevan integrada la tarjeta de comunicaciones

Más detalles

Notas para la instalación de un lector de tarjetas inteligentes.

Notas para la instalación de un lector de tarjetas inteligentes. Notas para la instalación de un lector de tarjetas inteligentes. Índice 0. Obtención de todo lo necesario para la instalación. 3 1. Comprobación del estado del servicio Tarjeta inteligente. 4 2. Instalación

Más detalles

7. Manejo de Archivos en C.

7. Manejo de Archivos en C. 7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de

Más detalles

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

AGREGAR COMPONENTES ADICIONALES DE WINDOWS INSTALACIÓN DE IIS EN WINDOWS XP El sistema está desarrollado para ejecutarse bajo la plataforma IIS de Windows XP. Por esta razón, incluimos la instalación de IIS (Servidor de Web) para la correcta ejecución

Más detalles

Instalación de dos Sistemas Operativos en un mismo Computador

Instalación de dos Sistemas Operativos en un mismo Computador Instalación de dos Sistemas Operativos en un mismo Computador Si quieres tener los dos sistemas operativos en un mismo equipo y elegir, entre uno y otro, en el momento del arranque, debes realizar los

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 2: Estructura de los sistemas de computación. 2.1 Funcionamiento de los sistemas de computación. 2.2 Ejecución de instrucciones e interrupciones

Más detalles

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation. WINDOWS Windows, Es un Sistema Operativo. Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation. Dentro de los tipos de Software es un tipo de software de Sistemas. Windows

Más detalles

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor

Más detalles

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

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa...2. 1.1 Configuración Internet Explorer para ActiveX... INDICE 1 Configuración previa...2 1.1 Configuración Internet Explorer para ActiveX...2 1.2 Problemas comunes en sistema operativo Windows...8 1.2.1 Usuarios con sistema operativo Windows XP con el Service

Más detalles

Conexión inalámbrica a un CNC (con puerto Serie RS232C)

Conexión inalámbrica a un CNC (con puerto Serie RS232C) Conexión inalámbrica a un CNC (con puerto Serie RS232C) A continuación se describe como conectar un CNC con puerto serie RS232C a un PC a través de una red inalámbrica (o Ethernet) El puerto serie RS232C

Más detalles

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:

Más detalles

I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA

I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA I. INTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA 1.1. Informática Informática (Información Automática) es la ciencia y la técnica del tratamiento automatizado de la información mediante el uso de ordenadores.

Más detalles

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows Qué es Recuperación? Recuperación del Panel de control proporciona varias opciones que pueden ayudarle a recuperar el equipo de un error grave. Nota Antes de usar Recuperación, puede probar primero uno

Más detalles

DESCRIPCION DEL SITEMA MASTER.

DESCRIPCION DEL SITEMA MASTER. DESCRIPCION DEL SITEMA MASTER. ESTRUCTURA. El sistema MASTER (Sistema Modular para Control Adaptativo en Tiempo Real) se ha implementado en base a un computador compatible PC-AT, dotado de una tarjeta

Más detalles

La forma de manejar esta controladora es mediante un ordenador utilizando algún lenguaje de programación (Por ejemplo.: C, Visual Basic, Logo,...).

La forma de manejar esta controladora es mediante un ordenador utilizando algún lenguaje de programación (Por ejemplo.: C, Visual Basic, Logo,...). Instituto de Tecnologías Educativas Circuito de control El circuito de control es la parte más delicada de la controladora, ya que se encarga de controlar las entradas (Puerto LPT, Entradas Analógicas,

Más detalles

WINDOWS 2008 5: TERMINAL SERVER

WINDOWS 2008 5: TERMINAL SERVER WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.

Más detalles

Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno.

Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno. Un Sistema Operativo es el software encargado de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicación y los diferentes usuarios. Es un administrador de los recursos

Más detalles

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software. ARQUITECTURA DE LAS COMPUTADORAS QUE ES UNA COMPUTADORA (UN ORDENADOR)? Existen numerosas definiciones de una computadora, entre ellas las siguientes: 1) Una computadora es un dispositivo capaz de realizar

Más detalles

SCT3000 95. Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A. microtes@arrakis.es

SCT3000 95. Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A. microtes@arrakis.es SCT3000 95 Versión 3.5 Software para la calibración de transductores de fuerza. Microtest S.A. microtes@arrakis.es Introducción El programa SCT3000 95, es un sistema diseñado para la calibración automática

Más detalles

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

10. El entorno de publicación web (Publiweb) 10. El entorno de publicación web (Publiweb) 10.1. Introducción El entorno de publicación Web es una herramienta que permite la gestión de nuestras páginas Web de una forma visual. Algunos ejemplos de

Más detalles

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento Qué es AT-Encrypt nos permitirá dotar de contraseña a cualquier documento o carpeta. Este documento o carpeta sólo será legible por aquel que conozca la contraseña El funcionamiento del cifrado (o encriptación)

Más detalles

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Tutoriales de ayuda e información para todos los niveles AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Como agregar a una red existente un equipo con Windows 7 y compartir sus archivos

Más detalles

Desde el punto de vista físico en un ordenador se pueden distinguir los siguientes elementos:

Desde el punto de vista físico en un ordenador se pueden distinguir los siguientes elementos: Desde el punto de vista físico en un ordenador se pueden distinguir los siguientes elementos: Unidad Central de proceso (CPU/UCP): Unidad que se encarga del control del ordenador, procesando para ello

Más detalles

WINDOWS 98/Me EL EXPLORADOR DE WINDOWS IV

WINDOWS 98/Me EL EXPLORADOR DE WINDOWS IV 10 EL EXPLORADOR DE WINDOWS IV Operaciones con discos Desde el Explorador, también puede ejecutar diversas operaciones sobre discos completos. Aunque, desde aquí, es posible formatear discos duros, lo

Más detalles

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

CERTIFICADOS ELECTRÓNICOS Y LECTORES DE TARJETAS LTC31 USB CERTIFICADOS ELECTRÓNICOS Y LECTORES DE TARJETAS LTC31 USB CERTIFICADOS ELECTRÓNICOS Y LECTORES DE TARJETAS LTC31 USB 1 LECTORES DE TARJETAS... 2 2. INSTALACIÓN DE DRIVERS DEL LECTOR DE TARJETAS LTC31 USB.... 2 3. INSTALACIÓN DE LOS MÓDULOS DE SEGURIDAD... 5 3.1

Más detalles

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

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES. 1.- a) Explica qué es un bit de información. Qué es el lenguaje binario? Bit es la abreviatura de Binary digit. (Dígito binario). Un bit es un dígito del lenguaje binario que es el lenguaje universal usado

Más detalles

Puertos de comunicación del PC.

Puertos de comunicación del PC. Puertos de comunicación 1/7 Puertos de comunicación del PC. PUERTOS DE COMUNICACION: QUE SON Y PARA QUE SIRVEN. Los puertos de comunicación, como su nombre indica, son una serie de puertos que sirven para

Más detalles

GVisualPDA Módulo de Almacén

GVisualPDA Módulo de Almacén GVisualPDA Módulo de Almacén GVisualPDA es una aplicación para Windows Mobile 5/6 que amplía más aún las posibilidades de integración del software de gestión GVisualRec permitiendo estar conectados en

Más detalles

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

5.2.- Configuración de un Servidor DHCP en Windows 2003 Server 5.2.- Configuración de un Servidor DHCP en Windows 2003 Server En este apartado vamos a configurar el servidor DHCP de "Windows 2003 Server", instalado en el apartado anterior. Lo primero que hemos de

Más detalles

CONFIGURACIÓN TERMINAL SERVER EN WINDOWS 2003

CONFIGURACIÓN TERMINAL SERVER EN WINDOWS 2003 CONFIGURACIÓN TERMINAL SERVER EN WINDOWS 2003 AUTORÍA ÁNGEL LUIS COBO YERA TEMÁTICA SERVICIOS DE INTERNET ETAPA BACHILLERATO, CICLOS FORMATIVOS. Resumen En este artículo, se detalla paso a paso como instalar

Más detalles

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario 14 CORREO SEGURO. Hay aplicaciones de correo que permiten enviar y recibir correos cifrados y firmados digitalmente utilizando criptografía. Estas operaciones garantizan el intercambio seguro de información,

Más detalles

Introducción. Conexión de los terminales a la toma telefónica. Instalación del módem ADSL. Conexión del módem. Desinstalación del módem y la conexión

Introducción. Conexión de los terminales a la toma telefónica. Instalación del módem ADSL. Conexión del módem. Desinstalación del módem y la conexión 1/19 Introducción Conexión de los terminales a la toma telefónica Instalación del módem ADSL Conexión del módem Desinstalación del módem y la conexión 2/19 Introducción En este documento se describen los

Más detalles

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

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la

Más detalles

GedicoPDA: software de preventa

GedicoPDA: software de preventa GedicoPDA: software de preventa GedicoPDA es un sistema integrado para la toma de pedidos de preventa y gestión de cobros diseñado para trabajar con ruteros de clientes. La aplicación PDA está perfectamente

Más detalles

Ejecución del programa de instalación de Windows XP

Ejecución del programa de instalación de Windows XP Ejecución del programa de instalación de Windows XP Productos: Windows XP Professional Al instalar Windows XP Professional debe proporcionar información acerca de cómo desea instalar el sistema operativo.

Más detalles

DataMAX pa r a PS3. Manual del Usuario V1.0

DataMAX pa r a PS3. Manual del Usuario V1.0 DataMAX pa r a PS3 Manual del Usuario V1.0 IMPORTANTE! Debe seguir los pasos de este manual antes de que pueda usar tarjetas de memoria de 8, 16, 32 o 64MB de otras compañías en su PlayStation 3. Índice

Más detalles

Manual de Instalación. Sistema FECU S.A.

Manual de Instalación. Sistema FECU S.A. Manual de Instalación Sistema FECU S.A. Índice Requerimientos de hardware... 3 Requerimientos de software... 3 Bajar programas desde Internet... 4 Manual de Usuario... 5 Archivos de instalación FECU S.A....

Más detalles

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

Manual instalación Windows 8. Instalar Windows 8 paso a paso Manual instalación Windows 8. Instalar Windows 8 paso a paso Windows 8 es el nuevo sistema operativo de Microsoft, en el cual se han incluido más de 100.000 cambios en el código del sistema operativo,

Más detalles

Intérprete entre el Operador y el Ordenador.

Intérprete entre el Operador y el Ordenador. Introducción a Windows Generalidades Una computadora es un colaborador rápido y eficaz en la tarea administrativa de la información. La computadora en realidad es capaz de hacer muy pocas cosas, como ser:

Más detalles

Sumario Instalación MDT V5.3... 1

Sumario Instalación MDT V5.3... 1 Sumario Instalación MDT V5.3... 1 Requerimientos del Sistema... 1 Menú de Inicio... 2 Proceso de Instalación... 3 Después de la instalación... 4 Colocación de la Llave de Protección (USB)... 4 Colocación

Más detalles

Tarjeta IEEE 1394. Versión 1.0

Tarjeta IEEE 1394. Versión 1.0 Tarjeta IEEE 1394 Versión 1.0 Contenido 1.0 Qué es IEEE1394?.P.2 2.0 Características de 1394..P.2 3.0 Requisitos de sistema de PC..P.2 4.0 Información técnica..p.3 5.0 Instalación del hardware...p.3 6.0

Más detalles

Documento descargado de http://talleresinformaticos.wordpress.com. Licencia de este documento: Reconocimiento NoComer cial Compar tir Igual 2.

Documento descargado de http://talleresinformaticos.wordpress.com. Licencia de este documento: Reconocimiento NoComer cial Compar tir Igual 2. Licencia de este documento: Reconocimiento NoComer cial Compar tir Igual 2.5 RMD 1 Guías Rápidas de aprendizaje Formateo del disco duro e instalación de Windows XP Cuándo proceder a una instalación de

Más detalles

Control Digital en PC con MS-DOS

Control Digital en PC con MS-DOS Control Digital en PC con MS-DOS Abel Alberto Cuadrado Vega 19 de abril de 2006 1. Introducción Un PC puede ser utilizado para realizar un sistema de control digital. Para ello necesita lo siguiente: tarjeta

Más detalles

Manual de Instalación del Programa SATELITEPES

Manual de Instalación del Programa SATELITEPES Manual de Instalación del Programa SATELITEPES VERSIÓN 12.11.12 MUY IMPORTANTE!!! VERSIÓN 12.11.09 Antes de continuar con la instalación del programa confirme que su ordenador cumple con los siguientes

Más detalles

Terminal Services Configuration - TS Manager - Remote Desktops - TS Session Broker, RDP-Tcp Propierties,

Terminal Services Configuration - TS Manager - Remote Desktops - TS Session Broker, RDP-Tcp Propierties, 1 de 15 01/12/2007 1:42 Configuración de Servicios de Terminal Server - Administrador de Terminal Services - Escritorios Remotos - Agente de sesiones de TS - Propiedades de RDP Terminal Services Configuration

Más detalles

Manual del Usuario ADSL

Manual del Usuario ADSL Manual del Usuario ADSL Crear un usuario nuevo Pág. 2 Configuración de la Conexión Windows XP Pág. 5 Windows Vista Pág. 11 Windows 7 Pág. 15 Windows 98/ME/2000 Pág. 20 Ubuntu Linux Pág. 25 Linux Red Hat

Más detalles

Instalación de Microsoft Virtual PC

Instalación de Microsoft Virtual PC Instalación de Microsoft Virtual PC Virtual PC es un software de Microsoft que permite instalar varios sistemas operativos en la misma máquina, sin tener que reiniciar Windows y además de forma segura,

Más detalles

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico) MANUAL DE AYUDA SAT Móvil (Movilidad del Servicio Técnico) Fecha última revisión: Abril 2015 INDICE DE CONTENIDOS INTRODUCCION SAT Móvil... 3 CONFIGURACIONES PREVIAS EN GOTELGEST.NET... 4 1. INSTALACIÓN

Más detalles

Manual de Usuario Consulte en www.jazztel.com. Equipo ADSL Huawei MT 882

Manual de Usuario Consulte en www.jazztel.com. Equipo ADSL Huawei MT 882 3950 Manual de Usuario Consulte en www.jazztel.com Equipo ADSL Huawei MT 882 Antes de comenzar la instalación MUY IMPORTANTE: Bienvenido a Internet de JAZZTEL. El siguiente manual le indica paso a paso

Más detalles

Guía de instalación de LliureX 5.09

Guía de instalación de LliureX 5.09 Guía de instalación de LliureX 5.09 Introducción La distribución LliureX está basada en Sarge, la versión estable de Debian GNU/Linux. Esta guía pretende ayudar al usuario en el proceso de instalación

Más detalles

Internet aula abierta

Internet aula abierta MINISTERIO DE EDUCACIÓN Y CIENCIA SECRETARÍA GENERAL DE EDUCACIÓN Y FORMACIÓN PROFESIONAL DIRECCIÓN GENERAL DE EDUCACIÓN, FORMACIÓN PROFESIONAL E INNOVACIÓN EDUCATIVA CENTRO NACIONAL DE INFORMACIÓN Y COMUNICACIÓN

Más detalles

SOROLLA MODULO DE JUSTIFICANTES DEL GASTO

SOROLLA MODULO DE JUSTIFICANTES DEL GASTO MINISTERIO DE ECONOMÍA Y HACIENDA SECRETARÍA DE DE HACIENDA Y PRESUPUESTOS GENERAL DE LA SUBDIRECCIÓN GENERAL DE APLICACIONES DE CONTABILIDAD Y CONTROL SOROLLA MODULO DE JUSTIFICANTES DEL GASTO GUÍA DE

Más detalles

SOFTWARE DE RECUENTO DE DINERO

SOFTWARE DE RECUENTO DE DINERO MANUAL ENGLISH NEDERLANDS DEUTSCH FRANÇAIS ESPAÑOL ITALIANO PORTUGUÊS POLSKI ČESKY MAGYAR SLOVENSKÝ SAFESCAN MC-Software SOFTWARE DE RECUENTO DE DINERO TABLA DE CONTENIDOS INTRODUCCIÓN E INSTRUCCIONES

Más detalles

Conexión y programación con el puerto paralelo

Conexión y programación con el puerto paralelo Metodología de Programación, Programación en C, Aplicaciones electrónicas 1 /16 Conexión y programación con el puerto paralelo Las comunicaciones en paralelo se realizan mediante la transferencia simultánea

Más detalles

Redes de área local: Aplicaciones y servicios WINDOWS

Redes de área local: Aplicaciones y servicios WINDOWS Redes de área local: Aplicaciones y servicios WINDOWS 7. Escritorio remoto 1 Índice Definición de Escritorio Remoto... 3 Habilitar Escritorio Remoto... 4 Instalación del cliente de Escritorio Remoto...

Más detalles

Capítulo 1 Introducción a la Computación

Capítulo 1 Introducción a la Computación Capítulo 1 Introducción a la Computación 1 MEMORIA PRINCIPAL (RAM) DISPOSITIVOS DE ENTRADA (Teclado, Ratón, etc) C P U DISPOSITIVOS DE SALIDA (Monitor, Impresora, etc.) ALMACENAMIENTO (Memoria Secundaria:

Más detalles

Samsung Drive Manager Preguntas frecuentes

Samsung Drive Manager Preguntas frecuentes Samsung Drive Manager Preguntas frecuentes Instalación P.: Mi disco duro externo Samsung está conectado, pero no sucede nada. R.: Compruebe la conexión del cable USB. Si el disco duro externo Samsung está

Más detalles

Smart Buffer Plus Guía de Instalación y Configuración

Smart Buffer Plus Guía de Instalación y Configuración Smart Buffer Plus Guía de Instalación y Configuración INDICE 1- Introducción...4 2- Conexiones Hardware...5 2.1 Significado de los LED... 5 3- Configuración de Smart Buffer Plus...6 3.1 Configuración

Más detalles

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

file:///d:/users/coord%20tic/mis%20documentos/mis%20sitios%20web/web%20ntic.orgfree.com/man... Página 1 de 13 Tags: Windows XP, Instalar Windows COMO HACER UNA INSTALACION LIMPIA DE WINDOWS XP. Con este tutorial conseguiremos instalar nuestro Windows XP sin problemas y desde cero. Para ello lo primero

Más detalles

Programa de encriptación WIFI.

Programa de encriptación WIFI. Programa de encriptación WIFI. En qué consiste la aplicación? Se trata de un programa que permite encriptar automáticamente la señal wifi del Cable MODEM router de ONO. Dónde se encuentra la aplicación?

Más detalles

TELEPROCESOS Y SISTEMAS DISTRIBUIDOS

TELEPROCESOS Y SISTEMAS DISTRIBUIDOS TELEPROCESOS Y SISTEMAS DISTRIBUIDOS Semana 11 Integrantes: Cantera Salazar, Julissa A. Yalico Tello, Diana Accho Flores, Wilber En una red Trabajo en Grupo se puede compartir, o hacer disponibles a través

Más detalles

TERMOMED Cl. Uruguay, 11 7º despacho 708 46007 - Valencia ( Valencia ) Tel. / Fax. 96 344 89 31 info@termomed.net www.termomed.net

TERMOMED Cl. Uruguay, 11 7º despacho 708 46007 - Valencia ( Valencia ) Tel. / Fax. 96 344 89 31 info@termomed.net www.termomed.net PARTE 1: USO DEL HT-3 INTRODUCCIÓN El HT-3 muestra de forma continua por medio del display LCD los registros de temperatura actual, máximos y mínimos. Pueden ser definidos alarmas de máxima y mínima para

Más detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...

Más detalles

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

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación Vicerrectorado de Tecnologías de la Información y la Comunicación Conexión mediante Escritorio Remoto de Windows Última Actualización 16 de septiembre de 2013 Histórico de cambios Fecha Descripción Autor

Más detalles

MENU MULTIINICIO WINDOWS XP

MENU MULTIINICIO WINDOWS XP MENU MULTIINICIO WINDOWS XP Windows XP, al igual que otras versiones de Windows, puede presentar determinados problemas en el arranque. Las opciones que Windows XP permite para arrancar un PC después de

Más detalles

INSTRUCCIONES ACTUALIZACION PASO A PASO a MICROSOFT WINDOWS-7 (rev.1.0):

INSTRUCCIONES ACTUALIZACION PASO A PASO a MICROSOFT WINDOWS-7 (rev.1.0): INSTRUCCIONES ACTUALIZACION PASO A PASO a MICROSOFT WINDOWS-7 (rev.1.0): Puede instalar Windows 7 como una actualización a una instalación existente de Windows Vista con Service Pack 1 o Service Pack 2

Más detalles

Windows XP Instalación y configuración de hardware

Windows XP Instalación y configuración de hardware Servicio de Informática Atención al Usuario Windows XP Instalación y configuración de hardware Sección de Atención al Usuario Ultima modificación: 01 de Julio de 2.003 Instalación y configuración de hardware

Más detalles

Acronis Universal Restore

Acronis Universal Restore Acronis Universal Restore GUÍA DEL USUARIO Contenido 1 Qué es Acronis Universal Restore?...3 2 Instalación de Acronis Universal Restore...3 3 Crear dispositivos de inicio...3 4 Utilización de Acronis Universal

Más detalles

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

1.- DESCRIPCIÓN Y UTILIDAD DEL SOFTWARE DAEMON TOOLS. CREANDO UNIDADES VIRTUALES DE CD Y DVD CON DAEMON TOOLS 1.- DESCRIPCIÓN Y UTILIDAD DEL SOFTWARE DAEMON TOOLS. Daemon Tools es una herramienta que permite a los usuarios simular una unidad o varias unidades

Más detalles

Instalable módulo criptográfico Ceres. Manual de usuario

Instalable módulo criptográfico Ceres. Manual de usuario Instalable módulo criptográfico Ceres Manual de usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 1 2. REQUISITOS... 1 3. INSTALACIÓN... 2 1.1. Módulo CSP... 6 1.2. Módulo PKCS#11... 6 1.3. Certificados raíz...

Más detalles

PS.Vending Almacén Pocket PC

PS.Vending Almacén Pocket PC Versión 1.0 Enero 2013 Autor: Pedro Naranjo Rodríguez www.psvending.es Contenido Qué es PS.Vending Almacén Pocket PC?... 3 Funciona PS.Vending Almacén Pocket PC independiente de PS.Vending?... 3 Requisitos...

Más detalles

Práctica 3ProgramacionRS232: Programación básica de la RS232

Práctica 3ProgramacionRS232: Programación básica de la RS232 Práctica 3ProgramacionRS232: Programación básica de la RS232 1 Objetivos El objetivo de esta práctica es la iniciación del alumno en la programación de las comunicaciones en un entorno de desarrollo basado

Más detalles

Guía de acceso a Meff por Terminal Server

Guía de acceso a Meff por Terminal Server Guía de acceso a Meff por Terminal Server Fecha:15 Marzo 2011 Versión: 1.02 Historia de Revisiones Versión Fecha Descripción 1.00 03/07/2009 Primera versión 1.01 13/08/2009 Incorporación dominio 1.02 15/03/2011

Más detalles

WINDOWS 2008 7: COPIAS DE SEGURIDAD

WINDOWS 2008 7: COPIAS DE SEGURIDAD 1.- INTRODUCCION: WINDOWS 2008 7: COPIAS DE SEGURIDAD Las copias de seguridad son un elemento fundamental para que el trabajo que realizamos se pueda proteger de aquellos problemas o desastres que pueden

Más detalles

Compartir Biblio en una red local con Windows XP

Compartir Biblio en una red local con Windows XP Compartir Biblio en una red local con Windows XP Caso práctico Supongamos que tenemos 2 tipos de personas que van a necesitar acceder remotamente (a través de otro ordenador de la red local) a la base

Más detalles

Microsoft Access proporciona dos métodos para crear una Base de datos.

Microsoft Access proporciona dos métodos para crear una Base de datos. Operaciones básicas con Base de datos Crear una Base de datos Microsoft Access proporciona dos métodos para crear una Base de datos. Se puede crear una base de datos en blanco y agregarle más tarde las

Más detalles

Configuracion Escritorio Remoto Windows 2003

Configuracion Escritorio Remoto Windows 2003 Configuracion Escritorio Remoto Windows 2003 Instalar y configurar servicio de Terminal Server en Windows 2003 Fecha Lunes, 25 diciembre a las 17:04:14 Tema Windows (Sistema Operativo) Os explicamos cómo

Más detalles

Software Criptográfico FNMT-RCM

Software Criptográfico FNMT-RCM Software Criptográfico FNMT-RCM ÍNDICE 1. DESCARGA E INSTALACIÓN DEL SOFTWARE 2. EXPORTACIÓN DE CERTIFICADOS EN MICROSOFT INTERNET EXPLORER 3. IMPORTACIÓN DEL CERTIFICADO A LA TARJETA CRIPTOGRÁFICA -2-

Más detalles

GUÍA DE INSTALACIÓN DE SOFTWARE SISTEMA MULFIFUNCIÓNAL DIGITAL INTRODUCCIÓN ANTES DE LA INSTALACIÓN

GUÍA DE INSTALACIÓN DE SOFTWARE SISTEMA MULFIFUNCIÓNAL DIGITAL INTRODUCCIÓN ANTES DE LA INSTALACIÓN GUÍA DE INSTALACIÓN DE SOFTWARE SISTEMA MULFIFUNCIÓNAL DIGITAL INTRODUCCIÓN ANTES DE LA INSTALACIÓN INSTALANDO EL CONTROLADOR DE LA IMPRESORA CÓMO CONECTARSE A UN ORDENADOR CÓMO CONFIGURAR EL CONTROLADOR

Más detalles

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

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales: INTERRUPCIONES La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales: a)consultas (POLLING): Se comprueban cíclicamente,

Más detalles

Utilidad de configuración y actualización de Software para el SS5660

Utilidad de configuración y actualización de Software para el SS5660 Utilidad de configuración y actualización de Software para el SS5660 Este documento describe la utilidad de configuración y actualización del software para el router SpeedStream 5660 de Efficient Networks

Más detalles

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib Manual de uso de la plataforma para monitores CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib [Manual de uso de la plataforma para monitores] 1. Licencia Autor del documento: Centro de Apoyo Tecnológico

Más detalles

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

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2 Manual de software Dynamic Cloud 10/2014 MS-Dynamic_Cloud v1.2 ÍNDICE GENERAL 1. INTRODUCCIÓN... 2 1.1 Configuración mínima del PC... 2 2. INSTALAR DYNAMIC CLOUD... 3 2.1 Ejecutar Dynamic Cloud por primera

Más detalles

Unidad Didáctica 12. La publicación

Unidad Didáctica 12. La publicación Unidad Didáctica 12 La publicación Contenido 1. Desarrollar y explotar 2. Definición del Sitio 3. Alojar nuestra primera página Web 4. Configurar la conexión FTP U.D. 12 La publicación 1. Desarrollar y

Más detalles

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Servicio DNS - 1 - Servicio DNS...- 3 - Definición... - 3 - Instalación... - 5 - Configuración del Servidor DNS...- 10 - - 2 - Servicio DNS Definición

Más detalles

Instrucciones de instalación de TrueCode

Instrucciones de instalación de TrueCode Gracias por su compra y las instrucciones que le guiara a través del proceso de instalación y puesta en marcha de su nuevo software. Se recomienda la lectura y las discusiones de los usuarios por favor

Más detalles

INSTALACIÓN DE MEDPRO

INSTALACIÓN DE MEDPRO 1 Estimado Cliente: Uno de los objetivos que nos hemos marcado con nuestra nueva plataforma de gestión, es que un cliente pueda instalar MedPro y realizar su puesta en marcha de forma autónoma. Siga paso

Más detalles

Software de programación de interfaz FDT DXID. Guía del programador (DXID P01.doc)

Software de programación de interfaz FDT DXID. Guía del programador (DXID P01.doc) Software de programación de interfaz FDT DXID Guía del programador (DXID P01.doc) PREFACIO...3 DXID...4 1.0 Descripción general...4 2.0 Instalación...4 3.0 Introducción a la programación...5 3.1 Precauciones...5

Más detalles

Uso de la Firma Electrónica. en la. Universidad de Granada

Uso de la Firma Electrónica. en la. Universidad de Granada Uso de la Firma Electrónica en la Universidad de Granada (Certificado X.509 de Clase 2 de la FNMT) (Diciembre 2014) Página - 1 de 25 Contenido: Página I. LECTORES DE TARJETAS. 3 II. INSTALACIÓN DE DRIVERS

Más detalles

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Escritorio remoto - 1 - Escritorio Remoto...- 3 - Definición de Escritorio Remoto... - 3 - Habilitar Escritorio Remoto... - 4 - Instalación del

Más detalles