1 / 26

Puerto serie sincronico del PIC 18F8520

Puerto serie sincronico del PIC 18F8520. Integrantes: Felipe Aravena U. Alvaro Contreras A. Cristian Flores Ruben Gatica B. Ignacio Maturana. Puerto Serie Sincronico.

tania
Download Presentation

Puerto serie sincronico del PIC 18F8520

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Puerto serie sincronico del PIC 18F8520 Integrantes: Felipe Aravena U. Alvaro Contreras A. Cristian Flores Ruben Gatica B. Ignacio Maturana

  2. Puerto Serie Sincronico El puerto serie síncrono o MasterSynchronous Serial Port (MSSP) es una interfaz en serie, útil para la comunicación con otros dispositivos periféricos o microcontroladores. puede operar en uno de dos modos: • Interfaz Periférico Serial (SPI) • Circuito inter-integrado (I2C)

  3. Modo SPI El modo SPI permite 8 bits de datos para ser transmitidos y recibidos en forma sincrónica simultáneamente Para llevar a cabo la comunicación, normalmente se utilizan tres pines • La salida de datos en serie (SDO) - RC5/SDO• La entrada de datos en serie (SDI) - RC4/SDI/SDA• reloj en serie (SCK) - RC3/SCK/SCLAdemás, un cuarto pin puede utilizarse cuando se usa el modo esclavo, el cual es:• Seleccione Esclavo (SS) - RF7/SS

  4. Modo SPI El módulo MSSP tiene cuatro registros para el modo SPI. Estos son: · Registro de Control 1 de MSSP (SSPCON1) · Registro de Estado de MSSP (SSPSTAT) · Registro Serie para la recepción / transmisión del búfer (SSPBUF) · Registro de cambio de MSSP (SSPSR)

  5. Modo SPI • Bit 7: SPM. Bit de muestra • Bit 6: CKE. Bit de selección de reloj • Bit 5: D/A. bit de Dato/dirección • Bit4: P. bit de stop • Bit3: S. bit de partida • Bit2: R/W. bit de lectura/escritura de información. • Bit1: UA. Actualización del bit de direcciones. • Bit0: BF. Bit de estado del buffer

  6. Modo SPI • Bit7: WCOL. Bit detector de colisión de escritura • Bit6: SSPOV. Bit indicador de overflow recibido • Bit5: SSPEN. Bit de habilitación del puerto sincrónico • Bit4: CKP. Bit de selección de la polaridad del reloj. • Bit3-0: SSPM3-SSPM0. Bit de selección de modo puerto serie síncrono 0101= modo esclavo, clock = SCK pin, pin SS de control desactivado y puede ser usado como pin I/O 0100 = SPI Slave mode, clock = SCK pin, SS pin control enabled 0011 = SPI Master mode, clock = TMR2 output/2 0010 = SPI Master mode, clock = FOSC/64 0001 = SPI Master mode, clock = FOSC/16 0000 = SPI Master mode, clock = FOSC/4

  7. Modo SPI Habilitación de SPI Para esto se debe habilitar el pin SSPEN en el registro de control.Este habilita los pines de datos serie de entrada y salida (SDO y SDI), el reloj serie (SCK) y el seleccionador esclavo (SS) si se usa el modo esclavo. La dirección de datos de estos bits debe estar en el registro TRIS y deben estar programados de la siguiente manera. • SDI es controlado automáticamente por el módulo SPI • SDO deben tener el bit 5 de TRISC despejado • SCK (modo maestro) debe tener el bit 3 de TRISC despejado • SCK (modo esclavo) debe tener el bit 3 de TRISC activado • SS debe tener bit 7 de TRISF activado

  8. Modo SPI Operacion del modo SPI Al inicializar el SPI, varias opciones deben ser especificado. Estas son: • Modo Maestro (SCK es la salida del reloj) • Modo Esclavo (SCK es la entrada de reloj) • Reloj de polaridad (en estado inactivo de SCK) • Frecuencia de reloj (modo maestro) • Seleccione el modo esclavo (modo esclavo solamente) El MSSP consiste en una transmisión y recepción del Registro de cambio (SSPSR) y del registro de búfer (SSPBUF). Una vez que los 8 bits de los datos se han recibido, ese byte se mueve al registro SSPBUF y el bit de interrupción SSPIF, esto indica que la transmisión esta completa

  9. Modo Maestro La Figura muestra una conexión típica entre dos microcontroladores. El controlador maestro puede iniciar la transferencia de datos en cualquier momento porque controla la SCK. En el modo Maestro, los datos se reciben / transmiten tan pronto como el registro SSPBUF se escribe. En el modo Maestro, la velocidad del reloj SPI (bit rate) es programable por el usuario para ser uno de los siguientes: • FOSC/4 (or TCY) • FOSC/16 (or 4 • TCY) • FOSC/64 (or 16 • TCY) • Timer2 output/2

  10. Modo Maestro

  11. Modo Esclavo los datos son transmitidos y recibidos como los pulsos de reloj externo que aparecen en el SCK En el modo esclavo se puede reiniciar el modo SPI de 2 manera. Esto se puede hacer ya sea forzando el pin SS a un nivel alto o compensar el bit SSPEN.

  12. Modo I2C El modo I2C permite la transferencia de 7 o 10 bits de datos, el cual debe incluir la dirección del dispositivo al que se desea transmitir. Para llevar a cabo la comunicación se utilizan 2 pines del PIC18F1820. • Serial Clock (SCL) – RC3/SCK/SCL • Serial Data (SDA) – RC4/SDI/SDA

  13. Modo I2C Ademas utiliza 6 registros para su funcionamiento. Estos son. • Registro de Control 1 de MSSP (SSPCON1) • Registro de Control 2 de MSSP (SSPCON1) • Registro de Estado de MSSP (SSPSTAT) • Registro Serie para la recepción/ transmisión del búfer (SSPBUF) • Registro de cambio de MSSP (SSPSR) • Registro de direccion de MSSP (SSPADD)

  14. Modo I2C • Bit7: SMP. Bit de control de velocidad de respuesta • Bit6: CKE. Bit de seleccion de SMBUS. • Bit5: D/A. Bit de dato/dirección. • Bit4: P. Bit de parada • Bit3: S. Bit de partida. • Bit2: R/W. Bit de escritura/lectura de información • Bit1: UA. Bit de actualización de datos (solo en modo esclavo de 10 bit) • Bit0: BF. Bit de estado del buffer

  15. Modo I2C • Bit7: WCOL. Bit detector de colision de escritura • Bit6: SSPOV. Bit indicador de overflow recibido • Bit5: SSPEN. Bit de habilitación del puerto sincronico • Bit4: CKP. Bit de control de liberacion de SCK. • Bit3-0: SSPM3-SSPM0. Bit de selección de modo puerto serie síncrono • 1111 = I2C Slave mode, 10-bit address with Start and Stop bit interrupts enabled • 1110 = I2C Slave mode, 7-bit address with Start and Stop bit interrupts enabled • 1011 = I2C Firmware Controlled Master mode (Slave Idle) • 1000 = I2C Master mode, clock = FOSC/(4 * (SSPADD + 1)) • 0111 = I2C Slave mode, 10-bit address • 0110 = I2C Slave mode, 7-bit address

  16. Modo I2C • Bit7: GCEN. Bit de habilitacion general (solo en modo esclavo) • Bit6. ACKSTAT. Bit de estado de reconocimiento (solo en modo maestro transmisor) • Bit5. ACKDT. . Bit de reconocimiento de datos (solo en modo recepcion del modo maestro) • Bit4. ACKEN. Bit de habilitacion de secuencia de reconocimiento (modo maestro recepcion solamente) • Bit3. RCEN. Bit de habilitacion del recepcion. (modo maestro solamente) • Bit2. PEN. Bit de habilitacion de. (solo modo maestro) • Bit1. RSEN. Bit de habilitacion de condicion de partida repetida.(modo maestro solamente) • Bit0. SEN. Bit de habilitacion de partida.

  17. Modo Esclavo En El modo esclavo los pines SCL y SDA deben configurarse como entradas. Cuando la dirección es equivalente o luego de la transferencia de datos, el hardware generará automáticamente un pulso de reconocimiento (ACK) y carga el registro SSPBUF con el valor recibido actualmente el registro SSPSR. Cualquiera de las siguientes combinaciones causará que el módulo MSSP no entregue el pulso ACK: • El bit de buffer lleno BF (SSPSTAT<0>) está activado (puesto en 1) • El bit de overflow SSPOV (SSPCON<6>) se activó antes de recibir la transferencia Esto indica que la transferencia de datos se ha terminado

  18. Modo Esclavo Direccionamiento Una vez que el módulo MSSP se ha activado, un dato 8 bits se desplaza en el registro SSPSR. El valor del registro SSPSR es comparado con el valor del registro SSPADD. La dirección se compara en el flanco de bajada del reloj (SCL) de pulso. Si las direcciones coinciden, se produce lo siguiente. 1. El valor de registro SSPSR se carga en el SSPBUF registro. 2. Se establece el bit de estado del buffer. 3. Un pulso ACK se genera. 4. Se activa la interrupción SSPIF en el flanco de bajada del pulso SCL.

  19. Modo Esclavo Modo esclavo de recepción. Cuando el pin SDA esta en estado bajo indica que esta disponible para recibir un dato, la recepción se inicia cuando SCL se coloca en estado bajo, y finaliza cuando existe un desbordamiento en la dirección del byte, entonces no se reconoce el dato enviado, activando el bit SSPOV en el registro de controlrecepcion 7 bits

  20. Modo Esclavo recepcion de 10 bits.

  21. Modo Esclavo Modo esclavo transmisión. Los ocho bits de datos se desplazan en el flanco de bajada de la entrada SCL, cuando este es habilitado al fijar el bit CKP. Esto asegura que el señal SDA son válidos durante SCL. Trasmisión de dato de 7 bits

  22. Modo Esclavo Transmisión de dato de 10 bits

  23. Modo Maestro El modo maestro se habilita estableciendo adecuadamente el bit SSPM en SSPCON1 y el bit SSPEN. la comunicación con otros dispositivos se logra a través de la configuración de los siguientes registros • Ajustar la velocidad de Transmisión/ Recepción a través del registro SSPADD. • Seleccionar el modo de comunicación tipo “Maestro” a través del registro SSPCON. • Habilitar el módulo de comunicaciones bit SSPEN del registro SSPCON • Esperar que la bandera delbit SSPIF esté en uno indicando que todo está listo para iniciar la comunicación.

  24. Modo Maestro Modo maestro de transmision.

  25. Modo Maestro Modo maestro de recepcion.

More Related