37
MICROCONTROLADORES CLASE No 9

comunicacion pic

  • Upload
    edu7611

  • View
    2.033

  • Download
    9

Embed Size (px)

Citation preview

Page 1: comunicacion pic

MICROCONTROLADORES

CLASE No 9

Page 2: comunicacion pic

Objetivos

• Conocer el funcionamiento de los sistemas de comunicación seriales del microcontrolador PIC 16F877.

• Aprender los procesos de configuración y administración del puerto serial sincrónico.

• Aprender los procesos de configuración y administración del USART.

Page 3: comunicacion pic

Preguntas generadoras

• ¿cómo se desarrollan los procesos de comunicación seriales en el Mcu PIC 16F877?

• ¿cuáles son las características mas importantes de los sistemas SSP y USART?

• ¿cómo se configuran y administran estos sistemas?

Page 4: comunicacion pic

Interfaz Serial Sincrónica Maestra MSSP

Sistema sincrónico

Page 5: comunicacion pic

Características generales

Transferencia sincrónica de tres hilos Full duplex anillo.Configurable como maestro o esclavo.Operación en dos modos.

Interfaz serial periférica (SPI)Circuito Inter-integrado (I2C)

Formato de la secuencia de comunicación programable.Posibilidad de solicitud de interrupciones.Detección de errores de comunicación por colisión.

Page 6: comunicacion pic

Modo de operación SPI

Este modo posibilita la comunicación sincrónica de datos de 8 bits, utilizando dos registros de cambio que en conjunto transmisor-receptor forman un registro de anillo que posibilita la comunicación sobre 4 líneas físicas, gobernadas por la sincronía de una señal de reloj.

Page 7: comunicacion pic

Entrada

Salida

Habilitar

Reloj

* TRIS

* Modulo

DirecciónPrimariaDe datos

Page 8: comunicacion pic

Registros de administración en modo SPI

• Registro de datos Donde se envían o reciben los datos (SSPBUF : 0x13 banco 0)

• Registro de estado Permite conocer el estado de la comunicación

del subsistema. (SSPSTAT : 0x14 banco 1)

• Registro de configuración Permite configurar el subsistema (SSPCON : 0x14 banco 0)

• Registros TRIS

Page 9: comunicacion pic

Registro SSPSTAT

Page 10: comunicacion pic

Registro SSPCON

Page 11: comunicacion pic

Modo de operación I2C

• Este modo permite comunicar múltiples dispositivos en un único bus utilizando el protocolo de Circuito inter-integrado, que fue desarrollado por Philips Inc. Para la transferencia de datos entre circuitos integrados, la cual se lleva a cabo sobre dos líneas físicas una para la sincronía (SCL) y la otra para los datos (SDA).

• El sistema I2C permite soportar un maestro y múltiples esclavos o bien muchos maestros, los cuales tienen la responsabilidad de controlar la señal de sincronía.

Page 12: comunicacion pic

Secuencia de operación I2C

• Transmisor Maestro 1) Configurar parámetros 2) Iniciar secuencia de comunicación

(Start) y verificar su inicio 3) Enviar dirección del esclavo y

verificar su recepción (Read/Write) 4) Enviar dato/datos al esclavo y

verificar su recepción (Read/Write) 5) Terminar secuencia de

comunicación (Stop) y verificar su finalizacion

Page 13: comunicacion pic

Secuencia de operación I2C

• Receptor Maestro 1) Configurar parámetros 2) Iniciar secuencia de comunicación (Start)

y verificar su inicio 3) Enviar dirección del esclavo y verificar su

recepción (Read/Write) 4) Activar la recepción y esperar por un

dato recibido (RCEN) 5) Confirmar o no el dato recibido

(NACK/ACK) y verificar su envio 6) Terminar secuencia de comunicación

(Stop) y verificar su finalizacion 7) Leer el dato e iniciar una nueva

secuencia si se requiere

Page 14: comunicacion pic

Secuencia de operación I2C

• Receptor Esclavo 1) Configurar parámetros 2) Esperar inicio secuencia de comunicación

(Start) 3) Recibir dirección, si coincide con la

configurada continuar la secuencia de lo contrario ignorarla

4) Esperar bandera de recepción de datos 5) Leer el dato recibido y limpiar la bandera

de recepción, y esperar por nuevo dato. 6) Esperar por terminación secuencia de

comunicación (Stop)

Page 15: comunicacion pic

Secuencia de operación I2C

• Transmisor Esclavo 1) Configurar parámetros 2) Esperar inicio secuencia de comunicación

(Start) 3) Recibir dirección, si coincide con la

configurada continuar la secuencia de lo contrario ignorarla

4) Retener la señal de reloj para cargar el dato a transmitir (CKP)

5) Cargar el dato a transmitir y liberar la señal de reloj. (repetir la secuencia para cada dato a transmitir)

6) Esperar por terminación secuencia de comunicación (Stop)

Page 16: comunicacion pic
Page 17: comunicacion pic

Registros de administración en modo I2C

Registro de datos Donde se envían o reciben los datos (SSPBUF : 0x13 banco 0)

Registro de estado Permite conocer el estado de la comunicación del

subsistema. (SSPSTAT : 0x14 banco 1)

Registros de configuración Permite configurar el subsistema (SSPCON : 0x14 banco 0) (SSPCON2 : 0x11 banco 1)

Registro de dirección y baud rate (maestro) (SSPADD)

Controlan la velocidad del subsistema y el ID del mismo

Page 18: comunicacion pic

Registro SSPSTAT

Page 19: comunicacion pic

Registro SSPCON

Page 20: comunicacion pic

Registros SSPCON2

Page 21: comunicacion pic

Formas de onda del modo esclavo

Page 22: comunicacion pic

Formas de onda del modo Maestro

Page 23: comunicacion pic

Transmisor/receptor universal sincrónico y asincrónicoUSART

Page 24: comunicacion pic

Características generales

Formato de comunicación NRZ compatible con el estándar RS232.

Métodos de detección de error.

Operación en Full duplex en modo asincrónico (SCI)

Operación en Half duplex en modo sincrónico

Velocidad de comunicación programable

Longitud de la trama variable

Posibilidad de disparar solicitud de interrupción

Page 25: comunicacion pic

Transmisión en modo asincrónico

Configurar la velocidad (SPBGR).Habilitar el modo asincrónico y el subsistema USART.Configurar la longitud de tramaHabilitar el transmisorSi utiliza tramas largas poner el noveno bit en el bit TX9D.Cargar el dato en el registro TXREG para iniciar la transmisión.

Page 26: comunicacion pic

Diagrama del transmisor SCI

Page 27: comunicacion pic

Recepción en modo asincrónico

• Configurar la velocidad (SPBGR).• Habilitar el modo asincrónico y el subsistema USART.• Configurar la longitud de trama• Habilitar el receptor• Esperar el indicador de trama recibida.• Leer el noveno bit si se configuro trama larga• Leer el dato recibido en RCREG para iniciar la

transmisión.• Verificar errores en la comunicación y hacer los ajustes

necesarios

Page 28: comunicacion pic

Diagrama del receptor SCI

Page 29: comunicacion pic

Modo sincrónico

• El modo sincrónico funciona en halfduplex lo que implica que únicamente necesita de dos líneas una para la señal de reloj y la otra para los datos, los cuales no pueden enviarse y recibirse al mismo tiempo, con lo que el subsistema puede tener 4 posibles estados. TXMaster, RXMaster, TXSlave y RXSlave

Page 30: comunicacion pic

Transmisor maestro

• Configurar la velocidad• Configurar el modo sincrónico maestro.• Configurar la longitud de trama• Habilitar la transmisión.• Escribir el noveno bit si se enviara una

trama larga.• Iniciar la transmisión escribiendo en el

registro TXREG.• Esperar que la transmisión de complete

para enviar un nuevo dato

Page 31: comunicacion pic

Receptor maestro

• Configurar la velocidad• Configurar el modo sincrónico maestro.• Configurar la longitud de trama• Configurar la admisión de un noveno bit en caso de

recibir tramas largas. • Habilitar la recepción.• Esperar la bandera de recepción completa.• Leer el noveno bit si se uso trama largas• Leer el registro de recepción RCREG.• Verificar que no se desarrollo ningún error durante

la recepción.• Esperar la siguiente trama

Page 32: comunicacion pic

Transmisor esclavo

• Configurar el modo sincrónico esclavo.• Configurar la longitud de trama• Habilitar la transmisión.• Escribir el noveno bit si se enviara una

trama larga.• Iniciar la transmisión escribiendo en el

registro TXREG.• Esperar que la transmisión de complete

para enviar un nuevo dato

Page 33: comunicacion pic

Receptor esclavo

• Configurar el modo sincrónico esclavo.• Configurar la longitud de trama• Configurar la admisión de un noveno bit en caso

de recibir tramas largas. • Habilitar la recepción.• Esperar la bandera de recepción completa.• Leer el noveno bit si se uso trama largas• Leer el registro de recepción RCREG.• Verificar que no se desarrollo ningún error

durante la recepción.• Esperar la siguiente trama

Page 34: comunicacion pic

Registros para administrar el USART

Registro de datos Donde se envían o reciben los datos (TXREG : 0x19 banco 0), (RCREG : 0x1A banco 0)

Registro de estado y control Permite configurar y administrar el estado de la

comunicación del subsistema . (TXSTAT : 0x18 banco 1), (RCSTAT : 0x18 banco 0)

Registro de Baud Rate Permite configurar la velocidad del subsistema . (SPBRG : 0x19 banco 1).

Page 35: comunicacion pic

Registros de estado y control

Page 36: comunicacion pic

Registros de estado y control

Page 37: comunicacion pic

Lecturas recomendadas

• Capítulos 17 y 18 del manual de referencia del PIC16F877

• Capítulos 9 y 10 del manual técnico del PIC16F877