Autor Tema: Control de la velocidad bus i2c  (Leído 3085 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado rferrero

  • PIC16
  • ***
  • Mensajes: 113
Control de la velocidad bus i2c
« en: 21 de Octubre de 2004, 06:36:00 »
 
   Hola a todos.
   Estoy haciendo un programa basado en i2c. Utilizo C como lenguaje de programación. Mi pregunta es cómo se indica la velocidad que debe tener el bus i2c para un pic 16F873 con señal de reloj a 4 MHz. Me refiero que con las directivas del compilador (i2c_start(), stop, .... ), cómo se indica dicha velocidad??
   
    Muchas gracias. Un saludo.
  Rebotado

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: Control de la velocidad bus i2c
« Respuesta #1 en: 21 de Octubre de 2004, 07:49:00 »
Por ejemplo en CCS, tú sólo tienes que indicar en la línea de configuración del i2c que velocidad quieres del bus, si a 100khz o a 400kkhz, independientemente del cristal que uses.
Por ejemplo, para 100khz sería:
#use i2c(Master,slow,sda=PIN_C4,scl=PIN_C3,force_hw)
fíjate en lo de slow.
Mira en la ayuda del programa.

Saludos.
Saludos desde Huelva (ESPAÑA)

Desconectado rferrero

  • PIC16
  • ***
  • Mensajes: 113
RE: Control de la velocidad bus i2c
« Respuesta #2 en: 21 de Octubre de 2004, 11:51:00 »

    Hola. Gracias por responder. Muchas risas En la ayuda no especifica qué velocidad es FAST o SLOW. Entonces SLOW es 100 kHz, no? Y FAST, 400.

    Dónde puedo ver qué efectos, ventajas e inconvenientes tiene variar la velocidad de dicho bus i2c??

    Gracias de nuevo. Un saludo.

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: Control de la velocidad bus i2c
« Respuesta #3 en: 21 de Octubre de 2004, 16:17:00 »
Pues eso no lo se....
Lo que si te puedo decir es que hay algunos integrados que van a 100khz y otros a 400khz. En las hojas de datos viene eso, como es lógico.
Yo por ejemplo, en un proyecto que hice, como usaba memorias, RTC, sensores de temperatura y un controlador de displays 7seg, todo por I2c usé slow, para asegurarme... Aunque si mal no recuerdo todos tenían la opción de funcionar hasta 400khz.
Ventajas... a 400khz va más rápido jejejeje

Saludos!!!
Saludos desde Huelva (ESPAÑA)

Desconectado oshow

  • PIC18
  • ****
  • Mensajes: 321
RE: Control de la velocidad bus i2c
« Respuesta #4 en: 21 de Octubre de 2004, 16:46:00 »
Suscribo todo lo que te dice Cucaracha (algunos van a 100 y otros a 400 y lo especifican los datsheets), solo añadir una cosilla, como sabéis el i2c solo se puede implementar para distancias relativamente cortas entre los dispositivos, pues bien cuando por diseño no es posible poner los dispositivos muy cerca, recomiendan usar la velocidad de 100khz por si se pudiera "debilitar" la señal y se pudieran perder datos durante la transmision. Al menos es lo que recomendaban en algún datasheet que leí.

Un saludo.

Desconectado rferrero

  • PIC16
  • ***
  • Mensajes: 113
RE: Control de la velocidad bus i2c
« Respuesta #5 en: 22 de Octubre de 2004, 10:10:00 »

    Hola. El asunto es que en el módulo que quiero conectar (http://www.superrobotica.com/S320112.htm) no se especifica nada de dicha velocidad. Supongo que tendré que hacer el clásico prueba y error, no? Llorando

   Un saludo.