Usart PIC config LANDA

of 21 /21
1 SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO 1 MICROCONTROLADORES PIC USART Universal Synchronous Asynchronous Receiver Transmitter Síncrona o asíncrona Recibe y transmite Operación full duplex asíncrona Aplicación típica: comunicación con un PC mediante el protocolo RS232, para lo que necesita un driver para desplazamiento de niveles

Embed Size (px)

description

Like & Coment pls (; by Landa

Transcript of Usart PIC config LANDA

  • 1. MICROCONTROLADORES PIC USARTUniversal Synchronous Asynchronous Receiver Transmitter Sncrona o asncrona Recibe y transmite Operacin full duplex asncrona Aplicacin tpica: comunicacin con un PC mediante el protocolo RS232, para lo que necesita un driver para desplazamiento de nivelesSISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO11

2. MICROCONTROLADORES PIC USARTBloques que forman la USART: Generador de la relacin de baudios (BRG) Genera el reloj de transmisin a partir del oscilador de la MCU Determina la velocidad de transferencia Circuito de muestreo Deteccin del nivel lgico en el terminal de RX Sncronizacin del reloj Transmisor asncrono Receptor asncronoSISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO22 3. MICROCONTROLADORES PIC USARTDiagrama simplificado de transmisin:SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO33 4. MICROCONTROLADORES PIC USART Diagrama simplificado de recepcin:SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO44 5. MICROCONTROLADORES PIC USART Ejemplo: forma de onda de la transmisin serie del dato 25h con 8 y 125h con 9 bits:SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO55 6. MICROCONTROLADORES PIC USART. Registros de controlSPBRG Generacin del baud rate BRGH bit en el registro TXSTA SYNC bit en TXSTA TXSTA Control y estado de transmisin RCSTA - Control y estado de recepcin TXREG Registro de transmisin de datos RCREG - Registro de recepcin de datos PIR1 Registro de indicadores (flags) de interrupcin PIE1 Registro de habilitacin de interrupcionesSISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO66 7. MICROCONTROLADORES PIC USART. Velocidad de transmisin Formulas para el cculo de los baudios Baudios = Fosc/(16(SPBRG+1)), BRGH=1 Baudios = Fosc/(64(SPBRG+1)), BRGH=0 Formulas para SPBRG SPBRG = (Fosc/(16 x Baud rate)) - 1, BRGH=1 SPBRG = (Fosc/(64 x Baud rate)) - 1, BRGH=0 Ejemplo: Oscilador: 4MHz oscillator Velocidad de transmisin: 9600 baudios asncrono Para BRGH = 1 SPBRG = 4000000/(16 x 9600) - 1 = 25.04 Para BRGH = 0 SPBRG = 4000000/(64 x 9600) - 1 = 5.51 Mejor eleccin: BRGH = 1, SPBRG = 25 SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO77 8. MICROCONTROLADORES PIC USART Velocidades de transmisin para: BRGH=0BRGH=1Registros asociados con el generador de relacin de baudios:SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO88 9. MICROCONTROLADORES PIC USART. Registros de control TXSTA: Transmit Status and Control Registerbit 7 CSRC: Bit de seleccin de fuente de reloj Modo asncrono: no utilizado Modo sncrono 1 = Modo maestro (reloj generado internamente por BRG) 0 = Modo esclavo (reloj de la fuente externa) bit 6 TX9: Bit de habilitacin de transmisin de 9 bits 1 = Transmisin de 9 bits 0 = Transmisin de 8 bits bit 5 TXEN: Bit de habilitacin de transmisin 1 = Transmisin habilitada 0 = Transmisin no habilitada. bit 4 SYNC: Bit de seleccin de modo en la USART 1 = Modo sncrono 0 = Modo asncrono SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO99 10. MICROCONTROLADORES PIC USART. Registros de control TXSTA: Transmit Status and Control Registerbit 3 No implementado se lee 0 bit 2 BRGH: Bit de seleccin de alta velocidad de trasmisin (High Baud Rate) Modo sncrono: no utilizado Modo asncrono 1 = Alta velocidad 0 = Baja velocidad bit 1 TRMT: Bit de estado del registro de desplazamiento de transmisin 1 = TSR vacio 0 = TSR lleno bit 0 TX9D: Noveno bit del dato a transmitir. Puede ser el bit de paridad.SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO1010 11. MICROCONTROLADORES PIC USART. Transmisor Diagrama de bloques TXREG vaco si TXIF=1Buffer del registro de desplazamiento (R/W) Salida de datosRegistro de desplazamiento de transmisin Habilitacin de TXTSR vacio (TRMT=1) Habilitacin bit 9Habilitacin puerto serieBit 9SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO1111 12. MICROCONTROLADORES PIC USART. TransmisorRegistros asociados en el 16F87x:SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO1212 13. MICROCONTROLADORES PIC USART. TransmisorCronogramas de transmisin:SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO1313 14. MICROCONTROLADORES PIC USART Inicializacin de la transmisin Inicializar el registro SPBRG con el valor apropiado para la velocidad a utlizar (tener en cuenta el bit BRGH) Habilitar el puerto serie asncrono poniendo a 0 el bit SYNC y a 1 el bit SPEN. Para utilizar interrupciones poner a 1 los bits TXIE, GIE y PEIE. Para una trasmisin de 9 bits poner a 1 el bit TX9. Habilitar la transmisin con un 1 en el bit TXEN , qu tambin pondr a uno el bit TXIF. Si se utiliza la transmisin de 9 bits cargar el noveno bit en TX9D. Cargar el dato en el registro TXREG (comienza la transmisin).SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO1414 15. MICROCONTROLADORES PIC USART. Registros de control RCSTA: Receive Status and Control Registerbit 7 SPEN: Bit de habilitacin de puerto serie 1 = Puerto serie habilitado (configura RX/DT y TX/CK como pines del puerto serie) 0 = Puerto serie inhibido bit 6 RX9: Bit de habilitacin de datos de 9 1 = Recepcin de 9 bits 0 = Recepcin de 8 bits bit 5 SREN: Bit de habilitacin de recepcin sencilla. Modo asncrono: no utilizado Modo sncrono - maestro 1 = Habilitada 0 = Inhibida Se pone a cero cuando se completa una recepcin. Modo sncrono - esclavo: no utilizado SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO1515 16. MICROCONTROLADORES PIC USART. Registros de control RCSTA: Receive Status and Control Registerbit 4 CREN: Bit de habilitacin de recepcin continua Modo asncrono 1 = Habilitado 0 = Inhibido Modo sncrono 1 = Habilitado 0 = Inhibido bit 3 No implementado se lee 0 bit 2 FERR: Bit de error de trama 1 = Error de trama (se puede actualizar leyendo el registro RCREG y leyendo el siguiente byte vlido) 0 = Sin error de trama bit 1 OERR: Bit de error de overrun 1 = Error de overrun (se puede borrar poniendo a cero CREN) 0 = Sin error de overrun bit 0 RX9D: Noveno bit recibido. Puede ser el bit de paridad SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO1616 17. MICROCONTROLADORES PICDiagrama de bloques:Recepcin continua =1USART. Receptor Indicadores de errorEntrada de datos Registro de desplazamiento de recepcin Habilitacin puerto serieDatos de 9 bits Recepcin completa Datos no ledo en FIFODoble buffer de recepcin (FIFO)SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO1717 18. MICROCONTROLADORES PIC USART. ReceptorRegistros asociados en la MCU 16F87x:SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO1818 19. MICROCONTROLADORES PIC USART Inicializacin de la recepcin Inicializar el registro SPBRG con el valor apropiado para la velocidad a utlizar (tener en cuenta el bit BRGH) Habilitar el puerto serie asncrono poniendo a 0 el bit SYNC y a 1 el bit SPEN. Para utilizar interrupciones poner a 1 los bits TXIE, GIE y PEIE. Para una trasmisin de 9 bits poner a 1 el bit RX9. Habilitar la recepcin con un 1 en el bit CREN. El bit RCIF se pondr a 1 cuando la recepcin se complete, se generar una interrupcin si RCIE esta activado. Leer RCSTA para coger el noveno bit si es necesario y determinar si ha ocurrido algun error. Recoger el dato recibido del registro RCREG. Si se ha producido algun error poner a cero el bit .CRENSISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO1919 20. MICROCONTROLADORES PIC USART. Ejemplo de programaSISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO2020 21. MICROCONTROLADORES PIC USART. Muestreo El dato en el pin de RX se muestrea tres veces y se determina su nivel (alto o bajo) por mayora.SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO2121