comunicación serial€¦ · comunicación serial introducción velocidad en la comunicación...
Post on 12-Apr-2020
27 Views
Preview:
TRANSCRIPT
Comunicación SerialIntroducción
Las comunicaciones digitales pueden ser: Paralela Serial
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
Comunicación SerialIntroducción
CPU InterfazParalela
Datos
Control
8
x
CPU
TxD
RxD TxD
RxD
CPU/I.S.
Comunicación Paralela Comunicación Serial01110001
01110001 01110001
UNEXPO – Pto. Ordaz. MICROPROCESADORES
CPU InterfazParalela
Controlx
GND GNDRxD TxD
Prof. Antonio PatetiProf. Antonio Pateti
Comunicación SerialIntroducción
La comunicación serial puede ser:
Sincrona: D0 D1 D2 D3 D4 D5 D6 D7Dato
clk
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Asincrona: D0 D1 D2 D3 D4 D5 D6 D7Dato
Prof. Antonio PatetiProf. Antonio Pateti
Bit de Paridad(Opcional)
8 bits de datosidle
0 0 1 0 1 1 1 0
Comunicación SerialIntroducción
Comunicación Asincrona:
5 V
1 bit,
2 bit de Stop1 ½ bit,
Bit de Start
0 0 1 0 1 1 1 0
UNEXPO – Pto. Ordaz. MICROPROCESADORES
0 V
t
Prof. Antonio PatetiProf. Antonio Pateti
Comunicación SerialIntroducción
Velocidad en la comunicación serial asíncrona:
La unidad para representar la velocidades bits/seg
BAUDIOS = bits/seg
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Se pueden conseguir con las siguientesvelocidades (en bits/seg):300, 600, 1200, 2400, 4800, 9600, 14400, 19200,28800, 33600, 57800, ●, ●, ●
Prof. Antonio PatetiProf. Antonio Pateti
Comunicación SerialIntroducción
¿Qué significa Tx o Rx a 4800 bits/seg?:
4800 bits/seg
1 bit = 208,3 seg
1 bits seg4800
1
UNEXPO – Pto. Ordaz. MICROPROCESADORES
0 0 1 0 1 1 1 00 V
5 V
t=208,3seg
Prof. Antonio PatetiProf. Antonio Pateti
Comunicación SerialEstándar RS-232
Para cumplir con el estándar RS-232 sedeben tener en cuenta:
Las normas mecánicas. Las normas eléctricas.
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Las normas lógicas.
Prof. Antonio PatetiProf. Antonio Pateti
Comunicación SerialNormas mecánicas
Tiene que ver con el tipo de conector: losutilizados son el DB-25 y DB-9
DB-9
Detector de Portadora (CD) 16
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Detector de Portadora (CD) 1
Recepción de Datos (RxD) 2
Transmisión de Datos (TxD) 3
Dato Listo Terminal (DTR) 4
Referencia (GND) 5
Dato Listo para Enviar (DSR)6
Solicitud de Envío (RTS)7
Listo para Envío (CTS)8
Detector de Tono (RI)9
Prof. Antonio PatetiProf. Antonio Pateti
Comunicación SerialNormas Eléctricas
Tiene que ver con los niveles de tensión conque se Tx y Rx los datos
‘0’ Lógico5 V
15 V‘0’ Lógico
3 V
25 V
‘1’ Lógico
UNEXPO – Pto. Ordaz. MICROPROCESADORES
0 V
-15 V
-5 V
Indeterminado
Tx Rx
‘1’ Lógico
0 V
3 V
-25 V
-3 V
Indeterminado
Prof. Antonio PatetiProf. Antonio Pateti
Comunicación Serial
Drivers utilizados en el estándar RS-232
CPU
GND GND
InterfaseSerial
TxD
RxD TxD
RxD
+Vcc
-Vcc
+Vcc
-Vcc
+Vcc
-Vcc
+Vcc
-Vcc
MC1488
MC1488
MC1489
MC1489
TTL RS-232 TTL
UNEXPO – Pto. Ordaz. MICROPROCESADORES
CPU
GND GND
InterfaseSerial
TxD
RxD TxD
RxD
+Vcc
-Vcc
+Vcc
-Vcc
+Vcc
-Vcc
+Vcc
-Vcc
MC1488
MC1488
MC1489
MC1489
TTL RS-232 TTL
Prof. Antonio PatetiProf. Antonio Pateti
Comunicación Serial
Drivers utilizados en el estándar RS-232
CPU
GND GND
InterfaseSerial
TxD
RxDTxD
RxD
+5V +5V
GND GND
MAX232 MAX232
TTL RS-232 TTL
UNEXPO – Pto. Ordaz. MICROPROCESADORES
CPU
GND GND
InterfaseSerial
TxD
RxDTxD
RxD
+5V +5V
GND GND
MAX232 MAX232
TTL RS-232 TTL
Prof. Antonio PatetiProf. Antonio Pateti
Comunicación Serial
Modulo USART del PIC 16F1787
USART: Universal Synchronous AsynchronousReceiver Transmitter
Modo Asíncrono: Full duplex (Tx y Rxsimultaneamente)
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Modo Síncrono: Half duplex (Tx ó Rx)
Prof. Antonio PatetiProf. Antonio Pateti
Comunicación Serial
Pines utilizados en el módulo USART
TxRx
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
TxRx
Registros utilizados por USART
• TXSTA, TXREG
• RCSTA, RCREG
• SPBRGH, SPBRGL
Comunicación Serial
• BAUDCON
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
• APFCON1
Modulo USART
Transmisión Asíncrona
Registro TXREG
LSbMSb
0(8) Registro TSR
8
SPBRGGenerador Baudios
TXEN
TX9D
TXIFTXIE
Interrupción Tx
TX9
Buffer del Piny Control
TRMT SPEN
RC6/TX/CK
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Registro TXREG
LSbMSb
0(8) Registro TSR
8
SPBRGGenerador Baudios
TXEN
TX9D
TXIFTXIE
Interrupción Tx
TX9
Buffer del Piny Control
TRMT SPEN
RC6/TX/CK
Prof. Antonio PatetiProf. Antonio Pateti
Modulo USART
CSRC: Solo modo Síncrono.0: Modo Esclavo. Reloj Externo1: Modo Maestro. Reloj Interno
TX9: Habilitación para la transmisión del 9º Bit.0: Seleccionado 8 bits para la Transmisión.1: Seleccionado 9 bits para la Transmisión
TXSTA
UNEXPO – Pto. Ordaz. MICROPROCESADORES
TX9: Habilitación para la transmisión del 9º Bit.0: Seleccionado 8 bits para la Transmisión.1: Seleccionado 9 bits para la Transmisión
TXEN: Bit de Habilitación para la Transmisión.0: Transmisión Deshabilitada.1: Transmisión Habilitada
Prof. Antonio PatetiProf. Antonio Pateti
TXSTA
Modulo USART
SYNC: Bit para seleccionar el modo del USART.0: Modo Asíncrono .1: Modo Síncrono.
SENDDB: Envio un carácter de Parada0: Se completo el envio del carácter de Parada.1: En la proxima Tx se envia el carácter de Parada
UNEXPO – Pto. Ordaz. MICROPROCESADORES
BRGH: Solo modo Asíncrono0: Baudios en Baja Velocidad.1: Baudios en Alta Velocidad
TRMT: Bit de estado del Transmit Shift Register (TSR)0: TSR está lleno.1: TSR está vacío.
TX9D: 9º Bit de Dato en la Transmisión (ejmp. Bit de Paridad)
Prof. Antonio PatetiProf. Antonio Pateti
SENDDB: Envio un carácter de Parada0: Se completo el envio del carácter de Parada.1: En la proxima Tx se envia el carácter de Parada
Bit START Bit 0 Bit 1 Bit 7/8 Bit STOP
Escribir en TXREG
BRG (Clock)
TXIF
RC6/TX/CK (pin)
TRMT
DATO
El Dato comienza a Tx
Dato Tx
Modulo USART
Transmisión Asíncrona
movwf TXREG
Bit START Bit 0 Bit 1 Bit 7/8 Bit STOP
Escribir en TXREG
BRG (Clock)
TXIF
RC6/TX/CK (pin)
TRMT
DATO
El Dato comienza a Tx
Dato Tx
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
Bit START Bit 0 Bit 1 Bit 7/8 Bit STOP
Escribir en TXREG
BRG (Clock)
TXIF
RC6/TX/CK (pin)
TRMT
DATO 1
El Dato 1 comienza a Tx
Tx Dato 1
Bit START Bit 0
Tx Dato 2
DATO 2
El Dato 2 comienza a Tx
Modulo USART
Transmisión Asíncrona
1er. movwf TXREG
2do. movwf TXREG
Bit START Bit 0 Bit 1 Bit 7/8 Bit STOP
Escribir en TXREG
BRG (Clock)
TXIF
RC6/TX/CK (pin)
TRMT
DATO 1
El Dato 1 comienza a Tx
Tx Dato 1
Bit START Bit 0
Tx Dato 2
DATO 2
El Dato 2 comienza a Tx
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
Modulo USART
Transmisión Asíncrona
TxD
TXIF=1
TXREG W
NO
SI
TxDBANKSEL PIR1
NO_TX btfss PIR1,TXIFgoto NO_TXmovwf TXREGreturn
UNEXPO – Pto. Ordaz. MICROPROCESADORES
return
TXREG W
TxDBANKSEL PIR1
NO_TX btfss PIR1,TXIFgoto NO_TXmovwf TXREGreturn
Prof. Antonio PatetiProf. Antonio Pateti
Modulo USART
Recepción Asíncrona
LSbMSb
START(8) Registro RSR
SPBRG
Generador Baudios
SPEN
RX9
Interrupción RxRCIF
Buffer del Piny Control
OERR FERR
RC7/RX/DTRestaurador
de Datos
STOP 7 0
8
RX9D RCREG
RCIE
FIFO
64o
16
Fosc CREN
UNEXPO – Pto. Ordaz. MICROPROCESADORES
LSbMSb
START(8) Registro RSR
SPBRG
Generador Baudios
SPEN
RX9
Interrupción RxRCIF
Buffer del Piny Control
OERR FERR
RC7/RX/DTRestaurador
de Datos
STOP 7 0
8
RX9D RCREG
RCIE
FIFO
64o
16
Fosc CREN
Prof. Antonio PatetiProf. Antonio Pateti
Modulo USART
SPEN: Bit de Habilitación del Puerto Serial.0: Puerto Serial Deshabilitado.1: Puerto Serial Habilitado. (RC7 y RC6 como pines del Puerto Serial)
RX9: Habilitación para la Recepción del 9º Bit.0: Seleccionado 8 bits para la Recepción.1: Seleccionado 9 bits para la Recepción
RCSTA
UNEXPO – Pto. Ordaz. MICROPROCESADORES
RX9: Habilitación para la Recepción del 9º Bit.0: Seleccionado 8 bits para la Recepción.1: Seleccionado 9 bits para la Recepción
SREN:Activación de Recepción simple (Solo Síncrono).0: Desactiva la Recepción simple.1: Activa la Recepción simple.
Prof. Antonio PatetiProf. Antonio Pateti
RCSTA
Modulo USART
CREN:Bit de Habilitación para la Recepción continua.Modo Asíncrono:
0: Deshabilitada la Recepción.1: Habilitada la Recepción
Modo Síncrono:0:Deshabilitada la Recepción.1:Habilitada Recepción continua hasta que se borre CREN.
UNEXPO – Pto. Ordaz. MICROPROCESADORES
CREN:Bit de Habilitación para la Recepción continua.Modo Asíncrono:
0: Deshabilitada la Recepción.1: Habilitada la Recepción
Modo Síncrono:0:Deshabilitada la Recepción.1:Habilitada Recepción continua hasta que se borre CREN.
ADDEN:Bit de habilitación para detección de Dirección (modo Asíncrono con 9 bit).0: Detección de dirección Deshabilitado. Todos los bytes son recibidos y el 9º bit
puede ser usado como paridad.1: Detección de dirección Habilitado. Habilita la interrupción y carga el dato
recibido cuando el 9º bit recibido es 1
Prof. Antonio PatetiProf. Antonio Pateti
RCSTA
Modulo USART
FERR: Error de Trama.0: No ha’y error de Trama.1: Ha habido error de Trama.
OERR: Bit de Sobrepasamiento. Se recibe un nuevo dato sin leer el anterior.0: No hay error de sobrepasamiento.1: Hay error de sobrepasamiento. Se borra CREN
UNEXPO – Pto. Ordaz. MICROPROCESADORES
OERR: Bit de Sobrepasamiento. Se recibe un nuevo dato sin leer el anterior.0: No hay error de sobrepasamiento.1: Hay error de sobrepasamiento. Se borra CREN
RX9D: Bit recibido en la comunicación con 9 bits..
Prof. Antonio PatetiProf. Antonio Pateti
Modulo USART
Recepción Asíncrona
Bit START Bit 0 Bit 7/8 Bit STOP
RSR a RCREG
Lectura a RCREG
RC7/RX (pin)
RCIF
Bit START Bit 0
DATO 1 a RCREG
Bit 7/8 Bit STOP Bit START Bit STOP
DATO 2 a RCREG
Bit 7/8
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
Modulo USART
Recepción Asíncrona
RxD
RXIF=1
W RCREG
NO
SI
RxDBANKSEL PIR1
NO_RX btfss PIR1,RXIFgoto NO_RXmovf RCREG,Wreturn
UNEXPO – Pto. Ordaz. MICROPROCESADORES
return
W RCREG
RxDBANKSEL PIR1
NO_RX btfss PIR1,RXIFgoto NO_RXmovf RCREG,Wreturn
Prof. Antonio PatetiProf. Antonio Pateti
Modulo USART
Generador de Baud Rate (BRG)
El generador consiste en un contador/divisorde frecuencia de 8/16 bits, controlado por elregistro SPBRG
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
Modulo USART
Generador de Baud Rate (BRG)
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
Modulo USARTBAUDCON
ABDOVF:Bit de Overflow de detección de auto detector de Baudios (Auto-Baud).0: No hay overflow de Auto-Baud.1: Hay un overflow de Auto-Baud
RCIDL:Bandera que señaliza: No se esta Rx Datos.0: Comienza a Rx un Dato.1: No se esta Rx ningún Dato
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
RCIDL:Bandera que señaliza: No se esta Rx Datos.0: Comienza a Rx un Dato.1: No se esta Rx ningún Dato
SCKP: Bt de Inversión de Polaridad en la Tx .0: Polaridad no invertida en el pin Tx.1: Polaridad invertida en el pin Tx
Modulo USARTBAUDCON
BRG16: Bit de Generación de la Rata de Baudio (BRG), de 16 bits.0: BRG de 8 bts.1: BRG de 16 bits
WUE: Bit que habilita Despertar (Wake-UP), del modo Sleep.0: Rx normal.1: Rx espera por flanco de bajada. No se Rx Carácter, WUE=0 y RCIF=1
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
WUE: Bit que habilita Despertar (Wake-UP), del modo Sleep.0: Rx normal.1: Rx espera por flanco de bajada. No se Rx Carácter, WUE=0 y RCIF=1
ABDEN: Bt que habilita la Auto detección de la rata de baudios (Auto-Baud).0: Auto-Baud esta deshabilitado1: Auto-Baud esta habilitado
Modulo USART
Generador de Baud Rate (BRG)
Formulas para calcular el BRG
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
Modulo USART
Generador de Baud Rate (BRG)
El generador consiste en un contador/divisorde frecuencia de 8 bits, controlado por elregistro SPBRG
SYNC BRGH=0 (Baja velocidad) BRGH=1 (Alta velocidad)
UNEXPO – Pto. Ordaz. MICROPROCESADORES
0(modo asíncrono) 164
x
FBR osc
116
x
FBR osc
1(modo síncrono) - 164
x
FBR osc
Siendo X el registro SPBRG
Prof. Antonio PatetiProf. Antonio Pateti
Modulo USART
Generador de Baud Rate (BRG)
Para Fosc=4MHz y BR=9600, se tiene:
SYNC=0 y BRGH=0BRG16=0 164
x
FBR osc
164
BR
FX osc
UNEXPO – Pto. Ordaz. MICROPROCESADORES
164
BR
FX osc
51,5X
Para X=6, se tiene 5,8928164
x
FBR osc
%E = 7%
Prof. Antonio PatetiProf. Antonio Pateti
Modulo USART
Generador de Baud Rate (BRG)
Para Fosc=4MHz y BR=9600, se tiene:
SYNC=0 y BRGH=1BRG16=0 116
x
FBR osc
116
BR
FX osc
UNEXPO – Pto. Ordaz. MICROPROCESADORES
116
BR
FX osc
04,25X
Para X=25, se tiene 4,961512516
oscF
BR
%E = 0,1%
Prof. Antonio PatetiProf. Antonio Pateti
Modulo USART
Generador de Baud Rate (BRG)
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
Modulo USART
Generador de Baud Rate (BRG)
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
Modulo USART
Generador de Baud Rate (BRG)
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
Modulo USART
Generador de Baud Rate (BRG)
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
Modulo USART
Generador de Baud Rate (BRG)
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
Modulo USART
Generador de Baud Rate (BRG)
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
Modulo USART
Generador de Baud Rate (BRG)
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
Modulo USART
Generador de Baud Rate (BRG)
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
TXSEL: Selección del pin de salida de TX.0: Tx es RC61: Txes RB6
APFCON1
Modulo USART
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
RXSEL: Selección del pin de entrada de RX.0: Rx es RC71: Rx es RB7
top related