SlideShare una empresa de Scribd logo
1 de 80
I2C
PIC18F4550
Logro de aprendizaje Temario
Logro de aprendizaje Temario
● Aprender sobre I2C.
● Registros I2C con el
PIC18F4550.
● Programar del I2C.
Logro de aprendizaje Temario
1. I2C.
2. Hardware.
3. Transferencia de Datos.
4. Registro I2C.
5. Programa I2C.
● Aprender sobre I2C.
● Registros I2C con el
PIC18F4550.
● Programar del I2C.
Programa en la descripción
6 pines
2 pines
1) I2C
- I2C = Circuitos inter-integrados.
- Bus serie, formado por 2 pines.
- Usa Hardware muy simple.
- Protocolo de Comunicación (Philips)
Comunicación serial síncrona
I2C
COMUNICACIÓN SERIAL SÍNCRONA
I2C
COMUNICACIÓN SERIAL SÍNCRONA
- Bit por bit.
- Half dúplex.
- 2 líneas para la
comunicación.
- Sistema de detección de
colisiones.
I2C
RB0 = Pin de Datos SDA
RB1 = Pin de Clock SCL
I2C
I2C
I2C
I2C
MAESTRO ESCLAVO
I2C
MAESTRO ESCLAVO
● Iniciar y termina la transferencia
de información.
● Controla la señal del Reloj.
I2C
MAESTRO ESCLAVO
● Iniciar y termina la transferencia
de información.
● Controla la señal del Reloj.
● Es el circuito o micro
direccionado por el maestro.
I2C
MAESTRO ESCLAVO
● Iniciar y termina la transferencia
de información.
● Controla la señal del Reloj.
● Es el circuito o micro
direccionado por el maestro.
● Cada dispositivo conectado al bus I2C es reconocido por una
única dirección.
● El I2C suele llevar 2 a 3 pines. PIC18F4550 = 2 pines.
2) HARDWARE
I2C
I2C
SCL
SDA
I2C
SCL: Serial Clock
SDA: Serial Data
I2C
SCL: Serial Clock
- Generado por el Master.
- Controla cuando se lee o
envía la información.
SDA: Serial Data
- Transfiere la información.
I2C
Colector
Abierto
I2C
I2C
I2C
I2C
Drive Low: Sólo el dispositivo lo
lleva a cero.
Float High: Si no hay dispositivo,
siempre estará en float high.
I2C
I2C
NOTA:
● Si no hubiera resistencias PULL UP, las líneas tendrían estados
desconocidos.
● Si un Uc envía los datos y coloca a 1 la línea y otro Uc envía datos colocando
la línea a 0. Podría ocurrir un daño para ambos microcontroladores.
● El modo PULL UP - DRIVE LOW controla cuando un dispositivo tiene el
control del bus.
● Si un Uc encuentra las líneas en DRIVE LOW significa que el bus está
ocupado.
I2C
3) TRANSFERENCIA
DE DATOS
CONDICIONES
EN I2C
I2C
SDA
SCL
DATO
VÁLIDO
DATO
VÁLIDO
Para transferir información, el bit SCL debe
mantenerse en 1 lógico y el bit SDA mantenerse
estable.
I2C
SDA
SCL
CAMBIO
DE
DATOS
Para cambiar el estado del dato, el bit SCL debe
mantenerse en 0 lógico.
I2C
CONDICIONES
¿Que pasa si la línea SDA cambia cuando la
línea SCL está a nivel alto?
LA CONDICIÓN DE START
La línea SDA debe estar en flanco de bajada
mientras el SCL permanece en nivel alto. Marca
el inicio de la transmisión.
SDA
SCL
LA CONDICIÓN DE STOP
La línea SDA debe estar en flanco de subida
mientras el SCL permanece en nivel alto. Marca
el fin de la transmisión.
SDA
SCL
BIT DE DATOS
Los bits de datos son 8 (1 Byte), se transfiere
primero el MSB
START MSB 6 5 4 3 2 1 LSB STOP
DATOSSDA
SCL
BIT DE DATOS
START MSB 6 5 4 3 2 1 LSB STOP
DATOSSDA
SCL
x
Los bits de datos son 8 (1 Byte), se transfiere
primero el MSB
BIT DE RECONOCIMIENTO
(ACK)
Una vez que el Master ha enviado los 8 bits de datos,
el esclavo debe mandar un bit de reconocimiento
(ACK)
START MSB 6 5 4 3 2 1 LSB ACK STOP
DATOS
BIT DE RECONOCIMIENTO
(ACK)
START MSB 6 5 4 3 2 1 LSB ACK STOP
PONE LA LÍNEA
SDA EN NIVEL
BAJO
BIT DE RECONOCIMIENTO
(ACK)
START MSB 6 5 4 3 2 1 LSB ACK STOP
PONE LA LÍNEA
SDA EN NIVEL
BAJO
EL BIT DE
RECONOCIMIENTO
ES OBLIGATORIO
BIT DE RECONOCIMIENTO
(ACK)
START MSB 6 5 4 3 2 1 LSB ACK STOP
PONE LA LÍNEA
SDA EN NIVEL
BAJO
EL BIT DE
RECONOCIMIENTO
ES OBLIGATORIO
Maestro genera el pulso del reloj y el Esclavo
coloca a nivel bajo la línea SDA.
BIT DE RECONOCIMIENTO
(ACK)
START MSB 6 5 4 3 2 1 LSB ACK STOP
MAESTRO ESCLAVO
EL BIT DE
RECONOCIMIENTO LO
ENVÍA EL ESCLAVO EN EL
9 CICLO DEL CLOCK
FORMATO DE
TRANSFERENCIA DE
DATOS
I2C
LOS DATOS A TRANSFERIR TIENEN UN
FORMATO ESTABLECIDO
START DIRECCIÓN
LECTURA/
ESCRITURA
ACK DATOS STOP
I2C
START DIRECCIÓN
LECTURA/
ESCRITURA
ACK DATOS STOP
Para el inicio de la transferencia de datos se
envía la condición START
SDA
SCL
I2C
START DIRECCIÓN
LECTURA/
ESCRITURA
ACK DATOS STOP
● Cada esclavo tendrá su dirección de 7 o 10
bits.
● El maestro envía los 7 bits de dirección
después de la condición del START.
● Si la dirección es de 10 bits los 3 bits
restantes se enviarán en la siguiente trama.
START DIR0 DIR1 DIR2 DIR3 DIR4 DIR5 DIR6
I2C
START DIRECCIÓN
LECTURA/
ESCRITURA
ACK DATOS STOP
● 1 Bit se envía junto a la dirección, indicando el
modo de acceso si es lectura o escritura.
● R/W = 1 -> El esclavo le enviará la información.
● R/W = 0 -> El esclavo recibirá la información.
START DIR0 DIR1 DIR2 DIR3 DIR4 DIR5 DIR6 R/W
I2C
START DIRECCIÓN
LECTURA/
ESCRITURA
ACK DATOS STOP
● El bit de reconocimiento ACK
START DIR0 DIR1 DIR2 DIR3 DIR4 DIR5 DIR6 R/W ACK
I2C
START DIRECCIÓN
LECTURA/
ESCRITURA
ACK DATOS STOP
● 8 Bits de datos, cada trama deberá ser
confirmada por un bit ACK.
START DIR0 DIR1 DIR2 DIR3 DIR4 DIR5 DIR6 R/W ACK 8 BITS DATOS ACK
NACK
● Si el bit ACK se queda en 1 LÓGICO en el noveno ciclo del reloj se produce un
NACK (No reconocimiento).
● Ante esta condición el maestro puede elegir terminar la condición con un
STOP o generar un reinicio RESTART. Iniciando nuevamente la comunicación.
● El bit NACK también puede ser usado por el esclavo para indicar fin de una
transferencia.
START DIR0 DIR1 DIR2 DIR3 DIR4 DIR5 DIR6 R/W ACK 8 BITS DATOS NACK
I2C
START DIRECCIÓN
LECTURA/
ESCRITURA
ACK DATOS STOP
● 1 BIT de STOP que indica el fin de la
transmisión.
START DIR0 DIR1 DIR2 DIR3 DIR4 DIR5 DIR6 R/W ACK 8 BITS DATOS ACK STOP
SDA
SCL
I2C
NOTA:
El maestro puede comunicarse con un esclavo y luego pasar a
otro esclavo, generando sólo un START y enviando la dirección
con el R/W del otro esclavo.
START DIR. ESCLAVO R/W ACK
8 BITS
DATOS
ACK START DIR. ESCLAVO R/W 8 BITS DATOS ACK STOP
4) REGISTRO I2C
I2C
I2C
1 REGISTRO DE ESTADO SSPSTAT
2 REGISTRO DE CONTROL SSPCON1
3 REGISTRO DE CONTROL SSPCON2
4 REGISTRO BUFFER SSPBUF
5 REGISTRO DESPLAZAMIENTO
SSPSR
6 REGISTRO DIRECCIÓN SSPADD
REGISTRO DIRECCIÓN SSPADD
I2C
1 REGISTRO DE ESTADO SSPSTAT
REGISTRO DIRECCIÓN SSPADD
❏ Configurar el tipo de velocidad.
❏ Verificar el estado de ciertas condiciones de la comunicación:
STOP, START, R/W, etc.
EL PROTOCOLO I2C, tiene 3 tipos de velocidades de reloj:
➔ 100 Kbps (modo estándar).
➔ 400 Kbps (modo rápido).
➔ 3.4 Mnps (modo de alta velocidad).
I2C
1 REGISTRO DE ESTADO SSPSTAT
REGISTRO DIRECCIÓN SSPADD
➔ Si se coloca en 1 lógico, se selecciona el modo velocidad
estándar.
➔ Si se coloca en 0 lógico, se selecciona el modo velocidad
estándar.
CKE = 1 -> Configura el bus para operar en modo I2C
D/A -> Indica que la última trama recibida es dato o dirección.
P, S -> Indicadores de Stop o Start.
R/W -> Maestro: Permite conocer si se está llevando a cabo la
transferencia.
Esclavo: Si recibirá o transmitirá datos.
UA -> Indica que el esclavo es de 10 bits y debe actualizarse la
dirección SSPADD.
BF -> Permite saber el registro SSPBUF está lleno o vacío.
I2C
2 REGISTRO DE CONTROL SSPCON1
REGISTRO DIRECCIÓN SSPADD
❏ Configurar Maestro o Esclavo.
❏ Habilita los pines SDA y SCL.
WCOL -> Indica una posible colisión en el bus.
SSPOV -> Indica que se ha enviado un nuevo byte pero la
información no ha sido leída.
SSPEN -> Habilita el módulo I2C y SDA y SCL.
CKP -> Permite realizar el estrechamiento del reloj, cuando el
esclavo necesita más tiempo para procesar un dato y generar el
ACK.
SSPM3:SSPM0 -> Configura el modo de operación del bus I2C
I2C
3 REGISTRO DE CONTROL SSPCON2
REGISTRO DIRECCIÓN SSPADD
❏ Habilita el modo recepción de datos.
❏ Permite generar una condición ACK.
❏ Genera las condiciones STOP, RESTART.
START.
GCEN -> Habilita la interrupción cuando recibe el byte 0x00. Sólo
para el esclavo.
ACKSTAT -> Indica si se ha recibido o no el ACK del esclavo.
Transmisión Maestro.
ACKDT -> Indica la condición del ACK que debe ser detectado
cuando el maestro recibe la data.
ACKEN -> Habilita el bit de reconocimiento.
RCEN -> Habilita el modo recepción. SDA como entrada.
PEN -> Genera la condición de STOP.
RSEN -> Genera la condición RESTART.
SEN -> Genera la condición START.
ADMSK5: ADMSK2 -> En modo esclavo, habilita el
enmascaramiento de los bits del mismo orden en el registro de
direcciones SSPADD.
ADMSK1 -> Habilita el enmascaramiento para las direcciones
de 10 bits o 7 bits.
I2C
4 REGISTRO BUFFER SSPBUF
❏ SSPBUF es un registro de 8 bits, donde se
recibe o lee la información.
❏ SSPSR es un registro de desplazamiento, para
enviar o recibir los datos de manera serial.
5 REGISTRO DESPLAZAMIENTO
SSPSR
Recepción: Cuando SSPSR recibe un byte completo, se
transfiere a SSPBUF y genera una interrupción SSPIF.
Transmisión: Cuando SSPBUF transmite toda la información a
SSPSR, se genera una interrupción SSPIF.
I2C
6 REGISTRO DIRECCIÓN SSPADD
REGISTRO DIRECCIÓN SSPADD
❏ El registro SSPADD contiene la dirección del esclavo.
❏ En modo maestro como recarga para el generador de
velocidad en baudios.
6 REGISTRO DIRECCIÓN SSPADD
I2C
6 REGISTRO DIRECCIÓN SSPADD
I2C
6 REGISTRO DIRECCIÓN SSPADD
I2C
6 REGISTRO DIRECCIÓN SSPADD
I2C
5) Programa I2C
Programa en la descripción
GRACIAS
NO TE OLVIDES SUSCRIBIRTE
/Wels_Theory

Más contenido relacionado

La actualidad más candente

Cómo crear un amplificador de audio lm386en multisim en
Cómo crear un amplificador de audio lm386en multisim enCómo crear un amplificador de audio lm386en multisim en
Cómo crear un amplificador de audio lm386en multisim enTensor
 
Transistores bjt andres ladera
Transistores bjt andres laderaTransistores bjt andres ladera
Transistores bjt andres laderaAndresEdLr
 
Informe previo y experimento nª2 del Lab. Circuitos Electronicos II UNSAAC(wa...
Informe previo y experimento nª2 del Lab. Circuitos Electronicos II UNSAAC(wa...Informe previo y experimento nª2 del Lab. Circuitos Electronicos II UNSAAC(wa...
Informe previo y experimento nª2 del Lab. Circuitos Electronicos II UNSAAC(wa...Watner Ochoa Núñez
 
Modelos equivalentes de pequeña señal de los transistores fet
Modelos equivalentes de pequeña señal de los transistores fetModelos equivalentes de pequeña señal de los transistores fet
Modelos equivalentes de pequeña señal de los transistores fetArmando Bautista
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finitojunito86
 
Informe tecnico de la PCB de cobre
Informe tecnico de la PCB de cobreInforme tecnico de la PCB de cobre
Informe tecnico de la PCB de cobreMichael Rojas
 
Informe de la elaboracion probador rj45
Informe de la elaboracion probador rj45Informe de la elaboracion probador rj45
Informe de la elaboracion probador rj45jonathan-camargo
 
El transistor bjt
El transistor bjtEl transistor bjt
El transistor bjtFenix Alome
 
TERCER LABORATORIO DE ELECTRONICA
TERCER  LABORATORIO DE ELECTRONICA TERCER  LABORATORIO DE ELECTRONICA
TERCER LABORATORIO DE ELECTRONICA Marx Simpson
 
Latches y flip flops
Latches y flip flopsLatches y flip flops
Latches y flip flopsJimmy Osores
 

La actualidad más candente (20)

Cómo crear un amplificador de audio lm386en multisim en
Cómo crear un amplificador de audio lm386en multisim enCómo crear un amplificador de audio lm386en multisim en
Cómo crear un amplificador de audio lm386en multisim en
 
Transistores bjt andres ladera
Transistores bjt andres laderaTransistores bjt andres ladera
Transistores bjt andres ladera
 
Informe previo y experimento nª2 del Lab. Circuitos Electronicos II UNSAAC(wa...
Informe previo y experimento nª2 del Lab. Circuitos Electronicos II UNSAAC(wa...Informe previo y experimento nª2 del Lab. Circuitos Electronicos II UNSAAC(wa...
Informe previo y experimento nª2 del Lab. Circuitos Electronicos II UNSAAC(wa...
 
Informe 4 digitales
Informe 4 digitalesInforme 4 digitales
Informe 4 digitales
 
Circuitos secuenciales
Circuitos secuencialesCircuitos secuenciales
Circuitos secuenciales
 
Modelos equivalentes de pequeña señal de los transistores fet
Modelos equivalentes de pequeña señal de los transistores fetModelos equivalentes de pequeña señal de los transistores fet
Modelos equivalentes de pequeña señal de los transistores fet
 
Conversor ADC
Conversor ADCConversor ADC
Conversor ADC
 
Transistor UJT
Transistor UJTTransistor UJT
Transistor UJT
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finito
 
Transistor bjt y polarizacion
Transistor bjt y polarizacionTransistor bjt y polarizacion
Transistor bjt y polarizacion
 
Registro status PIC16F84A
Registro status PIC16F84ARegistro status PIC16F84A
Registro status PIC16F84A
 
Fundamentos de los Microcontroladores
Fundamentos de los MicrocontroladoresFundamentos de los Microcontroladores
Fundamentos de los Microcontroladores
 
El transistor jfet
El transistor jfetEl transistor jfet
El transistor jfet
 
Informe tecnico de la PCB de cobre
Informe tecnico de la PCB de cobreInforme tecnico de la PCB de cobre
Informe tecnico de la PCB de cobre
 
Informe de la elaboracion probador rj45
Informe de la elaboracion probador rj45Informe de la elaboracion probador rj45
Informe de la elaboracion probador rj45
 
El transistor bjt
El transistor bjtEl transistor bjt
El transistor bjt
 
Mapas karnaught
Mapas karnaughtMapas karnaught
Mapas karnaught
 
TERCER LABORATORIO DE ELECTRONICA
TERCER  LABORATORIO DE ELECTRONICA TERCER  LABORATORIO DE ELECTRONICA
TERCER LABORATORIO DE ELECTRONICA
 
Latches y flip flops
Latches y flip flopsLatches y flip flops
Latches y flip flops
 
Suma de dos digitos en BCD
Suma de dos digitos en BCDSuma de dos digitos en BCD
Suma de dos digitos en BCD
 

Similar a I2C PIC18F4550

Similar a I2C PIC18F4550 (20)

Protoolo I2C microcontroladores programacion
Protoolo  I2C microcontroladores programacionProtoolo  I2C microcontroladores programacion
Protoolo I2C microcontroladores programacion
 
Curso de microcontroladores capitulo 09
Curso de microcontroladores capitulo 09Curso de microcontroladores capitulo 09
Curso de microcontroladores capitulo 09
 
Curso de microcontroladores capitulo 10
Curso de microcontroladores capitulo 10Curso de microcontroladores capitulo 10
Curso de microcontroladores capitulo 10
 
comunicacion pic
comunicacion piccomunicacion pic
comunicacion pic
 
Comunicación I2C y SPI
Comunicación I2C y SPIComunicación I2C y SPI
Comunicación I2C y SPI
 
Curso de microcontroladores capitulo 12
Curso de microcontroladores capitulo 12Curso de microcontroladores capitulo 12
Curso de microcontroladores capitulo 12
 
Puertoserial[1]
Puertoserial[1]Puertoserial[1]
Puertoserial[1]
 
Módulo EUSART del PIC16F887
Módulo EUSART del PIC16F887Módulo EUSART del PIC16F887
Módulo EUSART del PIC16F887
 
Usart
UsartUsart
Usart
 
Microcontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladoresMicrocontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladores
 
Rtc ds1307
Rtc ds1307Rtc ds1307
Rtc ds1307
 
Curso de microcontroladores capitulo 11
Curso de microcontroladores capitulo 11Curso de microcontroladores capitulo 11
Curso de microcontroladores capitulo 11
 
Pic16 f877
Pic16 f877Pic16 f877
Pic16 f877
 
Puertos de entrada/salida
Puertos de entrada/salidaPuertos de entrada/salida
Puertos de entrada/salida
 
Puertos de entrada diapositivas
Puertos de entrada diapositivasPuertos de entrada diapositivas
Puertos de entrada diapositivas
 
Adc fpga
Adc fpgaAdc fpga
Adc fpga
 
Controlventilador
ControlventiladorControlventilador
Controlventilador
 
Compilador CCS.ppt
Compilador CCS.pptCompilador CCS.ppt
Compilador CCS.ppt
 
Módulo ADC del PIC16F887
Módulo ADC del PIC16F887Módulo ADC del PIC16F887
Módulo ADC del PIC16F887
 
Intel
IntelIntel
Intel
 

Último

Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 

Último (20)

Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 

I2C PIC18F4550

  • 3. Logro de aprendizaje Temario ● Aprender sobre I2C. ● Registros I2C con el PIC18F4550. ● Programar del I2C.
  • 4. Logro de aprendizaje Temario 1. I2C. 2. Hardware. 3. Transferencia de Datos. 4. Registro I2C. 5. Programa I2C. ● Aprender sobre I2C. ● Registros I2C con el PIC18F4550. ● Programar del I2C.
  • 5. Programa en la descripción
  • 6.
  • 8.
  • 9.
  • 12. - I2C = Circuitos inter-integrados. - Bus serie, formado por 2 pines. - Usa Hardware muy simple. - Protocolo de Comunicación (Philips) Comunicación serial síncrona
  • 14. I2C COMUNICACIÓN SERIAL SÍNCRONA - Bit por bit. - Half dúplex. - 2 líneas para la comunicación. - Sistema de detección de colisiones.
  • 15. I2C RB0 = Pin de Datos SDA RB1 = Pin de Clock SCL
  • 16. I2C
  • 17. I2C
  • 18. I2C
  • 20. I2C MAESTRO ESCLAVO ● Iniciar y termina la transferencia de información. ● Controla la señal del Reloj.
  • 21. I2C MAESTRO ESCLAVO ● Iniciar y termina la transferencia de información. ● Controla la señal del Reloj. ● Es el circuito o micro direccionado por el maestro.
  • 22. I2C MAESTRO ESCLAVO ● Iniciar y termina la transferencia de información. ● Controla la señal del Reloj. ● Es el circuito o micro direccionado por el maestro. ● Cada dispositivo conectado al bus I2C es reconocido por una única dirección. ● El I2C suele llevar 2 a 3 pines. PIC18F4550 = 2 pines.
  • 24. I2C
  • 27. I2C SCL: Serial Clock - Generado por el Master. - Controla cuando se lee o envía la información. SDA: Serial Data - Transfiere la información.
  • 29. I2C
  • 30. I2C
  • 31. I2C
  • 32. I2C Drive Low: Sólo el dispositivo lo lleva a cero. Float High: Si no hay dispositivo, siempre estará en float high.
  • 33. I2C
  • 34. I2C NOTA: ● Si no hubiera resistencias PULL UP, las líneas tendrían estados desconocidos. ● Si un Uc envía los datos y coloca a 1 la línea y otro Uc envía datos colocando la línea a 0. Podría ocurrir un daño para ambos microcontroladores. ● El modo PULL UP - DRIVE LOW controla cuando un dispositivo tiene el control del bus. ● Si un Uc encuentra las líneas en DRIVE LOW significa que el bus está ocupado.
  • 35. I2C
  • 38. I2C SDA SCL DATO VÁLIDO DATO VÁLIDO Para transferir información, el bit SCL debe mantenerse en 1 lógico y el bit SDA mantenerse estable.
  • 39. I2C SDA SCL CAMBIO DE DATOS Para cambiar el estado del dato, el bit SCL debe mantenerse en 0 lógico.
  • 40. I2C CONDICIONES ¿Que pasa si la línea SDA cambia cuando la línea SCL está a nivel alto?
  • 41. LA CONDICIÓN DE START La línea SDA debe estar en flanco de bajada mientras el SCL permanece en nivel alto. Marca el inicio de la transmisión. SDA SCL
  • 42. LA CONDICIÓN DE STOP La línea SDA debe estar en flanco de subida mientras el SCL permanece en nivel alto. Marca el fin de la transmisión. SDA SCL
  • 43. BIT DE DATOS Los bits de datos son 8 (1 Byte), se transfiere primero el MSB START MSB 6 5 4 3 2 1 LSB STOP DATOSSDA SCL
  • 44. BIT DE DATOS START MSB 6 5 4 3 2 1 LSB STOP DATOSSDA SCL x Los bits de datos son 8 (1 Byte), se transfiere primero el MSB
  • 45. BIT DE RECONOCIMIENTO (ACK) Una vez que el Master ha enviado los 8 bits de datos, el esclavo debe mandar un bit de reconocimiento (ACK) START MSB 6 5 4 3 2 1 LSB ACK STOP DATOS
  • 46. BIT DE RECONOCIMIENTO (ACK) START MSB 6 5 4 3 2 1 LSB ACK STOP PONE LA LÍNEA SDA EN NIVEL BAJO
  • 47. BIT DE RECONOCIMIENTO (ACK) START MSB 6 5 4 3 2 1 LSB ACK STOP PONE LA LÍNEA SDA EN NIVEL BAJO EL BIT DE RECONOCIMIENTO ES OBLIGATORIO
  • 48. BIT DE RECONOCIMIENTO (ACK) START MSB 6 5 4 3 2 1 LSB ACK STOP PONE LA LÍNEA SDA EN NIVEL BAJO EL BIT DE RECONOCIMIENTO ES OBLIGATORIO Maestro genera el pulso del reloj y el Esclavo coloca a nivel bajo la línea SDA.
  • 49. BIT DE RECONOCIMIENTO (ACK) START MSB 6 5 4 3 2 1 LSB ACK STOP MAESTRO ESCLAVO EL BIT DE RECONOCIMIENTO LO ENVÍA EL ESCLAVO EN EL 9 CICLO DEL CLOCK
  • 51. I2C LOS DATOS A TRANSFERIR TIENEN UN FORMATO ESTABLECIDO START DIRECCIÓN LECTURA/ ESCRITURA ACK DATOS STOP
  • 52. I2C START DIRECCIÓN LECTURA/ ESCRITURA ACK DATOS STOP Para el inicio de la transferencia de datos se envía la condición START SDA SCL
  • 53. I2C START DIRECCIÓN LECTURA/ ESCRITURA ACK DATOS STOP ● Cada esclavo tendrá su dirección de 7 o 10 bits. ● El maestro envía los 7 bits de dirección después de la condición del START. ● Si la dirección es de 10 bits los 3 bits restantes se enviarán en la siguiente trama. START DIR0 DIR1 DIR2 DIR3 DIR4 DIR5 DIR6
  • 54. I2C START DIRECCIÓN LECTURA/ ESCRITURA ACK DATOS STOP ● 1 Bit se envía junto a la dirección, indicando el modo de acceso si es lectura o escritura. ● R/W = 1 -> El esclavo le enviará la información. ● R/W = 0 -> El esclavo recibirá la información. START DIR0 DIR1 DIR2 DIR3 DIR4 DIR5 DIR6 R/W
  • 55. I2C START DIRECCIÓN LECTURA/ ESCRITURA ACK DATOS STOP ● El bit de reconocimiento ACK START DIR0 DIR1 DIR2 DIR3 DIR4 DIR5 DIR6 R/W ACK
  • 56. I2C START DIRECCIÓN LECTURA/ ESCRITURA ACK DATOS STOP ● 8 Bits de datos, cada trama deberá ser confirmada por un bit ACK. START DIR0 DIR1 DIR2 DIR3 DIR4 DIR5 DIR6 R/W ACK 8 BITS DATOS ACK
  • 57. NACK ● Si el bit ACK se queda en 1 LÓGICO en el noveno ciclo del reloj se produce un NACK (No reconocimiento). ● Ante esta condición el maestro puede elegir terminar la condición con un STOP o generar un reinicio RESTART. Iniciando nuevamente la comunicación. ● El bit NACK también puede ser usado por el esclavo para indicar fin de una transferencia. START DIR0 DIR1 DIR2 DIR3 DIR4 DIR5 DIR6 R/W ACK 8 BITS DATOS NACK
  • 58. I2C START DIRECCIÓN LECTURA/ ESCRITURA ACK DATOS STOP ● 1 BIT de STOP que indica el fin de la transmisión. START DIR0 DIR1 DIR2 DIR3 DIR4 DIR5 DIR6 R/W ACK 8 BITS DATOS ACK STOP SDA SCL
  • 59. I2C NOTA: El maestro puede comunicarse con un esclavo y luego pasar a otro esclavo, generando sólo un START y enviando la dirección con el R/W del otro esclavo. START DIR. ESCLAVO R/W ACK 8 BITS DATOS ACK START DIR. ESCLAVO R/W 8 BITS DATOS ACK STOP
  • 61. I2C
  • 62. I2C 1 REGISTRO DE ESTADO SSPSTAT 2 REGISTRO DE CONTROL SSPCON1 3 REGISTRO DE CONTROL SSPCON2 4 REGISTRO BUFFER SSPBUF 5 REGISTRO DESPLAZAMIENTO SSPSR 6 REGISTRO DIRECCIÓN SSPADD REGISTRO DIRECCIÓN SSPADD
  • 63. I2C 1 REGISTRO DE ESTADO SSPSTAT REGISTRO DIRECCIÓN SSPADD ❏ Configurar el tipo de velocidad. ❏ Verificar el estado de ciertas condiciones de la comunicación: STOP, START, R/W, etc.
  • 64. EL PROTOCOLO I2C, tiene 3 tipos de velocidades de reloj: ➔ 100 Kbps (modo estándar). ➔ 400 Kbps (modo rápido). ➔ 3.4 Mnps (modo de alta velocidad).
  • 65. I2C 1 REGISTRO DE ESTADO SSPSTAT REGISTRO DIRECCIÓN SSPADD ➔ Si se coloca en 1 lógico, se selecciona el modo velocidad estándar. ➔ Si se coloca en 0 lógico, se selecciona el modo velocidad estándar.
  • 66. CKE = 1 -> Configura el bus para operar en modo I2C D/A -> Indica que la última trama recibida es dato o dirección. P, S -> Indicadores de Stop o Start. R/W -> Maestro: Permite conocer si se está llevando a cabo la transferencia. Esclavo: Si recibirá o transmitirá datos. UA -> Indica que el esclavo es de 10 bits y debe actualizarse la dirección SSPADD. BF -> Permite saber el registro SSPBUF está lleno o vacío.
  • 67. I2C 2 REGISTRO DE CONTROL SSPCON1 REGISTRO DIRECCIÓN SSPADD ❏ Configurar Maestro o Esclavo. ❏ Habilita los pines SDA y SCL.
  • 68. WCOL -> Indica una posible colisión en el bus. SSPOV -> Indica que se ha enviado un nuevo byte pero la información no ha sido leída. SSPEN -> Habilita el módulo I2C y SDA y SCL. CKP -> Permite realizar el estrechamiento del reloj, cuando el esclavo necesita más tiempo para procesar un dato y generar el ACK. SSPM3:SSPM0 -> Configura el modo de operación del bus I2C
  • 69. I2C 3 REGISTRO DE CONTROL SSPCON2 REGISTRO DIRECCIÓN SSPADD ❏ Habilita el modo recepción de datos. ❏ Permite generar una condición ACK. ❏ Genera las condiciones STOP, RESTART. START.
  • 70. GCEN -> Habilita la interrupción cuando recibe el byte 0x00. Sólo para el esclavo. ACKSTAT -> Indica si se ha recibido o no el ACK del esclavo. Transmisión Maestro. ACKDT -> Indica la condición del ACK que debe ser detectado cuando el maestro recibe la data. ACKEN -> Habilita el bit de reconocimiento. RCEN -> Habilita el modo recepción. SDA como entrada. PEN -> Genera la condición de STOP. RSEN -> Genera la condición RESTART. SEN -> Genera la condición START.
  • 71. ADMSK5: ADMSK2 -> En modo esclavo, habilita el enmascaramiento de los bits del mismo orden en el registro de direcciones SSPADD. ADMSK1 -> Habilita el enmascaramiento para las direcciones de 10 bits o 7 bits.
  • 72. I2C 4 REGISTRO BUFFER SSPBUF ❏ SSPBUF es un registro de 8 bits, donde se recibe o lee la información. ❏ SSPSR es un registro de desplazamiento, para enviar o recibir los datos de manera serial. 5 REGISTRO DESPLAZAMIENTO SSPSR Recepción: Cuando SSPSR recibe un byte completo, se transfiere a SSPBUF y genera una interrupción SSPIF. Transmisión: Cuando SSPBUF transmite toda la información a SSPSR, se genera una interrupción SSPIF.
  • 73. I2C 6 REGISTRO DIRECCIÓN SSPADD REGISTRO DIRECCIÓN SSPADD ❏ El registro SSPADD contiene la dirección del esclavo. ❏ En modo maestro como recarga para el generador de velocidad en baudios.
  • 74. 6 REGISTRO DIRECCIÓN SSPADD I2C
  • 75. 6 REGISTRO DIRECCIÓN SSPADD I2C
  • 76. 6 REGISTRO DIRECCIÓN SSPADD I2C
  • 77. 6 REGISTRO DIRECCIÓN SSPADD I2C
  • 79. Programa en la descripción
  • 80. GRACIAS NO TE OLVIDES SUSCRIBIRTE /Wels_Theory