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.