¿Cómo seleccionan los módulos I2C entre más de 2 direcciones esclavas?

Estoy usando el sensor de temperatura TMP112 I2C y noté que puede elegir entre 4 direcciones esclavas conectando el pin A0 a V+, GND, SCL o SDA.

¿Cómo distingue el sensor entre SCL, SDA y V+?

Tiene sentido que V+ y GND puedan configurar el LSB de la dirección esclava, pero tengo curiosidad por saber cómo funcionan las otras dos conexiones.

Estoy usando este sensor en un proyecto de último año de pregrado y tengo curiosidad acerca de cómo funciona. La respuesta no afectará mi uso del sensor; Tengo curiosidad.

Solo puedo ver dos direcciones posibles en la hoja de datos. Seleccionable conectando a Vcc o GND. ¿Dónde has visto cuatro?
@EugeneSh. - FYI, consulte la sección 7.3.2.2 en la página 12 de la hoja de datos. Afirma que el pin se puede conectar a las 4 opciones dadas por el OP, para seleccionar diferentes direcciones I2C . A0Eso es diferente a la sección 5 en la página 3, donde solo enumera las 2 opciones que mencionas. [La Sección 8.2.1 en la página 25 también enumera las 4 opciones de dirección.]
Hm. Interesante. Aunque no tiene sentido...
Bueno, supongo que podría configurarse solo al inicio enviando alguna secuencia especial en estos pines. O hacerlo en tiempo de ejecución comparando A0 con SCL y SDA
@DavidG25 - Vuelva a comentar, como usted pidió: (a) Si menciona algún dispositivo/componente, proporcione enlaces a sus hojas de datos (si no tiene suficientes representantes para múltiples enlaces, agréguelos como texto y pregunte a alguien con suficiente representante para editarlos en su publicación); (b) explique el contexto de su pregunta, es decir, ¿ por qué está haciendo una pregunta? ¿ Cómo planeas usar las respuestas exactamente ? La falta de una razón y un contexto claros para una pregunta a menudo lleva a que los lectores desperdicien el esfuerzo que intenta aclararla y, por lo tanto, puede disuadirlos de querer responder. En resumen: facilita que los lectores te ayuden :-) ¡Buena suerte!

Respuestas (1)

Creo que el sensor puede diferenciar entre Vcc duro y tierra, a diferencia de SCL y SDA, que solo tienen pullups a Vcc. Durante el encendido, el dispositivo puede probar A0 enviando datos de prueba a través de SDL y luego a través de SDA. Si A0 siempre es cero sin importar los datos de prueba, está conectado a GND. Si siempre es uno, está conectado a Vcc. Si sigue el estado de alguna de esas salidas, el dispositivo puede saber a qué pin A0 está conectado (SDL o SCA).

Eso tiene sentido. Eso probablemente esté incorporado en algún tiempo de encendido durante el cual el sensor no está disponible. Gracias por su respuesta.
Es bastante simple. La parte del sensor de temperatura tiene circuitos internos que pueden verificar si hay continuidad de bajo nivel de corriente entre el pin A0 y SDA o SCL.