Escribir en varios dispositivos I2C al mismo tiempo

3

Tengo dos sensores de imágenes OV5640 que necesito configurar usando I2C. Ambos tienen la misma dirección I2C y están en el mismo bus I2C y ambos se configurarán de forma idéntica.

Como los perfiles de configuración para estas cámaras son bastante grandes, me preguntaba si sería posible escribir la configuración desde el MCU a ambas cámaras al mismo tiempo. No necesito leer de las cámaras a través de I2C.

Las cámaras OV utilizan la interfaz SCCB, que es similar a I2C pero con algunas pequeñas diferencias (creo que la principal es la falta de la señal ACK).

Estoy casi seguro de que la respuesta es "no", pero me gustaría entender por qué.

    
pregunta Zapho

3 respuestas

1

Todos los dispositivos comparten el mismo bus SD SC con Rpullup y C carga en los cables.

No hay ninguna razón aparente por la que cada dispositivo no pueda usar la misma dirección y datos y decodificar al mismo tiempo siempre y cuando todas las especificaciones de tiempo y V se mantengan si no hay ACK en SCCB.

Elija R pullup para 3 mA luego R * C carga afecta la velocidad de giro y el rechazo de ruido. Dado que el controlador tiene RdsOn < 100 ohmios, esto aumenta el Vol ligeramente cuando se utilizan R pullups más pequeños. Optimum R pullup es cuando tiene un margen de ruido equilibrado fuera del umbral de entrada lógica de 30% Vdd y 70% Vdd para Vol, Voh.

detalles

por ejemplo si el controlador es 100R ESR o Rdson Low y Rpullup a 1.8V es 500 Ohms, entonces 3.0mA para Iol (1.8V / (100R + 500R) = 3.0mA) Por lo tanto, puede ajustar la recuperación de R desde este punto de partida. Luego, realice la prueba correctamente con pines de prueba cortos de 10: 1 para evitar que suene (> 10MHz) o use diff. sondas o dos sondas calibradas 10: 1 A-B con línea plana en A-B a la misma señal y luego, si está bien, mueva un pin de sonda a gnd pin junto a los pines de prueba SD, SC. SIEMPRE incluya pines de prueba + gnd pin < 1 cm de separación.

La elección de la capacitancia y longitud del cable determina la carga de C. por lo general, 60pF / m para cinta o par trenzado y más alto si está blindado. Si el tiempo de subida a 400 kHz es demasiado lento, entonces se puede usar el método R Pullup conmutado.

    
respondido por el Tony EE rocketscientist
0

Si tienen la misma dirección I2C y no necesita leer los datos de ellos, entonces sí, puede escribir la configuración en ambos al mismo tiempo.

Sin embargo, la configuración de ambos al mismo tiempo corre el riesgo de enmascarar un sensor no funcional. Cada byte escrito en I2C es seguido por un ACK, enviado por el esclavo. Si un sensor no responde, el maestro I2C no podrá detectar eso. El otro sensor (funcional) todavía estará ACKing away.

    
respondido por el CHendrix
0

El SCCB es una interfaz propietaria de OMNIvision. El modo principal es controlar un dispositivo de una sola dirección, pero puede controlar varios dispositivos al deshabilitar dispositivos innecesarios que utilizan la señal de suspensión (PWDN), en el llamado "modo de tres cables".

Aquí hay una muy útil nota de aplicación 101 de Omnivision.

También debe asegurarse de que su controlador I2C ignore la falta de I2C ACK. Algunas personas hicieron modificaciones (o golpes de bits) para comunicarse con las cámaras de Omnivision.

    
respondido por el Ale..chenski

Lea otras preguntas en las etiquetas