puerto paralelo

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

Upload: faresita

Post on 13-Jul-2015

96 views

Category:

Documents


0 download

TRANSCRIPT

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.