INSTITUTO TECNOLÓGICO DE PIEDRAS NEGRAS Ingeniería en Sistemas Computacionales
Materia: Sistemas programables. Unidad V: V: Puertos y buses de comunicación para microcontroladores Unidad V: Puertos y buses de comunicación para microcontroladores 5.1 Tipos de puertos
PUERTOS DE ENTRADA / SALIDA EN UN MICROCONTROLADOR Cualquier aplicación de un sistema diital !asad" en un micr"pr"cesad"r " micr"c"ntr"lad"r requiere la trans#erencia de dat"s entre circuit"s e$tern"s al micr"pr"cesad"r % &l mism"' Estas trans#erencias c"nstitu%en las "peraci"nes llamadas ENTRADA % SALIDA( )input /"utput * " ES ) I/O*' L"s puert"s de entrada/salida s"n !+sicamente reistr"s e$tern"s " intern"s' Alun"s micr"pr"cesad"res pr"p"rci"nan se,ales de c"ntr"l que permiten que l"s reistr"s e$tern"s que #"rman l"s puert"s de E/S "cupen un espaci" de direcci"nes separada( es decir( distint" del espaci" de direcci"nes de l"s reistr"s e$tern"s que c"mp"nen la mem"ria' Cuand" l"s puert"s tienen asinad" un espaci" de direcci"nes separad"( se dice que est+n en m"d" de ENTRADA/SALIDA AISLADA " E/S EST-NDAR' P"r el c"ntrari"( c"ntrar i"( cuand" se u!ican dentr" del mism" espaci" que la mem"ria( se dice que est+n en m"d" de ENTRADA/SALIDA MAPEADA A MEMORIA " PRO.ECTADA PRO.ECTADA EN MEMORIA' ENTRADA/SALIDA AISLADA' AISLADA' Para que un micr"pr"cesad"r pueda implementar el m"d" E/S aislada )is"lated I/O* s"n indispensa!les las siuientes c"ndici"nes0 1' El micr"pr"cesad"r de!e pr"p"rci"nar se,ales de c"ntr"l que permitan distinuir entre una "peración c"n un puert" % una re#erencia a mem"ria' 2' El códi" de instrucci"nes de!e tener instrucci"nes especiales c"n las que se pueda leer )entrada* " escri!ir )salida* en l"s puert"s' ENTRADA/SALIDA MAPEADA' El m"d" de E/S mapeada a mem"ria )Mem"r% ) Mem"r% mapped I/O* se !asa en que tant" las l"calidades de mem"ria c"m" l"s puert"s de E/S se c"nsideran c"m" reistr"s e$tern"s desde el punt" de 3ista del micr"pr"cesad"r' Juan Israel Hernán Hernández dez Sáncez. Sáncez. "ontrol.#$%&'(%'#& )uis *le+andro ,scárcega -ernández. !o.control.#$%&'(%$$ Semestre.
!o.
Página #
INSTITUTO TECNOLÓGICO DE PIEDRAS NEGRAS Ingeniería en Sistemas Computacionales
Materia: Sistemas programables. Unidad V: Puertos y buses de comunicación para microcontroladores Ent"nces( las instrucci"nes que 4acen re#erencia a la mem"ria tam!i&n pueden trans#erir dat"s entre un disp"siti3" peri#&ric" % el micr"pr"cesad"r( siempre % cuand" el puert" de E/S que l"s interc"necta se encuentre dentr" del espaci" de direcci"namient" de mem"ria( es decir( c"ntr"lad" p"r las se,ales de c"ntr"l para mem"ria' De esta #"rma( el reistr" as"ciad" c"n el puert" de E/S es tratad" simplemente c"m" una l"calidad de mem"ria m+s' PUERTOS DEL MICROCONTROLADOR 5671 La "peración de escritura( utili8and" l"s puert"s puede ser reali8ada p"r cualquiera de ell"s( n" "!stante( el puert" PO es el que presenta una ma%"r cara!ilidad( permitiend" c"mandar "c4" caras TTL LS( mientras que l"s "tr"s tres permiten cuatr" caras TTL 9 LS' Para c"mandar caras de ma%"r c"nsum" ener&tic"( c"m" rel&s( se rec"mienda utili8ar( entre el puert" % la cara dri3ers n" in3ers"res' Para la "peración de ESCRITURA en el puert"( la instrucción m+s 4a!itual es la siuiente0 MO: P; ( < P;= dat"' Puertos de comunicación
C"n "!>et" de d"tar al micr"c"ntr"lad"r de la p"si!ilidad de c"municarse c"n "tr"s disp"siti3"s e$tern"s( "tr"s !uses de micr"pr"cesad"res( !uses de sistemas( !uses de redes % p"der adaptarl"s c"n "tr"s element"s !a>" "tras n"rmas % pr"t"c"l"s' Alun"s m"del"s disp"nen de recurs"s que permiten directamente esta tarea( entre l"s que destacan0 UART( adaptad"r de c"municación serie as?ncr"na' USART( adaptad"r de c"municación serie s?ncr"na % as?ncr"na Puerta paralela escla3a para p"der c"nectarse c"n l"s !uses de "tr"s micr"pr"cesad"res' US@ )Uni3ersal Serial @us*( que es un m"dern" !us serie para l"s PC' @us I2C( que es un inter#a8 serie de d"s 4il"s desarr"llad" p"r P4ilips' Juan Israel Hernández Sáncez. "ontrol.#$%&'(%'#& )uis *le+andro ,scárcega -ernández. !o.control.#$%&'(%$$ Semestre.
!o.
Página $
INSTITUTO TECNOLÓGICO DE PIEDRAS NEGRAS Ingeniería en Sistemas Computacionales
Materia: Sistemas programables. Unidad V: Puertos y buses de comunicación para microcontroladores CAN )C"ntr"ller Area Net"rB*( para permitir la adaptación c"n redes de c"ne$i"nad" multiple$ad" desarr"llad" c"n>untamente p"r @"sc4 e Intel para el ca!lead" de disp"siti3"s en aut"mó3iles' En EE'UU' se usa el 157O' 1'5 erramientas para el desarr"ll" de aplicaci"nes' Un" de l"s #act"res que m+s imp"rtancia tiene a la 4"ra de selecci"nar un micr"c"ntr"lad"r entre t"d"s l"s dem+s es el s"p"rte tant" s"#tare c"m" 4ardare de que disp"ne' Un !uen c"n>unt" de 4erramientas de desarr"ll" puede ser decisi3" en la elección( %a que pueden sup"ner una a%uda inestima!le en el desarr"ll" del pr"%ect"'
5.2 Programación de puertos.
Pr"ramación p"r puert" serial Pr"ramación p"r puert" paralel"
Las principales 4erramientas de a%uda al desarr"ll" de sistemas !asad"s en micr"c"ntr"lad"res s"n0 Juan Israel Hernández Sáncez. "ontrol.#$%&'(%'#& )uis *le+andro ,scárcega -ernández. !o.control.#$%&'(%$$ Semestre.
!o.
Página '
INSTITUTO TECNOLÓGICO DE PIEDRAS NEGRAS Ingeniería en Sistemas Computacionales
Materia: Sistemas programables. Unidad V: Puertos y buses de comunicación para microcontroladores
Ensam!lad"r' L"s #a!ricantes suelen pr"p"rci"nar el pr"rama ensam!lad"r de #"rma ratuita % en cualquier cas" siempre se puede enc"ntrar una 3ersión ratuita para l"s micr"c"ntr"lad"res m+s p"pulares' C"mpilad"r' Las 3ersi"nes m+s p"tentes suelen ser mu% caras( aunque para l"s micr"c"ntr"lad"res m+s p"pulares pueden enc"ntrarse 3ersi"nes dem" limitadas e inclus" c"mpilad"res ratuit"s' Depuración0 De!id" a que l"s micr"c"ntr"lad"res 3an a c"ntr"lar disp"siti3"s #?sic"s( l"s desarr"llad"res necesitan 4erramientas que les permitan c"mpr"!ar el !uen #unci"namient" del micr"c"ntr"lad"r cuand" es c"nectad" al rest" de circuit"s' Simulad"r' S"n capaces de e>ecutar en un PC pr"ramas reali8ad"s para el micr"c"ntr"lad"r' L"s simulad"res permiten tener un c"ntr"l a!s"lut" s"!re la e>ecución de un pr"rama( siend" ideal es para la depuración de l"s mism"s' Placas de e3aluación' Se trata de peque,"s sistemas c"n un micr"c"ntr"lad"r %a m"ntad" % que suelen c"nectarse a un PC desde el que se caran l"s pr"ramas que se e>ecutan en el micr"c"ntr"lad"r' Las placas suelen incluir 3isuali8ad"res LCD( teclad"s( LEDs( #+cil acces" a l"s pines de E/S( etc' Emulad"res en circuit"' Se trata de un instrument" que se c"l"ca entre el PC an#itrión % el 8ócal" de la tar>eta de circuit" impres" d"nde se al">ar+ el micr"c"ntr"lad"r de#initi3"' El pr"rama es e>ecutad" desde el PC( per" para la tar>eta de aplicación es c"m" si l" 4iciese el mism" micr"c"ntr"lad"r que lue" ir+ en el 8ócal"'
5.3 Aplicaciones de puertos
OPERACIN DE LECTURA EN LOS PUERTOS DEL MICROCONTROLADOR 5671' La "peración de lectura " de adquisición de dat"s n" representa ninFn tip" de pr"!lema< s"lamente se de!er+ cam!iar el "rden de l"s "perand"s en la instrucción respect" a la de escritura'
Juan Israel Hernández Sáncez. "ontrol.#$%&'(%'#& )uis *le+andro ,scárcega -ernández. !o.control.#$%&'(%$$ Semestre.
!o.
Página &
INSTITUTO TECNOLÓGICO DE PIEDRAS NEGRAS Ingeniería en Sistemas Computacionales
Materia: Sistemas programables. Unidad V: Puertos y buses de comunicación para microcontroladores Para la "peración de lectura( el #"rmat" de la instrucción m+s 4a!itual es el siuiente0 MO: (P; < dat" = P; L"s siuientes diaramas muestran cóm" se puede intr"ducir un dat" a l"s puert"s para que sir3an de inter#ace'
5.4 st!ndares de buses
PC/16G se lan8ó en 1HH2( acercand" la tecn"l"?a PC a las aplicaci"nes de c"ntr"l industrial' El est+ndar PC/16G usa el !us ISA c"m" un !us p"rtad"r en el sistema( s"!re el que las unidades se interc"nectan( seme>ante al est+ndar pluin " las tar>etas de e$pansión de la &p"ca' En 1HHG el est+ndar se amplió para incluir el !us PCI % especi#icó el PC/16G Plus c"m" el est+ndar' En el est+ndar PC/16G Plus( tant" el !us ISA c"m" el !us PCI se declaran c"m" !uses p"rtad"res en el sistema %( p"r l" tant"( Juan Israel Hernández Sáncez. "ontrol.#$%&'(%'#& )uis *le+andro ,scárcega -ernández. !o.control.#$%&'(%$$ Semestre.
!o.
Página /
INSTITUTO TECNOLÓGICO DE PIEDRAS NEGRAS Ingeniería en Sistemas Computacionales
Materia: Sistemas programables. Unidad V: Puertos y buses de comunicación para microcontroladores disp"ni!les para la e$pansión del sistema' Am!"s sistemas de c"nect"res "cupan alreded"r del 6J del +rea de la tar>eta' La creciente c"mple>idad de las tar>etas % el &n#asis en el !us PCI c"ndu>" en el a," 266G a que el us" de PC/16G c"n !us ISA c"men8ara a utili8arse en men"r medida #rente al us" del est+ndar PC/16G Plus' Para aplicaci"nes en las que el !us ISA es necesari"( est+n disp"ni!les las tar>etas que 4acen de puente entre PCI e ISA % p"r tant" permite el us" de e$pansi"nes " tar>etas ISA en s"luci"nes PCI 16G' E$isten numer"s"s desarr"ll"s en el mercad"( dentr" de +reas tan di#erentes c"m" m+quinas 4erramientas( c"ntr"l de sistemas de rie" " aplicaci"nes militares' P"r este m"ti3"( el est+ndar PC/16G siue manteniend"( racias a su r"!uste8( una parte alta del mercad" em!edded' M+s de 166 #a!ricantes de tar>etas respaldan actualmente el est+ndar PC/16G % "#recen una s"lución para casi cada aplicación' En c"mparación c"n "tras s"luci"nes( el est+ndar PC/16G es un est+ndar real % de ese m"d" permite el intercam!i" seur" de tar>etas de di#erentes #a!ricantes( aseurand" una disp"ni!ilidad a lar" tiemp"'
5.5 "ane#o del bus
Selección del @us
Juan Israel Hernández Sáncez. "ontrol.#$%&'(%'#& )uis *le+andro ,scárcega -ernández. !o.control.#$%&'(%$$ Semestre.
!o.
Página 0
INSTITUTO TECNOLÓGICO DE PIEDRAS NEGRAS Ingeniería en Sistemas Computacionales
Materia: Sistemas programables. Unidad V: Puertos y buses de comunicación para microcontroladores C"n el "!>eti3" de s"luci"nar l"s pr"!lemas antes menci"nad"s % de p"der reusar nuestr"s dise,"s as? c"m" tam!i&n usar dise,"s reali8ad"s p"r "tr"s rup"s ad"ptam"s el est+ndar de interc"ne$ión Kis4!"ne' C"n el "!>eti3" de s"luci"nar l"s pr"!lemas antes menci"nad"s % de p"der reusar nuestr"s dise,"s as? c"m" tam!i&n usar dise,"s reali8ad"s p"r "tr"s rup"s ad"ptam"s el est+ndar de interc"ne$ión Kis4!"ne' En una primera apr"$imación cream"s un !us de e$pansión espec?#icamente cread" para el micr"c"ntr"lad"r' Est" tiene imp"rtantes des3enta>as( en tre ellas0 Para c"nectar peri#&ric"s cread"s p"r "tr"s rup"s de tra!a>" es necesari" adaptarl"s a la se,ali8ación del !us en cuestión' Peri#&ric"s dise,ad"s para ese !us n" ser3?an para ser usad"s en "tr"s dise,"s c"n !uses de "tr" tama,"' P"r e>empl"0 n" ser3?an para un !us de 1 " 2 !its sin ser adaptad"s' 5.$ Aplicaciones de buses
@us de Direcci"nes0 Este es un !us unidirecci"nal de!id" a que la in#"rmación #lu%e es una s"la dirección( de la CPU a la mem"ria ó a l"s element"s de entrada % salida' La CPU s"la puede c"l"car ni3eles lóic"s en las n l?neas de dirección( c"n la cual se enera 2n p"si!les direcci"nes di#erentes' Cada una de estas direcci"nes c"rresp"nde a una l"calidad de la mem"ria ó disp"siti3" de E / S' L"s micr"pr"cesad"res 565 % 5655 usad"s en l"s primer"s c"mputad"res pers"nales )PC* p"d?an direcci"nar 4asta 1 mea!%te de mem"ria )1'6G5'7 !%tes*' Es necesari" c"ntar c"n 26 l?neas de dirección' Para p"der mane>ar m+s de 1 mea!%te de mem"ria ( en l"s c"mputad"res AT )c"n pr"cesad"res 5625* se utili8ó un !us de direcci"nes de 2G !its( permitiend" as? direcci"nar 4asta 1 M@ de mem"ria RAM )1''21 !%tes*' En la actualidad l"s pr"cesad"res 565D; pueden direcci"nar directamente G ia!%tes de mem"ria principal % el pr"cesad"r 56G5D; 4asta G @'
Juan Israel Hernández Sáncez. "ontrol.#$%&'(%'#& )uis *le+andro ,scárcega -ernández. !o.control.#$%&'(%$$ Semestre.
!o.
Página
INSTITUTO TECNOLÓGICO DE PIEDRAS NEGRAS Ingeniería en Sistemas Computacionales
Materia: Sistemas programables. Unidad V: Puertos y buses de comunicación para microcontroladores @us de Dat"s0 Este es un !us !idirecci"nal( pues l"s dat"s pueden #luir 4acia ó desde la CPU' L"s m terminales de la CPU( de D6 Dm1 ( pueden ser entradas ó salidas( seFn la "peración que se est& reali8and" ) lectura ó escritura * ' en t"d"s l"s cas"s( las pala!ras de dat"s transmitidas tiene m !its de l"nitud de!id" a que la CPU mane>a pala!ras de dat"s de m !its< del nFmer" de !its del !us de dat"s( depende la clasi#icación del micr"pr"cesad"r' En alun"s micr"pr"cesad"res( el !us de dat"s se usa para transmitir "tra in#"rmación adem+s de l"s dat"s )p"r e>empl"( !its de dirección ó in#"rmación de c"ndici"nes*' Es decir( el !us de dat"s es c"mpartid" en el tiemp" ó multiple$ad"' En eneral se ad"ptó 5 !its c"m" anc4" est+ndar para el !us de dat"s de l"s primer"s c"mputad"res PC % ;T' Usualmente el c"mputad"r transmite un car+cter p"r cada pulsación de rel"> que c"ntr"la el !us )!us cl"cB*( el cual deri3a sus pulsaci"nes del rel"> del sistema )s%stem cl"cB*' Alun"s c"mputad"res lent"s necesitan 4asta d"s pulsaci"nes de rel"> para transmitir un car+cter' L"s c"mputad"res c"n pr"cesad"r 5625 usan un !us de dat"s de 1 !its de anc4"( l" cual permite la c"municación de d"s caracteres " !%tes a la 3e8 p"r cada pulsación de rel"> en el !us' L"s pr"cesad"res 565 % 56G5 usan !uses de 2 !its' El PENTIUM de Intel utili8a !us e$tern" de dat"s de G !its( % un" de 2 !its intern" en el micr"pr"cesad"r' @us de C"ntr"l0 Este c"n>unt" de se,ales se usa para sincr"ni8ar las acti3idades % transacci"nes c"n l"s peri#&ric"s del sistema' Alunas de estas se,ales( c"m" R / K ( s"n se,ales que la CPU en3?a para indicar que tip" de "peración se espera en ese m"ment"' L"s peri#&ric"s tam!i&n pueden remitir se,ales de c"ntr"l a la CPU( c"m" s"n INT( RESET( @US R' Las se,ales m+s imp"rtantes en el !us de c"ntr"l s"n las se,ales de cr"nómetr"( que eneran l"s inter3al"s de tiemp" durante l"s cuales se reali8an las "peraci"nes' Este tip" de se,ales depende directamente del tip" del micr"pr"cesad"r'
Juan Israel Hernández Sáncez. "ontrol.#$%&'(%'#& )uis *le+andro ,scárcega -ernández. !o.control.#$%&'(%$$ Semestre.
!o.
Página 1
INSTITUTO TECNOLÓGICO DE PIEDRAS NEGRAS Ingeniería en Sistemas Computacionales
Materia: Sistemas programables. Unidad V: Puertos y buses de comunicación para microcontroladores 5.% &omunicación
Un c"n3ers"r ADC puede c"n3ertir un 3"lta>e en un numer" !inari" diital' L"s c"n3ers"res A/D s"n utili8ad"s en cualquier luar d"nde sea necesari" pr"cesar una se,al( almacenarla " transp"rtarla en #"rma diital' La res"lución del c"n3ers"r indica el nFmer" de 3al"res discret"s que se pueden "!tener dependiend" del ran" del 3"lta>e de entrada' Usualmente es e$presad" en !its' L"s micr"c"ntr"lad"res t?picamente traen inc"rp"rad" c"n3ers"res de 5( 16( 12 " 1 !its' P"r e>empl" un ADC que c"di#ica una se,al an+l"a de 27 3al"res discret"s )6''277* tiene una res"lución de 5 !its( %a que 2Q5 27' La res"lución tam!i&n puede ser de#inida en t&rmin"s el&ctric"s( % e$presada en 3"lts' La res"lución de un ADC es iual al ma%"r 3"lta>e que se pueda medir di3idid" p"r el nFmer" de 3al"res discret"s( p"r e>empl"0 Para un ran" de medida entre 6 % 16 3"lts Res"lución del ADC 12 !its0 2Q12 G6H ni3eles de cuanti8ación res"lución del ADC en 3"lts0 )166*/G6H 6'662GG 3"lts 2'GG m:
Juan Israel Hernández Sáncez. "ontrol.#$%&'(%'#& )uis *le+andro ,scárcega -ernández. !o.control.#$%&'(%$$ Semestre.
!o.
Página 2