puertos de la pc
DESCRIPTION
Puertos de la PCTRANSCRIPT
Computadoras Electrónicas 4to Electrónica C.S.
EL PUERTO PARALELO DEL PC
La internase de una computadora con la impresora se encuentra resuelta a
través de un puerto parale lo de 8 b i ts . Este puerto, en real idad, involucra a tres
registros l lamados de datos, de estado y de control , mediante los cuales ambos
d isposit ivos real izan consultas de estado, control y t ransferencia de datos entre
s í .
Un poco de histor ia.
Cuando IBM introdujo la PC en e l año 1981, esta incorporaba un puerto
parale lo de 8 b i ts para manejar la impresora, que, por muchos años esta fue e l
pr inc ipal ( o e l único ) per i fér ico que lo ut i l i zaba. Con e l paso del t iempo y los
avances de la tecnología, se desarrol laron toda c lase de aparatos ta les como
escáner, reproductores de CD, dr ivers para d isquete, etc . , los cuales ut i l i zan
d icha interface.
Los d iseñadores de per i fér icos s iempre se enfrentaban con las l imitac iones
de este puerto, entre e l las se cuentan la fa l ta de rendimiento dadas las bajas
veloc idades de transferencia de información ( máximo 150 Kbytes por segundo ) y
la l imitac ión de la máxima longitud del cable ( 1 .5 m ) .
En 1991, los fabr icantes de impresoras se reunieron para desarrol lar un
nuevo estándar para e l puerto parale lo. Los requis i tos de este eran a l ta veloc idad
de transferencia de información (hasta 1 Mbyte por segundo), b id irecc ional idad y
1 I.P.E.T. Juan XXIII
Computadoras Electrónicas 4to Electrónica C.S.
sobre todo compat ib i l idad total tanto en software como en hardware con la
interface or ig inal de IBM.
Así fue que en e l año 1994 nació e l estándar IEEE 1284 que reúne las
caracter íst icas enunciadas arr iba y r ige a las interfaces de los modernos PC.
Estructura del interface paralelo.
Dado que todas las PC compat ib les soportan e l interface or ig inal de IBM,
nos l imitaremos a l estudio de este. Cada PC puede contener hasta 4 puertos
parale los , aunque e l B IOS a l arrancar en real idad busca 3, pero se puede inc lu ir
un cuarto especi f icando su d irecc ión en e l segmento de var iables del B IOS. Las
d irecc iones de estos puertos están estandar izadas y se dan en la tabla 1 .
Dirección Puerto
3BCh - 3BEh Puerto paralelo en la tarjeta MDA ( Hércules )
378h - 37Ah Primer puerto paralelo
278h - 27Ah Segundo puerto paralelo
Tabla 1. Direcciones estándares de los puertos paralelos.
Cada puerto consta de 3 registros acces ib les desde una direcc ión base ( ver
tabla 1 )
que es 3BCh s i e l PC consta con una placa de v ideo para un monitor de t ipo
Hércules , las cuales poseen también un puerto parale lo en d icha p laca, 378h y
278h s i no posee dicha p laca.
2 I.P.E.T. Juan XXIII
Computadoras Electrónicas 4to Electrónica C.S.
Los nombres de d ichos puertos se los as igna e l s istema operat ivo DOS, para
e l cual e l pr imero en ser detectado por e l B IOS rec ibe e l nombre de LPT1
(abreviatura de L ine Pr inTer) y s i hubiera, e l segundo LPT2 y e l tercero LPT3.
Desde e l exter ior de la máquina se ident i f ica a l puerto parale lo mediante
un conector D hembra de 25 p ines ( no confundir con e l conector DB 25 macho
del puerto ser ie COM 2 ) e l cual se puede ver en la s iguiente f igura.
Del lado de la impresora, e l cable que conecta a ambos l leva un conector
t ipo centronics de 36 p ines. E l nombre de las señales as í como el número de p in
se dan en la tabla 2 .
Pin del PC Pin de la impresora
Nombre de la línea Significado
1 1 /STROBE Indica transmisión
2 2 D0 Línea de datos bit 0
3 3 D1 Línea de datos bit 1
4 4 D2 Línea de datos bit 2
5 5 D3 Línea de datos bit 3
6 6 D4 Línea de datos bit 4
7 7 D5 Línea de datos bit 5
8 8 D6 Línea de datos bit 6
9 9 D7 Línea de datos bit 7
10 10 /ACK Último caracter aceptado
11 11 /BUSY Impresora ocupada
3 I.P.E.T. Juan XXIII
Computadoras Electrónicas 4to Electrónica C.S.
12 12 PE Impresora sin papel
13 13 SLCT Impresora en ON LINE
14 14 AUTO FEED CR automático después de LF
15 32 /ERROR Error en transmisión de datos
16 31 /INIT Reset de la impresora
17 36 SLCT IN Activar ON LINE en la impresora
18-25 19-30 GND Masa
Tabla 2. Nombre y función de las diferentes líneas del puerto paralelo.
La barra / delante de los nombres de las señales indican que son act ivas a
n ivel bajo, no que están invert idas.
Los registros del puerto.
Independientemente de la pos ic ión en la zona de d irecc iones, todos los
puertos muestran un register - interfaz uni f icado que se compone de tres
registros. Ocupan las pr imeras tres d irecc iones de la tar jeta, por e jemplo, 378h,
379h y 37Ah en e l caso del pr imer puerto parale lo.
Es importante hacer aquí a lgunas observaciones:
1)_ Cada bit de los d i ferentes registros está unido a un cable que l lega a l
exter ior del PC, más exactamente a l conector DB25. S i se escr ibe un 1 en uno de
4 I.P.E.T. Juan XXIII
Computadoras Electrónicas 4to Electrónica C.S.
estos b i ts , la l ínea en cuest ión se pone bajo tensión inmediatamente y este valor
se mantiene hasta que se vuelve a escr ib ir sobre la misma l ínea.
2)_ Algunas de estas l íneas presentan lógica negat iva . Estas son las l íneas
cuyo nombre está negado ( l levan un guión sobre é l ) o que comienzan con la barra
/ . La condic ión que está unida a una de estas l íneas aparece s iempre que la l ínea
esté a cero . La l ínea error , por e jemplo, muestra un error en la sa l ida de
impres ión pero solamente cuando este b i t cont iene e l va lor cero. Mientras que la
l ínea se mantenga en uno no ex iste n ingún error .
Líneas de datos.
Sin embargo, los ocho bits del pr imer registro de un puerto parale lo
carecen de lógica negat iva. Cont iene 8 b i ts de datos que corresponden a las l íneas
de datos D0 - D7.
Tenga en cuenta que este registro del puerto está concebido como
registro puro de sal ida, ya que no se planeó ninguna recepción de
datos en el momento de su concepción. E l intentar ingresar un
dato por estas l íneas acarrear ía indefect iblemente la destrucción
del puerto.
5 I.P.E.T. Juan XXIII
Computadoras Electrónicas 4to Electrónica C.S.
La s iguiente i lustrac ión muestra la d istr ibución de los d i ferentes b i ts en e l
registro de datos.
REGISTRO DE DATOS
(9) (8) (7) (6) (5) (4) (3) (2) pin
Dirección: 3BCh - MDA con puerto paralelo
378h - 1º puerto paralelo
278h - 2º puerto paralelo
El registro completo es de Escritura solamente.
Estado de la impresora.
El estado actual de la impresora se obt iene del segundo registro, l lamado
registro de estado, que solo se puede leer pero no escr ib ir por software, ya que
en e l se ref le jan las d i ferentes l íneas de estado de la impresora. Es decir , las
l íneas de este registro se comportan como entradas a l PC sobre las cuales
podemos escr ib ir , ingresar a lgún valor lógico mediante hardware. E l intentar
escr ib ir por software en este registro no t iene ningún efecto.
6 I.P.E.T. Juan XXIII
D7 D6 D5 D4 D3 D2 D1 D0
Computadoras Electrónicas 4to Electrónica C.S.
La d istr ibución de los d i ferentes b i ts de este registro se muestra a
cont inuación:
REGISTRO DE ESTADO
(11) (10) (12) (13) (15) pin
Dirección: 3BDh - MDA con puerto paralelo
379h - 1º puerto paralelo
279h - 2º puerto paralelo
El registro completo es de Lectura solamente.
Los 3 bits de menor peso no se usan y no tienen salida al exterior.
El control de la impresora.
El tercer registro s i rve para e l control de la impresora y e l hardware.
Además, juega un papel importante durante la transmis ión de caracteres. todos
los b i ts , excepto los b i ts 4 a l 7 , están unidos a las d i ferentes l íneas del puerto
centronics . La d istr ibución de los b i ts es la s iguiente:
7 I.P.E.T. Juan XXIII
/BUSY /ACK PE SLCT /ERROR 0 0 0
Computadoras Electrónicas 4to Electrónica C.S.
REGISTRO DE CONTROL
pin (17) (16) (14) (1)
Dirección: 3BEh - MDA con puerto paralelo
37Ah - 1º puerto paralelo
27Ah - 2º puerto paralelo
El registro completo es de Lectura / escritura.
La X indica s in importancia. La l ínea IRQ s i rve para provocar una
interrupción de hardware en cuanto la señal ACK pasa a estado bajo y con e l lo la
impresora conf i rma la recepción del ú l t imo caracter . Esta l ínea no t iene sa l ida a l
exter ior .
8 I.P.E.T. Juan XXIII
X X X IRQ SLCT IN /INIT A. FEED /STROBE
Computadoras Electrónicas 4to Electrónica C.S.
Pero no todo es tan transparente como parece, s ino que esta interface
esconde a lgo bajo sus intr incados c i rcuitos, y es que a lgunos b i ts están invert idos
por hardware en escr i tura y otros en lectura por lo que debemos ver cuales son.
Comencemos por decir que e l registro de datos no posee ningún bit
invert ido, pero e l de estado s í . Veamos una gráf ica del mismo cuando lo leemos.
LECTURA DEL REGISTRO DE ESTADO
(11) (10) (12) (13) (15) pin
9 I.P.E.T. Juan XXIII
/BUSY /ACK PE SLCT /ERROR 0 0 0
invertidono invertidos
Computadoras Electrónicas 4to Electrónica C.S.
El b i t /BUSY está invert ido, mientras que los demás no. Ahora, en e l
registro de control debemos dist inguir entre la lectura y la escr i tura.
Comencemos por la lectura.
LECTURA DEL REGISTRO DE CONTROL
pin (17) (16) (14) (1)
Como vemos aquí, los bits invertidos en la lectura de este registro son dos, A. FEED y /STROBE, mientras que SLCT IN e /INIT no sufren inversión alguna.
Este mismo registro pero en escritura tiene las siguientes características:
10 I.P.E.T. Juan XXIII
X X X IRQ SLCT IN /INIT A. FEED /STROBE
invertidosno invertidos
Computadoras Electrónicas 4to Electrónica C.S.
ESCRITURA DEL REGISTRO DE CONTROL
pin (17) (16) (14) (1)
Aquí son 3 los bits invertidos y uno queda sin modificación alguna.
Estructura de la comunicación.
Ahora que conocemos la estructura interna del puerto, podemos ver e l
s igni f icado de las d i ferentes l íneas y sus funciones asociadas en la comunicac ión
entre PC e impresora. La secuencia de señales involucradas en la comunicac ión
es la s iguiente:
E l byte de dato que se ha de enviar pr imero se escr ibe en e l pr imer
registro del puerto parale lo y se inscr ibe en las l íneas de datos D0 a D7. Ya que a
través de las l íneas D0 a D7 l legan permanentemente señales , la impresora 11 I.P.E.T. Juan XXIII
X X X IRQ SLCT IN /INIT A. FEED /STROBE
invertidosno invertido
Computadoras Electrónicas 4to Electrónica C.S.
necesita otra señal para poder procesar los , ya que e l dato presente puede ser la
“ basura “ de la ú l t ima transmis ión.
En esta s i tuac ión entra en juego la l ínea /STROBE. Solo cuando e l PC pone a
cero esta l ínea, le está señal izando a la impresora que hay un caracter en las
l íneas de datos. S in embargo, ha de anular lo más rápidamente posib le la señal de
/STROBE para que la impresora no lea dos veces e l mismo caracter . Pero a l menos
deber ía permanecer durante un microsegundo para dar le t iempo suf ic iente a l
hardware de la impresora para poder leer la señal de las l íneas de datos.
Un microsegundo no es un espacio de t iempo muy largo que digamos, y por
e l lo , la impresora d i f íc i lmente podrá mantener este r i tmo, inc luso cuando
pr imero a lmacene los caracteres en un buffer interno. Mediante la l ínea /BUSY
(ocupada) , la impresora t iene la posib i l idad de impedir la t ransmis ión de más
caracteres. Habitualmente hace uso de e l la inmediatamente después de rec ib ir la
señal de /STROBE, para poder leer con calma de las l íneas de datos y poder
procesar los .
Pero no es suf ic iente con esto, ya que también la señal /ACK se ha de
poner a cero por la impresora para señal izar le a l PC que ha rec ib ido la señal
(ACKnowledge = reconocido, aceptado) .
La comunicac ión entre PC e impresora se parece a un monólogo, pero la
impresora no es tota lmente muda. Dispone de tres l íneas para enviar d i ferentes
informaciones de su estado a l
PC: /ERROR, SLCT y PE. Todas terminan en e l registro de estado donde se pueden
leer v ía software.
12 I.P.E.T. Juan XXIII
Computadoras Electrónicas 4to Electrónica C.S.
SLCT es la abreviatura de Select y corresponde con e l interruptor de ON
LINE en e l panel f rontal de la impresora. S i la impresora se deselecc iona por e l
usuar io, esta se lo indica a l PC con ayuda de esta l ínea.
PE es la abreviac ión de Paper Error y le ofrece a la impresora la pos ib i l idad
de indicar la fa l ta de papel . Este t ipo de error se separa consc ientemente de
errores normales de transmis ión, que v ienen por la l ínea de /ERROR. La fa l ta de
papel es fác i lmente soluc ionable por e l usuar io reponiéndolo, pero un error en la
transmis ión de datos se debe generalmente a l cable de impresora o señales de
interferencia , cuyos efectos perturbadores se exc luyen del dominio del usuar io.
Y f inalmente, e l PC d ispone de a lgunas l íneas de control , con ayuda de las
cuales puede inf lu ir a la impresora. Estas son /A. FEED, / INIT y SLCT IN. Se
encuentran en e l registro de control ( tercer registro ) .
/A. FEED le indica a la impresora s i ha de enviar automáticamente un L INE
FEED (avance de l ínea) después de un CARRIAGE RETURN (CR, retorno de
carro) que rec ibe del PC. Mientras esta l ínea esté en uno, la impresora procede
de esta forma. Se ha introducido esta l ínea ya que no todas las impresoras
proceden del mismo modo a l rec ib ir un CR. Algunas real izan un retorno de carro
a l rec ib ir esta señal , pero omiten un avance de l ínea, que solo se real iza por un
caracter adic ional separado LF. En real idad, esto es correcto, pero e l software
que no está adaptado a e l lo imprime en este lugar únicamente un CR y esto
produce que la impresora “machaque“ la l ínea anter ior a l escr ib ir . Con ayuda de
esta l ínea, esto se puede evitar .
Mediante la l ínea SLCT IN e l PC puede poner la impresora en ON LINE
colocando esta l ínea en uno y as í mantener la impresora l i s ta para funcionar.
13 I.P.E.T. Juan XXIII
Computadoras Electrónicas 4to Electrónica C.S.
Con ayuda de la l ínea / INIT e l PC d ispone f inalmente de la pos ib i l idad de
real izar un reset de la impresora. E l b i t correspondiente se ha de poner a cero
brevemente, para cargar lo inmediatamente con uno, ya que de lo contrar io, la
impresora real izar ía un reset detrás de otro, s in f in .
Precauciones en el manejo del puerto.
Damos aquí a lgunos consejos importantes a la hora de trabajar con un
puerto parale lo.
No conectar n ingún disposit ivo ( impresora, escáner o a lgún protot ipo
construido por nosotros) cuando e l PC está funcionando. Apagar e l equipo y
luego proceder.
Todo protot ipo construido por nosotros que se deba conectar a l puerto
parale lo, deberá contar con un buffer ( interface) entre ambos. Las razones de
esto son dos: 1) la capacidad para suministrar corr iente del puerto es muy
baja, por lo que debemos colocar un ampl i f icador de corr iente (puede ser un
74LS373 o 74LS244, 245 etc . ) para poder manejar nuestros d isposit ivos y 2)
este interface real iza una a is lac ión e léctr ica entre los p ines del puerto y las
sa l idas del mismo por lo que un desperfecto en nuestro protot ipo ocas iona la
destrucc ión de d icho interface y no del puerto del PC.
14 I.P.E.T. Juan XXIII
Computadoras Electrónicas 4to Electrónica C.S.
Antes de conectar un protot ipo a l puerto, asegurarse de que no ex iste a lgún
cortoc ircuito o mala conexión en e l mismo, que e l c i rcuito esté armado
correctamente y comprobar e l estado del cable que conecta a l mismo con e l PC
para que no haya fa lsos contactos o cortoc ircuitos entre las l íneas.
15 I.P.E.T. Juan XXIII