Puerto serial modo 2 y 3 Microcontroladores Microcontroladores Puerto serial Modo 2 y Modo 3 Carlos Canto Quintal MICROCONTROLADORES PUERTO PUERTOSERIAL SERIAL CARACTER ÍSTICAS DEL CARACTERÍSTICAS DELPUERTO PUERTOSERIE SERIEEN ENMODO2 MODO2YYMODO MODO33 ¾¾ ASÍ ÍNCRONO YYFULL AS ASÍNCRONO FULLDUPLEX DUPLEX ¾¾ VELOCIDAD ÓN : : TRANSMISI VELOCIDADDE DETRANSMISIÓ TRANSMISIÓN MODO2: MODO2:DOS DOSVELOCIDADES VELOCIDADES 1) FRECUENCIA DEL OSCILADOR INTERNO (fosc /32 (fosc ) ENTRE 32 =fosc =fosc/32 1) FRECUENCIA DEL OSCILADOR INTERNO (fosc ) ENTRE 32 =fosc/32 2) FRECUENCIA DEL OSCILADOR INTERNO (fosc /64 (fosc)) ENTRE 64=fosc 64=fosc/64 2) FRECUENCIA DEL OSCILADOR INTERNO (fosc) ENTRE 64=fosc/64 MODO3 MODO3:VELOCIDAD :VELOCIDADPROGRAMABLE PROGRAMABLECON CONEL ELTIMER1 TIMER1 ¾¾ FORMATO DE FORMATO DEDATO: DATO: 9 BITS DE DATO+ 1 START BIT + 1 STOP BIT 9 BITS DE DATO+ 1 START BIT + 1 STOP BIT ¾¾ HABILIDAD HABILIDADDE DEMANEJAR MANEJARMULTIPROCESADOR MULTIPROCESADOR Carlos E. Canto Quintal Puerto serial modo 2 y 3 Microcontroladores Microcontroladores Modo 2: se transmiten (por TXD) o reciben (por RXD) 11 bits : Un bit de arranque ( 0) 8 bits de datos ( primero el LSB) Un noveno bit programable de dato y Un bit de parada (1) Línea ociosa LSB 0 8 bits de datos MSB 9 ° bit transmitido programable b0 b1 b2 b3 b4 b5 b6 b7 TB8 Bit de arranque 1 Bit de parada Carlos Canto Quintal Microcontroladores Microcontroladores Puerto serial modo 2 y 3 Modo 2: En la transmisi ón el noveno bit de datos transmitido ( el TB8 del transmisión SCON ) se le puede asignar un valor de ““0” 0” ó ““1”, 1”, por ejemplo el bit de paridad ( P del PSW ) puede ser copiado en TB8. En la recepci ón, el noveno bit recibido aparece en el bit RB8 del recepción, Registro de Funci ón Especial SCON, mientras el bit de parada es Función ignorado. El baudaje es programable a ya sea 1/32 ó 1/64 la frecuencia del oscilador. Carlos Canto Quintal Microcontroladores Microcontroladores Puerto serial modo 2 y 3 Modo 3: 9La única diferencia entre el modo 2 y el modo 3, es que en el modo 3 , el baudaje es variable y programable usando el timer 1 al igual que en el modo1. 9En los cuatro modos, la transmisión es iniciada con cualquier instrucción que usa el SBUF como el operando destino. 9La recepción es iniciada en modo 0 con la condición RI=0 y REN =1. 9 En los otros modos la recepción es iniciada con el bit de arranque entrante si REN =1 Carlos Canto Quintal Microcontroladores Microcontroladores Puerto serial modo 2 y 3 Para que RI se haga ““1” 1” al momento que el pulso del desplazamiento final se produce, se deben cumplir las siguientes condiciones: 1. RI = 0, y 2. Que SM2 = 0, o que el 99°° bit de dato recibido sea ““1”. 1”. Si alguna de estas condiciones no se cumplen, la trama recibida es irremediablemente perdida , y RI no se hace ““1”. 1”. Si ambas condiciones se cumplen, el noveno bit recibido se copia a RB8, y los primeros 8 bits de datos se mueven al SBUF. Un tiempo igual al de un bit m ás tarde , se cumplan o no las más condiciones , la unidad se regresa a buscar una transici ón de transición 1 a 0 en la entrada RxD RxD.. Carlos Canto Quintal Microcontroladores Microcontroladores Puerto serial modo 2 y 3 Comunicación Multiprocesador Los modos 2 y 3 están provistos de una habilidad especial para realizar comunicación multiprocesador. En estos modos se reciben 9 bits. El noveno bit se va aI bit RB8 , después llega el bit de parada. El puerto se puede programar tal que, cuando el bit de parada sea recibido, la interrupción del puerto serie se active solo si RB8=1. Este comportamiento es habilitado poniendo a “1” el bit SM2 del SCON. Una forma de usar ésto en sistemas multiprocesador es como sigue: Cuando el procesador maestro desea transmitir un bloque de dato a uno o varios esclavos , éste primero envía un byte de dirección, el cual define al esclavo destino. Un byte de dirección difiere de los bytes de datos en el valor del 9°. bit ; en un byte de dirección es “1 y en un byte de dato es “0”. Carlos Canto Quintal Microcontroladores Microcontroladores Puerto serial modo 2 y 3 Comunicación Multiprocesador ¾Con SM2 =1, ningún esclavo será interrumpido por un byte de dato. Pero un byte de dirección interrumpirá a todos los esclavos, tal que, cada esclavo puede examinar si el byte recibido corresponde a su dirección. ¾El esclavo direccionado pondrá a cero su bit SM2 y se preparará para recibir los bytes dato que vendrán. ¾Los esclavos que no hayan sido direccionados mantienen su SM2 en 1 y regresan a sus tareas, ignorando los bytes de datos que lleguen. ¾El bit SM2 no tiene ningún efecto ni en en Modo 0 ni en Modo 1. ¾ En modo 1 podría ser usado para checar la validez del bit de parada, ya que en la recepción en modo 1, si SM2 =1, la interrupción del receptor no se activa a menos que se reciba un bit de parada válido. Carlos Canto Quintal Puerto serial modo 2 y 3 Microcontroladores Microcontroladores Ejemplo de comunicación Multiprocesador: Gasolinera con caja central de cobro Carlos Canto Quintal Puerto serial modo 2 y 3 Microcontroladores Microcontroladores INTERCAMBIO DE DATOS EN UN SISTEMA MULTIPROCESADOR Arranque µC µC80C51 80C51 Para Paracontrol control dedecaja caja Maestro µC µC80C51 80C51 Surtidor Surtidor1 1 SM2=1 SM2=1 Esclavo1 Indicadores Indicadores conmutadores conmutadores Arranque Carlos Canto Quintal Dirección 02 Lámparas , relevadores TB8 Parada Información de dirección TB8=“1” µC 80C51 µC 80C51 Surtidor2 Surtidor2 SM2=1 SM2=1 SM2=0 SM2=0 Esclavo2 Contactos, sensores Parada 8 bits de información TB8 µC µC80C51 80C51 Surtidor3 Surtidor3 SM2=1 SM2=1 Esclavo3 Emisor de caudal Información de dato TB8=“0” Puerto serial modo 2 y 3 Microcontroladores Microcontroladores Ejemplo de ccómo ómo se conectar ían las tarjetas en un Sistema conectarían Multiprocesador Reset Pl u g P1 TXD 7805 P3 P0 89C51 89C51 RXD MAX232 P2 Cristal de 11.0592 Mhz MAX232 P0 7805 89C51 89C51 P3 P1 RXD Emisor de caudal Contactos, sensores Lámparas , relevadores Reset Pl u g Cristal de 11.0592 Mhz P2 7805 89C51 89C51 MAX232 P3 P1 TXD P0 P2 Reset 89C51 89C51 P0 Pl u g P3 7805 Reset Pl u g Indicadores, Indicadores, conmutadores conmutadores RXD TXD Cristal de 11.0592 Mhz RXD Cristal de 11.0592 Mhz MAX232 TXD P1 P2 Carlos Canto Quintal Puerto serial modo 2 y 3 Microcontroladores Microcontroladores 8051 8051 esclavo2 esclavo2 LCD LCD RXD L293 L293 Proyecto7 : Comunicación Multiprocesador TXD TXD 8051 8051 RXD maestro maestro Teclado matricial Carlos Canto Quintal TXD RXD TXD RXD 8051 8051 esclavo1 esclavo1 8051 8051 esclavo3 esclavo3 L293 L293 L293 L293 Objetivo: conectar varios sistemas con el 80C51 para que con un controlador maestro se puedan manejar varios motores de CD con sistemas esclavos, como se muestra