los modelos anteriores no tenían mosfets en las líneas de medición, así que me pregunto por qué se usan ahora
El iPhone 6s más antiguo no parece utilizar señales de I²C para su indicador de batería; esas señales mencionan "SWI" en el esquema parcial proporcionado.
El propósito de esos MOSFET en el iPhone 10 se explica en el esquema parcial :-) Dice:
Traductor de nivel I2C de indicador de gas
Q3200
es el traductor de nivel para la señal SDA y Q3201
es para la señal SCL. Para estos, el dispositivo que se muestra es el Rohm RV1C002UN MOSFET .
En el esquema parcial, estas señales en el iPhone 10 son señales de 1.8V I²C, pero el chip del medidor de gas contenido como parte del "módulo" de la batería está usando un voltaje más alto (no sé qué voltaje) para su I²C pull-ups. Parece que el IC de 1.8V I²C relevante en el teléfono no puede aceptar un voltaje más alto en las señales de I²C, por lo tanto, la necesidad de una traducción de nivel.
Usar MOSFET de esta manera, es una forma común y barata de realizar una traducción de nivel para señales relativamente lentas. Consulte Nota de aplicación NXP AN10441: Técnicas de cambio de nivel en el diseño del bus I²C . Esta técnica también se explica con más detalle en la Nota de aplicación de Philips AN97055 de Philips: palanca de cambios bidireccional de nivel para I²C-bus y otros sistemas .