microprocesadores, tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...base de operación de un...
TRANSCRIPT
![Page 1: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/1.jpg)
Microprocesadores, Tema 8:
Comunicaciones asíncronas con USART del PIC
Guillermo Carpintero del Barrio
Marta Ruiz Llata
Alejandro Quesada Pareja
Universidad Carlos III de Madrid
![Page 2: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/2.jpg)
Standard de Comunicación
Interfase FormatoNum.
Dispositivos
Separación
max.
Velocidad de Tx
(bits/seg)
RS-232 Serie Asinc. 2 15 – 30 m 20k
IrDA Serie Asinc. 2 2 m 115k
Protocolos Standard de Comunicación Serie
IrDA Serie Asinc. 2 2 m 115k
SPI Serie Sinc. 8 3 m 2.1M
I2C Serie Sinc. 40 5.5 m 400k
USB Serie Asinc. 127 5 m 12M
![Page 3: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/3.jpg)
Parámetros de la comunicación asíncrona
Configuración de la USART del PIC para comunicaciones asíncronas
Detección de errores
Utilización de las interrupciones
Objetivos
![Page 4: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/4.jpg)
Características de la Comunicación Serie
La capa física solo es capaz de transportar un solo bit por unidad de tiempo.
Se emplea cuando la transmisión tiene lugar mas allá de unos metros.
Bases de la Comunicación Asíncrona
Requiere controladores complejos y protocolos de comunicación.Fuente debe descomponer los bytes en bitsDestino debe realizar operación inversa
La unidad de velocidad de transferencia es BAUDIO (= bits/seg).
![Page 5: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/5.jpg)
Base de operación de un puerto Serie
Se trata de una conversión PARALELO a SERIE.
Registro de desplazamiento
Dato de la CPU(Paralelo)
Bases de la Comunicación Asíncrona
(Paralelo)
Línea de transferencia(de la CPU al exterior)
Puerto de Salida (Tx)
unidireccional !!!
La unidad de información que se transfiere es el carácter, y no el byte.
![Page 6: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/6.jpg)
Controlador de interfase serie = Universal Asynch Rx Tx
Puerto de Salida
Bases de la Comunicación Asíncrona
Tx
Puerto de Entrada
BaudGen.
Tx
Rx
![Page 7: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/7.jpg)
Comunicación Serie en sus dos formas
Asíncrona
Bases de la Comunicación Asíncrona
Síncrona
![Page 8: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/8.jpg)
Introducción a USART
USART = Universal Synchronous Asynchronous Receiver Transmitter
Modos de operación:• Síncrono: Utiliza una línea de reloj independiente d e la de datos• Asíncrono: No se utiliza reloj en la transmisión de los datos
Características de la USART del PIC:• Transmite y recibe datos serie (de 8 ó 9 bits)• Transmite y recibe datos serie (de 8 ó 9 bits)• Detecta errores• Posibilidad de generar interrupción• Almacena datos en buffers
![Page 9: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/9.jpg)
Introducción a USART
Figura del “PIC18F2525/2620/4525/4620 Data Sheet”
Con permiso de MICROCHIP
![Page 10: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/10.jpg)
Comunicaciones asíncronas
Al no existir reloj � Necesidad de sincronizar RX y TX• Velocidad de transmisión fija y predeterminada• Bits de comienzo y final
carácter
Características:•Línea en reposo � Siempre a nivel alto•1Bit de comienzo: Siempre a nivel bajo•El primer bit del dato a transmitir es el LSB•1Bit de final: Detrás del MSB, siempre a nivel alto
![Page 11: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/11.jpg)
Comunicaciones asíncronas
¿Qué es configurable en una comunicación asíncrona?• Velocidad de transmisión• Datos de 9 bits � Utilización de un bit de paridad• Número de bits de parada: 1, 1.5, 2
ParImparMarkSpace
PIC 18F2525
Configuración de datos:Datos: 8 bits Bits parada: 1Datos: 8 bits Bits parada: 2Datos: 9 bits Bits parada: 1
La paridad a utilizar depende del programador
Velocidad configurable:•Registro SPBRG•Bit BRGH: Bit de alta velocidad•Bir BRG16: Bit de habilitación del SPBRG como registro de 16 bits
![Page 12: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/12.jpg)
Transmisión asíncrona. Funcionamiento
Figura del “PIC18F2525/2620/4525/4620 Data Sheet”
Con permiso de MICROCHIP
Cuestiones de interés
Si la transmisión es de 9 bits, TX9D se debe escribir antes que TXREG
Se permite la escritura en TXREG cuando se está transmitiendo (FIFO de 2 bytes)
Hay un retraso de una instrucción entre escribir en TXREG y TXIF=0;
![Page 13: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/13.jpg)
Transmitter
Asinc TX
Transmisión asíncrona. Funcionamiento
Figura del “PIC18F2525/2620/4525/4620 Data Sheet”
Con permiso de MICROCHIP
![Page 14: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/14.jpg)
Transmisión asíncrona. Configuración
Figura del “PIC18F2525/2620/4525/4620 Data Sheet”
Con permiso de MICROCHIP
![Page 15: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/15.jpg)
Recepción asíncrona. Funcionamiento
Figura del “PIC18F2525/2620/4525/4620 Data Sheet”
Con permiso de MICROCHIP
Cuestiones de interésEl proceso de recepción empieza al recibir el bit de comienzoSe comprueba la integridad del bit de paradaSe almacena el dato en la FIFO (1º byte recibido se almacena en RCREG)Se permite un máximo de 2 bytes almacenados mientras se recibe un terceroSi al terminar la recepción del tercero, la FIFO sigue llena � Error de OverrunEl bit RCIF permanece a 1 hasta que se leen todos los datos de la FIFO
![Page 16: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/16.jpg)
Receiver
Asinc RX
Recepción asíncrona. Funcionamiento
Figura del “PIC18F2525/2620/4525/4620 Data Sheet”
Con permiso de MICROCHIP
![Page 17: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/17.jpg)
Recepción asíncrona. Configuración
Figura del “PIC18F2525/2620/4525/4620 Data Sheet”
Con permiso de MICROCHIP
![Page 18: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/18.jpg)
Velocidad de transmisión
Depende del registro SPBRG y de los bits BRG16 y BRGH
Ejemplo: 16 MHz oscillator, 9600 baudios
Figura del “PIC18F2525/2620/4525/4620 Data Sheet”
Con permiso de MICROCHIP
BRG16=0
BRGH = 1SPBRG = 16000000/(16 x 9600) - 1 = 51.08 � 51 � Baud Rate= 9615.33 baudBRGH = 0SPBRG = 16000000/(64 x 9600) - 1 = 12.02 � 12 � Baud Rate= 9615.38 baud
BRG16=1
BRGH = 0SPBRG = 16000000/(16 x 9600) - 1 = 51.08 � 51 � Baud Rate= 9615.33 baudBRGH = 1SPBRG = 16000000/(4 x 9600) - 1 = 415.67 � 416 � Baud Rate= 9592.33 baud
Mejor opción
![Page 19: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/19.jpg)
Registro BAUDCON
Figura del “PIC18F2525/2620/4525/4620 Data Sheet”
Con permiso de MICROCHIP
![Page 20: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/20.jpg)
Inicialización
Configurarvelocidad
• Bit SPEN (RCSTA<7>) activo• Bit TRISC<7> activo• Bit TRISC<6> activo
ConfigurarPIC para USART
• Registro SPBRG• Bit BRGH• Bit BRG16
Configurar TX/RX• Registro TXSTA• Registro RCSTA
ConfigurarInterrupciones
• Bit IPEN=1• Registro INTCON• Registro PIE1• Registro PIR1• Registro IPR1
![Page 21: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/21.jpg)
Detección de errores
La USART del PIC puede detectar dos tipos de errores:• Error de trama• Error de desbordamiento
STO
P B
it
0Buffer FIFO llena
Shif Register Nuevo dato
D7
0
D6
0 0
Error de tramaFERR=1
RCREGFIFO llenaRCIF=1
Error de desbordamientoOERR=1
Más errores se pueden detectar por software:• Bit de paridad• CRC• Checksum
00
![Page 22: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/22.jpg)
RS232RS232
![Page 23: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/23.jpg)
RS232 Standard
Origen del Standard RS232
Diseñado para comunicar un sistema DTE con un sistema DCE.DTE (Data Terminal Equipment) usualmente, un OrdenadorDCE (Data Communications Equipment) usualmente, un módem
Empleando dos líneas de datos, TX (Transmisión) y RX (Recepción)
![Page 24: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/24.jpg)
RS232 standard
NombreDirección
DTE ↔ DCEFunción Comentario
TD ⇒ Transmitted dataPar de Datos
RD ⇐ Received Data
RTS ⇒ Request to SendPar de Handshake
Señales del Standard RS232
Par de HandshakeCTS ⇐ Clear to Send
DTR ⇒ Data Terminal ReadyPar de Handshake
DSR ⇐ Data Set Ready
DCD ⇐ Data Carrier DetectHabilitan DTE
RI ⇐ Ring Indicator
![Page 25: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/25.jpg)
SPECIFICATIONS RS232 RS423
Mode of OperationSINGLE-ENDED
SINGLE-ENDED
Total Number of Drivers and Receivers on One Line1 DRIVER1 RECVR
1 DRIVER10 RECVR
Maximum Cable Length 50 FT. 4000 FT.
Maximum Data Rate 20kb/s 100kb/s
Maximum Driver Output Voltage +/-25V +/-6V
Driver Output Signal Level (Loaded Min.) Loaded +/-5V to +/-15V +/-3.6V
RS232 standard
Driver Output Signal Level (Loaded Min.) Loaded +/-5V to +/-15V +/-3.6V
Driver Output Signal Level (Unloaded Max) Unloaded +/-25V +/-6V
Driver Load Impedance (Ohms) 3k to 7k >=450
Max. Driver Current in High Z State Power On N/A N/A
Max. Driver Current in High Z State Power Off +/-6mA @ +/-2v +/-100uA
Slew Rate (Max.) 30V/uS Adjustable
Receiver Input Voltage Range +/-15V +/-12V
Receiver Input Sensitivity +/-3V +/-200mV
Receiver Input Resistance (Ohms) 3k to 7k 4k min.
![Page 26: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/26.jpg)
RS232 standard
Señales en las líneas RS232
![Page 27: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/27.jpg)
RS232 standard
Circuitos Conversores de Nivel
TTL a RS232
RS232 a TTL
![Page 28: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/28.jpg)
RS232 standard
Conectores habituales en RS232
![Page 29: Microprocesadores, Tema 8ocw.uc3m.es/cursos-archivados/sistemas-digitales...Base de operación de un puerto Serie Se trata de una conversión PARALELO a SERIE. Registro de desplazamiento](https://reader031.vdocuments.pub/reader031/viewer/2022040622/5d32d8dc88c993d91a8baca3/html5/thumbnails/29.jpg)
RS232 standard
Conexión Null-Modem
Para evitar las señales de sincronismo, y conectar dos dispositivos a través del
par Tx y Rx