Вы находитесь на странице: 1из 5

INSTITUTO TECNOLÓGICO DE HERMOSILLO

ITH

Programación Numérica

PUERTO PARALELO
DIGITALIO

Profesor:
Ing. Jorge Rivera Nieblas

Alumno:
Tarazón Moreno Constantino 06330596
A58 T5B

Ingeniería Mecatrónica

Hermosillo Sonora a 31 de Octubre del 2008


PUERTO PARALELO

INTRODUCCIÓN

En la actualidad, muchos circuitos robóticos usan el PC como medio sencillo y flexible para
programarlos de manera rápida y segura o como control y procesamiento del sistema, evitando
circuitería complementaria.

Dos medios para conseguir esta conexión de un PC con un dispositivo externo es mediante el
puerto RS232 (comúnmente conocido como "serie") o el puerto paralelo Centronics. De este
último trataremos en el informe.

APARIENCIA EXTERNA

La relación de los pins es la siguiente (* significa lógica negativa):

# DE PIN DESCRIPCIÓN
1 STROBE *
2 D0
3 D1
4 D2
5 D3
6 D4
7 D5
8 D6
9 D7
10 ACK *
11 BUSY *
12 PE
13 SLCT
14 AUTO FEED *
15 ERROR *
16 INIT *
17 SLC IN
18-25 GNG

DESCRIPCIÓN DE PINES

* STROBE * (pin 1): Cuando esta línea está activa a 0, está señalizando a la impresora que hay
un carácter correcto a la salida del Centronics. Pero esta señal debe desaparecer
inmediatamente para que la impresora 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 de salida.

* ACK * (pin 10): Esta señal de Acknowledge (reconocido) es de entrada y la da la impresora al


PC para comunicarle que ha recibido el dato enviado correctamente.

* BUSY * (pin 11): Es una línea de entrada que da la impresora para indicar al PC que está
busy (ocupada) para evitar que el PC le envíe más caracteres. Habitualmente la impresora usa
este recurso justo después de reconocer STROBE, para poder procesar el dato enviado con
calma.
* PE (pin 12): Esta línea de entrada sirve para que la impresora comunique al PC que se ha
quedado sin papel (PAPER END). Esta señal normalmente es procesada dando como
resultado una pausa en la impresión para dar tiempo al usuario a poner más papel, diferente a
la señal ERROR *, que suele interpretarla como un error irrecuperable, dando por anulada la
impresión. En un dispositivo que no fuese una impresora, ambas señales podrían ser tratadas
como diversos niveles de error del sistema.
* SLCT (pin 13): Esta señal corresponde normalmente al interruptor ON-LINE de la impresora,
para que el usuario pueda deseleccionarla.

* AUTO FEED * (pin 14): Esta señal indica a la impresora mediante un "1" si ha de enviar
automáticamente un LINE FEED después de cada CARRIAGE RETURN (código ASCII nº 13).
Esto significa que si debe avanzar una línea después de cada retorno de carro, ya que hay
impresoras 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
ser debido 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 la impresora. Este bit debe cargarse con 0 brevemente para volver a cargarlo inmediatamente
con un 1, ya que sino la impresora realizaría un reset tras otro indefinidamente. * SLCT IN (pin
17)

Mediante esta línea el ordenador puede poner a la impresora en modo Off-Line y realizar
pausas. Esta línea debe de estar normalmente a 1.

* GND (pin 18 a 25): Terminal de masa o tierra.

Ahora bien, todos estos pines no se controlan con un mismo registro de datos sino que un
mismo puerto Centronics (LPT1, LPT2, etc...) tiene 3 registros para poder ser controlado; a
saber: Enviar Datos, Inicializar Dispositivo y Entrar Datos. Para acceder a los tres registros de
cada puerto, nos referiremos a cada registro con una dirección de memoria implícita que fija la
BIOS al arrancar el ordenador. Sería conveniente disponer de un algoritmo que nos informase
de la dirección de memoria de cada uno de los tres registros, ya que cada máquina es distinta
de otra, aunque aquí comentaremos las más usuales. Pero comentemos cada registro con
detalle:

ENVIAR DATOS

Es quizás la función más conocida del puerto Centronics. Este registro controlará los pines de 2
a 9, que son la línea de datos de D0 a D7. El registro que lo controla es el siguiente: Primer
registro de un puerto paralelo

Este es un registro de Solo Escritura, es decir solo nos servirá para enviar datos a un
dispositivo externo y nunca para recibirlos, y estos datos serán enviado de byte en 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 reciba datos 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 de un
dispositivo externo y nunca para enviarlos, este registro es únicamente modificable desde el
exterior y por hardware. Ahora bien, la recepción de datos ya no es tan evidente como el envío,
ya que en el tiempo que se instituyó la norma del puerto Centronics no se pensó en que el
dispositivo externo enviase datos al PC y solo dotó de 5 patillas al puerto Centronics para
recibir datos del dispositivo externo. Vemos que al disponer de solo 5 pines de entrada, nos es
imposible hacer que el PC reciba todo un byte completo a la vez desde el dispositivo externo.
Por eso, lo que se suele hacer normalmente es usar un pin que haga las funciones de control,
como por ejemplo BUSY *, que por cada flanco de subida o bajada el PC interpretara que el
dato a su entrada es válido, como muestra la siguiente figura:
MAGNITUD DE ENTRADAS/SALIDAS

Debemos tener en cuenta que las entradas y salidas del puerto Centronics se rigen por señales
TTL, es decir un "1" equivale a +5 V.
Los circuitos integrados internos de la controladora del PC suelen ser buffer TTL o UART, y
hemos de vigilar muchos cortocircuitos o entrar y sacar señales por los pines inadecuados, que
conducirían a la destrucción de la placa controladora. De ahí la importancia de aisladores
eléctricos.

DIGITALIO

Creación de un objeto digital

SINTAXIS

DIO = digitalio (adaptador ID)

ARGUMENTOS

• Adaptador: Es el nombre del hardware. Los posibles adaptadores son advantech, mcc,
nidaq, y parallel.
• ID: El identificador de dispositivo de hardware.
• DIO: El objeto digital I/O.

DESCRIPCIÓN

DIO = digitalio ('el adaptador', ID) crea la entrada - salida digital del objeto DIO para el
adaptador especificado y para el dispositivo de hardware con el identificador de dispositivo ID.
ID puede ser especificado como un número entero o una cuerda (serie).

APUNTES

• Cuando un objeto digital I/O es creado, esto no contiene ninguna línea de hardware.
Para ejecutar el objeto de dispositivo, las líneas de hardware deben ser añadidas con
la función de addline.
• Se pueden crear múltiples objetos digitales I/O que son asociados con un subsistema
digital I/O particular. Sin embargo, se puede ejecutar sólo uno de estos objetos digitales
I/O a la vez para la generación de acontecimientos de engranaje de distribución.
• El objeto digital I/O existe en el motor de adquisición de datos y en el espacio de
trabajo MATLAB. Si usted crea una copia del objeto de dispositivo, esto se refiere el
objeto de dispositivo original en el motor.
• La característica del nombre es automáticamente asignado por la descripción que
produce el encadenamiento del adaptador, ID y DIO. El nombre puede ser cambiado
en cualquier momento.

EL ADAPTADOR DEL PUERTO PARALELO

La caja de herramientas proporciona capacidades básicas DIO por el puerto paralelo. El


ordenador personal apoya hasta tres puertos paralelos que son asignados las etiquetas LPT1,
LPT2, y LPT3. Usted puede usar sólo estos puertos. Si usted añade puertos adicionales a su
sistema, o si los puertos estándar no usan los recursos de memoria de falta, ellos no serán
accesibles por la caja de herramientas.

IDENTIFICADOR DEL DISPOSITIVO DE HARDWARE

Cuando los dispositivos de adquisición de datos son instalados, se les asignan un número
único, que identifica el dispositivo en el software. El identificador de dispositivo típicamente es
asignado automáticamente y por lo general a mano puede ser cambiado usando una utilidad de
configuración de dispositivo suministrada por vendedor. Instrumentos Nacionales se refirieren a
este número como el número de dispositivo.
EJEMPLOS

Crear un objeto digital I/O para un dispositivo National Instruments definido como 'Dev1'.
• DIO = digitalio('nidaq','Dev1');

Crear un objeto digital I/O para un dispositivo Measurement Computing definido como '1'.
• DIO = digitalio('mcc','1');

Crear un objeto digital I/O para un puerto paralelo LTP1.


• DIO = digitalio('parallel','LPT1');

BIOGRAFÍA

http://www.redcientifica.com/doc/doc199903310006.html

http://www.mathworks.com/access/helpdesk/help/toolbox/daq/index.html?/access/helpdesk/help
/toolbox/daq/digitalio.html&http://www.google.com.mx/search?
hl=es&q=que+es+digitalio+en+matlab&meta=

http://www.elmundo.es/traductor/index.html