ISL6259
Este tutorial sirve
para ISL6259/A y tambien para ISL6258/A.
Pero ojo, los dos
chips no se pueden intercambiar en una placa base.
No hay datasheet
disponible para ninguno de los dos.
Aun asi, parte de sus
pines corresponden a las especificaciones del datasheet de ISL6257.
En gran parte del
tutorial, usare el nombre de ISL6259, como generico.
Desde 2015 Apple
empezo a usar ISL9239 y recien ISL9240,en capsulas BGA.
ISL95530 es una
version aun mas "chunga"; tiene firmware y no puede ser sustituido
por un chip nuevo.
ISL6259 se encarga de
generar la tension principal/madre (PPBUS_G3H) de una placa base y de cargar la
bateria.
Hay que dar las
gracias a Apple que uso el mismo chip en tantas placas; eso aligera mucho la
reparacion.
Hay que distinguir
entre dos tipos de circuitos de entrada DC, segun los dibujos de abajo.
-------------------------------------------------------------------------------------------------------------------
El tipo A es el mas
usado por los fabricantes de otras placas; mas conocidas como normales, para
Windows.
En este caso la
tension principal del sistema tendria un valor alto, 12-20V; segun el tipo de
cargador que usa.
Cuando el equipo queda
solo con bateria, la tension cae mucho, habitualmente 6.5-14.4V; segun tipo de
bateria y nivel de carga.
Los equipos mas nuevos
han pasado ya al tipo B de circuito.
En caso de Apple,
ISL6259 se usa solo con tipo B.
Ese circuito tiene la
ventaja que tanto con cargador, o con bateria sola, la tension principal tiene
una menor variacion.
Con el cargador sin
bateria, o bateria cargada a tope (100%), PPBUS_G3H tendria un valor de 8.5V, o
12.5V.
Si quitamos el
cargador, bateria sola podria entregar casi 8V, o 12V si esta a tope, cayendo
hasta 6.5V de minimo.
Por debajo de 6.5V el
funcionamiento de la fuente sistema 3/5V es incierto; ya que lleva unos
reguladores LDO para VREG3/5.
Capaz que podria
llegar a funcionar casi hasta 6V, pero las tolerancias de fabricacion no
aseguran eso.
Otra gran ventaja es
que en caso de que CPU, o GPU requeriran unos picos de corrientes muy altos, es
muy facil desconectar el circuito de entrada y dejar que la bateria alimente el
sistema; solo para esos picos.
Tengan en cuenta que
la bateria puede entregar una corriente mucho superior al cargador.
De hecho, las fuentes
secundarias (buck converters) de la placa, nunca se alimentan directamente del
cargador, tampoco de la bateria.
El cargador y la
bateria se usan para recargar los "reservores de energia" de esas
fuentes; que en algunos casos requieren altos picos de corriente.
ISL6259 tiene unos
pines especificos para deteccion del cargador, numero de celdas de la bateria,
la corriente que entra en la placa, como la que carga bateria y se entrega al
resto de la placa tambien.
Tiene ademas un bus
I2C (lineas SCL/SDA), por cual comunica con el SMC y la bateria.
Incluye tambien un
driver para los transistores MOSFETs que
generan PPBUS_G3H.
Intentare explicar el
funcionamiento, sin entrar en detalles.
Con el tiempo, en el
foro descubriran toda la informacion necesaria.
Hablare sobre un
esquema de bloques, segun el siguiente dibujo.
ISL6259 se alimenta
por el pin 2/DCIN.
La tension de entrada
tiene practicamente mismo nivel que la tension entregada por el cargador,
14.5-18.5V (segun el tipo).
Un regulador interno
tipo LDO genera una tension de 5V, disonible al pin 19/VDD.
Aqui se conecta un
capacitor de filtraje y la misma tension se reintroduce por el pin 20/VDDP;
otro capacitor presente alli tambien.
Desde aqui se alimenta
el driver para el low-side MOSFET.
ISL6259 goza de un
bloque digital, que usa el protocolo I2C para comunicar con SMC y el procesador
integrado en la bateria.
Las lineas SCL/SDA
(pines 11/10) tienen unos resistores pull-up externos, que establecen un nivel
inicial de 3.3V.
Cuando un chip quiere
comunicar algo, solo tiene que tirar a masa dichas lineas; respetando el
protocolo, para ser entendido por los otros chips.
Este bloque digital
usa la misma señal de reset que el SMC, pin 13/SMB_RST_N.
Una comunicacion
segura, requiere que este bloque se alimente con la misma tension que el SMC,
pin 12/VHST desde PP3V42_G3H.
El pin 6/CELL informa
al ISL6259 sobre tipo de bateria presente en sistema.
Se conecta a masa para
2 celdas, o a VHST (3V42) para 3 celdas.
Si este pin quedaria
en aire, ISL6259 supondria que el sistema lleva una bateria de una sola celda.
Asi que ojo al
resistor de conexion.
En funcionamiento
normal (S0) el chip trabaja con una frecuencia fija, variando solo el ancho de
los impulsos, el denominado modo PWM (Pulse Width Modulation).
Sin embargo para
eliminar cualquier ruido en banda ultrasonica, el chip dispone de un pin
(4/VFRQ) que le permite usar una frecuencia variable en modo S3 y S5.
Aunque sobre dicha
frecuencia el chip seguira funcionando en modo PWM.
Un bloque muy
importante es la deteccion del cargador, con la entrada por pin3/ACIN y salida
por el pin 14/ACOK.
Al no tener la
documentacion del fabricante, desconozco el valor tipico de ACIN.
Pero basta con
calcular el divisor resistivo que establece esa tension y comprobar con la
tension que medimos en la placa; la diferencia ha de ser minima.
Ya que se activa
incluso con un cargador de 45W (14.5V), eso indicaria un nivel minimo de
2.8-3.0V aprox.
La salida ACOK es de
tipo open-drain; por esa razon lleva un resistor pull-up hacia 3V42.
Este seria el nivel de
tension si el chip detecta correctamente la presencia del cargador.
Es una informacion muy
importante para el SMC y misma salida se usa tambien para activar el circuito
ONEWIRE de comunicacion entre SMC y el conector MagSafe (1-wire protocol).
Los pines 5/ICOMP,
7/VCOMP y 8/VNEG se conectan mediante unos circuitos R/C.
Hagan un vistazo al
datasheet de ISL6257 para hacerse una idea de sus funciones.
Los pines 1/AGATE y
26/SGATE, controlan los dos MOSFETs de entrada; habitualmente emplazados en una
capsula comun.
Siendo de tipo canal
P, requieren un nivel bajo en las salidas A/SGATE (0V).
He de mencionar que el
segundo MOSFET conduce si o si, por el diodo integrado.
Los pines 27/CSIN y
28/CSIP informan al ISL6259 sobre la corriente consumida del sistema desde
cargador.
CSIP se conecta en la
entrada del resistor Isense y CSIN se conecta en su salida.
La (muy) pequeña caida
de tension seria multiplicada dentro del ISL6259 x19.9 y esa informacion seria
entregada al SMC.
La salida es por el
pin 9/CHGR_AMON.
Los pines 17/CSON y
18/CSOP informan sobre la corriente que carga la bateria.
La caida de tension
sobre el correspondiente resistor Isense seria tambien multiplicada x19.9 antes
de entregarla al SMC.
La salida se hace por
el pin 15/CHGR_BMON.
El driver para los
MOSFETs del buck converter es muy similar al cualquier circuito de misma clase.
Por el pin 21/LGATE se
entrega la señal PWM con amplitud de 5V (aprox) con respecto a masa; donde esta
conectado el pin Source del low-side MOSFET.
Por el pin 24/UGATE se
entrega la señal PWM con amplitud de 5V, esta vez con respecto al pin 23/PHASE;
donde esta conectado el pin Source del high-side MOSFET.
Para ese proposito el
correspondiente driver requiere una tension de alimentacion muy superior a la
tension base de 5V procedente del pin VDDP.
El pin 25/BOOT
resuleve el problema.
ISL6259 se encarga de
entregar las señales PWM desfazados de manera correcta y con suficiente pausa
(tiempo muerto) para eliminar un efecto shoot-through; causado si ambos MOSFETs
se abren al mismo tiempo.
Por ende, pin 16/BGATE
activa el MOSFET que permitiria cargar la bateria.
No hay comentarios:
Publicar un comentario