You are on page 1of 8

Lectura4.

UartyComunicacinSerial

ElATMega168tienetoneladasdehardwareconvariosperifricosincorporados.Vamosaexplorar la comunicacin serial. A esta altura han programado el hello world. Tienes tu micro en una protoboardycorriendoa16mhz.TienesfuncionandoelWinAVR.YahemoslogradocontroldeunLED. Ahoraestiempodeenviardatosserialesdedesdeyhaciaelmicro. Nosoyungranprogramador.Sloquieroquemifuncinprintfhagaloquedebahacer.Nouso ningnemuladordehardware,hagodebugconcomandosprintf.Seguro,puedenhaberlimitacionescon esto,peroparael90%delasaplicacionesesposibledepurarconcomandosprintf. Primero, una rpida resea histrica del RS232. Qu es RS232? Slo es un nombre para un estndar que se ha propagado de generacin en generacin de computadores. Los primeros computadorestenanpuertosserialesqueocupabanRS232,einclusoloscomputadoresactualestienen puertos seriales (o al menos puertos USB que actan como puertos RS232). Una mirada al pasado, la informacinserialnecesitabaserpasadadeaparatoscomoimpresoras,joysticks,scanners,etchaciael computador. La manera ms simple de hacer esto era pasar series de 1s y 0s al computador. El computadoryeldispositivoacuerdanunavelocidaddeinformacinbitsporsegundo.Uncomputador pasarlosdatosdeunaimagenaunaimpresoraa9600bitsporsegundoylaimpresoraescuchareste flujode1sy0s,esperandounnuevobitcada1/9600=104us(104microsegundos,0.000104segundos). Mientraselcomputadorentreguelosbitsalavelocidadpredeterminada,laimpresorapodrrecibirlos. Un zoom a la actualidad. La electrnica ha cambiado un poco. Antes se utilizaban aparatos de relativamente alto poder y alto voltaje, 12V a 12V. Los aparatos modernos no operan a voltajes tan altos.Dehecho,ATMega168correentre0Vy5V.EntoncescomohacemoshablarelRS232anuestro microde5Vconvoltajesde+/12V?Esteproblemafuesolucionadoporlosfabricantesdeintegradosdel mundo.FabricaronunICqueesgenricamenteconocidocomoelMAX232(casiRS232ono?). ElMAX232esunICoriginalmentediseadoporunacompaallamadaMaximICqueconviertelas seales de +/12V del RS232 a seales de 0/5V para que nuestra ATMega168 pueda entenderlas. Tambin aumenta el voltaje de nuestra ATMega168 al voltaje de +/12V que necesita el protocolo de RS232paraqueelcomputadorpuedaentendernuestraATMega168yviceversa.Parahacerquenuestro ATMega168envecaracteresserialesauncomputadornecesitamosenviarestassealesatravsdeun circuitoMAX232,paraqueelcomputadorrecibasealesdeRS232a+/12V.Notepreocupessiests ocupandounchipquedigaICL232oST232,estossongenricosdeMAX232.Lasfuncionessontodas lasmismasyprcticamentetienenlosmismospinesdesalida.

Ingeniera MCI Ltda. Luis Thayer Ojeda 0115 of 402, Providencia, Santiago, Chile Fono: + 56 2 3339579 Fax: +56 2 3350589

2|L e c t u r a 4 ElcircuitoMAX232queserinstaladoenlabreadboardseveas:

CircuitoMAX232enEagle,esquemtico/PDF

EsteintegradoMAX232usatrescondensadoresde0,1uF(C5,C6,C7)parafuncionar(leesobre Multiplicadordetensin).Tienesqueinstalarlos.Elcuarto(C8)esloqueseconoceporcondensador dedesacoplo.ComoelintegradoMAX232conmutavariasseales(desde+/12Va0/5V)usapulsosde corriente. Debido a que necesita estos pulsos de corriente en rfagas, l puede perturbar tu alimentacinde5V.ElcondensadorC8de0,1uFayudaadesacoplaroremoverelefectonegativode este integrado (intercambiando cargas hacia y desde) de tu alimentacin. Este condensador de desacoplodebesersituadocercadelospinesdeVCCyGNDdelIC.Estaconfiguracinayudaadisminuir el ruido en tu fuente de poder. Vas a hacer funcionar tu protoboard sin esos condensadores de desacoplo?Seguroques!Nolosuses!Perollegareldaenquealgodejardefuncionarynotendrs ideaelporque.Podrasermicdigo?Tengouncortocircuitoenalgnpunto?Unadesconexin?Oa lomejornotengosuficientescondensadoresdedesacoplo? Un condensador de desacoplo est destinado a proveer de una veloz rfaga de energa si la alimentacin no es suficiente, es como una especie de sistema UPS para tu integrado. Mientras mas lejano este el condensador de desacoplo del IC, menor es su habilidad para proveer esta rfaga de energa (los cables largos tienen cierta capacitancia inherente). Es una buena prctica de la ingeniera siempreteneralmenosuncondensadorde0,1uFcercadecualquierIC.Colocarlosauncentmetrode
Ingeniera MCI Ltda. Luis Thayer Ojeda 0115 of 402, Providencia, Santiago, Chile Fono: + 56 2 3339579 Fax: +56 2 3350589

3|L e c t u r a 4 lospinesdeVCCyGNDeslocorrecto.Colocarlosentodosladosdetuprotoboardnoesperjudicial,pero noserndemuchautilidad. JP2 es un conector DB9. Es llamado conector DB9 porque contiene 9 pines y es usado universalmente para conexiones seriales. Necesitars tener un cable serial macho a hembra para conectar el DB9 de tu protoboard a tu computador. El extremo macho del cable tiene los pines metlicos,elextremohembratieneelplsticodecolornegrooazulquerecibelospines.Simirasde cercaaunconectorDB9real,versunospequeosnmeroscercadelosorificios. Entoncesquehacetodoesto?ElATMega168enviarsealesde5ValMAX232.ElMAX232pasa aconvertiresassealesde5VasealesRS232de+/12Vqueelcomputadorpuedaentenderatravs del puerto DB9 que posee atrs de la carcasa. Reconocemos que esto puede ser un poco difcil de configurarenunprincipio.Creersqueunavezlohasconfiguradostesertusalvacin?Laconexin serialloestodo!Lanecesitarsencasitodaslasaplicacionesquedesarrolles.

ProtoboardconunMAX232yunagranconexinderetornoinstalada.

Unavezquetodoesteconectado,necesitarsabrirunprogramadeterminal.Siestsocupando Windows,puedesabrirelHyperterminalincluido,normalmentelocalizadoenprogramasaccesorios comunicaciones.Paralagentedelinuxyapple,probablementesepancomollegaraunprogramade terminal.


Ingeniera MCI Ltda. Luis Thayer Ojeda 0115 of 402, Providencia, Santiago, Chile Fono: + 56 2 3339579 Fax: +56 2 3350589

4|L e c t u r a 4 Todoslosprogramasdeterminalestienenbsicamentelasmismasfunciones:hacercomunicacin serial. Todo lo que necesitas especificar son algunas reglas simples para que tu micro corra de forma satisfactoriacontucomputador.VeamoslasImgenesdelHyperterminal:

Llamalasesincomoquieras

LomscomnesquetupuertoserialseaCOM1

Ingeniera MCI Ltda. Luis Thayer Ojeda 0115 of 402, Providencia, Santiago, Chile Fono: + 56 2 3339579 Fax: +56 2 3350589

5|L e c t u r a 4

Quieres9600bpscon8n1sincontroldeflujo

Laconfiguracinprincipalson9600bpsy8N1.EstosignificaqueelmicroyelPCacuerdanhablar a9600bitsporsegundo(bps)yquecadabytetendr8bitsdedata,sinbitdeparidad,yconunsolobit deparada.Este8N1esbastantecomnybsico.Sitegustaeldolor,infrmatesobrelaparidad,bitde paradade1.5y5bitsdedata.Nadieocupaesorealmenteenelmundodelasprotoboards. Ok,yatieneselHyperterminalabiertoycorriendo.YatienestuMAX232(ocircuitoequivalente) conctalo y dale poder. Antes de conectar el cable a tu micro, prueba que los circuitos del MAX232 funcionen.LaformamasfcildeprobarsifuncionaesconectarelTXconelRX.Estosellamabuclede retorno(elcablegrandeamarilloenlaltimafoto)cuyafuncineshacerqueloqueseenveporTXse devuelvahaciaRX.Bastanteautoexplicativo,slosigueadelante: CuandopresionaslaletraAentuPCporlaventanadelHyperterminal,unaseriede1sy0sse generan y salen a travs del Puerto serial en la parte trasera de tu PC (8 bits: 01000001 para ser especifico=65d=41h,vewww.asciitable.comparamasinformacin)estos0sy1slleganalaMAX232 entuprotoboardquienseencargadecambiarestassealesRS232aTLL.Los0sylos1sluegosalenpor elpinR1OUT.DebidoaquejuntastelospinesTXyRX(R1OUTdebesercortocircuitadoaT1IN)estos0sy 1ssonenviadosdevueltaalMAX232yllevadosalcableserialDB9.Despusdellegaralcomputador,l veestos1sy0sydiceOH!,hayundispositivopasndomeelcarcterASCIIA.Elcomputadorluego muestraelcarcterAenlapantalladelHyperterminal.Estaeslaesenciadeunapruebadebuclede retorno.Sitodoestacorrecto,deberaspoderpresionarcualquiertecladetutecladoyveresasletras
Ingeniera MCI Ltda. Luis Thayer Ojeda 0115 of 402, Providencia, Santiago, Chile Fono: + 56 2 3339579 Fax: +56 2 3350589

6|L e c t u r a 4 replicadasenlaventanadelterminal.Tiraeljumperhaciafueraylasletrasdeberanparadereplicarse. Lotienes?salo!Enelfuturo,cuandonecesitesprobarunainterfaceserial,cortocircuitaTXyRXpara asegurarsedequelascosasestnfuncionandodemaneracorrecta. Bien, Ya tienes el MAX232 funcionando correctamente. Ahora conecta los pines TX y RX del ATMega168alcircuitoMAX232.

CircuitodeunATMega8confuentedepoderyMAX232enEagle,esquemtico/PDF

Debes haber notado que C9 aparece mgicamente al lado del ATMega168 en el esquema de arriba.Esteesuncondensadordedesacoplode0,1uFparaelATMega168.Uncondensadorde0,1uF instaladocercadelospinesVCCyGNDdelATMega168ayudarareducirelruidodesde lafuente de poderquepuedaserinyectadaenlaATMega168.Denuevo,tuprotoboardcorrerperfectamentesin los condensadores de desacoplo pero quiero que te acostumbres al hbito de usar los 0.1uF en todo momento.

Ingeniera MCI Ltda. Luis Thayer Ojeda 0115 of 402, Providencia, Santiago, Chile Fono: + 56 2 3339579 Fax: +56 2 3350589

7|L e c t u r a 4

ConexionesTXyRXentreelMAX232yelATMega8

Algunos astutos notarn que en la imagen (invertida) el IC MAX232 es actualmente un SP3232(EBCP).QuesunSP3232?,eselSipexgenricoparaelMAX232.Notasel3frenteal232? Los integrados MAX232 originales eran diseados para interconectar 5V lgicos a RS232. Como los circuitoscomenzaronaoperarconvoltajesmenores(3.3voltsporejemplo),losfabricantedeestosIC tuvieron que redisear los MAX232 para hacerlos ms eficientes, poder tomar voltajes menores y aumentarlosa12VparaelRS232.DeahnaceladesignacinSP3232.EsteICpuederecibirsealesTLL de 3V y satisfactoriamente convertirlas a RS232. Estamos operando nuestra protoboard a 5V pero podemoscorrerelMAX232desde3Va5Vsinproblemas. Trivia: En la imagen anterior, Qu integrado es de una familia ms antigua? Estos ICs tienen unos cdigosdefechadeproduccinsimples:0641y0625quesignificanqueambosfueronfabricadosenel 2006,enlassemanas41y25deeseao. Yatienesunhardwarequepuedegenerarinstruccionesprintf.Vamosaenredarnosconcdigos ahora!
Ingeniera MCI Ltda. Luis Thayer Ojeda 0115 of 402, Providencia, Santiago, Chile Fono: + 56 2 3339579 Fax: +56 2 3350589

8|L e c t u r a 4 Comentariodeunlector: "Los amigos no dejan que sus amigos usen Hyperterminal. Es un programa apestoso. TeraTerm funcionamuchomejor." Estamos de acuerdo. Hyperterminal tiene hartos bugs y se pega seguido. TeraTerm es mucho mejor. Sin embargo, prcticamente todas las instalaciones de Microsoft en el planeta tienen Hyperteminal incluido, estamos obligados a usarlo para introducir fcilmente a los lectores a las comunicacionesseriales.Engeneral,unavezqueyadomineslavallaserial,dejadeusarHyperterminaly comienzaconTeraTerm. Paraarmarelcircuitodeestalecturanecesitarslosmismoselementosdelaslecturasanteriores eincluirunintegradoMAX232,5condensadorescermicosde0,1uFmsunconectorDB9yuncable serialquepuedesadquirirlosennuestratiendaowww.olimex.cl.
Estas lecturas son una traduccin al espaol del tutorial Beginning Embedded Electronics Tutorials desarrolladoporSparkFunElectronics.TraducidoparaIngenieraMCIporJulinAguayo.Revisadoycorregidopor IvnSarmientoyPaulAguayo. Estamosabiertosacomentarios!Reportatustips,comentariosorecomendacionesainfo@olimex.cl.

Ingeniera MCI Ltda. Luis Thayer Ojeda 0115 of 402, Providencia, Santiago, Chile Fono: + 56 2 3339579 Fax: +56 2 3350589

You might also like