robonick escribió:Cómo funciona?
La pata que hemos levantado era la "ground pin" (toma de tierra? ni idea de como se traduce) de la EEPROM. Quitando esta pata desactiva la EEPROM. Cuando el microcontrolador dentro de la batería intenta leer la EEPROM, va a creer que la EEPROM contiene todo 1s (en binario). "This is because of the pull-up resistors on the data lines" (no sé como traducir esto). Así que el microcontrolador devuelve un número de serie de 0xFFFFFFFF a la PSP, la cual se pone en modo de servicio.
La eeprom en cuestion es una serial eeprom de bus SPI, mirando en el datasheet adviertes que la pata 5 es la de masa.
Como todo integrado para funcionar tenes que darle alimentacion y esto se consigue con los puntos Vcc y Gnd para cerrar el circuito y que este funcione.
Bien, si levantas la pata GND de la eeprom esta no funcionara.
Ahora la pregunta del millon...y porque devuelve 1 a todo bit que se le pida a la eeprom si esta desconectada??
Pues las resistencias pullup hacen que las lineas en estado de reposo tengan un estado logico de 1 no de 0. De ahi que el microcontrolador de la bateria pase un serial FFFFFFFFFF porque realmente es lo que el cree que ha leido de la eeprom.
Las resistencias pullup se colocan en la linea que quieres mantener (en reposo) en estado alto entre esta y VCC, obviamente si luego la fuerzas a masa para poner un 0 en ella la pullup evita que se haga un corto y el 0 aparece en la linea.
Desde mi punto de vista dejar autista la eeprom puede tener algun efecto adverso ya que no se podra controlar la carga que tiene y otros parametros que van guardados en la eeprom asi que habria que trabajar (casi con seguridad) con el cable de corriente conectado. O no, depende de como se interpreten las FFFFF que se leen si bateria llena o bateria vacia entre otras cosas.
Espero haber aclarado un poco el como y el porque de este sistema.