DS1307-breakout-board

5

Quiero crear un reloj RTC para la Raspberry Pi. Adafruit tiene una guía para lograr esto con Dallas DS1307. En el esquema colocan una resistencia de 2.2K entre VCC y SCL y hacen el Lo mismo para VCC y SDA. SQLW está simplemente desconectado. Pero en la hoja de datos del CI, se propone que los resistores estén en otra parte:

  

Entrada / salida de datos en serie. SDA es la entrada / salida de datos para la interfaz serial I2C. El pin SDA tiene un drenaje abierto y requiere una resistencia de extracción externa. La tensión de extracción puede ser de hasta 5,5 V, independientemente de la tensión en VCC.

     

Controlador de salida / onda cuadrada. Cuando está habilitado, el bit SQWE se establece en 1, el pin SQW / OUT genera una de las cuatro frecuencias de onda cuadrada (1Hz, 4kHz, 8kHz, 32kHz). El pin SQW / OUT es de drenaje abierto y requiere una resistencia de extracción externa. SQW / OUT funciona con VCC o VBAT aplicados. La tensión de arranque puede ser de hasta 5,5 V, independientemente de la tensión en VCC. Si no se usa, este pin se puede dejar flotando.

Entonces, la pregunta es: ¿por qué hay una resistencia en SCL y por qué no hay ninguna en SQW?

    
pregunta dash17291

3 respuestas

1

Parece una simple omisión de línea de la hoja de datos . En la sección Descripción de Pin de la página 6

  

Pin 5- SDA:

     

Entrada / salida de datos en serie. SDA es la entrada / salida de datos para la interfaz serial I2C. El pin SDA tiene un drenaje abierto y requiere una resistencia de extracción externa. La tensión de extracción puede ser de hasta 5,5 V, independientemente de la tensión en VCC.

     

Pin 6- SCL:

     

Entrada de reloj serie. SCL es la entrada de reloj para la interfaz I2C y se utiliza para sincronizar el movimiento de datos en la interfaz en serie. El voltaje de arranque puede ser de hasta 5,5 V, independientemente del voltaje en VCC.

Parece que solo se salta una línea que indica que el pasador está abierto y requiere un tirón externo, pero luego agrega la misma línea, indicando el valor de arrastre hacia arriba. En cuanto a las versiones anteriores de la hoja de datos, cuando Maxim Integrated era Maxim-Dallas e incluso solo Dallas Semi, la omisión siempre ha estado allí.

Dicho esto, el diagrama de cableado típico siempre ha sido correcto, mostrando la recuperación necesaria en ambas líneas i2c, según lo requiere el estándar i2c.

En cuanto al pin SQW / Out, el Pull Up solo es necesario si está utilizando la línea. Se puede deshabilitar en la configuración del rtc (o debería decir, viene deshabilitado, debe estar activado). Tener una resistencia de extracción en la línea, cuando no la va a usar, desperdiciará energía, agotando innecesariamente la batería (lentamente) en las aplicaciones de la batería. Como dice la hoja de datos, esto puede dejarse flotando, es decir, sin extracción, si no es necesario. El dispositivo Adafruit lo rompe para su conveniencia si quiere usarlo, pero necesita agregar el pull-up externo si desea (o usar la opción de pull-up interno de Arduino)

    
respondido por el Passerby
6

Esos resistores en SDA y SCL son I 2 C pullups. Para poder funcionar, el 2 > C bus necesita pullups adecuados. Esto se debe a que las E / S del bus están abiertas.

Aquí hay un extracto de i2c-bus.org:

The I2C bus transmits data and clock with SDA and SCL. First thing to realize: SDA and SCL are open-drain (also known as open-collector in the TTL world), that is I2C master and slave devices can only drive these lines low or leave them open. The termination resistor Rp pulls the line up to Vcc if no I2C device is pulling it down. This allows for features like concurrent operation of more than one I2C master (if they are multi-master capable) or stretching (slaves can slow down communication by holding down SCL).

El mejor lugar que explica SQW es la hoja de datos . En el diseño de referencia a continuación, el pullup se encuentra en SDA, SCL y SQW.


AcontinuaciónsemuestraeldiagramadebloquesquemuestralaetapadesalidadeSQW.

Consulte también la descripción del pin SQW que menciona el requisito de una resistencia de extracción.

    
respondido por el Chetan Bhargava
3

Ambas salidas son de drenaje abierto, lo que significa que necesitan un pull up para ser rojo correctamente. Es probable que Adafruit haya hecho que la placa se use como un dispositivo I2C y depende de usted sacar el SQW / OUT si lo va a usar.

En otra nota: puede habilitar la extracción interna para el pin del microcontrolador que está utilizando para leer la señal SQW / OUT.

    
respondido por el miceuz

Lea otras preguntas en las etiquetas