Post on 13-Jul-2015
5/12/2018 Puerto Paralelo - slidepdf.com
http://slidepdf.com/reader/full/puerto-paralelo-55a35b6e38f42 1/12
INTERFAZ ENTRENADORA DE PUERTO PARALELO
PRESENTADO POR:
DEVIER LOPEZ CASTRO
CESAR HERNANDEZ
LUIS MADERA MUNERA
PRESENTADO A:
ING. TULIO BOHORQUEZ
UNIVERSIDAD DE SUCRE
FACULTAD DE INGENIERIAS
PROGRAMA DE TECNOLOGIA EN ELECTRONICA
SINCELEJO – SUCRE
2011
5/12/2018 Puerto Paralelo - slidepdf.com
http://slidepdf.com/reader/full/puerto-paralelo-55a35b6e38f42 2/12
SISTEMA DE ELECTRÓNICA UTILIZANDO LA ESTRUCTURA INTERNA DEUN MICROPROCESADOR.
La arquitectura de un procesador describe sus estructuras internas y cómofuncionan. Éstas son estructuras lógicas; todos los procesadores son hechos dematerial semiconductor, y es el cómo este material es estructurado lo quedetermina cómo trabajará el procesador. Esto es similar al software: todo softwaresimplemente es una cadena larga de unos y ceros, pero es el cómo se diseña yponen estos bits lo que determinan si el software es bueno o no.
Los procesadores son de alguna manera “cajas negras”. Todos realizan la misma
función básica (viéndolo desde el exterior): procesan las instrucciones.De hecho, las instrucciones que soportan, por lo menos en el mundo de las PCs,no han cambiado mucho en los últimos años. Pero en el interior de losprocesadores, la forma en que éstos ejecutan las instrucciones se vuelve cadavez más complicada y poderosa. Además de mejorar el rendimiento por medio dela "fuerza bruta" (aumentando las velocidades de reloj) los fabricantes deprocesadores han encontrado maneras innovadoras de aumentar más elrendimiento de cada ciclo del reloj. Por ejemplo, el Intel 486DX-25 tiene dos vecesel rendimiento del Intel 386DX-25, aunque los dos funcionan a la misma velocidad
de reloj. La mejora en el rendimiento del 486 se debe a los avances en laarquitectura interna.
La arquitectura interna tiene un impacto en qué tan rápido, el procesador, puedefuncionar. Ya que cada vez es más difícil diseñar circuitos que puedan funcionaren cantidades más pequeñas de tiempo. El crear procesadores que puedanfuncionar a velocidades mayores hace necesario no sólo cambiar lascaracterísticas físicas, sino también su diseño lógico interno.
Esta sección discute los diferentes componentes que constituyen la estructura
interna del procesador moderno. Como cualquier pieza compleja de un equipo, elprocesador se divide internamente en partes funcionales diferentes.
La mayoría de los diseños del microprocesador dividen su circuitería lógicainterna en cuatro partes funcionales: los registros internos del procesador, launidad de entrada-salida “E/S” o BIU (Bus Interface Unit), la unidad de control, y
la unidad lógico aritmética (o ALU por sus siglas en inglés, Aritmetic Logic Unit). Alos registros internos, al ALU y a la unidad de control en común se les llamaunidad central de proceso (o CPU por sus siglas en inglés, Central ProcessingUnit), aunque a menudo el término CPU se utiliza como sinónimo para elmicroprocesador entero. Otro sinónimo para el CPU es Unidad de Ejecución, quepor lo regular se utiliza dentro de los diagramas de bloques de los procesadores.
5/12/2018 Puerto Paralelo - slidepdf.com
http://slidepdf.com/reader/full/puerto-paralelo-55a35b6e38f42 3/12
Algunos fabricantes de chips subdividen estas unidades, les dan otros nombres, oincluyen más de una de cada una en un microprocesador determinado. Encualquier caso, las funciones de estas cuatro unidades son una parte inherente decualquier microprocesador.
Las cuatro partes del microprocesador interaccionan juntas. En todos, peroprincipalmente en diseños simples de microprocesadores, la BIU está bajo elcontrol de la unidad de control, y la operación de la unidad de control esdeterminada por los resultados de los cálculos de la ALU, la cual toma los datosde los registros internos del procesador. La combinación de las cuatro partesdetermina la potencia y el desempeño del microprocesador.
Cada pieza del microprocesador también tiene su propio efecto en la velocidad de
procesamiento del sistema.
La unidad de control opera el reloj interno del microprocesador, y determina larazón de tiempo a la que el microprocesador opera. La BIU determina la anchuradel bus del microprocesador, que influye en la velocidad para que los datos y lasinstrucciones se puedan mover dentro y fuera del microprocesador, los registrosinternos determinan cuántos datos puede manejar el microprocesador a la vez, yel ALU es la que realiza todos los cálculos aritméticos y decisiones.
PUERTO PARALELO:
ADQUISICIÓN, PROCESAMIENTO Y ACTUACIÓN DE DATOS
Dos medios para conseguir esta conexión de un PC con un dispositivo externoson mediante el puerto RS232 (comúnmente conocido como "serie") o el puerto
paralelo. De este último trataremos en el informe.
Externamente su apariencia es la siguiente:
La relación de los pines es la siguiente (x * significa lógica negativa):
1 - STROBE *
2 - D0
3 - D1
4 - D2
5 - D3
6 - D4
7 - D5
8 - D6
5/12/2018 Puerto Paralelo - slidepdf.com
http://slidepdf.com/reader/full/puerto-paralelo-55a35b6e38f42 4/12
9 - D7
10 - ACK*
11 - BUSY*
12 - PE
13 - SLCT
14 - AUTO FEED *
15 - ERROR *
16 - INIT *
17 - SLCT IN
18 a 25 - GND
Ahora bien, todos estos pines no se controlan con un mismo registro de datossino que un mismo puerto (LPT1, LPT2, etc.) tiene 3 registros para poder ser
controlado; a saber: Enviar Datos, Inicializar Dispositivo y Entrar Datos. Paraacceder a los tres registros de cada puerto, nos referiremos a cada registro conuna dirección de memoria implícita que fija la BIOS al arrancar el ordenador. Seríaconveniente disponer de un algoritmo que nos informase de la dirección dememoria de cada uno de los tres registros, ya que cada máquina es distinta deotra, aunque aquí comentaremos las más usuales. Pero comentemos cadaregistro con detalle:
ENVIAR DATOSEs quizás la función más conocida del puerto. Este registro controlará los pines de2 a 9, que son la línea de datos de D0 a D7. El registro que lo controla es elsiguiente:
Primer registro de un puerto paralelo
Este es un registro de Solo Escritura, es decir solo nos servirá para enviar datos aun dispositivo externo y nunca para recibirlos, y estos datos serán enviado de byteen byte. Las direcciones más habituales son: LPT1 = 378 h , LPT2 = 278 h
(direcciones en hexadecimal).
RECIBIR DATOS
Después de intensas pesquisas hemos descubierto cómo hacer que un PC recibadatos de un dispositivo externo. Veamos primero el registro que lo controla:
Segundo registro de un puerto paralelo
Este es un registro de Solo Lectura, es decir solo nos servirá para recibir datos deun dispositivo externo y nunca para enviarlos, este registro es únicamente
5/12/2018 Puerto Paralelo - slidepdf.com
http://slidepdf.com/reader/full/puerto-paralelo-55a35b6e38f42 5/12
modificable desde el exterior y por hardware. Ahora bien, la recepción de datos yano es tan evidente como el envío, ya que en el tiempo que se instituyó la normadel puerto no se pensó en que el dispositivo externo enviase datos al PC y solodotó de 5 pines al puerto para recibir datos del dispositivo externo. Vemos que aldisponer de solo 5 pines de entrada, nos es imposible hacer que el PC reciba todoun byte completo a la vez desde el dispositivo externo. Por eso, lo que se suelehacer normalmente es usar un pin que haga las funciones de control, como porejemplo BUSY *, que por cada flanco de subida o bajada el PC interpretara que eldato a su entrada es válido, como muestra la siguiente figura:
Cronograma
De esta manera, en cada ciclo el PC recibe un Nibble del dato, por lo que se tarda
dos ciclos en recibir un byte. Además hemos de tener en cuenta el tiempo t1(tiempo que tarda el dispositivo externo en cambiar los datos en sus salidas alPC) y el tiempo t2 (máximo tiempo que puede tardar el PC en "recoger" el dato).Las direcciones de memoria más usuales para este segundo registro son:LPT1=379 h , LPT2 = 279 h.
* CONTROL DE DISPOSITIVO
La estructura del registro es la siguiente:
CronogramaEste registro es usado principalmente para el caso concreto donde el dispositivoexterno es una tarjeta, aunque hay algún pin que nos servirá, como ya veremosen la descripción de las pines. Este registro, contrariamente a los anteriores, esde Modo Lectura/Escritura y las direcciones más usuales para direccionarlo son:LPT1= 37A h, LPT2 = 27A h.
Escritura: Salida de Datos
Escritura en dirección 0x378 (LPT1) o 0x278 (LPT2) DATO BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
DB25 Pin 9 Pin 8 Pin 7 Pin 6 Pin 5 Pin 4 Pin 3 Pin2
CN5 TTL 7 TTL 6 TTL 5 TTL 4 TTL 3 TTL 2 TTL 1 TTL 0
CN4 No usar HP 6 HP 5 HP 4 HP 3 HP 2 HP 1 HP 0
5/12/2018 Puerto Paralelo - slidepdf.com
http://slidepdf.com/reader/full/puerto-paralelo-55a35b6e38f42 6/12
Lectura: Entrada de Datos Lectura en dirección 0x379 (LPT1) o 0x279 (LPT2)
DATO BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
DB 25 No usar Pin 10 Pin 12 Pin 13 Pin 15 No usar No usar No usar
CN6 No usar Input 3 Input 2 Input 1 Input 0 No usar No usar No usar
DESCRIPCION DE PINES DE PUERTO PARALELO
La siguiente descripción de cada una de las pines está comentada desde el puntode vista en que el dispositivo externo es una tarjeta de adquisición de datos:
* STROBE * (pin 1)
Cuando esta línea está activa a 0, está señalizando a la tarjeta que hay uncarácter correcto a la salida del puerto. Pero esta señal debe desaparecerinmediatamente para que la tarjeta no lea el carácter dos veces.
* D0 a D7 (pin 2 a 9)
Como ya se ha comentado anteriormente son las 8 líneas de datos del registro desalida.
* ACK * (pin 10)
Esta señal de Acknowledge (reconocido) es de entrada y la da la tarjeta al PCpara comunicarle que ha recibido el dato enviado correctamente.
* BUSY * (pin 11)
Es una línea de entrada que da la tarjeta para indicar al PC que está busy(ocupada) para evitar que el PC le envíe mas caracteres. Habitualmente la tarjetausa este recurso justo después de reconocer STROBE, para poder procesar eldato enviado con calma.
* PE (pin 12)
En un dispositivo que no fuese una tarjeta, ambas señales podrían ser tratadas
como diversos niveles de error del sistema.
5/12/2018 Puerto Paralelo - slidepdf.com
http://slidepdf.com/reader/full/puerto-paralelo-55a35b6e38f42 7/12
* SLCT (pin 13)
Esta señal corresponde normalmente al interruptor ON-LINE de la tarjeta, para
que el usuario pueda deseleccionarla.
* AUTO FEED * (pin 14)
Esta señal indica a la tarjeta mediante un "1" si ha de enviar automáticamente unLINE FEED después de cada CARRIAGE RETURN (código ASCII nº 13). Estosignifica que si debe avanzar una línea después de cada retorno de dato, ya quehay tarjetas que de no hacerlo así machacarían una línea tras otra.
* ERROR * (pin 15)
Como ya se ha comentado antes, este es un error irrecuperable, y suele serdebido a fallos de transmisión y recepción u otros más graves.
* INIT * (pin 16)
Con esta línea el PC tiene la posibilidad de realizar un RESET o inicialización a latarjeta. Este bit debe cargarse con 0 brevemente para volver a cargarloinmediatamente con un 1, ya que si no la tarjeta realizaría un reset tras otroindefinidamente.
* SLCT IN (pin 17)
Mediante esta línea el ordenador puede poner a la tarjeta en modo Off-Line yrealizar pausas. Esta línea debe de estar normalmente a 1.
* GND (pin 18 a 25)
Terminal de masa o tierra.
5/12/2018 Puerto Paralelo - slidepdf.com
http://slidepdf.com/reader/full/puerto-paralelo-55a35b6e38f42 8/12
LA MAGNITUD DE ENTRADAS/SALIDAS Debemos tener en cuenta que las entradas y salidas del puerto se rigen porseñales TTL, es decir un "1" equivale a +5 V. Los circuitos integrados internos dela controladora del PC suelen ser buffer TTL o UART, y hemos de vigilar muchoscortocircuitos o entrar y sacar señales por los pines inadecuados, que conduciríana la destrucción de la placa controladora. De ahí la importancia de aisladoreseléctricos.
LA PROGRAMACIÓN DEL PUERTO PARALELO
Lo que se suele hacer normalmente es programar con un lenguaje de alto nivelnormalmente, pero incluir pequeñas rutinas en ensamblador para leer y escribir enel puerto. De esta manera conseguimos realizar estas operaciones delectura/escritura con mucha más rapidez que si utilizáramos una instrucciónespecífica para ese lenguaje.
* Ensamblador
Para escribir en el puerto utilizaremos las siguientes rutinas: mov al,valor
mov dx,PortSal
out dx,al
De esta manera, colocamos el valor a sacar en el registro AL, y la dirección delregistro de salida correspondiente en DX, llamando seguidamente a la instrucciónOUT. Algo similar ocurre a la hora de recoger datos:
mov dx,PortEntrin al,dx
De esta manera recogemos el estado del registro de entrada del puerto PortEntren el registro AL.
* Pascal
Para conocer la dirección de memoria de los 4 puertos, una función útil es lasiguiente:
{ Entrada: NUM = Número del puerto paralelo }
5/12/2018 Puerto Paralelo - slidepdf.com
http://slidepdf.com/reader/full/puerto-paralelo-55a35b6e38f42 9/12
{ Salida :TRUE, cuando paralelo }
{ Var. globales: Port1, Port2 }
{ Info: Las direcciones de base de hasta 4 puertos paralelos } { se encuentran enlas cuatro palabras de memoria }
{ comenzando en 0040:0008 }
function DirPort( Numero: integer ): boolean;
begin
if ( Port1 0 ) then
begin
Port2 := Port1 + 1;
GetPortAdr := TRUE;
end
else
DirPort := FALSE;
end;
De esta manera leemos las 4 posiciones de base de hasta 4 puertos paralelosque se encuentran en las 4 palabras de memoria comenzando en 0040: 0008.Para entrar y sacar datos lo haríamos con una llamada a las rutinas enensamblador comentadas anteriormente.
INTERFAZ PARA EL PUERTO PARALELO: PROYECTO
Todos los puertos de la PC son de tipo llamado multimodal configurados por laBIOS de la máquina. Opciones de trabajo son Modo Normal (SPP), ModoBidireccional, EPP y ECP. En este proyecto lo trabajamos en modo Normal (SPP)por ser el más elemental y el que nos provee lo necesario para nuestro estudiopermitiendo la escritura (salida de datos) en los pines 2 al 9 del conector DB-25del puerto paralelo.
La facilidad en el manejo del puerto es que se puede controlar todo tipo dedispositivo electrónico o eléctrico si sabemos extrae los datos TTL que se
5/12/2018 Puerto Paralelo - slidepdf.com
http://slidepdf.com/reader/full/puerto-paralelo-55a35b6e38f42 10/12
obtienen, pero, también debemos saber cómo extraerlos porque el puerto paralelose puede dañar y dejar daños irreparables en la Tarjeta Madre, se debe protegerel puerto paralelo adecuadamente para no tener que comprar una nueva PC, elhardware del puerto paralelo está muy limitado en cuanto a su capacidad demanejo de corriente y debemos cuidar la elevación de la misma. Para nuestrainterfaz usamos el integrado 74LS04 que ayuda a aislar el puerto y no permiteretorno de corriente dañina o superior a las que maneja el puerto paralelo que sonunos cuantos miliamperios.
Con ocho bits podemos escribir en el puerto un total de 256 valores diferentes (8salidas TTL a 5V) cada uno de éstos representa un byte de información y cadabyte puede representar una acción concreta que podemos definir de acuerdo a
nuestras necesidades. Para ello fue necesario el uso de un programa que seencargara con unas librerías especificas de activar el puerto paralelo y controlar elenvío de datos, este programa fue realizado por un programador de universidadtecnológica de indoamerica en plataforma java. El programa permite escribir unasecuencia cualquiera de tal manera que sea posible visualizar el valor en formatobinario a la salida de datos D0 a D7.
Originalmente la idea era controlar el envío de datos a la interfaz mediante laprogramación desde el debug de Windows, desde el lenguaje ensamblador paraentender mejor el papel del microprocesador.
5/12/2018 Puerto Paralelo - slidepdf.com
http://slidepdf.com/reader/full/puerto-paralelo-55a35b6e38f42 11/12
VISIÓN GLOBAL DE LA INTERFAZ
Es indiscutible la gran utilidad de esta interfaz como medio de estudio endiferentes aplicaciones. Una de las aplicaciones más precisas para la interfaz esel control de un servo motor por el puerto paralelo, ya que esta interfaz poseediferentes salidas que permiten controlar los tiempos y sentidos de los giros delservo.
5/12/2018 Puerto Paralelo - slidepdf.com
http://slidepdf.com/reader/full/puerto-paralelo-55a35b6e38f42 12/12
CONCLUSIÓN
Esta interfaz es muy sencilla y útil, ya que nos permite realizar todo tipo depruebas sin la intervención de un dispositivo electrónico más complejo como losmicrocontroladores. Nos a facilitado el conocimiento de los procesos que a travésde la arquitectura del microprocesador podemos llevar a cabo. Podemos porejemplo conectar un pequeño robot y tomar datos de sus sensores y analizar lasdecisiones a tomar mediante un programa hecho en cualquier lenguaje de PCactual.