Logo Studenta

puerto_paralelo

¡Este material tiene más páginas!

Vista previa del material en texto

Puerto Paralelo
Informática II - Ing. Electrónica - UTN FRH
maurogullino@gmail.com
- Provee interfaz con periféricos en paralelo
- Mínima circuitería externa para tareas simples
- Acceso en parte trasera de la PC con hembra DB-25
- Estandarizado por la IEEE 1284 (1994)
- Usos originales
 · Impresoras, scanners, unidades Zip, CDs...
 · Control de hardware externo
Ventajas
· Conexión con dispositivos que manejan información
de 8 bits en paralelo
(microprocesadores, microcontroladores, etc.)
· Mayor velocidad de transmisión con respecto 
al puerto serie (grabadoras de CD)
Desventajas
· Distancias menores (más sensible al ruido)
· Cantidad de cables (costo)
Esquemático de un motherboard
IEEE 1284
· define 5 modos de operación
· define la interfaz física 
(cables y conectores) 
· define la interfaz eléctrica 
(conductores, tensiones, impedancias)
Modos de operación
SPP Centronics: unidireccional, baja velocidad (de 50 a 150 Kbyte/seg)
Se usa para impresoras.
Nibble: bidireccional, 4 bits de salida x 4 de entrada.
Baja velocidad (150 Kbyte/seg).
Byte: bidireccional, se encuentra en pocas tarjetas IBM.
EPP (Enhaced Paralell Port): mejorado, alta velocidad (hasta 2M)
Desarrollado por Intel, Xircom y Zenith.
Utiliza HW para asistir en la transferencia de datos.
ECP (Enhaced Capability Port): alta velocidad (hasta 2.4M)
Desarrollado por Microsoft. Se usa para impresoras modernas y scanners. 
Utiliza DMA y buffers FIFO para manejo de datos, evitando instrucciones de I/O.
Conectores
Tipo A: DB 25 pines
Tipo B: Centronics 36 pines
Tipo C: similar al B pero más pequeño
Arriba: DB25, abajo: Centronics Hembra DB25 en la PC
Conector DB 25 hembra
(PC vista de frente, pin 1 a la derecha)
12
14
3
15
4
16
5
17
6
18
7
19
8
20
9
21
10
22
11
23
12
24
13
25
entrada
salida
negado
tierras
Conector DB 25 hembra
(PC vista de frente, pin 1 a la derecha)
12
14
3
15
4
16
5
17
6
18
7
19
8
20
9
21
10
22
11
23
12
24
13
25
entrada
salida
negado
SE
LE
CT
 O
UT
SE
LE
CT
 IN
PA
PE
R E
MP
TY
ER
RO
R
BU
SY
IN
ITI
AL
IZE
AC
K
AU
TO
FE
ED
ST
RO
BEDATOS
Modo SPP - DB25
· 8 líneas de datos: pines 2 al 9
· 5 líneas de estado (entradas)
10 Acknowledge: indica que el dato fue recibido
11 Busy: en alto cuando la impresora está ocupada
12 Paper empty: ausencia de papel
13 Select OUT: en alto cuando la impresora está en escucha
15 Error: se produjo un error en la impresora
· 4 líneas de control (salidas)
1 Strobe: la PC comunica al periférico que hay datos en la línea
14 Autofeed: control del retorno de carro y avance de línea
16 Initialize: cuando está bajo se inicializa la impresora (reset)
17 Select IN: en alto, selecciona la impresora
Interfaz Eléctrica
· Maneja señales TTL, corriente limitada
· ojo cortocircuitos!
 0 lógico = 0v (máx. 12mA)
 1 lógico = 5v (máx. 2,6mA)
p
to
 p
a
ra
le
lo
p
to
 p
a
ra
le
lo1 0
Imax = 2,6mA Imax = 12mA +5v
Interfaz Eléctrica
· Cargas grandes requieren de un driver
· Aisla el puerto de la carga
· Provee de la corriente necesaria (fuente externa a PC)
Drivers posibles
· Compuertas
· Transistores
· Optoacopladores
Imax = ±25mA I max collector 800mA
I max collector 100mA
I max peak 1.2A
Programación
Direcciones base de los puertos
LPT1 0x378
LPT2 0x3BC
LPT3 0x278
Datos: BASE + 0 (8 salidas)
Status: BASE + 1 (4 entradas e IRQ)
Control: BASE + 2 (4 salidas, IRQ enable, Bidir. enable)
 port bit pin entrada o salida
DATA 378 0 2 salida
 1 3 salida
 2 4 salida
 3 5 salida * = invertido
 4 6 salida
 5 7 salida
 6 8 salida
 7 9 salida
STATUS 379 0 NA ---
 1 NA ---
 2 NA ---
 3 15 entrada
 4 13 entrada
 5 12 entrada
 6 10 IRQ
 7* 11 entrada*
CONTROL 37A 0* 1 salida*
 1* 14 salida*
 2 16 salida
 3* 17 salida*
 4 NA enable IRQ
 5 NA enable bidir.
 6 NA ---
 7 NA ---
Port bidireccional
74LS374: latch tristate 74LS244: buffer tristate
74
LS
374
74
LS
374
74
LS
244
74
LS
244
bus datos bus datosal conector al conector
PARA SALIDA PARA ENTRADA
alta
impedancia
Programación (ejemplos)
Poner un "1" en el pin 16:
outb( inb(BASE+2) | 0x04 , BASE+2 );
Poner un "0" en el pin 16:
outb( inb(BASE+2) & 0xFB , BASE+2 );
Polling de pin 13:
if ( inb(BASE+1) & 0x10 ) { ...
Ejemplos de circuitos
Caso general (salida)
?
I para encender un led estándar rojo = 10 mA
Dibujado con digikey.com/schemeit
Ejemplos de circuitos (salidas)
Lógica positiva Lógica negativa
Ejemplos de circuitos (entradas)
Lógica positiva Lógica negativa
(prototipo)
	Página 1
	Página 2
	Página 3
	Página 4
	Página 5
	Página 6
	Página 7
	Página 8
	Página 9
	Página 10
	Página 11
	Página 12
	Página 13
	Página 14
	Página 15
	Página 16
	Página 17
	Página 18
	Página 19
	Página 20
	Página 21
	Página 22
	Página 23
	Página 24
	Página 25
	Página 26

Continuar navegando