Informática
Puertos de un Computador
¿Qué son los puertos de comunicación de la PC., nombrarlos y describirlos?
marcar las diferencias entre los puertos de comunicación serie y paralelo.
¿Que es protocolo?
Describir el protocolo para RS-232.
¿Qué el baudio? ¿BIT/SEG?
describir velocidad de transmisión.
Programación en C de puertos serie y paralelo
1)
INTRODUCCION
Hoy en día las computadoras han avanzado bastante desde que se invento la primera, y con ellas han avanzado los dispositivos de almacenamiento. Debido al avance tecnológico se crearon puertos que sirven para recibir y enviar datos de la computadora a periféricos que estén conectados a ella, estos se llaman puertos de comunicación y actualmente se conoce una gran gama de ellos.
En el siguiente trabajo se estudiaran los siguientes dispositivos: puertos PS/2, RCA, PARALELO, SERIAL, USB, VGA y otros.
Los Puertos de Comunicación
Los puertos de comunicación son herramientas que permiten manejar e intercambiar datos entre un computador (generalmente están integrados en las tarjetas madres) y sus diferentes periféricos, o entre dos computadores. Entre los diferentes puertos de comunicación tenemos:
Puertos PS/2:
1.1 Definición:
Estos puertos son en esencia puertos paralelos que se utilizan para conectar pequeños periféricos a la PC. Su nombre viene dado por las computadoras de modelo PS/2 de IBM, donde fueron utilizados por primera vez.
1.2 Características:
Este es un puerto serial, con conectores de tipo Mini DIN, el cual consta por lo general de 6 pines o conectores. La placa base tiene el conector hembra. En las placas de hoy en día se pueden distinguir el teclado del Mouse por sus colores, siendo el teclado (por lo general) el de color violeta y el Mouse el de color verde. (Anexo B)
1.3 Forma: (Anexo B.1)
Existen 2 conectores diferentes para estos puertos. El primero es un DIN de 5 pines (conocido comúnmente como AT) y el segundo es un conector MiniDIN de 6 pines (normalmente llamado PS/2). Estos dos conectores son electrónicamente iguales, lo único que cambia es su apariencia interna.
1.4 Ubicación en el sistema informático:
Estos puertos son utilizados principalmente por teclados y ratones.
Puertos USB (Universal Serial Bus):
2.1 Definición:
Estándar que comenzó en 1995 por Intel, Compaq, Microsoft. En 1997, el USB llegó a ser popular y extenso con el lanzamiento del chipset de 440LX de Intel.
Es una arquitectura de bus desarrollada por las industrias de computadoras y telecomunicaciones, que permite instalar periféricos sin tener que abrir la maquina para instalarle hardware, es decir, que basta con conectar dicho periférico en la parte posterior del computador.
2.2 Características:
-
Una central USB le permite adjuntar dispositivos periféricos rápidamente, sin necesidad de reiniciar la computadora ni de volver a configurar el sistema.
-
El USB trabaja como interfaz para la transmisión de datos y distribución de energía que ha sido introducido en el mercado de PCs y periféricos para mejorar las lentas interfases serie y paralelo.
-
Los periféricos para puertos USB son reconocidos automáticamente por el computador (y se configuran casi automáticamente) lo cual evita dolores de cabeza al instalar un nuevo dispositivo en el PC.
-
Los puertos USB son capaces de transmitir datos a 12 Mbps.
2.3 Forma: (Anexo C)
Existe un solo tipo de cable USB (A-B) con conectores distintos en cada extremo, de manera que es imposible conectarlo erróneamente. Consta de 4 hilos, transmite a 12 Mbps y es "Plug and Play", que distribuye 5v para alimentación y transmisión de datos.
2.4 Ubicación en el sistema informático
El USB es la tecnología preferida para la mayoría de los teclados, Mouse y otros dispositivos de entrada de información de banda estrecha. El USB también esta muy extendido en cámaras fotográficas digitales, impresoras, escáneres, módems, joysticks y similares.
Puertos Seriales (COM):
3.1 Definición:
Son adaptadores que se utilizan para enviar y recibir información de BIT en BIT fuera del computador a través de un único cable y de un determinado software de comunicación. Un ordenador o computadora en serie es la que posee una unidad aritmética sencilla en la cual la suma en serie es un calculo digito a digito
3.2 Características:
-
Los puertos seriales se identifican típicamente dentro del ambiente de funcionamiento como puertos del COM (comunicaciones). Por ejemplo, un ratón pudo ser conectado con COM1 y un módem a COM2.
-
Los voltajes enviados por los pines pueden ser en 2 estados, encendido o apagado. Encendido (valor binario de 1) significa que el pin esta transmitiendo una señal entre -3 y -25 voltios, mientras que apagado (valor binario de 0) quiere decir que esta transmitiendo una señal entre +3 y +25 voltios.
-
Forma: (Anexo D)
-
Puertos Paralelos (LPT):
-
Características:
-
4 Líneas de control
-
5 Líneas de estado
-
8 Líneas de datos
-
Ubicación en el sistema informático:
-
Puertos RJ-11:
-
Características:
-
Forma:
-
Puertos RJ-45:
-
Es utilizada comúnmente con estándares como EIA/TIA-568B, que define la disposición de los pines.
-
Para que todos los cables funcionen en cualquier red, se sigue un estándar a la hora de hacer las conexiones.
-
Este conector se utiliza en la mayoría de las tarjetas de ethernet (tarjetas de red) y va en los extremos de un cable UTP nivel 5
-
Puertos VGA
-
Su conector es un HD 15, de 15 pines organizados en 3 hileras horizontales.
-
Puertos RCA
-
Definición:
-
Características:
-
Forma: (Anexo I)
-
Amarillo para el vídeo compuesto
-
Rojo para el canal de sonido derecho
-
Blanco o negro para el canal de sonido izquierdo (en sistemas estéreo)
-
Ubicación en el sistema informático:
-
www.monografias.com/trabajos17/conectores/conectores.shtml
-
http://es.wikipedia.org/wiki/PS/2
-
http://www.packardbell.es/specialevents/infocenter/04/Howto/hard/04hwht01/04hwht01.htm
-
http://www.aisa.uvigo.es/DOCENCIA/Ffi/TranspFI/complementos/perifericos/Partes%20de%20un%20computador.htm
-
http://www.angelfire.com/pa2/jcgr/tecnica/PP/descrip.htm
-
Manual de computación Básica.
-
http://pchardware.org/puertos.php
-
http://www.glosarium.com/term/388,14,xhtml
-
Carrier Detect (Portador detector)- Determina si el modem está conectado a una línea telefónica en funcionamiento.
-
Receive Data (Receptor)- La computadora recibe la información enviada por el modem.
-
Transmit Data (Transmisor)- La computadora envía información al modem.
-
Data Terminal Ready - La computadora le dice al modem que está listo para hablar.
-
Signal Ground (Tierra)- Este pin es aterrizado.
-
Data Set Ready - El Modem le dice a la computadora que esta listo para hablar.
-
Request To Send (Solicitar para envió)- La computadora le pregunta al modem si esta puede enviar información.
-
Clear To Send - El modem le dice a la computadora que ya le puede enviar información.
-
Ring Indicator - Una vez que una llamada ha tomado lugar, la computadora reconoce por esta señal (enviada por el modem) que una llamada es detectada.
-
No utilizado
-
Transmit Data (Transmisor)- La computadora envía información al modem.
-
Receive Data (Receptor)- La computadora recibe la información enviada por el modem.
-
Request To Send (Solicitar para envio)- La computadora le pregunta al modem si esta puede enviar información.
-
Clear To Send - El modem le dice a la computadora que ya le puede enviar información.
-
Data Set Ready - El Modem le dice a la computadora que esta listo para hablar.
-
Signal Ground - Este pin es aterrizado.
-
Received Line Signal Detector - Determina si el modem está conectado a una línea telefónica en funcionamiento.
-
No utilizado
-
No utilizado
-
No utilizado
-
No utilizado
-
No utilizado
-
No utilizado
-
No utilizado
-
No utilizado
-
No utilizado
-
No utilizado
-
No utilizado
-
Data Terminal Ready - La computadora le dice al modem que está lista para hablar.
-
No utilizado
-
Ring Indicator - Una vez que una llamada ha tomado lugar, la computadora reconoce por esta señal (enviada por el modem) que una llamada es detectada.
-
No utilizado
-
No utilizado
-
No utilizado
Estos conectores son de tipo macho y los hay de 2 tamaños, uno estrecho, de 9 pines agrupados en dos hileras con una longitud aproximada de 17mm y otro ancho de 25 pines, con una longitud de unos 38mm, internamente son iguales (9 pines) y realizan las mismas funciones.
3.4 Ubicación en el sistema informático:
Estos puertos se utilizan para conectar el Mouse y el MODEM. Normalmente el Mouse se conecta a un puerto COM de 9 pines (comúnmente COM1) y el MODEM se conecta a un puerto de 25 pines (comúnmente COM2).
4.1 Definición:
Son conectores utilizados para realizar un enlace entre dos dispositivos; en el sistema lógico se le conoce como LPT. El primer puerto paralelo LPT1 es normalmente el mismo dispositivo PRN (nombre del dispositivo lógico de la impresora).
Unidireccional - puerto estándar 4-BIT que por defecto de la fábrica no tenía la capacidad de transferir datos ambas direcciones.
Bidireccional - puerto estándar 8-BIT que fue lanzado con la introducción del puerto PS/2 en 1987 por IBM y todavía se encuentra en computadoras hoy. El puerto bidireccional es capaz de enviar la
entrada 8-bits y la salida. Hoy en las impresoras de múltiples funciones este puerto se puede referir como uno bidireccional
EPP - el puerto paralelo realzado (EPP) fue desarrollado en 1991 por Intel, Xircom y funciona cerca de velocidad de una tarjeta ISA y puede alcanzar transferencias hasta 1 a 2MB / por segundo de datos.
4.3 Forma: (Anexo E)
Estos puertos son del tipo hembra, de unos 38mm de longitud con 25 pines agrupados en dos hileras.
El puerto paralelo está formado por 17 líneas de señales y 8 líneas de tierra (Anexo E.1). Las líneas de señales están formadas por tres grupos:
Normalmente se utiliza para conectar impresoras, scanners y en algunos casos hasta dos PCs.
Los puertos de comunicación mayormente utilizados en el ambiente de las redes son el RJ-45 y el RJ-11.
5.1 Definición:
Es un conector utilizado por lo general en los sistemas telefónicos y es el que se utiliza para conectar el MODEM a la línea telefónica de manera que las computadoras puedan tener acceso a Internet.
El RJ11 se refiere expresamente al conector de medidas reducidas el cual está al cable telefónico y tiene cuatro contactos (pines) para cuatro hilos de cable telefónico aunque se suelen usar únicamente dos.
En España se usa en toda conexión telefónica. En Alemania, por el contrario, usan RJ45 como conectores telefónicos.
Tiene forma de cubo, y consta de cuatro cables de los cuales se utilizan solo dos para las conexiones telefónicas. Este es mayormente usado en España. (Anexo F)
6.1 Definición:
Es una interfaz física utilizada comúnmente en las redes de computadoras, sus siglas corresponden a "Registered Jack" o "Clavija Registrada", que a su vez es parte del código de regulaciones de Estados Unidos.
6.2 Características:
6.3 Forma: (Anexo G)
Posee ocho pines o conexiones eléctricas, que normalmente se usan como extremos de cables de par trenzado.
6.4 Ubicación en el sistema informático:
Se conecta a la tarjeta de red. Puede tener el formato RJ45 (parecido al de un conector de teléfono) o BINC.
7.1 Definición:
El puerto VGA es el puerto estandarizado para conexión del monitor a la PC.
7.2 Características:
7.3 Forma: (Anexo H)
Es de forma rectangular, con un recubrimiento plástico para aislar las partes metálicas.
7.4 Ubicación en el sistema informatico:
En la parte posterior de los monitores y en la parte trasera del PC, cerca del puerto de S-video.
El conector RCA es un tipo de conector eléctrico común en el mercado audiovisual. El nombre "RCA" deriva de la Radio Corporation of América, que introdujo el diseño en los 1940.
Un problema del sistema RCA es que cada señal necesita su propio cable. Para evitar líos, se usan otros tipos de conectores combinados, como el euroconector (SCART), presente en la mayoría de televisiones modernas. Además, también se encuentran adaptadores RCA-SCART.
El cable tiene un conector macho en el centro, rodeado de un pequeño anillo metálico (a veces con ranuras), que sobresale. En el lado del dispositivo, el conector es un agujero cubierto por otro aro de metal, más pequeño que el del cable para que éste se sujete sin problemas.
Ambos conectores (macho y hembra) tienen una parte de plástico. Los colores usados suelen ser:
Se puede ubicar en las tarjetas capturadoras de video menos recientes ya que esta siendo suplantado por la puerta de súper video.
CONCLUSION
Actualmente, la tecnología esta en constante avance debido a las nuevas necesidades que se le presenta a los usuarios, y esto hace que se creen nuevos programas, mas fáciles de usar y mas eficientes y dispositivos que respondan a los programas nuevos. Los puertos son una parte esencial de la computadora ya que sin ellos no se daría el intercambio de datos o información entre una computadora y sus periféricos o entre una computadora y otra.
Los puertos mas usados para las conexiones telefónicas son el rj11 y rj45 y estos son mas usados en España y en Alemania respectivamente.
Los puertos RCA se utilizan para señales de audio y video independiente porque cada uno manda una señal y actualmente no son muy usados en la computadora. el PS/2 es una forma de conectar dispositivos externos especialmente pensado para el Mouse y para el teclado. El USB es una interfase entre la PC y ciertos dispositivos tales como teclado, Mouse, cámaras y impresoras, el PARALELO lo usan las impresoras, el SERIAL es un interfaz de comunicaciones entre ordenadores y periféricos y el VGA es el cable que lleva la señal de video del PC al monitor.
REFERENCIAS
ANEXOS
ANEXO A
ANEXO B
PUERTOS PS/2
ANEXO B.1
ANEXO C
PUERTOS USB
ANEXO D
PUERTOS SERIALES
ANEXO E
PUERTOS PARALELOS
ANEXO E.1
ANEXO F
PUERTOS RJ-11
ANEXO G
PUERTOS RJ-45
ANEXO H
PUERTOS VGA
ANEXO I
PUERTOS RCA
4) PUERTO SERIE (RS-232).
Los puertos RS-232, también conocidos como puertos serie y como puertos COM son uno de los primeros puertos de comunicaciones incorporados a los PC, pero también uno de los más ineficaces.
El interfase de este tipo de puerto suele ser de dos tipos, de 9 pines (normalmente señalado como COM1) y de 25 pines(normalmente señalado como COM2), siendo estos conectores de tipo MACHO en la parte del PC, en el caso de los puertos RS-232 la unidad de medida es el Baudio, en lugar de utilizar el m. En un principio todas las placas base contaban con ambos tipos de puerto serie. Posteriormente el puerto de 25 pines desapareció y las placas incorporaban 2 puertos de 9 pines (COM1 y COM2) y en la actualidad solo suelen tener un puerto COM de 9 pines, siendo cada vez mas frecuentes las placas que ni siquiera traen este o bien que lo traen en una chapita independiente.
La capacidad máxima que se alcanza en este tipo de puerto es de 20Kb/s.
En cuanto a la velocidad ás habitual hoy en día de bit por segundo, siendo el ratio de entre 75 baudios y 128000 baudios, aunque los más utilizados son 9600, 14400 y 19200 baudios.
En cuanto a la distancia permitida en este tipo de conexiones, en la práctica, dependiendo del dispositivo a conectar, permite distancias de hasta unos 40 metros, pero la velocidad permitida es inversamente proporcional a la distancia.
A pesar de estar cayendo en desuso, este puerto sigue siendo muy utilizado en las comunicaciones de las cajas registradoras, visores, impresoras de tickets y unidades lectoras/grabadoras de EPROM y en general para las conexiones de configuración de numerosos dispositivos. Existen también adaptadores de COM 9 a COM 25.
En cuanto a los puertos COM hay que hacer una aclaración. Los PC reconocen como puerto COM a todo puerto que se crea destinado a comunicaciones (independientemente de su interface), como pueden ser los puertos de comunicación creados por un BlueTooth.
2) PUERTO PARALELO.
El puerto paralelo más conocido es el puerto de impresora, también conocido como Puerto LPT. A veces se le denomina Centronic, que es el nombre que recibe el conector del extremo correspondiente a la impresora, siendo el conector de la parte del ordenador un conector de 25 pines del tipo HEMBRA.
El puerto paralelo envía un byte o más de datos a la vez por diferentes hilos, mas una serie de bits de control, creando un bus de datos. En este aspecto de comporta de forma diferente al puerto serie, que hace el envío bit a bit, y por el mismo hilo.
Hay en el ordenador otros puertos paralelo, aunque rara vez se piense en ellos como tales. Se trata de los puertos paralelos IDE, que también reciben el nombre de PATA (Paralell ATA) o el puerto SCSI, este último usado sobre todo en Macintosh y en servidores, mas que nada por su alto costo.
Considerada como una de los más básicas conexiones externas a una computadora, el puerto serie ha sido una parte integral de todas las computadoras por mas de 20 años. A pesar de que muchos sistemas nuevos han abandonado el puerto serie completamente y adoptado conexiones por USB, muchos modems aun usan el puerto serie, así como algunas impresoras, PDAs y cámaras digitales. Pocas computadoras tienen mas de 2 puertos serie.
|
Esencialmente, los puertos serie proveen un conector estándar y un protocolo que te permite conectar dispositivos, tales como modems, microcontroladores, etc, a a tu computadora.
Todos los sistemas operativos en uso hoy en día suportan los puertos serie, por que estos puertos se han usado por décadas. Los puertos paralelos son un invento mas reciente y mas rápidos que los puertos serie. Los puertos USB tienen solo algunos años y en un futuro reemplazaran tanto a los serie como a los paralelos.
El término "serial" viene del hecho de que el puerto serie "serializa" los datos. Esto quiere decir que toma un byte de datos y transmite los 8 bits del byte uno a la vez. La ventaja del puerto serie es que necesita únicamente 1 solo cable para transmitir los 8 bits (mientras que un puerto paralelo necesita 8). La desventaja es que dura 8 veces mas para transmitir el dato que si tuviéramos 8 cables.
Antes de cada byte de información , el puerto serial manda un bit de comienzo (start bit), el cual es un bit con valor de 0. Después de cada byte de datos, este manda un bit de parada (stop bit) para indicar que el byte ha sido completado. Algunas veces también se manda un bit de paridad.
Los puertos serie, también llamados puertos de comunicación (COM), son bi-direccionales. La comunicación bidireccional permite a cada dispositivo recibir datos, así como también transmitirlos. Los dispositivos seriales usan distintos pines para recibir y transmitir datos. Usando el mismo pin, limitaría la comunicación a half-duplex, esto quiere decir que la información solamente podría viajar en una dirección a la vez. Usando distintos pines, permite que la comunicación sea full-duplex, en la cual la información puede viajar en ambas direcciones al mismo tiempo.
|
Los puertos seriales dependen de un chip especial como controlador, el Universal Asynchronous Receiver/Transmitter (UART), para funcionar correctamente. El UART toma la salida paralela del bus del sistema de la computadora y lo transforma en forma serial, para transmitirse a través del puerto serie. Con la finalidad de que funcione más rápido, la mayoría de los chip UART tienen un buffer integrado que varia de 16 a 16kB de capacidad. Este buffer permite almacenar datos que vienen del bus del sistema, mientras procesa los datos de salida (por el puerto serie). Mientras la mayoría de los puertos serie tienen una velocidad de transferencia de 115Kbps (kilobits por segundo), los puertos seriales de alta velocidad tales como el Enhanced Serial Port (ESP) y el Super Enhanced Serial Port (Super ESP), pueden alcanzar velocidades de transferencia de 460Kbps.
LA CONEXIÓN SERIAL
El conector externo para un puerto serie puede ser de 9 o de 25 pines. Originalmente, el uso primario de un puerto serie era de conectar un modem a la computadora. La asignación de los pines refleja eso. Echemos una mirada mas cercana a lo que pasa en cada pin cuando un modem es conectado.
|
CONECTOR DE 9 PINES
CONECTOR DE 25 PINES
Los voltajes enviados por los pines puede ser en 2 estados, Encendido o Apagado. Encendido (valor binario de "1") significa que el pis está transmitiendo una señal entre -3 y -25 volts, mientras que Apagado (valor binario de "0") quiere decir que está transmitiendo una señal entre +3 y +25 volts.
Yendo con la Corriente
Un aspecto importante de la comunicación serial es el concepto de control de flujo. Esta es la habilidad de un dispositivo de decirle a otro que pare de enviar datos por un tiempo. Los comandos Request to send (RTS), Clear To Send(CTS), Data Terminal Ready(DTR) y Data Set Ready(DSR), son usados para permitir el control de flujo.
Veamos un ejemplo de como funciona el control de flujo. Tu tienes un modem que se comunica a 56Kbps. La conexión serial entre tu computadora y tu modem transmite a 115Kbps, el cual es mas del doble de rápido. Esto significa que el modem está recibiendo mas información de la computadora que la que puede transmitir por la línea telefónica. Aun si el modem tuviera un buffer de 128K para almacenar datos, este rápidamente se llenaría y sería incapaz de funcionar correctamente con toda la información llegándole de la computadora.
Con este control de flujo, el modem puede parar el flujo de datos de la computadora antes de que agote el buffer del modem. La computadora está enviando constantemente una señal de Petición de Envió (RTS) y checando por una señal en el pin Libre para enviar (CTS). Si no hay una respuesta por este pin, la computadora para de enviar información, esperando hasta que le llegue la señal CTS para resumir. Esto permite que el modem mantenga un flujo de datos corriendo finamente.
3) Se le llama protocolo de red o protocolo de comunicación al conjunto de reglas que controlan la secuencia de mensajes que ocurren durante una comunicación entre entidades que forman una red. En este contexto, las entidades de las cuales se habla son programas de computadora o automatismos de otro tipo, tales y como dispositivos electrónicos capaces de interactuar en una red.
5) Baudio: Unidad de medida que determina el número de cambios de estados en una señal por segundo. // En la transmisión de datos, baudio es la cantidad de veces que cambia el estado del medio de transmisión por segundo. Cada cambio de estado afecta a más de un bit de información, por lo tanto la tasa de bits puede ser superior a la tase de baudios.
6) Velocidad de transmisión
La velocidad de transmisión es simplemente el número de bits transmitidos por segundo cuando se envía un flujo continuo de datos. Existen unas velocidades estándar de transmisión que son 75, 150, 300, 600, 1200, 1800, 2400, 4800, 9600 y 19200. La mayoría de los modems transmiten y reciben a 300 baudios, o transmiten a 75 y reciben a 1200 baudios. El baudio es la velocidad de transmisión y es equivalente a un bit por segundo. Las velocidades de transmisión altas no son útiles en sistemas telefónicos. Para producir una transmisión 'de datos con éxito, es esencial que los equipos transmisores trabajen a la misma velocidad.
También es necesario que los datos se transmitan con el mismo formato, el número de bits de datos y de parada deben ser el mismo, igual que el tipo de paridad utilizada. De todas formas, a veces es posible recibir con un formato equivocado. Por ejemplo, dos bits de parada funcionarán igual que un bit de parada. No existe peligro de estropear el equipo utilizando formatos incorrectos, así que puede resultar interesante realizar pruebas. De todas formas, el número de bits de comienzo suele estar especificado (por ejemplo, el RS-232C y RS-423 siempre es un bit de comienzo). Cuando se utilicen modems es importante darse cuenta de que están diseñados para trabajar a una de- terminada velocidad de transmisión y que, por tanto, si se utiliza otra no se realizará correctamente una transmisión. No intente utilizar una velocidad de transmisión superior a la de las especificaciones de su módem, ya que, en el extraño caso de que funcione, no le proporcionará ninguna fiabilidad. La figura 2 proporciona los detalles de las conexiones del estándar RS-232C, pero hay que indicar que la mayoría de los ordenadores con interfaz serie no utilizan el conector estándar D-25 que se muestra en la figura 2.
De todas formas, el manual de su ordenador le dará los detalles necesarios para realizar las conexiones oportunas. A pesar de que no se utilizan las 25 conexiones del terminal, un interfaz RS-232C completo emplea gran cantidad de terminales. En la práctica, la mayoría de los interfaces RS-232C sólo utilizan cinco de estos terminales, y para la utilización con un módem sólo hacen falta tres. Estos son la tierra, la salida de datos y la entrada de datos. La mayoría de los puertos serie incluyen algunas líneas de acoplamiento (handshake) que permiten al equipo receptor detener los datos si estos se transmiten a una velocidad excesiva.
Probablemente sería posible realizar un sistema que incluyera señales de acoplamiento a través de la línea telefónica, a las señales de datos y acoplamiento multiplexadas en la misma línea por el transmisor y demultiplexada de nuevo en el equipo receptor. No conozco ningún sistema práctico de este tipo y, de todas formas, sería una complicación innecesaria. Las extremadamente lentas velocidades de transmisión utilizadas con los modems hacen que no sea difícil para el equipo receptor aceptar un flujo continuo de datos. Considérese la popular velocidad de transmisión de 300 baudios. Con 10 bits por byte (incluyendo el de parada y el de comienzo) se, logra una velocidad máxima de transferencia de 30 bytes por segundo. Excepto con ordenadores muy lentos, un software de terminal escrito en BASIC puede resultar suficiente y no es normalmente necesario recurrir al lenguaje máquina. Existe una ligera complicación en el sistema RS-232C que consiste en que hay dos tipos de equipos RS-232C, hay equipos terminales de datos (DTE) y equipos de comunicación de datos (DCE). Los equipos terminales de datos pueden ser considerados como el elemento central del sistema y, por tanto, recibe por la entrada de da- tos y transmite a través de la salida de datos.
El equipo de comunicación de datos realiza la función opuesta; por tanto, transmite por el conector de entrada y recibe en el de salida. La razón de utilizar este sistema es que permite que un cable de 25 líneas pueda servir para conectar los dos elementos del equipo sin necesidad de conexiones cruzadas. Este sistema funciona correctamente si las dos partes del equipo que se pretenden conectar son, una, un ' DTE, y otra un DCE. Si se quiere conectar dos equipos del mismo tipo, entonces sí será necesario utilizar cables con conexiones cruzadas. Algunos ordenadores solucionan este problema teniendo dos puertos serie, uno configurado como DTE y el otro corno DCE.
7)
Escribiendo datos al puerto paralelo
Con ocho bits podemos escribir en el puerto un total de 256 valores diferentes, cada uno de éstos representa un byte de información y cada byte puede representar una acción concreta que nosotros podemos definir de acuerdo a nuestras necesidades. En éste artículo el objetivo es entender cómo trabajar con el puerto paralelo, por lo tanto hagamos un programa que nos permita escribir un número cualquiera entre 0 y 255 de tal manera que sea posible visualizar el valor en formato binario. En primer lugar consulte la documentación de su compilador para verificar la correcta sintáxis de la función que nos sirve para escribir en el puerto, en el caso específico de Symantec C++, dicha función es outp( ). Ésta función requiere dos parámetros, el primero de tipo unsigned int que especifica la dirección del puerto paralelo, y el segundo de tipo char que especifica el valor a escribir en las líneas de datos de puerto. Una típica llamada a la función outp( ) se parece a ésto:
outp(0x378, 65); |
Se aprecia la facilidad de manejo de la función, aunque diferentes compiladores dan a sus respectivas funciones nombres diferentes, la mecánica es la misma, se requieren dos parámetros, la dirección del puerto y el valor a escribir en el puerto. Estudie el siguiente código:
/********************************************************** * puerto2.c * * Escribe datos al puerto paralelo de la PC * * (c)1999, Virgilio Gómez Negrete * **********************************************************/ #include <stdio.h> #include <dos.h> int puerto(int direcc); int seleccion; int main() { unsigned int __far *puntero_a_direccion; int i, direccion[3]={0,0,0}, disponible[3]={0,0,0}; puntero_a_direccion = (unsigned int __far *)0x00000408; printf("Seleccione el puerto:\n"); /* ¿Cuantos puertos existen? */ for (i=0; i<3; i++) { if (*puntero_a_direccion == 0) printf("Puerto LPT%d...............no disponible\n", i+1); else { disponible[i] = 1; direccion[i] = *puntero_a_direccion; printf("Puerto LPT%d...............%d\n", i+1, i+1); } puntero_a_direccion++; } printf("Salir del programa........0\n"); scanf("%d", &seleccion); do { switch(seleccion) { case 0:/* Salir del programa */ printf("Adios!!!\n"); return 0; break; case 1:/* Puerto LPT1 */ if(disponible[0]==1) puerto(direccion[0]); else { printf("ERROR: PUERTO NO DISPONIBLE\n"); return 0; } break; case 2:/* Puerto LPT2 */ if(disponible[1]==1) puerto(direccion[1]); else { printf("ERROR: PUERTO NO DISPONIBLE\n"); return 0; } break; case 3:/* Puerto LPT3 */ if(disponible[2]==1) puerto(direccion[2]); else { printf("ERROR: PUERTO NO DISPONIBLE\n"); return 0; } break; default: printf("ERROR: OPCION INCORRECTA!\n"); break; } if(seleccion!=0) { printf("Seleccione otra opcion\n"); scanf("%d", &seleccion); } } while(seleccion!=0); return 0; } int puerto(int direcc) { unsigned char valor; /* Solo valores entre 0 y 255 */ printf("Ahora puede escribir cualquier valor\n"); printf("entre 1 y 255, 0 para terminar el programa\n"); do { printf("Valor al puerto?\n"); scanf("%d", &valor); outp(direcc, valor); printf("Se ha escrito %d al puerto\n", valor); } while(valor!=0); return seleccion=0; } |
El programa determina el número de puertos paralelo instalados en la computadora y almacena sus respectivas direcciones en el arreglo llamado direccion[i], en caso de encontrarse una dirección válida además se establece en 1 el valor del arreglo llamado disponible[i] simplemente como una medida de seguridad adicional. Como resultado de éstas acciones el programa despliega un menú basado en los puertos encontrados, en este punto Usted puede seleccionar, en caso de que disponga de más de un puerto, el puerto en donde está conectado el circuito mostrado en el diagrama de arriba.
Una vez seleccionado el puerto Usted puede escribir un valor cualquiera comprendido entre 0 y 255. Independientemente del puerto seleccionado toda la funcionalidad del programa está encapsulada en la función de tipo int llamada puerto( ) a la cual se le pasa un único parámetro que es la dirección del puerto seleccionado. La función está codificada de tal forma que al escribir un 0 el programa termina, de ésta manera al cerrar el programa las líneas de datos del puerto paralelo están todas en un nivel lógico bajo. Éste programa y el circuito asociado son útiles para entender de forma visual la forma de representar valores en formato binario, además establece las bases de trabajo para otros proyectos de control basados en computadora. Disfrute la experiencia.
Puerto serie:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <termios.h>
#include <stdio.h>
/* la tasa de baudios esta definida en <asm/termbits.h>, que esta
incluida <termios.h> */
#define BAUDRATE B19200
/* cambie esta definicion por el puerto correcto */
#define MODEMDEVICE "/dev/ttyS1"
#define FALSE 0
#define TRUE 1
volatile int STOP=FALSE;
main()
{
int fd,c, res;
struct termios oldtio,newtio;
char buf[255];
/*
Abre el dispositivo modem para lectura y escritura y no como controlador
tty porque no queremos que nos mate si el ruido de la linea envia
un CTRL-C.
*/
printf("ttyS1 abierto");
fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY );
if (fd <0) { perror(MODEMDEVICE); exit(-1); }
printf("ttyS1 abierto");
tcgetattr(fd,&oldtio); /* almacenamos la configuracion actual del puerto */
bzero(newtio, sizeof(newtio)); /* limpiamos struct para recibir los
nuevos parametros del puerto */
/*
BAUDRATE: Fija la tasa bps. Podria tambien usar cfsetispeed y cfsetospeed.
CRTSCTS : control de flujo de salida por hardware (usado solo si el cable
tiene todas las lineas necesarias Vea sect. 7 de Serial-HOWTO)
CS8 : 8n1 (8bit,no paridad,1 bit de parada)
CLOCAL : conexion local, sin control de modem
CREAD : activa recepcion de caracteres
*/
newtio.c_cflag = BAUDRATE | CRTSCTS | CS8 | CLOCAL | CREAD;
/*
IGNPAR : ignora los bytes con error de paridad
ICRNL : mapea CR a NL (en otro caso una entrada CR del otro ordenador
no terminaria la entrada) en otro caso hace un dispositivo en bruto
(sin otro proceso de entrada)
*/
newtio.c_iflag = IGNPAR | ICRNL;
/*
Salida en bruto.
*/
newtio.c_oflag = 0;
/*
ICANON : activa entrada canonica
desactiva todas las funcionalidades del eco, y no envia segnales al
programa
llamador
*/
newtio.c_lflag = ICANON;
/*
inicializa todos los caracteres de control
los valores por defecto se pueden encontrar en /usr/include/termios.h,
y vienen dadas en los comentarios, pero no los necesitamos aqui
*/
newtio.c_cc[VINTR] = 0; /* Ctrl-c */
newtio.c_cc[VQUIT] = 0; /* Ctrl-\ */
newtio.c_cc[VERASE] = 0; /* del */
newtio.c_cc[VKILL] = 0; /* @ */
newtio.c_cc[VEOF] = 4; /* Ctrl-d */
newtio.c_cc[VTIME] = 0; /* temporizador entre caracter, no usado */
newtio.c_cc[VMIN] = 1; /* bloqu.lectura hasta llegada de caracter. 1 */
newtio.c_cc[VSWTC] = 0; /* '\0' */
newtio.c_cc[VSTART] = 0; /* Ctrl-q */
newtio.c_cc[VSTOP] = 0; /* Ctrl-s */
newtio.c_cc[VSUSP] = 0; /* Ctrl-z */
newtio.c_cc[VEOL] = 0; /* '\0' */
newtio.c_cc[VREPRINT] = 0; /* Ctrl-r */
newtio.c_cc[VDISCARD] = 0; /* Ctrl-u */
newtio.c_cc[VWERASE] = 0; /* Ctrl-w */
newtio.c_cc[VLNEXT] = 0; /* Ctrl-v */
newtio.c_cc[VEOL2] = 0; /* '\0' */
/*
ahora limpiamos la linea del modem y activamos la configuracion del
puerto
*/
tcflush(fd, TCIFLUSH);
tcsetattr(fd,TCSANOW,&newtio);
/*
configuracion del terminal realizada, ahora manejamos las entradas.
En este ejemplo, al introducir una 'z' al inicio de linea terminara el
programa.
*/
while (STOP==FALSE) { /* bucle hasta condicion de terminar */
/*
bloque de ejecución de programa hasta que llega un carácter de fin de
línea, incluso si llegan mas de 255 caracteres.
Si el numero de caracteres leidos es menor que el numero de caracteres
disponibles, las siguientes lecturas devolverán los caracteres restantes.
'res' tomara el valor del numero actual de caracteres leídos.
*/
res = read(fd,buf,255);
buf[res]=0; /* envió de fin de cadena, a fin de poder usar printf */
printf(":%s:%d\n", buf, res);
if (buf[0]=='z') STOP=TRUE;
}
/* restaura la anterior configuración del puerto */
tcsetattr(fd,TCSANOW,&oldtio);
}
Descargar
Enviado por: | Gonzalo Bravo |
Idioma: | castellano |
País: | Argentina |