You are on page 1of 23

EL PUERTO SERIE RS-232

Introduccin............................................................................................................................2 Que es el puerto Serie?........................................................................................................2 Conectores...........................................................................................................................4 Funciones de DOS y BIOS.................................................................................................4 Direcciones..........................................................................................................................5 Transmisin de datos........................................................................................................... !a estructura de datos del "uerto Serie #S$2%2 .................................................................& '. "#I(CI"IOS D) T#*(S+ISI,( )( S)#I)..................................................................'.' +etodos de transmision en serie...................................................................................2. )ST*(D*# #S$2%2....................................................................................................... 2.' /istoria....................................................................................................................... 2.2 Descripcion del estandar.........................................................................................'0 2.2.' Caracteristicas electricas......................................................................................'0 2.2.2 Caracteristicas mecanicas.....................................................................................'' %. "1)#TO S)#I) D) !* "C.............................................................................................'5 %.'. !a 1*#T 21ni3ersal async4ronous recei3er transmiter5......................................'5 %.2. Direcciones de entrada6salida e I#Qs.....................................................................'& 4. CO(FI71#*CIO( D)! "1)#TO S)#I) )( 8I(DO8S.....................................'5. Cone9in de un microcontrolador al puerto serie del "C.............................................20 5.' )l c4ip +*: 2%2....................................................................................................2' . "#O7#*+* D) );)+"!O )( )(S*+B!*DO# ................................................22

EL PUERTO SERIE RS-232

Introduccin
Que es el puerto Serie?
Considerada como una de los m<s =<sicas cone9iones e9ternas a una computadora> el puerto serie 4a sido una parte inte?ral de todas las computadoras por mas de 20 a@os. * pesar de Aue muc4os sistemas nue3os 4an a=andonado el puerto serie completamente y adoptado cone9iones por USB, muc4os modems aun usan el puerto serie> asB como al?unas impresoras> "D*s y c<maras di?itales. "ocas computadoras tienen mas de 2 puertos serie.

Dos puertos serie en una computadora )sencialmente> los puertos serie pro3een un conector est<ndar y un protocolo Aue te permite conectar dispositi3os> tales como modems> microcontroladores> etc> a a tu computadora. Todos los sistemas operati3os en uso 4oy en dBa suportan los puertos serie> por Aue estos puertos se 4an usado por dCcadas. !os puertos paralelos son un in3ento mas reciente y mas r<pidos Aue los puertos serie. !os puertos 1SB tienen solo al?unos a@os y en un Duturo reemplaEaran tanto a los serie como a los paralelos. )l tCrmino FserialF 3iene del 4ec4o de Aue el puerto serie FserialiEaF los datos. )sto Auiere decir Aue toma un =yte de datos y transmite los - =its del =yte uno a la 3eE. !a 3entaGa del puerto serie es Aue necesita Hnicamente ' solo ca=le para transmitir los - =its 2mientras Aue un puerto paralelo necesita -5. !a des3entaGa es Aue dura - 3eces mas para transmitir el dato Aue si tu3iCramos - ca=les. *ntes de cada =yte de inDormacin > el puerto serial manda un =it de comienEo 2start =it5> el cual es un =it con 3alor de 0. DespuCs de cada =yte de datos> este manda un =it de parada 2stop =it5 para indicar Aue el =yte 4a sido completado. *l?unas 3eces tam=iCn se manda un =it de paridad.

!os puertos serie> tam=iCn llamados puertos de comunicacin (COM)> son bidireccionales. !a comunicacin =idireccional permite a cada dispositi3o reci=ir datos> asB como tam=iCn transmitirlos. !os dispositi3os seriales usan distintos pines para reci=ir y transmitir datos. 1sando el mismo pin> limitarBa la comunicacin a half-duplex> esto Auiere decir Aue la inDormacin solamente podrBa 3iaGar en una direccin a la 3eE. 1sando distintos pines> permite Aue la comunicacin sea full-duplex> en la cual la inDormacin puede 3iaGar en am=as direcciones al mismo tiempo.

Este chip de ! pines es una "ariacin del chip U#$% de &ational Semiconductor &S'())!*

!os puertos seriales dependen de un c4ip especial como controlador> el Uni"ersal #s+nchronous $ecei"er,%ransmitter (U#$%)> para Duncionar correctamente. )l 1*#T toma la salida paralela del =us del sistema de la computadora y lo transDorma en Dorma serial> para transmitirse a tra3Cs del puerto serie. Con la Dinalidad de Aue Duncione m<s r<pido> la mayorBa de los c4ip 1*#T tienen un buffer inte?rado Aue 3aria de ' a ' IB de capacidad. )ste =uDDer permite almacenar datos Aue 3ienen del =us del sistema> mientras procesa los datos de salida 2por el puerto serie5. +ientras la mayorBa de los puertos serie tienen una 3elocidad de transDerencia de ''5J=ps 2Iilo=its por se?undo5> los puertos seriales de alta 3elocidad tales como el Enhanced Serial -ort (ES-) y el Super Enhanced Serial -ort (Super ES-)> pueden alcanEar 3elocidades de transDerencia de 4 0J=ps.

Una tar.eta de puerto seria doble

Conectores
En nuestros PC's, se emplea como conector del interface serie un terminal macho al que llamaremos DTE (Data Terminal Equipment) que, a travs de un cable conectamos a un perifrico que posee un conector hembra al que llamaremos DCE (Data Comumunications Equipment). En nuestro terminal DTE, tenemos las si uientes cone!iones (para un conector D"#$%)& PIN ' $ + % 0 1 5 $6 $+ Nombre P.(. TD ,D ,T* CT* D*, (2D DCD DT, D*,D Direccin ## ##)DCE ##)DTE ##)DCE ##)DTE ##)DTE ## ##)DTE ##)DCE 8##) Funcin Tierra de se uridad *alida datos DTE Entrada de datos DTE Petici.n de emisi.n DTE /isto para trasmitir DCE CE listo para com. con DTE 3asa com4n del circuito Detecci.n de portadora *e7al de terminal disponible 9ndicador de velocidad de T!.

Funciones de DOS y BIOS


/ay dos maneras de direccionar el puerto serie> a tra3es de la interrupcin '4/ de la BIOS y a tra3es de la interrupcin 2'/ del DOS. !a interrupcin '4/ de la BIOS utiliEa cuatro Dunciones para pro?ramar el puerto serie. Cada Duncion es seleccionada asi?nando un 3alor al re?istro */ del microprocesador. !as cuatro Dunciones son listadas a continuacinK

/uncion !!0K InicialiEa el puerto serie y selecciona la 3elocidad> el numero de =its de datos de start y de stop y los parametros de paridad. /uncion !'0K )n3ia un caracter al puerto serie especiDicado. /uncion !10K !ee un caracter desde el puerto serie especiDicado. /uncion !!2K De3uel3e el estado del puerto serie especiDicado. /ay 3arias Dunciones de la interrupcin 2'/ del DOS relacionadas a la operacion del puerto serieK /uncion !20K !ee un caracter desde el puerto CO+'. /uncion ! 0K )scri=e un caracter desde el puerto CO+'. /uncion !0K )sta Duncion en3ia un numero de =ytes des de un =uDDer a un dispositi3o especiDicado.

Direcciones
El puerto serie utili:a direcciones ; una l<nea de se7ales, un 9,= para llamar la atenci.n del procesador. >dem?s el soft@are de control debe conocer la direcci.n. /a ma;or<a de los puertos series utili:an direcciones standard predefinidas. Astas est?n descritas normalmente en base he!adecimal. Cuando se instala un nuevo puerto, normalmente se mueve un Bumper o s@itch para seleccionar un puerto (CC3', CC3$, CC3+, etc., con lo que se asi na una direcci.n ; una interrupci.n usada por la tarBeta del puerto. /as direcciones e 9,= usadas por los puertos serie fueron definidas al dise7ar el ordenador ori inalmente D sin embar o, las del CC3+ ; CC3- no se han definido oficialmente, aunque est?n aceptadas por convenios. /as se7ales son & Direccin CC3' CC3$ CC3+ CC3Interrupcin +E5 $E5 +E5 $E5 (IRQ) + +

*e pueden a7adir ran cantidad de puertos serie a un PC, ;a que e!iste ran fle!ibilidad a la hora de definir direcciones no standard, siempre que se encuentren entre el ran o '66 ; +EE he!adecimal ; siempre que no entren en conflicto con otros dispositivos.

/os ordenadores 9"3 P*F$ usan la 3icrochannel >rchitecture, que define las direcciones e 9,=s para los puertos desde CC3' a CC35& Direccin CC3' CC3$ CC3+ CC3CC3% CC30 CC31 Interrupcin +E5 $E5 +E5 $E5 -$$6 -$$5 %$$6 (IRQ) + + + + +

Transmisin de datos
Para el protocolo de transmisi.n de datos, s.lo se tienen en cuenta dos estados de la l<nea, 6 ; ', tambin llamados /o@ ; Gi h. Cuando no se transmite nin 4n car?cter, la l<nea esta Gi h. *i su estado pasa a /o@, se sabe que se transmiten datos. Por convenio se transmiten entre % ; 5 bits, pero la "9C* s.lo soporta una anchura de datos de 1 u 5 bits. Durante la transmisi.n, si la l<nea est? /o@, se env<a un 6 ; si est? Gi h indica un bit a uno. *e env<a primero el bit menos si nificativo, siendo el m?s si nificativo el 4ltimo en enviarse. > continuaci.n se env<a un bit de paridad para detectar errores. Einalmente se mandan los bits de stop, que indican el fin de la transmisi.n de un car?cter. El protocolo permite utili:ar ', ',% ; $ bits de stop. El n4mero de bits que componen cada palabra dependen del c.di o a emplear, as<, si se quieren transmitir datos >*C99 normales, ser?n de 1 bits, pero si se quiere enviar el Bue o completo de caracteres, cada una deber<a estar formada por 5 bits. Dependiendo de esto, si se emplea paridad ; el numero de bits de stop, se mandar?n un determinado n4mero de caracteres dependiendo de la velocidad en baudios (bits por se undo) por el puerto serie.

En la si uiente fi ura se puede ver con detalle la transmisi.n del car?cter >*C99 >, que es el 0% ; su representaci.n binaria es 6'6666'.

La estructura de datos del Puerto Serie RS-232


!a comunicacin de datos en un puerto serial> se usa normalmente para eDectuar comunicaciones asBncronas> es decir> sin tiempo preesta=lecido para iniciarse> es decir> los datos lle?an en r<Da?as paAuetes de inDormacin> normalmente cada paAuete es de =itsL' =yte 2eAui3alente a un car<cter en cdi?o *SCII5> al?unos eAuipos en3Ban caracter por caracter> otros ?uardan muc4os caracteres en la memoria y cuando les toca en3iarlos> los en3Banuno tras otro. 1no de los par<metros m<s importantes en la comunicacin serie> es la 3elocidad con la Aue los datos se transmiten> para el caso del #S$2%2> pueden transmitir de los %00 Baudios 2' BaudioL' =it6se?5 4asta ''5>200 Baudios> la 3elocidad depende de los eAuipos conectados en el puerto serie y la calidad y lon?itud de los ca=les. Otro de los par<metros de trascendencia es el =it de inicio> es decir> el =it Aue le indica al puerto receptor Aue 3a a lle?ar un Byte de inDormacin. /ay dos tipos de paridad adicional Aue se usan y estos sonK +arca 2marI5 )l =it de paridad Aue se intercala siempre es un uno. )spacio 2space5 )l =it de paridad Aue se intercala siempre es un cero.

y el nHmero de =its Aue se emplean para cada paAuete> pueden ser 5> > & u -. )s asB como la comunicacin serie #S$2%2 es la comunicacin de Datos m<s empleada en el mundo> ya Aue utiliEa pocos alam=res ca=les para lo?rarlo y mediante los mdems> es la Dorma de intercomunicar computadoras> comunicarse a tra3Cs de internet> control a distancia y muc4as otras aplicaciones.

)l est<ndar #S$2%2$)I*> es eAui3alente al M.24 del CCITT 2Consulti3e Commitee International Tele?rap4 and Telep4one5> este comitC es internacional y 4ace recomendaciones de car<cter mundial.

1. PRINCIPIOS DE TRANS ISI!N EN SERIE


El concepto de las comunicaciones en serie es el siguiente, los datos son enviados del emisor al receptor bit a bit a traves de una unica linea o circuito. El puerto serie toma 8, 16 o 32 bits en paralelo del bus del computador y los convierte en un flujo de 8, 16 o 32 bits en serie. El nombre de transmision en serie viene de aqui, cada bit de informacion es transmitido en serie de un sitio a otro. En la practica en una transmison en serie algunos bits pueden perderse o bien ser aadidos y por lo tanto alterar el resultado final. i un bit se pierde o se aade, todos los bits sucesivos son cambiados de posicion y se obtiene un resultado incorrecto. !si que para establecer comunicaciones en serie fiables se deben corregir posibles errores en la transmision.

1.1 Metodos de transmision en serie


E"isten dos metodos de transmision en serie que corrigen errores de bit. El primero es la comunicacion sincrona. El emisor y el receptor son sincroni#ados usando una seal de reloj que indica el tiempo entre cada

bit. $ontrolando esta seal, el receptor puede determinar si se %a perdido o se %a aadido un bit. &or ejemplo, imaginemos una cinta transportadora en la que un producto pasa a traves de un sensor cada cinco segundos, si el sensor detecta algo antes de cinco segundos asume que es un objeto e"trao y suena la alarma, si despues de cinco segundos no detecta nada asume que el producto se %a perdido y suena la alarma. 'n aspecto a tener en cuenta en este tipo de comunicacion es que si alguno de los e"tremos de la comunicacion pierde la seal de reloj, la comunicacion finali#a. El metodo alternativo, conocido como comunicacion asincrona, es aadir marcadores dentro del flujo de bits para seguir la pista a cada bit de datos. i se introduce un bit de comien#o que indica el comien#o de un bloque de bits, la posicion de cada bit puede ser determinada tempori#ando los bits en periodos regulares. Enviando bits de comien#o al principio de cada bloque de bits, los dos e"tremos no tienen que estar sincroni#ados por una seal de reloj. !l utili#ar bloques de pequeo tamao no %ay tiempo para que el tempori#ador se desincroni#e. El unico factor importante es que receptor y emisor tengan configurada la misma velocidad en el puerto. (os datos se dividen en bloques de ) a 8 bits llamados palabras. El bit menos significativo de la palabra se envia primero y el mas significativo el ultimo. En la comunicacion el emisor codifica cada palabra aadiendo al principio de esta un bit de comien#o y uno o dos bits de parada al final. !lgunas veces se aade un bit de paridad entre el ultimo bit de la palabra y el bit de parada para comprobar la integridad de los datos. En el siguiente ejemplo puede verse la composicion de un bloque de datos y como es sincroni#ado con la seal de reloj. En el ejemplo se usa una palabra de 8 bits con paridad impar y un bit de parada.

2. ESTANDAR RS-232
".1 #i$tori%
En los aos 6*, cada fabricante usaba un interfa# diferente para comunicar un +,E -+ata ,erminal Equipment. y un +$E -+ata $ommunications Equipment.. $ables, conectores y niveles de voltage eran diferentes e incompatibles, por lo tanto, la intercone"ion entre equipos de diferentes fabricantes requeria el uso de convertidores de los niveles de voltage y la fabricacion de cables y conectores especiales. En 1/6/, el E0! -Electronic 111. junto con 2ell (aboratories y otros fabricantes establecieron un estandar para la interfa# entre +,E3s y +$E

4s. El objetivo de este estandar era simplificar la intercone"ion de equipos fabricados por diferentes firmas. Este estandar llego a ser el 5 12321$ -5ecommended tandard number 232, revision $ from t%e Electronic 0ndustry !ssociation.. 'n estandar similar fue desarrollado en Europa por el $$0,, -$omite $onsultatif 0nternatinale de ,elegrap%ie et ,elep%onie. conocido como 6.27 -descripcion funcional. y 6.28 -especificaciones electricas.. El 5 12321$ fue adoptado por la mayor parte de fabricantes de terminales y equipamiento. En 1/8* la creciente industria de los microcomputadores encontro el estandar 5 12321$ barato y apropiado para conectar perifericos al microcomputador. El 5 12321$ llego a ser rapidamente un estandar para conectar al microcomputador8 impresoras, cintas de bac9up, terminales y otros microcomputadores. $omo el estandar solamente soporta velocidades de transmision %asta 2* 9bps y distancias %asta 16 metros, se adoptaron nuevos estandares por la E0!. El 5 77/ -descripcion mecanica. y 5 723 -descripcion electrica. son compatibles con el 5 12321$ y se puede operar a velocidades de %asta 1* :bps y alcan#ar distancias de %asta 12** metros. in embargo, la adopcion de un nuevo estandar es un proceso largo y costoso. El 5 12321$ esta muy e"pandido y por lo tanto le queda bastante vida.

"." De$cripcion de& e$t%nd%r


El estandar 5 12321$ describe un interfa# entre un +,E y un +$E que emplea un intercambio en serie de datos binarios. En el se definen caracteristicas electricas, mecanicas, funcionales del interfa# y modos de cone"ion comunes. (as caracteristicas electricas incluyen parametros tales como niveles de voltage e impedancia del cable. (a seccion mecanica describe los pines. (a descripcion funcional define las funciones de las seales electricas que se usan.

".".1 C%r%cteri$tic%$ e&ectric%$


(os niveles de voltage descritos en el estandar son los siguientes8 eales de datos ;*; ;1; Emisor -necesario. de ) a 1) de 1) a 11) 6oltios 5eceptor -esperado. de 3 a 2) de 13 a 12) 6oltios

eales de control ;<ff; ;<n; Emisor -necesario. de 1) a 11) de ) a 1) 6oltios 5eceptor -esperado. de 13 a 12) de 3 a 2) 6oltios &uede verse que los voltajes del emisor y el receptor son diferentes. Esta definicion de los niveles de voltaje compesa las perdidas de voltaje a traves del cable. (as seales son atenuadas y distorsionadas a lo largo del cable. Este efecto es debido en gran parte a la capacidad del cable. En el estandar la capacidad ma"ima es de 2)** pf -pico=aradios.. (a capacidad de un metro de cable es normalmente de 13* pf. &or lo tanto, la longitud ma"ima del cable esta limitada a unos 1> metros. in embargo, esta es una longitud nominal definida en el estandar y es posible llegar %asta los 3* metros con cables de baja capacidad o utili#ando velocidades de transmision bajas y mecanismos de correccion.

"."." C%r%cteri$tic%$ mec%nic%$


En el estandar no se %ace referencia al tipo de conector que debe usarse. in embargo los conectores mas comunes son el +212) -2) pines. y el +21/ -/ pines.. El conector %embra debe estar asociado con el +$E y el mac%o con el +,E.

Diagrama de los conectores DB-25 y DB-9

En la DB25 Pin 1 2 3 7 ) 6 > 8 / 1* 11 12 13 17 1) 16 1> 18 1/ 2* 21 22 23 27 2)

siguiente tabla puede verse la seal DB9 Nomb DTEEIA CCITT Pin re DCE =? !! 1*1 3 ,+ 2! 1*3 11@ 2 5+ 22 1*7 A11 > 5, $! 1*) 11@ 8 $, $2 1*6 A11 6 + 5 $$ 1*> A11 ) ? !2 1*2 1 +$+ $= 1*/ A11

asociada a cada pin. Nombre Formal =rama ?round ,ransmitted +ata 5eceived +ata 5equest ,o end $lear ,o end +ata et 5eady ignal ?round +ata $arrier +etect B& 1& Co asignado econdary +ata $arrier econdary $lear ,o end econdary ,ransmitted ,ransmission ignal econdary 5eceived +ata 5eceiver ignal Element ,iming Co asignado econdary 5equest ,o end +ata ,erminal 5eady ignal Duality +etector 5ing 0ndicator +ata ignal 5ate elector

+$+ $= $, $2 ,+ 2! ,$ +2 5+ 22 5$ ++ 5, +,5 D 50

122 121 118 117 11/ 11)

A11 A11 11@ A11 A11 11@ 11@ 11@ A11 A11 A11@ A11

7 /

$! 12* $+ 1*8.2 $? 11* $E 12) $EF$ 111F11 0 2 +! 113

,ransmitter ignal Co asignado

$ada una de las seales pertenece a un tipo de circuito distinto. En el nombre E0! de la seal se %ace referencia al circuito al que pertenece. -!. ,ierra -2. +atos -$. $ontrol -+. ,iempo - . $anal secundario Protecti e !round "AA# ,%is line is connected to t%e poGer ground of t%e serial adapter. 0t s%ould not be used as signal ground. $onnect t%is line to t%e screen of

2.2.3 Seales del puerto

t%e lead Gire -if applicable.. 2y connecting t%is line on bot% sides you ma9e sure t%at no large currents floG t%roug% t%e signal ground in case of an insulation defect or ot%er defect on eit%er side. <n t%e ot%er side, G%en tGo devices are seperated by great dinstances you may not Gis% to use tis signal, because of different ground potential and it is possible t%at it may carry a substantial current as a ground loop. 0f it is great enoug%, it may cause electrical interference. Transmitted data "BA# Esta seal es usada para transmitir datos del +,E al +$E. e mantiene con un 1 logico cuando no %ay nada que transmitir. El terminal empie#a a transmitir cuando un uno logico esta presente en las siguientes lineas8 $lear ,o end, +ata ,erminal 5eady, +ata et 5eady, +ata $arrier +etect $ecei ed data "BB# (a seal es usada por el +,E para recibir datos desde el +$E. El terminal empie#a a transmitir cuando un 1 logico esta presente en las siguientes lineas8 5equest ,o end, +ata ,erminal 5eady, +ata et 5eady, +ata $arrier +etect. $e%uest To &end "CA# El +,E utili#a esta seal cuando quiere transmitir al +$E. En combinacion con la seal $lear ,o end coordina la transmision de datos entre el +,E y el +$E 'n cero logico en esta linea mantiene al +$E en modo de transmision, es decir, el +$E recibe datos del +,E y los transmite. 'na transicion <n1<ff en esta linea %ace que el +$E complete la transmision de datos y cambie al modo de recepcion -el +$E recibe datos y los transmite al +,E.. En una linea %alf1duple", cuando el +,E tiene que enviar datos activa la seal 5equest ,o end y entonces espera %asta que el +$E cambia del modo de recepcion al modo de transmision. $uando la transmision es posible el +$E activa la seal $lear ,o end y la transmision puede empe#ar. En una linea full duple" las seales 5equest ,o end y $lear ,o end estan activadas permanentemente Clear To &end "CB# e trata de una seal de respuesta al +,E. $uando esta seal esta activa, indica al +,E que puede empe#ar a transmitir. &or ejemplo, cuando un modem se conecta a otro modem por la red telefonica. $uando esta senal esta activa junto con las seales 5equest ,o end, +ata et 5eady y +ata ,erminal 5eady, el +,E puede estar seguro de que los datos seran enviados por el enlace de comunicacion. in embargo, cuando si las seales +ata et 5eady y +ata ,erminal 5eady no estan implementadas, como en una cone"ion local que no involucra la red telefonica, las seales $lear ,o end y 5equest ,o end son suficientes para controlar la transmision de datos.

Data &et $eady "CC# En esta linea el +$E le indica al +$E que el canal de comunicacion esta disponible. &or ejemplo, cuando un modem %a establecido una cone"ion con un modem remoto y esta en modo de transmision. &ignal ground Esta seal es la tierra usada como punto de referencia para todas las seales recibidas o transmitidas. Es muy importante y debe de estar presente en toda comunicacion. Data Carrier Detect "CF# Esta seal es utili#ada por el +$E para indicarle al +,E que se %a establecido una portadora con el dispositivo remoto. 'P Este pin se mantiene a B12 6oltios para test -P Este pin se mantiene a 112 6oltios para test &econdary $ecei e (ine &ignal Detect "&CF# Esta seal esta activa cundo el canal de comunicacion secundario recibe una portadora. Es analoga a la seal 5eceive (ine ignal +etect. &econdary Clear To &end "&CB# $uando esta activa le indica al +,E que puede empe#ar a transmitir por el canal secundario. Equivalente a la seal $lear ,o end. &econdary Transmitted Data "&BA# &or esta linea se envian los datos del canal secundario del +,E al +$E. Esta seal es equivalente a la seal ,ransmitted +ata. Transmission &ignal Element Timing "DB# En esta linea el +$E envia una seal de reloj al +,E. (o que permite al +,E introducir esta seal de reloj en el circuito de transmision de datos. 'na transicion <n1<ff marca el centro de cada elemento de seal -bit. en la linea ,ransmitted +ata. (a frecuencia de la seal de reloj es la misma a la que se envian los datos. &econdary $ecei e Data "&BB# (a seal es usada por el +,E para recibir datos del canal secundario desde el +$E. $uando se utili#a el canal secundario para diagnostico o para interrumpir el flujo de datos en el canal primario, esta seal no esta implementada. $ecei er &ignal Element Timing "DD# En esta linea el +$E envia una seal de reloj al +,E. (o que permite al +,E introducir esta seal de reloj en el circuito de recepcion de datos. 'na transicion <n1<ff marca el centro de cada elemento de seal -bit. en la linea ,ransmitted +ata. (a frecuencia de la seal de reloj es la misma a la que se reciben los datos. &econdary $e%uest To &end "&CA# El +,E utili#a esta seal cunado quiere transmitir al +$E por el canal secundario. Es equivalente a la seal 5equest ,o end

Data Terminal $eady "CD# $uando esta activa le indica al +$E que el +,E esta listo para recibir datos . Esta seal debe estar activa antes de que el +$E pueda activar la seal +ata et 5eady indicando que esta conectado al enlace de comunicacion. $uando la linea pasa a estar desactivada, el +$E finali#a la comunicacion. &ignal )uality Detector "C!# Esta linea es utili#ada por el +$E para indicar si e"iste una alta probabilidad de error en los datos recibidos. $uando %ay una probabilidad alta de error, la seal esta en <ff. Co es muy utili#ada. $ing Indicator "CE# En esta linea el +$E avisa al +,E que se %a recibido una llamada. Esta seal esta en <ff %asta que el +$E recibe una seal de llamada. Data &ignal $ate &elector "C*# El +,E utili#a esta seal para seleccionar la velocidad de transmision del +$E. Data &ignal $ate &elector "CI# Esta seal es la misma que la seal anterior -$E. pero en este caso es el +$E quien selecciona la velocidad. Transmitter &ignal Element Timing "DA# En esta linea el +,E envia al +$E una seal de reloj. Esto solo sucede cuando el reloj maestri esta en el +,E. 'na transicion <n1<ff marca el centro de cada elemento de seal -bit. en la linea ,ransmitted +ata.

'. P(ERTO SERIE DE )A PC


El puerto serie del &$ es un dispositivo de entradaFsalida compatible con el estHndar 5 12321$. $asi todos los &$s tienen uno o dos puertos serie. $ada uno de estos puertos tiene un conector de nueve pines -algunas veces veinticinco. en la parte trasera del ordenador. (os programas de ordenador pueden enviar y recibir datos a travIs del puerto serie.

'.1. )% (ART ((ni*er$%& %$+nc,ronou$ recei*er tr%n$miter)


(a mayor parte de la electrJnica del puerto serie esta implementada en un c%ip denominado '!5,. (a misiJn principal de la '!5, es convertir los bytes del bus paralelo del &$ a un flujo de bits en serie. !demHs cambia el voltaje utili#ado en la seal para representar los bits y aade o e"trae los bits de inicio y parada. El tipo de '!5, que pueden

encontrarse normalmente en un &$ son de la serie 82)* que incluye las '!5,s 167)*, 16))*, 166)* y 16>)*. E"isten dos tipos bHsicos de '!5,s8 '!5,s simples8 82)*, 167)*, 16))* y 166)*. '!5,s =0=<8 16))*!, 16$))2, 16>)* y 16$/)*. &ara entender la diferencia entre '!5,s simples y '!5,s =0=< primero debemos entender que sucede cuando una '!5, envKa o recibe un byte. En las '!5,s simples cada ve# que un byte es enviado o recibido se envKa una interrupciJn a la $&'. Entonces la $&' mueve del buffer de la '!5, a la memoria el byte recibido , o bien le da a la '!5, otro byte para enviar. $on velocidades de transmisiJn altas, este mecanismo puede robar muc%o tiempo de procesamiento a la $&' y no dejar que se realicen otras tareas. 0ncluso puede darse el caso de que la $&' no pueda atender una interrupciJn a tiempo debido al gran numero de interrupciones generadas y se pierdan uno o varios bytes de la transmisiJn. Este tipo de '!5,s con un buffer de un byte estHn obsoletas. (as '!5,s =0=< ayudan a resolver este problema. (a '!5, 16))*! viene con un buffer =0=< de 16 bytes. Esto significa que puede recibir %asta 17 bytes o enviar 16 bytes antes de tener que interrumpir a la $&'. (a $&' puede mover todos los bytes al mismo tiempo. Esto supone un gran avance respecto de las '!5,s simples, la $&' recibe menos interrupciones y esta libre para reali#ar otras tareas. En este tipo de '!5,s es difKcil que se pierda algLn dato. 'n detalle importante es que la interrupciJn se envKa a la $&' antes de que el buffer este completamente lleno -cuando %ay 17 bytes., de esta forma, pueden recibirse dos bytes mas antes de que la interrupciJn sea tratada. El numero de bytes en el buffer necesarios para disparar la interrupciJn puede ser modificado. En el caso de un byte el comportamiento es similar al de una '!5, simple. !demHs, e"iste un mecanismo de timeout para evitar que e"istan bytes en el buffer de la '!5, sin recibir porque no se %a llegado al numero mKnimo de bytes necesarios para enviar una interrupciJn. i se recibe un byte y el siguiente byte no llega dentro de un espacio de tiempo determinado se envKa una interrupciJn.

Diagrama de las +A$T& ,-55./ 025. y ,-15.

'.". Direccione$ de entr%d%-$%&id% e IRQ$


El sistema operativo debe conocer que puertos serie e"isten, su direcciJn de entradaFsalida y el numero de 05D que utili#an. $ada puerto serie almacena en una memoria no volHtil sus direcciones de entradaFsalida y su nu mero de 05D. $uando el puerto serie requiere la acciJn de la $&' lan#a una interrupciJn. $uando la $&' atiende esta interrupciJn, inicia una rutina de tratamiento de interrupciJn que es parte del controlador del puerto serie. En primer lugar, el controlador intenta averiguar que sucediJ en el puerto serie. Esto puede %acerse ya que el puerto serie tiene registros en las direcciones de EF conocidas por el controlador que contienen informaciJn de estado. El controlador lee estos registros y a continuaciJn reali#a la acciJn apropiada. (os valores estHndar de las 05Ds y direcciones de EF de los puertos serie de un &$ son los siguientes8 I$ Puerto Direccion Base ) tty * F $<:1 7 3=8 tty 1 F $<:2 3 2=8 tty 2 F $<:3 7 3E8 tty 3 F $<:7 3 2E8

4. CONFIGURACION DEL PUERTO SERIE EN WINDOWS


En MindoGs la configuraciJn de los puertos serie instalados en el &$ puede reali#arse en el !dministrador de +ispositivos. (a ruta es la siguiente8 :i&c1@&anel de control1@ istema1@!dministrador de +ispositivos. +entro del administrador, en el apartado &uertos, se muestra una lista con todos los puertos de comunicaciJn del &$. (os que aparecen como $<:1, $<:2, ... son los puertos serie.

Administrador de dis2ositi os

!l %acer doble clic9 sobre alguno de los puerto serie aparece la ventana de propiedades del puerto. +entro de esta ventana, en la pestaa 5ecursos, podemos ver la direcciJn de entradaFsalida y la 05D asignadas al puerto. El sistema operativo se encarga de la gestiJn de las 05Ds y direcciones de entradaFsalida de los dispositivos y, por lo tanto, estos valores se obtienen automHticamente. i e"iste algLn conflicto entre dispositivos, estos valores pueden establecerse manualmente quitando

la opciJn de 'sar configuraciJn automHtica. En este caso, pueden proporcionarse unos valores determinados pulsando el botJn $ambiar configuraciJn...o elegir un conjunto de valores en $onfiguraciJn basada en. $ecursos de C34, En la pestaa $onfiguraciJn de puerto, aparecen los parHmetros de comunicaciJn del puerto serie8 la velocidad de transmisiJn, el tamao de palabra, el tipo de paridad utili#ada en el control de flujo, el numero de bits de parada y, por ultimo, el tipo de control de flujo.

.. Cone/in de un microcontro&%dor %& puerto $erie de& PC


Para conectar el PC a un microcontrolador por el puerto serie se utili:an las se7ales T!, ,! ; (2D. El PC utili:a la norma ,*$+$, por lo que los niveles de tensi.n de los pines est?n comprendidos entre H'% ; #'% voltios. /os microcontroladores normalmente trabaBan con niveles TT/ (6#%v). Es necesario por tanto intercalar un circuito que adapte los niveles&

Ino de estos circuitos, que se utili:a mucho, es el 3>J$+$.

..1 E& c,ip

A0 "'"

Este chip permite adaptar los niveles ,*$+$ ; TT/, permitiendo conectar un PC con un microcontrolador. *.lo es necesario este chip ; - condensadores electrol<ticos de $$ micro#faradios. El esquema es el si uiente&

6. PROGRAMA DE EJEMPLO EN ENSAMBLADOR


3M#&*# 4 $EC5BE C#$#C%E$ES 65# SE$5#7 3M#&5-U7# *5$EC%#ME&%E E7 U#$% (&O US# 5&%E$$U-C5O&ES) 3US# M8%O*O -O775&9 CODI7O S)7+)(T NCOD)N O#7 '004 *SS1+) CSKCODI7O>DSKCODI7O>)SKCODI7O>SSKCODI7O O ST*#TK ;+" I(ICIO C*D)(* DB NBI)(M)(IDO *! C/*T S)#I*!N>0*/>0D/>24 O OInicialiEa el puerto serie I(ICIOK +OM *!>0 +OM D:>0%F./ O1T D:>*! OTurn oDD interrupts $ "ort'. CO+'P' O O"O#T ' $ Communication Settin?s +OM *!>-0/ +OM D:>0%FB/ O1T D:>*! OS)T D!*B O(. CO+'P% +OM *!>0C/ ODi3isor para . 00 B"S +OM D:>0%F-/ O1T D:>*! OCO+' ODeDault 090% L %->400 B"S Q6 O0' L ''5>200 B"S Q6 O02 L 5 >&00 B"S Q6 O0 L '.>200 B"S Q6 O0C/ L .> 00 B"S Q6 O'-/ L 4>-00 B"S Q6 O%0/ L 2>400 B"S Q6 +OM +OM O1T +OM +OM O1T +OM +OM O1T +OM +OM *!>0 D:>0%F./ D:>*! *!>0% D:>0%FB/ D:>*! *!>0C&/ D:>0%F*/ D:>*! *!>0B/ D:>0%FC/

OSet Baud rate $ Di3isor !atc4 /i?4 Byte. CO+'P' O- Bits> (o "arity> ' Stop Bit. CO+'P% OFIFO Control #e?ister. CO+'P2

O1T O otraK C*!! +OM I( T)ST ;R +OM I(

D:>*! 8#IT)2 D:>0%FD/ *!>D: *!>' mandar D:>0%F-/ *!>D: "1TC */>0' ' / otra */>00 ' / *!>'B/ FI( D:>0%F-/ D:>*! OT#* */>4C/ 2'/

OTurn on DT#> #TS> and O1T2. CO+'P4 OCO+'P5 OC4ecI to see iD c4ar 4as =een recei3ed.

OSi se reci=i caracter> lo tomo en *! Oy lo imprimo en pantalla OSi no se pulsa tecla> salta a otra OSi se puls tecla la ?uarda en *! OSi se puls )SC

C*!! mandarK +OM I(T ;R +OM I(T C+" ;) +OM O1T ;+" +OM I(T

FI(K

O "1TC "#OC "1S/ *: +OM */> 0)4 I(T '04 "O" *: #)T "1TC )(D" O 8#IT)2 "#OC "1S/ *: "1S/ D: !)* D:>C*D)(* +OM */>0. I(T 2'/ "O" D: "O" *: #)T 8#IT)2 )(D" CODI7O )(DS
E2D *T>,T

You might also like