Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Sistema de Control de Dispositivos Sobre TCP/IP e Infrarrojo (página 2)



Partes: 1, 2, 3

La ingeniería en los sistemas de
control

Los problemas
considerados en la ingeniería de los sistemas de
control, básicamente se tratan mediante dos pasos
fundamentales como son:

El análisis

El diseño

En el análisis se investiga las
características de un sistema
existente. Mientras que en el diseño
se escogen los componentes para crear un sistema de control que
posteriormente ejecute una tarea particular. Existen dos métodos de
diseño:

Diseño por análisis

Diseño por síntesis

El diseño por análisis modifica las
características de un sistema existente o de un modelo
estándar del sistema y el diseño por síntesis
en el cual se define la forma del sistema a partir de sus
especificaciones.

La representación de los problemas en los
sistemas de control se lleva a cabo mediante tres
representaciones básicas o modelos:

  • Ecuaciones Diferenciales y otras relaciones matemáticas.
  • Diagramas en bloque.
  • Gráficas en flujo de
    análisis.

Los diagramas y las
gráficas de flujo son representaciones
gráficas que pretenden el acortamiento del proceso
correctivo del sistema, sin importar si está caracterizado
de manera esquemática o mediante ecuaciones
matemáticas. Las ecuaciones
diferenciales se emplean cuando se requieren relaciones
detalladas del sistema. Cada sistema de control se puede
representar teóricamente por sus ecuaciones
matemáticas.

2.2 Arquitectura de
la Internet

Internet es una red mundial de computadoras
interconectadas con un conjunto de protocolos, el
más destacado, el TCP/IP.
Aparece por primera vez en 1960. También se usa este
nombre como sustantivo común y por tanto en
minúsculas para designar a cualquier red de redes que use las mismas
tecnologías que Internet, independientemente
de su extensión o de que sea pública o
privada.

Cuando se dice red de redes se hace referencia a
que es una red formada por la interconexión de otras redes
menores.

Al contrario de lo que se piensa comúnmente,
Internet no es sinónimo de World Wide
Web. Ésta es parte de Internet, siendo la World Wide
Web uno de los
muchos servicios
ofertados en la red Internet. La Web es un sistema de
información mucho más reciente (1995) que
emplea Internet como medio de transmisión.

Algunos de los servicios disponibles en Internet aparte
de la Web son el acceso remoto a otras máquinas
(SSH y telnet),
transferencia de archivos
(FTP), correo
electrónico (SMTP), boletines electrónicos
(news o grupos de
noticias),
conversaciones en línea (IRC y chats), mensajería
instantánea, transmisión de archivos (P2P, P2M,
Descarga Directa), etc

El género de
la palabra Internet es ambiguo según el Diccionario de
la Real Academia Española. Es común escuchar hablar
de "el Internet" o "la Internet". Algunas personas abogan por "la
Internet", pues Internet es una red y el género de la
palabra es femenino. El artículo se utiliza como calco del
inglés,
the Internet, sin embargo, tampoco es necesario en
castellano.

Cronología

1969, DARPA comienza a planificar la creación de
una red que conecte computadores en caso de una eventual guerra
atómica que incomunique a los humanos sobre la tierra, con
fines principalmente de defensa.

1972, se realizó la Primera demostración
pública de ARPANET, una nueva Red de comunicaciones
financiada por la DARPA que funcionaba de forma distribuida sobre
la red telefónica conmutada. El éxito
de ésta nueva arquitectura sirvió para que, en
1973, la DARPA iniciara un programa de
investigación sobre posibles técnicas
para interconectar redes (orientadas al tráfico de
paquetes) de distintas clases. Para éste fin,
desarrollaron nuevos protocolos de comunicaciones que permitiesen
este intercambio de información de forma "transparente" para
las computadoras conectadas. De la filosofía del proyecto
surgió el nombre de "Internet", que se aplicó al
sistema de redes interconectadas mediante los protocolos TCP e
IP.

1983, el 1 de enero, ARPANET cambió el protocolo NCP por
TCP/IP. Ese mismo año, se creó el IAB con el fin de
estandarizar el protocolo TCP/IP y de proporcionar recursos de
investigación a Internet. Por otra parte, se centró
la función
de asignación de identificadores en la IANA que,
más tarde, delegó parte de sus funciones en el
Internet registry que, a su vez, proporciona servicios a los
DNS.

1986,, la NSF comenzó el desarrollo de
NSFNET que se convirtió en la principal Red en
árbol de Internet, complementada después con las
redes NSINET y ESNET, todas ellas en Estados Unidos.
Paralelamente, otras redes troncales en Europa, tanto
públicas como comerciales, junto con las americanas
formaban el esqueleto básico ("backbone") de
Internet.

1989, con la integración de los protocolos OSI en la
arquitectura de Internet, se inició la tendencia actual de
permitir no sólo la interconexión de redes de
estructuras
dispares, sino también la de facilitar el uso de distintos
protocolos de comunicaciones.

En el CERN de Ginebra, un grupo de
Físicos encabezado por Tim Berners-Lee, crearon el lenguaje
HTML, basado
en el SGML. En 1990 el mismo equipo construyó el primer
cliente Web,
llamado WorldWideWeb (WWW), y el primer servidor
web.

2006, el 3 de enero, Internet alcanzó los mil
cien millones de usuarios. Se prevé que en diez
años, la cantidad de navegantes de la Red aumentará
a 2.000 millones.

En julio de 1961 Leonard Kleinrock publicó desde
el MIT el primer documento sobre la teoría
de conmutación de paquetes. Kleinrock convenció a
Lawrence Roberts de la factibilidad
teórica de las comunicaciones vía paquetes en lugar
de circuitos, lo
cual resultó ser un gran avance en el camino hacia
el trabajo
informático en red. El otro paso fundamental fue hacer
dialogar a los ordenadores entre sí. Para explorar este
terreno, en 1965, Roberts conectó una computadora
TX2 en Massachusetts con un Q-32 en California a través de
una línea telefónica conmutada de baja velocidad,
creando así la primera (aunque reducida) red de
computadoras de área amplia jamás construida. En
los EE.UU. se estaba buscando una forma de mantener las
comunicaciones vitales del país en el posible caso de una
Guerra Nuclear. Este hecho marcó profundamente su evolución, ya que aún ahora los
rasgos fundamentales del proyecto se hallan presentes en lo que
hoy conocemos como Internet.

Tecnología de Internet

Internet incluye aproximadamente 5000 redes en todo el
mundo y más de 100 protocolos distintos basados en TCP/IP,
que se configura como el protocolo de la red. Los servicios
disponibles en la red mundial de PC, han avanzado mucho gracias a
las nuevas
tecnologías de transmisión de alta velocidad,
como DSL y Wireless, se
ha logrado unir a las personas con videoconferencia, ver imágenes
por satélite (ver tu casa desde el cielo), observar el
mundo por webcams, hacer llamadas telefónicas gratuitas, o
disfrutar de un juego
multijugador en 3D, un buen libro PDF, o
álbumes y películas para descargar.

El método de
acceso a internet vigente hace algunos años, la telefonía básica, ha venido siendo
sustituida gradualmente por conexiones más veloces y
estables, entre ellas el ADSL, Cable
Módems, o el RDSI. También han aparecido formas de
acceso a través de la red eléctrica, e incluso por
satélite (sólo para descarga).

Internet también está disponible en muchos
lugares públicos tales como bibliotecas,
hoteles o cibercafés. Una
nueva forma de acceder sin necesidad de un puesto fijo son las
redes
inalámbricas, hoy presentes en aeropuertos,
universidades o poblaciones enteras. Grandes áreas de San
Francisco, Londres, Filadelfia o Toronto están cubiertas
por estas redes, que permiten conectarse a un usuario con
cualquier dispositivo eléctrico (portátiles,
móviles, PDA…).

Internet y sociedad

Sitios de internet por países.

Internet tiene un impacto profundo en el trabajo, el
ocio y el
conocimiento. Gracias a la web, millones de personas tienen
acceso fácil e inmediato a una cantidad extensa y diversa
de información en línea. Un ejemplo de esto es el
desarrollo y la distribución de colaboración del
software de
Free/Libre/Open-Source (SEDA) por ejemplo GNU, Linux, Mozilla y
OpenOffice.org.

Comparado a las enciclopedias y a las bibliotecas
tradicionales, la web ha permitido una descentralización repentina y extrema de la
información y de los datos. Algunas
compañías e individuos han adoptado el uso de los
weblogs, que se utilizan en gran parte como diarios
actualizables. Algunas organizaciones
comerciales animan a su personal para
incorporar sus áreas de especialización en sus
sitios, con la esperanza de que impresionen a los visitantes con
conocimiento
experto e información libre.

Internet ha llegado a gran parte de los hogares y de las
empresas de
los países ricos, en este aspecto se ha abierto una brecha
digital con los países pobres, en los cuales la
penetración de Internet y las nuevas tecnologías es
muy limitada para las personas.

Desde una perspectiva cultural del conocimiento,
internet ha sido una ventaja y una responsabilidad. Para la gente que está
interesada en otras culturas proporciona una cantidad
significativa de información y de una interactividad que
sería inasequible de otra manera.

  1. El protocolo dentro de una red informática, es el que permite el
    encaminamiento de la información a través de
    Internet, o sea, es el que define una red de
    conmutación de paquetes de información. La
    información se fragmenta en pequeños trozos o
    paquetes ( con una capacidad aproximadamente de 1500
    caracteres) que se envían independientemente por la
    red. Cada paquete es enviado con la dirección del ordenador al que va
    dirigida la información, yendo cada paquete por una
    ruta distinta hasta alcanzar su objetivo.

    A continuación describiremos el protocolo
    TCP/IP que será el que utilizaremos en nuestro
    proyecto.

    TCP/IP: Es un conjunto de
    protocolos, en total mas de 100 protocolos, que
    proporcionan las reglas para comunicarse. Un protocolo
    contiene los detalles de los formatos de los mensajes, y
    describen como responde una computadora cuando llega un
    mensaje, especificando como maneja el error un PC u otras
    condiciones no normales. Permite reflexionar sobre la
    comunicación por computadora de manera
    independiente del hardware de
    red de cualquier marca.

    TCP ( Protocolo de Control de Transmisión)
    e IP (Protocolo de Internet), el IP se encarga de la
    transmisión de datos y el TCP asegura que todo
    funcione correctamente, dividiendo la información a
    enviar en paquetes, y añadiendo a cada paquete los
    caracteres de control de errores.

    Estos paquetes, que serian paquetes de
    información de datos, se envían a la red, y
    el IP lo transporta hasta el host remoto (destino), al otro
    extremo, TCP recibe los paquetes y comprueba si no hay
    errores. Si hubiese un error, TCP pide que se le vuelva a
    enviar el paquete nuevamente, encargándose de
    encontrar la mejor ruta y encargándose de que la
    información llegue en buen estado.

    El conjunto de protocolos que componen el TCP/IP
    abarca los 7 niveles OSI (Organización Internacional de
    Estándares), y para la red ARPANET, del Departamento
    de Defensa de los Estados Unidos, a principios
    de 1970. Y en 1980 se le incluyo en la versión
    Unís 4.2 de Barkeley, siendo en 1983 el protocolo
    militar estándar en Estados Unidos.

    Se hizo popular gracias a su independencia del fabricante, ya que soporta
    múltiples tecnologías, puede funcionar en
    maquinas de todo tamaño (multiplataforma), y su uso
    mayoritario ahora esta en Internet.

  2. Protocolos (TCP/IP)
  3. Redes Lan

LAN es la abreviatura de Local
Area Network
(Red de Área Local o simplemente Red
Local). Una red local es la interconexión de varios
ordenadores y periféricos. Su extensión esta
limitada físicamente a un edificio o a un entorno de unos
pocos kilómetros. Su aplicación más
extendida es la interconexión de ordenadores personales y
estaciones de trabajo en oficinas, fábricas, etc; para
compartir recursos e intercambiar datos y aplicaciones. En
definitiva, permite que dos o más máquinas se
comuniquen.

El término red local incluye tanto el hardware
como el software necesario para la interconexión de los
distintos dispositivos y el tratamiento de la
información.

En los días anteriores a los ordenadores
personales, una empresa
podía tener solamente un ordenador central, accediendo los
usuarios a este vía terminales de ordenador sobre un cable
simple de baja velocidad. Las redes como SNA de IBM (la
Arquitectura de Red de Sistemas) fueron diseñadas para
unir terminales u ordenadores centrales a sitios remotos sobre
líneas alquiladas. Las primeras Lan fueron creadas al
final de los años 1970 y se solían crear
líneas de alta velocidad para conectar grandes ordenadores
centrales a un solo lugar. Muchos de los sistemas fiables creados
en esta época, como Ethernet y ARCNET
fueron los más populares.

El crecimiento CP/M y DOS basados en el ordenador
personal significaron que en un lugar físico existieran
docenas o incluso cientos de ordenadores. La intención
inicial de conectar estos ordenadores fue, generalmente compartir
espacio de disco e impresoras
láser,
tales recursos eran muy caros en este tiempo.
Había muchas expectativas en este tema desde el 1983 en
adelante y la industria
informática declaró que el siguiente año
sería "El año de las Lan".

En realidad esta idea se vino abajo debido a la
proliferación de las incompatibilidades de la capa
física y
la implantación del protocolo de red, y confusión
sobre la mejor forma de compartir los recursos. Lo normal es que
cada vendedor tuviera tarjeta de red,
cableado, protocolo y sistema de operación de red. Con la
aparición de Netware surgió una nueva
solución, la cual ofrecía: soporte imparcial para
los 40 o más tipos que existían de tarjetas y cables
y sistemas
operativos mucho más sofisticados que los que
ofrecían la mayoría de los competidores. Netware
dominaba el campo de las Lan de los ordenadores personales desde
antes de su introducción en 1983 hasta mediados de los
años 1990, cuando Microsoft
introdujo Windows NT
Advance Server y Windows for
Workgroups.

De todos los competidores a Netware, sólo Banyan
VINES tenía fuerza
técnica comparable, pero Banyan se ganó una base
segura. Microsoft y 3Com trabajaron juntos para crear un sistema
de operaciones de
red simple el cual estaba formado por la base de 3Com's 3+Share,
el Gestor de redes Lan de
Microsoft y el Servidor de IBM. Ninguno de estos proyectos fue
especialmente satisfactorio

Componentes

Algunos Componentes de una red
ocal

Servidor: El servidor es aquel o aquellos
ordenadores que van a compartir sus recursos hardware y software
con los demás equipos de la red. Sus
características son potencia de
cálculo, importancia de la
información que almacena y conexión con recursos
que se desean compartir.

Estación de trabajo: Los
ordenadores que toman el papel de estaciones de trabajo
aprovechan o tienen a su disposición los recursos que
ofrece la red así como los servicios que proporcionan los
Servidores a
los cuales pueden acceder.

Gateways o pasarelas: Es un hardware y
software que permite las comunicaciones entre la red local y
grandes ordenadores (mainframes). El gateway adapta los
protocolos de comunicación del mainframe (X25, SNA, etc.)
a los de la red, y viceversa.

Bridges o puentes: Es un hardware y
software que permite que se conecten dos redes locales entre
sí. Un puente interno es el que se instala en un servidor
de la red, y un puente externo es el que se hace sobre una
estación de trabajo de la misma red. Los puentes
también pueden ser locales o remotos. Los puentes locales
son los que conectan a redes de un mismo edificio, usando tanto
conexiones internas como externas. Los puentes remotos conectan
redes distintas entre sí, llevando a cabo la
conexión a través de redes públicas, como la
red telefónica, RDSI o red de conmutación de
paquetes.

Tarjeta de red: También se
denominan NIC (Network
Interface Card). Básicamente realiza la función de
intermediario entre el ordenador y la red de comunicación.
En ella se encuentran grabados los protocolos de
comunicación de la red. La comunicación con el
ordenador se realiza normalmente a través de las ranuras
de expansión que éste dispone, ya sea ISA o PCMCIA.
Aunque algunos equipos disponen de este adaptador integrado
directamente en la placa base.

El medio: Constituido por el cableado y
los conectores que enlazan los componentes de la red. Los
medios
físicos más utilizados son el cable de par
trenzado, par de cable, cable coaxial
y la fibra óptica
(cada vez en más uso esta última).

Concentradores de cableado: Una LAN en
bus usa solamente
tarjetas de red
en las estaciones y cableado coaxial para interconectarlas,
además de los conectores, sin embargo este método
complica el mantenimiento
de la red ya que si falla alguna conexión toda la red deja
de funcionar. Para impedir estos problemas las redes de
área local usan concentradores de cableado para realizar
las conexiones de las estaciones, en vez de distribuir las
conexiones el concentrador las centraliza en un único
dispositivo manteniendo indicadores
luminosos de su estado e impidiendo que una de ellas pueda hacer
fallar toda la red.

3
Interfases

3.1 Puerto Paralelo

A continuación daremos una breve descripción del puerto
paralelo para luego entender con mas claridad el
funcionamiento de nuestro proyecto

¿QUÉ ES UN PUERTO? :

El puerto es el lugar donde se intercambian datos con
otro dispositivo. Los microprocesadores
disponen de puertos para enviar y recibir bits de datos. Estos
puertos se utilizan generalmente como direcciones de memoria con
dedicación exclusiva. Los sistemas completos de
computadoras disponen de puertos para la conexión de
dispositivos
periféricos, como impresoras y aparato de
módem.

También nos permiten utilizar una computadora
personal para controlar todo tipo circuitos electrónicos
utilizados, principalmente, en actividades de automatización de procesos,
adquisición de datos, tareas repetitivas y otras
actividades que demandan precisión.

Existen dos métodos básicos para
transmisión de datos en las computadoras modernas. En un
esquema de transmisión de datos en serie un
dispositivo envía datos a otro a razón de un BIT a
la vez a través de un cable. Por otro lado, en un esquema
de transmisión de datos en paralelo un dispositivo
envía datos a otro a una tasa de n número de
bits a través de n número de cables a un
tiempo.

Sería fácil pensar que un sistema en
paralelo es n veces más rápido que un
sistema en serie, sin embargo esto no se cumple,
básicamente el impedimento principal es el tipo de cable
que se utiliza para interconectar los equipos. Si bien un sistema
de comunicación en paralelo puede utilizar cualquier
número de cables para transmitir datos, la mayoría
de los sistemas paralelos utilizan ocho líneas de datos
para transmitir un byte a la vez, como en todo, existen
excepciones, por ejemplo el estándar SCSI permite
transferencia de datos en esquemas que van desde los ocho bits y
hasta los treinta y dos bits en paralelo. En esta
descripción explicaremos las transferencias de ocho bits
ya que ésta es la configuración del puerto paralelo
de una PC.
Un típico sistema de comunicación en paralelo puede
ser de una dirección (unidireccional) o de dos
direcciones (bidireccional). El más simple
mecanismo utilizado en un puerto paralelo de una PC es de tipo
unidireccional y es el que analizaremos en primer lugar.
Distinguimos dos elementos: la parte transmisora y la
parte receptora. La parte transmisora coloca la
información en las líneas de datos e informa
a la parte receptora que la información (los datos)
están disponibles; entonces la parte receptora lee la
información en las líneas de datos e informa a la
parte transmisora que ha tomado la información (los
datos). Observamos que ambas partes sincronizan su respectivo
acceso a las líneas de datos, la parte receptora no
leerá las líneas de datos hasta que la parte
transmisora se lo indique en tanto que la parte transmisora no
colocará nueva información en las líneas de
datos hasta que la parte receptora remueva la información
y le indique a la parte transmisora que ya ha tomado los datos, a
ésta coordinación de operaciones se le llama
acuerdo ó entendimiento. Podemos decir que
en estos ámbitos tecnológicos es recomendable
utilizar ciertas palabras en inglés que nos permiten
irónicamente un mejor entendimiento de los conceptos
tratados. La
coordinación de operaciones entre la parte transmisora y
la parte receptora se le llama handshaking, que en
español
es el acto con el cual dos partes manifiestan estar de
acuerdo.

El handshaking 

      Para implementar el
handshaking se requieren dos líneas adicionales. La
línea de estroboscopio (en inglés
strobe) es la que utiliza la parte transmisora para
indicarle a la parte receptora la disponibilidad de
información. La línea de admisión
(acknowledge) es la que utiliza la parte receptora para
indicarle a la parte transmisora que ha tomado la
información (los datos) y que está lista para
recibir más datos. El puerto paralelo provee de una
tercera línea de handshaking llamada en inglés
busy (ocupado), ésta la puede utilizar la
parte receptora para indicarle a la parte transmisora que
está ocupada y por lo tanto la parte transmisora no debe
intentar colocar nueva información en las líneas de
datos. Una típica sesión de transmisión de
datos se parece a lo siguiente:

Parte transmisora:

  • La parte transmisora chequea la línea
    busy para ver si la parte receptora está ocupada.
    Si la línea busy está activa, la parte
    transmisora espera en un bucle hasta que la línea
    busy esté inactiva.
  • La parte transmisora coloca la información en
    las líneas de datos.
  • La parte transmisora activa la línea de
    strobe.
  • La parte transmisora espera en un bucle hasta que la
    línea acknowledge está activa.
  • La parte transmisora inactiva la línea de
    strobe.
  • La parte transmisora espera en un bucle hasta que la
    línea acknowledge esté
    inactiva.
  • La parte transmisora repite los pasos anteriores por
    cada byte a ser transmitido.

Parte receptora:

  • La parte receptora inactiva la línea
    busy (asumiendo que está lista para recibir
    información).
  • La parte receptora espera en un bucle hasta que la
    línea strobe esté activa.
  • La parte receptora lee la información de las
    líneas de datos (y si es necesario, procesa los
    datos).
  • La parte receptora activa la línea
    acknowledge.
  • La parte receptora espera en un bucle hasta que
    esté inactiva la línea de
    strobe.
  • La parte receptora inactiva la línea
    acknowledge.
  • La parte receptora repite los pasos anteriores por
    cada byte que debe recibir.

Se debe ser muy cuidadoso al seguir éstos pasos,
tanto la parte transmisora como la receptora coordinan sus
acciones de
tal manera que la parte transmisora no intentará colocar
varios bytes en las líneas de datos, en tanto que la parte
receptora no debe leer más datos que los que le
envíe la parte transmisora, un byte a la vez.

El hardware del puerto
paralelo 

     El puerto paralelo de una
típica PC utiliza un conector hembra de tipo D de 25
patitas (DB-25 S), éste es el caso más
común, sin embargo es conveniente mencionar los tres tipos
de conectores definidos por el estándar IEEE 1284,
el primero, llamado 1284 tipo A es un conector hembra de
25 patitas de tipo D, es decir, el que mencionamos al principio.
El orden de las patitas del conector es éste:

Vista del puerto paralelo en el
Pc

Pines del Puerto
Paralelo

Conectores Macho y
Hembra

El segundo conector se llama 1284 tipo B que es
un conector de 36 patitas de tipo centronics y lo
encontramos en la mayoría de las impresoras; el tercero se
denomina 1284 tipo C, se trata de un conector similar al
1284 tipo B pero más pequeño, además se dice
que tiene mejores propiedades eléctricas y
mecánicas, éste conector es el recomendado para
nuevos diseños. La siguiente tabla describe la
función de cada patita del conector 1284 tipo
A:

Patita

E/S

Polaridad activa

Descripción

1

Salida

0

Strobe

2 ~ 9

Salida

Líneas de datos
(BIT 0/patita 2, BIT 7/patita 9)

10

Entrada

0

Línea acknowledge
(activa cuando el sistema remoto toma datos)

11

Entrada

0

Línea busy
(si está activa, el sistema remoto no acepta
datos)

12

Entrada

1

Línea Falta de papel
(si está activa, falta papel en la impresora)

13

Entrada

1

Línea Select
(si está activa, la impresora se ha
seleccionado)

14

Salida

0

Línea Autofeed
(si está activa, la impresora inserta una
nueva
línea por cada retorno de carro)

15

Entrada

0

Línea Error
(si está activa, hay un error en la
impresora)

16

Salida

0

Línea Init
(Si se mantiene activa por al menos 50
micro-segundos, ésta señal
auto inicializa la impresora)

17

Salida

0

Línea Select input
(Cuando está inactiva, obliga a la
impresora a salir de línea)

18 ~ 25

Tierra eléctrica

Configuración del puerto
paralelo estándar

Observamos que el puerto paralelo tiene 12 líneas
de salida (8 líneas de datos, strobe, autofeed, init, y
select input) y 5 de entrada (acknowledge, busy, falta de papel,
select y error). El estándar IEEE 1284 define cinco modos
de operación:

Modo compatible

Modo nibble

Modo byte

Modo EPP, puerto paralelo ampliado

Modo ECP, puerto de capacidad extendida

El objetivo del estándar es diseñar nuevos
dispositivos que sean totalmente compatibles con el puerto
paralelo estándar (SPP) definido originalmente por la IBM
(en éste artículo trataremos solamente el modo
compatible que será el utilizado en el
proyecto).

Hay tres direcciones de E/S asociadas con un puerto
paralelo de la PC, éstas direcciones pertenecen al
registro de datos, el registro de estado y el
registro de control. El registro de datos es un
puerto de lecturaescritura de
ocho bits. Leer el registro de datos
(en la modalidad unidireccional) retorna el último
valor escrito
en el registro de datos. Los registros de
control y estado proveen la interfase a las otras líneas
de E/S.

La distribución de las diferentes señales
para cada uno de los tres registros de un puerto paralelo lo
mostramos en las siguientes tablas:

Dirección

Nombre

Lectura/Escritura

BIT #

Propiedades

Base + 0

Puerto de datos

Escritura

BIT 7

Dato 7

Bit 6

Dato 6

Bit 5

Dato 5

Bit 4

Dato 4

Bit 3

Dato 3

Bit 2

Dato 2

Bit 1

Dato 1

BIT 0

Dato 0

Registro de datos

Dirección

Nombre

Lectura/Escritura

BIT #

Propiedades

Base + 1

Puerto de estado

Sólo Lectura

BIT 7

Busy

Bit 6

Acknowledge

BIT 5

Falta de papel

Bit 4

Select In

Bit 3

Error

Bit 2

IRQ (Not)

Bit 1

Reservado

BIT 0

Reservado

Registro de estado

Dirección

Nombre

Lectura/Escritura

BIT #

Propiedades

Base + 2

Puerto de control

Lectura/Escritura

BIT 7

No usado

BIT 6

No usado

BIT 5

Permite puerto
bidireccional

BIT 4

Permite IRQ a
través de la
línea
acknowledge

BIT 3

Selecciona
impresora

BIT 2

Inicializa
impresora

BIT 1

Nueva línea
automática

BIT 0

Strobe

Registro de control

Una PC soporta hasta tres puertos paralelo separados,
por tanto puede haber hasta tres juegos de
registros en un sistema en un momento dado. Existen tres
direcciones base para el puerto paralelo asociadas con tres
posibles puertos paralelo: 0x3BCh, 0x378h y 0x278h, nos referimos
a éstas como las direcciones base para el puerto LPT1,
LPT2 y LPT3, respectivamente. El registro de datos se localiza
siempre en la dirección base de un puerto paralelo, el
registro de estado aparece en la dirección base + 1, y el
registro de control aparece en la dirección base + 2. Por
ejemplo, para un puerto LPT2 localizado en 0x378h, ésta es
la dirección del registro de datos, al registro de estado
le corresponde la dirección 0x379h y su respectivo
registro de control está en la dirección 0x37Ah.
Cuando la PC se enciende el BIOS ejecuta una
rutina para determinar el número de puertos presentes en
el sistema asignando la etiqueta LPT1 al primer puerto
localizado, si existen más puertos entonces se
asignarán consecutivamente las etiquetas LPT2 y LPT3 de
acuerdo a la siguiente tabla:

Dirección inicial

Función

0000:0408

Dirección base para LPT1

0000:040A

Dirección base para LPT2

0000:040C

Dirección base para LPT3

0000:040E

Dirección base para LPT4

Direcciones base en el
BIOS

     Para trabajar con el
puerto paralelo necesitamos en primer lugar conocer la
dirección base asignada por el BIOS (estamos hablando de
una PC compatible con IBM), podemos utilizar un programa llamado
Debug.exe que nos indique la(s) dirección(es)
asignada(s): en la plataforma Windows vamos al menú
inicio, seleccionamos programas y luego
MS-DOS para abrir una ventana de Símbolo de
MS-DOS
y aquí podemos introducir los comandos
indicados más abajo. Si se trabaja en ambiente DOS
basta con teclear en la línea de comandos la palabra
debug, el programa responde colocando un signo de menos
en donde tecleamos sin dejar espacios en blanco
d040:08L8 y presionamos la tecla entrar, entonces
el programa debug.exe nos indica en una serie de
números la(s) dirección(es) para el (los) puerto(s)
paralelo(s) disponibles en nuestro sistema, la siguiente imagen muestra el
resultado obtenido en nuestro pc:

     Se puede observar una
serie de números de dos dígitos (ocho en total), se
trata del volcado de memoria que empieza en la dirección
40:0008h. Los primeros seis pares de números representan
las direcciones base para los puertos paralelo instalados, en la
imagen de arriba se aprecia que el único puerto paralelo
de mi máquina está en la dirección 0x378h
(78 03). Los números están invertidos porque Intel
almacena tal información en un formato de "byte de bajo
orden – byte de alto orden".

Una vez que obtenemos la información deseada
cerramos el programa Debug.exe simplemente tecleando la
letra q y presionando la tecla entrar. Para cerrar
la ventana de Símbolo de MS-DOS tecleamos la
palabra exit y presionamos la tecla
entrar.

   Mediante la siguiente rutina podemos
conocer la dirección asignada al puerto paralelo, el
código
fuente escrito es lenguaje c
para windows y es el siguiente:

/**********************************************************************

* puerto1.c *

* Proyecto 2006 – Carrera
de Ing. Tec en Electrónica *

* Vamos a determinar el valor
del Puerto *

**********************************************************************/

#include
<stdio.h>

#include
<dos.h>

int main()

{

unsigned int __far
*puntero_a_direccion;

int i;

puntero_a_direccion=(unsigned
int __far *)0x00000408;

for (i=0; i<3;
i++)

{

if (*puntero_a_direccion ==
0)

printf("No se encontro puerto
asignado a LPT%d n", i+1);

else

printf("La direccion asignada a
LPT%d es 0x%Xhn",

i+1,
*puntero_a_direccion);

puntero_a_direccion++;

}

return 0;

}

 

También mostramos otra rutina que nos
permite determinar el número de puertos paralelos
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 podemos seleccionar, en caso de que disponga de
más de un puerto, el puerto en donde está conectado
nuestro dispositivo.

     Una vez seleccionado el
puerto podemos 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.

 

/******************************************************************

* puerto2.c *

* Proyecto 2006 – Carrera
de Ing. Tec en Electrónica *

* Escribe datos al puerto
paralelo de la PC *

*****************************************************************/

#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 disponiblen", i+1);

else

{

disponible[i] = 1;

direccion[i] =
*puntero_a_direccion;

printf("Puerto
LPT%d……………%dn", i+1, i+1);

}

puntero_a_direccion++;

}

printf("Salir del
programa……..0n");

scanf("%d",
&seleccion);

do

{

switch(seleccion)

{

case 0:/* Salir del programa
*/

printf("Salio del
Programa!n");

return 0;

break;

case 1:/* Puerto LPT1
*/

if(disponible[0]==1)

puerto(direccion[0]);

else

{

printf("ERROR: PUERTO NO
DISPONIBLEn");

return 0;

}

break;

case 2:/* Puerto LPT2
*/

if(disponible[1]==1)

puerto(direccion[1]);

else

{

printf("ERROR: PUERTO NO
DISPONIBLEn");

return 0;

}

break;

case 3:/* Puerto LPT3
*/

if(disponible[2]==1)

puerto(direccion[2]);

else

{

printf("ERROR: PUERTO NO
DISPONIBLEn");

return 0;

}

break;

default:

printf("ERROR: OPCION
INCORRECTA!n");

break;

}

if(seleccion!=0)

{

printf("Seleccione otra
opcionn");

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 valorn");

printf("entre 1 y 255, 0 para
terminar el programan");

do

{

printf("Valor al
puerto?n");

scanf("%d",
&valor);

outp(direcc, valor);

printf("Se ha escrito %d al
puerton", valor);

}

while(valor!=0);

return seleccion=0;

}

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter