Solución de cambio de nivel i2c de perfil bajo

2

Tengo un sistema que involucra dos tableros y comunicación i2c entre ellos. Una de las placas usa 2.8V para i / o (incluyendo i2c) y la otra 3.3. El tablero de 3.3V es siempre el maestro y el 2.8V es siempre el esclavo. Nunca será el caso que la parte 2.8V inicie una transacción. Hay dos conectores de placa a placa entre las tarjetas. Las señales relevantes pasadas son + 3.3V, sda (ya sea 3.3V o 2.8V) y scl (ya sea 3.3V o 2.8V). La placa 2.8V usa un LDO para generar 2.8V localmente a partir de los 3.3V.

La solución obvia es dos fets y 4 pull-ups, pero tengo muy espacio restringido. Tengo espacio para esto en la placa de 3.3V, pero no en la placa de 2.8V (incluso cuando se usan resistencias 0402 y un paquete de matriz pequeña para las dos fets). La placa de 3.3V no tiene ninguna 2.8V (ver más arriba) y no puedo agregar más conectores de placa a placa.

Como resultado necesito hacer otra cosa. Pensé en hacer lo "feo" y poner los fets / pull-ups en el tablero 3.3 y generar 2.8V con un zener sesgado desde el 3.3 o soltar el 3.3 sobre una tecla de disparo. Eso no es muy elegante, pero probablemente funcionaría bien (no quiero agregar otro LDO a la placa de 3.3V).

¿Alguna otra sugerencia? Parece que me estoy rascando la oreja con el dedo del pie en lugar de con el dedo, pero el diseño es bastante limitado.

    
pregunta Doov

2 respuestas

7

¿Qué hay de tirar de las líneas I2C hasta 2.8v en lugar de 3.3v?
El nivel de umbral de estado alto para el dispositivo de 3.3v es obviamente mucho más bajo que 2.8v (normalmente 0.7 * Vcc que sería 2.3v para el suministro de 3.3v), por lo que debería funcionar bien.     

respondido por el alexan_e
0

¿Revisaste las especificaciones del esclavo? Puede ser 3.3V tolerante.

¿El esclavo hace estiramiento de reloj? Si no, y la velocidad no es demasiado alta, puede colocar un divisor de resistencia en el reloj.

Para la línea de datos, puede probar con un divisor de resistencia + un diodo sobre la resistencia superior, de modo que el esclavo aún pueda bajar la línea.

    
respondido por el Wouter van Ooijen

Lea otras preguntas en las etiquetas