viernes, 4 de noviembre de 2016

TV SMART MEMORIA FLASH SERIE 2

http://www.picerno.com.ar/leer.php?cn=96

3.1 INTRODUCCIÓN

Lo que Ud. tiene en la mano, listo para soldar es como un bebé recién nacido. Prácticamente no sabe hacer nada por si mismo salvo el reflejo de succión y percibir borrosamente el medio ambiente. Si conecta la memoria al TV seguramente va a consumir corriente y va a percibir el medio ambiente donde lo conecta generando una respuesta automática que es la descripción  de su código para que el TV la acepte y trate de leerla.
A ese bebe hay que educarlo y a la memoria también. Y educar a una memoria significa cargarle un programa (aun no sabemos cómo). Si ese programa es el adecuado el TV volverá a la vida porque en el micro se van a desarrollar las funciones que le permitirán leer y escribir en la flash paralelo todo lo necesario para que el TV funcione realizando la primer operación que realizan todos los TVs cuando son encendidos: comenzar la secuencia de prueba inicial. El micro pasa lista a todos las etapas del TV para confirmar que funcionan y que funcionan bien. Y cuando reconoce que todo está normal enciende imagen y sonido de la última fuente de información utilizada esperando órdenes del usuario. 
Si encuentra algo mal, detiene la secuencia escribe el código correspondiente a la falla en alguna memoria y pasa a están by. No hay información con referencia a si es en la memoria flash serie o la paralelo porque eso es un secreto de fabrica que no conocen más que los ingenieros que trabajaron en el diseño del TV.
En cuanto a cómo sale esa información del TV depende del tipo de TV, un Smart tiene una conexión con internet que es un medio idóneo para sacar información de este tipo y para obtenerla basta que funcione la sección del micro. Los TV LED se pueden comunicar por uno de los conectores USB que generalmente se dedica al servicio técnico. Luego está el recurso de la pantalla si se puede escribir sobre esta y si no es posible, se usa la titilación del LED piloto o de otro LED dispuesto especialmente para esta función. Suponemos que el código de error se guarda en nuestra amiga la flash serie. 
En el LG que tomamos como referencia, a pesar de tener un manual muy completo, no posee ninguna información sobre el modo service y por lo tanto no tenemos modo de realizar un diagnóstico en caso de que el TV no salga de stand by.

3.2   LOS PROGRAMADORES 

Este es un tema muy complejo porque no puedo encarar la explicación de uso de un solo programador, ya que hay una infinita variedad de ellos. Todos me preguntan ¿Cuál es el mejor programador de flash? Y no hay una única repsuesta. El más recomendable es una cuestión personal porque depende del uso general que se le de al mismo y del costo del mismo, que es muy variable país por país. Además hay muchos fabricantes locales que yo no conozco y no quiero recomendar programadoras Chinas, Canadienses o de EEUU, si hay buenos proveedores locales.
Por lo tanto voy a hablar sobre programadores en general. El costo de un programador depende de qué tipo de memorias graba. No es lo mismo uno que grabe solo memorias flash series que uno que grabe serie y paralelo. Nuestra programadora la tenemos desde la primera época, en que grabábamos memorias para el Samsung D5500 con hipo. Luego cuando Samsung recibió los juicios y realizó el programa modificado, tratamos de copiarlo pero no pudimos, aunque no insistimos mucho, porque hicimos un cálculo económico y nos convenía comprar esas memorias cargadas en China y simplemente distribuirlas, dado la cantidad tan grande de memorias falladas.
Nuestro caso fue muy esclarecedor. Nosotros comenzamos comprando un grabador marca Willen porque teníamos la mira enfocadas en las memorias paralelo de los Samsung con hipo y este cargador tenia incorporado el zócalo para las mismas. Si el zócalo lo tenía pero no tenía el programa para cargarlas y tuvimos que comprar otro que usaba un adaptador de zócalos.
En este momento solo usamos el cargador para las memorias flash series. Aquí el problema es muy diferente al de las paralelo: las fallas en las memorias flash serie son eventuales; es decir que no hay una gran cantidad de memorias con el mismo programa para importarlas. Así que hay que comprar las memorias vírgenes y cargarlas. Pero no es el caso de las viejas EEPROM donde el cargador se podía fabricar en forma casera y usa programas gratuitos como el Ponyprog y otros para comandar estos cargadores caseros. Todas estas facilidades mas el hecho de que era fácil desoldarlas y luego soldar un zócalo de 8 patas en su lugar y colocar las memorias en el zócalo por si se requería una nueva grabación hacían que todo el mundo se animaba a leer las memorias e inclusive teníamos paginas con secciones destinadas a software para EEPROM. Hoy en día son muy pocos los archivos que se pueden conseguir y muchos recurren a comprar las memorias cargadas a los servicios técnicos autorizados. 
Yo le puedo dar el circuito de un programador de memorias flash serie, pero en su fabricación se utilizan micros y memorias que tienen programas imposibles de leer. Generalmente utilizan microprocesadores PIC que cuando  se le carga un programa en el modo protegido, ni siquiera Microchip los puede leer, porque la información se graba en forma codificada. Más aun, si el fabricante del programador pierde el programa puede tener miles de microprocesadores programados y no puede sacar el programa de ellos. 
Cuando se depura un programa se lo guarda en un microprocesador sin usar la opción de protección y recién cuando funciona bien se realiza la producción en el modo protegido, o usando un chip que no sea regrabable, del tipo de memoria por fusibles que se queman. Es decir que por ahora no podemos armar un cargador de memorias casero y los comerciales son realmente muy costosos.
Por eso nosotros pensamos en resolver el problema del reparador utilizando nuestro programador comercial para cargar memorias flash serie del tipo 24XXXXX (las clasicas EEPROM) y las flash 25XXXXX y otras, para enviar a todo el mundo tal como lo hacemos con las paralelo para el Samsung. Les aclaro que las ganancias de esta actividad comercial son las que me permite mantener esta página en forma totalmente gratuita. De cualquier modo vamos a explicar las operaciones a seguir para grabar una flash serie, en un cargador genérico conectado a la PC.

3.3 LA PROGRAMACIÓN

Hay que partir del programa escrito en código de máquina para la memoria correspondiente a la marca y modelo de TV que estamos reparando. Actualmente estos juegos de datos son difíciles de conseguir, porque por supuesto el fabricante no los entrega a los reparadores independientes y en la mayoría de los casos no se los entrega ni siquiera a los servicios técnicos autorizados de la marca, para evitar su difusión (los servicios técnicos centrales envían las memorias cargadas a los servicios técnicos autorizados). En otros casos dichos juegos de datos no existen oficialmente, porque en fábrica la memoria se suelda vacía, luego de acuerdo a que país se dirige el TV se carga el programa adecuado ingresando los datos por algunas de las entradas que puede ser la conexión a Internet o uno de los puertos USB. Este medio de programación no está al alcance del reparador, ni del servicio técnico de la marca. Como se resuelve entonces.
Lo único que nos queda, es descargar el programa de una memoria de un TV que funcione. Es decir desoldar la memoria que en el mejor caso es una SMD y en el peor una BGA, colocarla en el programador mediante un adaptador adecuado, como el de la figura 3.3.1 y colocar el programador en la condición de lectura desde la PC para obtener el código de máquina correspondiente a esa marca y modelo de TV. Y por supuesto luego hay que volver a soldar la memoria en el TV. Todo esto es una operación complicada que creo que los reparadores, en muchos casos no se van animan a realizar.
 
 
Fig.3.3.1  Adaptador para encapsulado SMD de 8 patas

Este adaptador se conecta al cuerpo principal del cargador mediante una manguera de cable universal como la que mostramos en la figura 3.3.2.

 
Fig.3.3.2  manguera de conexión del adaptador

Por último en la figura 3.3.3 mostramos el cargador propiamente dicho, que posee un zócalo de cero esfuerzo, donde se conecta la manguera del adaptador.

 
Fig.3.3.3   Programador genérico para memorias flash serie y paralelo

Dado lo complicado de todo este proceso pensamos comercializar memorias flash serie, cargadas con los adecuados programas y venderlas en todo el mundo como hacemos con las paralelo. De cualquier modo vamos a explicar los detalles de la operación de carga del programa en una memoria virgen. Podría realizarse en la memoria que sacamos del TV en reparación pero su bajo costo no amerita correr el riesgo de usar un componente usado que ya perdió su programación en algún momento.
Lo primero es cargar el programa operativo del cargador, que vino junto con el mismo en un disco o que hay que bajar de un sitio de internet. Cuando está cargado, lo debe activar y luego predisponer el programador para lectura.
Cuando Ud. coloque la memoria desoldada del TV que funciona en el programador, en el monitor aparecerá un listado de números hexadecimales que son una representación del programa guardado en la memoria. A un buen programador no se requiere predisponerlos para la memoria que estamos leyendo ya que el primer dato que sale de ella es su código de identificación; es decir que el programador sabe si Uds colocaron una 24XXXXX o una 25XXXXX u otro componente que puede ser tanto una memoria serie como una paralelo o un microprocesador. Ver la figura 3.3.4.

 
                          Fig.3.3.4   Contenido de la memoria o archivo .hex

Este es el único tipo de archivo que entiende el programador y el único tipo de archivo de salida del mismo.
A la derecha se encuentran las diferentes posiciones de memoria en números hexadecimales de 2 cifras. En principio no se preocupe mucho por estos nombres exóticos. En realidad en la electronica digital se utilizan solo tres tipos de números. Los binarios que poseen solo 2 símbolos, el "1" y el "0" los decimales que poseen 10 números desde el 0 al 9 y los hexadecimales que como su nombre lo indica poseen 16 símbolos diferentes del 0 al F porque utilizan los mismos símbolos que los decimales pero cuando llegan al 9 siguen con las letras A, B, C, D, E y F. Una calculadora científica como la de la PC nos permite pasar rápidamente de un tipo de numeración a otra.
En el segundo renglón, tenemos el numero hexadecimal 10 que la calculadora traduce rápidamente como 16. Esta es la primer columna de la segunda fila en números decimales, ya que si contamos las mismas están agrupadas de a 8 (tenga en cuenta que el primer dato está en la posición 0 y no en la uno, por la que el último de la fila 1 es el dato 15).
Es decir que la columna en rojo es una ayuda para ubicar un determinado dato dentro del conjunto de datos guardados. Por ejemplo tomemos el último dato. El primero de la fila es el 1F0 que según la calculadora corresponde al número 496 que mas las 16 columnas restantes, hace la posición de memoria número 512. 
En ese último lugar está guardado el número hexadecimal FF pero nosotros sabemos que un determinado conjunto de 8 celdas solo podemos guardar "1" y "0" por lo tanto tomamos la calculadora y calculamos el número binario correspondiente al hexadecimal FF que es el 1111 1111. Es decir que las 8 celdas están guardando un "1" que es el número por defecto que tienen guardado las celdas, cuando están abiertas al fabricar la memoria.
Si al probar una memoria, encontramos que todas las posiciones tienen un "1" significa que la memoria esta virgen. Entonces, si uno quiere probar una memoria, todo lo que debe hacer es cargarle todos ceros y volver a leerla. Si alguna celda queda cargada con un "1" significa que está dañada. Pero ese numero 1 puede estar en cualquier posición del binario cargado y por lo tanto va a dar un diferente valor hexadecimal. Entonces si aparece cualquier número hexadecimal en cualquier posición, significa que la memoria tiene una celda dañada lo cual ya es suficiente como para que el TV funcione mal.
Si todas las posiciones marcan FF significa que probablemente tenga un cortocircuito en el +B, o no funciona el multiplicador de tensión interno, lo cual hace que todas las celdas permanezcan vacías de modo que los MOSFET de doble compuerta no conducen nunca.
Pero supongamos que la memoria virgen o usada está en buenas  condiciones. Ahora hay que cargarla. Seguramente el programa mismo le ofrecerá "leer o grabar" Cuando elija grabar, el programa leerá el tipo de dispositivo colocado o ofrecerá que Ud. coloque su código. Si es un dispositivo que puede trabajar en el modo protegido, le va a preguntar si desea una grabación protegida. Finalmente le pedirá el programa a grabar, que puede tener varias extensiones que son aceptadas por el programador; en caso contrario le indicará que no está preparado para leer ese tipo de archivo. Si lo puede leer, inmediatamente generará el archivo .hex  y le avisará que si el dispositivo tiene algo grabado se borrará y nunca más podrá ser recuperado ofreciéndose a realizar una copia del mismo o a comenzar la grabación.
Si le indica que comience a grabar, aparecerá seguramente una barra que va creciendo a medida que progresa la grabación, hasta que finalmente aparece un texto indicando que la grabación fue exitosa.

3.4 CONCLUSIONES

Así terminamos esta miniserie de 3 capítulos sobre uno de los componentes que están liderando el campeonato de fallas o casi empatando el primer puesto y que son las memorias paralelo, los LEDs de back ligth y las memorias flash serie.
En este capítulo le explicamos cómo es el procedimiento de carga de una memoria que es muy similar al de las viejas EEPROM de los TVs a TRC.
Para aquellos a los que le interesa saber cómo funciona una memoria le ofrecemos un apéndice muy interesante con una explicación resumida del funcionamiento y aclaraciones del porque fallan tanto. En realidad los fabricantes podrían regular perfectamente su duración agrandando los chip con la matriz de celdas pero todo se trata de un problema de costo/beneficio y ningún fabricante de la actualidad piensa en fabricar TVs con una vida superior a los 3 años ya que suponen que una tecnología no debe durar más que ese tiempo para obligar al publico a renovar sus TVs. Yo realmente espero que el mundo pueda renovar sus TVs cada 3 años.    
3.5   APENDICE 1   FUNCIONAMIENTO DE UNA MEMORIA FLASH
 
Las celdas de memoria Flash pueden gastarse al cabo de un determinado número de ciclos de escritura, que se cifran generalmente entre 100.000 y un millón, dependiendo del diseño de la celda y de la precisión del proceso de fabricación.
El principal mecanismo de destrucción, lo constituye el daño acumulativo que se produce sobre la puerta de flotación de la celda, debido a los elevados voltajes empleados de forma repetitiva, para borrar la celda. Pueden ocurrir dos cosas; la capa de oxido se rompe y "no se puede salir del "0") o los electrones se acumulan en la puerta de flotación y no logran salir para borrar el "1". Los fabricantes de memoria Flash tienen en cuenta este fenómeno e incorporan celdas adicionales que pueden sustituir a las gastadas. Además, muchos fabricantes de sistemas de memoria Flash destinados al almacenamiento de datos, utilizan una técnica denominada de nivelación, que consiste en desplazar los datos alrededor del chip para que cada celda se "gaste" lo más uniformemente posible. Para eso renombran las celdas correspondientes a un determinado Byte.
Otra consideración a tener en cuenta, es que se tarda mucho más en borrar una celda de la memoria Flash, que en borrar un bit de datos del disco duro. Es decir que un disco duro sería más rápido que un memoria de estado sólido si no fuera por el software de borrado por grupos, que posee una memoria flash. 
Es decir que curiosamente, la operación de borrado no se efectúa a la velocidad que se suele atribuir a la palabra FLASH, sino que tarda mucho. Esto se debe a que el voltaje relativamente elevado que se necesita, supone una gran cantidad de corriente. Dado que existen limitaciones acerca de la cantidad de corriente que pueden manejar los chips, también existen limitaciones en cuanto al número de celdas que se pueden borrar de una sola vez. Esta es la razón por la que los procesos de borrado se efectúan por grupos de celda. En la figura 3.5.1 se puede observar el recurso utilizado para elevar la tensión de 3,3V que alimenta la memoria hasta valores mucho más elevados.

 
Fig.3.5.1  Multiplicador de tensión

La tensión de 20V la elegimos arbitrariamente, porque esa es la tensión que soporta una puerta de un MOSFET. Es común que mis lectores queden extrañados e incrédulos cuando yo les digo que una memoria tiene problemas de aislación, porque suponen que los 3,3V de fuente no pueden perforar ningún dieléctrico. Entonces les digo que la memoria tiene circuitos elevadores inversores DC/DC y allí ya dejan de creer en mi cordura porque es común creer  que los circuitos elevadores poseen un inductor y que el circuito se aproveche de la fuerza contra electromotriz del mismo. Pero como no ven inductor alguno relacionado con la memoria dudan de mi. Por eso les entrego el circuito de un multiplicador clásico que toma los 3,3V positivos de fuente y los eleva hasta unos 20V negativos. El principio de funcionamiento es el encadenamiento de circuitos dobladores. Por ejemplo C1, C2, D3 y D4 forma un doblador que levanta la tensión de 3,3V a 6,6V las siguientes redes realizan un efecto similar hasta que finalmente se llega a la tensión buscada de -20V.
Una celda de una memoria Flash, es como un transistor convencional pero con una puerta adicional. Entre la puerta de control y el canal "fuente a drenaje" existe una segunda puerta, denominada de flotación, que sirve a modo de mecanismo de carga. Cuando esa puerta se carga se puede retirar la señal de la puerta controlada que el MOSFET sigue conduciendo por muchos años.

3.6   DIAGRAMA EN BLOQUES DE UNA FLASH SERIE
Vamos a analizar la memoria Flash a nivel de su diagrama de bloques. La figura 3.6.1 nos muestra la arquitectura por sectores de una memoria Flash  armada en una matriz de 512Kx8 celdas. Por su principio de funcionamiento, antes de cargar cada celda se debe proceder a descargarla o borrarla. Cada uno de los sectores se borra independientemente de los otros.
 
 Fig.3.6.1     Diagrama en bloques de una memoria Flash
Los datos se almacenan como una carga en la puerta flotante. Inicialmente, toda la memoria se encuentra a nivel alto. Programar la memoria es el proceso de cambiar un "1" lógico por un "0" lógico. Borrar un sector cambia todos los "0" lógicos de ese sector por "1" lógicos.
Para reprogramar una dirección específica, es necesario borrar previamente todo el sector, antes de volver a programar esa dirección.
Las celdas de memoria se encuentran constituidas por un transistor MOS de doble puerta, el cual se forma con una puerta de control y una puerta aislada, tal como se indica en la figura 3.6.2. La compuerta aislada almacena carga eléctrica cuando se aplica una tensión lo suficientemente alta en la puerta de control. De la misma manera que en la memoria EPROM, cuando hay carga eléctrica en la compuerta aislada, se almacena un 0, de lo contrario se almacena un 1.
 
Fig.3.6.2  Estructura de una celda de memoria 

Sin ninguna duda, las operaciones básicas de una memoria Flash son la programación, la lectura y el borrado. Como ya se mencionó, la programación se efectúa con la aplicación de una tensión (generalmente de 12V a 20 V) a cada una de las compuertas de control, correspondiente a las celdas en las que se desean almacenar ceros. Para almacenar unos no es necesario aplicar tensión a las compuertas, debido a que precisamente el estado por defecto de las celdas de memoria es uno.
La lectura se efectúa aplicando una tensión positiva a la compuerta de control de la celda de memoria, en cuyo caso el estado lógico almacenado se deduce de acuerdo al cambio de estado del transistor:
Si se almacenó un "uno", la tensión aplicada será lo suficiente alta como para encender el transistor y hacer circular corriente desde el drenaje hacia la fuente.
Si hay un "cero" almacenado, la tensión aplicada no encenderá al transistor debido a la carga eléctrica almacenada en la compuerta aislada.
Para determinar si el dato almacenado en la celda es un "uno" ó un "cero", se detecta la corriente circulando por el transistor en el momento que se aplica la tensión en la compuerta de control.
El borrado consiste en la liberación de las cargas eléctricas almacenadas en las compuertas aisladas de los transistores. Este proceso consiste en la aplicación de una tensión lo suficientemente negativa que desplaza las cargas como se indica en la figura 3.6.3.

 
Fig.3.6.3 Proceso de descarga de una compuerta flotante

Aparte de que las memorias "Flash serie" tienen una entrada especifica de escritura; mientras están funcionando se comportan como las EPROM normales. La única diferencia se encuentra en cómo se cargan y se borran los datos en la memoria. Mientras que durante el proceso de programación de las memorias EPROM convencionales se necesita una tensión bien definida durante cierto intervalo de tiempo, y para borrar el componente hay que exponerlo a luz ultravioleta o aumentar la tensión sobre una pata, en las "Flash  serie" ambos procesos están controlados y se llevan a cabo internamente. Para tal efecto la memoria recibe una secuencia de comandos predefinida (borrar, programar, etc) que incluye algunas precauciones especiales (determinadas por el fabricante) destinadas a evitar que se borre cualquier dato por error.
El comando se transfiere a la memoria "Flash serie" mediante una serie de operaciones de escritura. Los dos primeros comandos "Lectura/Reset" preparan la memoria para operaciones de lectura. El comando "Autoselección" permite leer el código del fabricante y el tipo de dispositivo y si no coincide con el de la memoria se genera un mensaje de error y se aborta cualquier proceso que se desee realizar. El comando "Byte" carga el programa dentro de la memoria, mientras que "Borrar Chip" actúa durante el proceso de borrado, que no dura más de algunos segundos para toda la memoria. Desde el punto de vista lógico podemos afirmar que la memoria "Flash" está dividida en sectores que se pueden borrar individualmente con la ayuda del comando "Borrar Sector".
Las memorias EPROM "Flash" disponen de otro mecanismo, basado en la división en sectores, que las protege de acciones de escritura o lectura no deseadas. Cuando un sector está protegido de esta forma no se puede realizar una operación de lectura o sobre escritura, con una tensión de 5V. Este hecho es muy importante y se debe tener siempre presente cuando se utilicen estos dispositivos. Solamente se puede eliminar esta protección con la ayuda de un programador especial.
Durante el proceso de programación o borrado se puede leer la memoria mediante un comando de acceso denominado  "lectura", el estado de la memoria EPROM "Flash" en la misma posición que la palabra de programación o borrado. Mientras se borra un sector se puede leer cualquier dirección que pertenezca al sector.

3.7   FABRICANTES Y TECNOLOGÍAS

La memoria Flash es todavía un dispositivo en desarrollo y por lo tanto no existe un único método de fabricación. Los fabricantes se inclinan hacia dos grupos principales con variantes, que llegan a unos doce enfoques diferentes para fabricar y organizar las celdas de memoria Flash sobre la oblea de silicio. Analicemos los dos grupos principales llamados NOR y NAND. 
NOR constituye la tecnología líder actual de Intel que es su fabricante principal. Organiza las celdas de memoria en paralelo, con el drenaje de cada celda conectado a una línea de bits, agrupándose varias líneas de bits para constituir un grupo de entrada/salida. NOR proporciona acceso aleatorio más rápido, pero su estructura en paralelo, reduce la densidad de la memoria agrandando el chip con lo cual se hace más costoso.
NAND es una tecnología utilizada por National Semiconductor, Samsung y otros fabricantes. Conecta las celdas en serie, con una puerta de selección para cada puerta de control inferior y conexiones en serie con las puertas de control de este grupo de puertas. NAND ofrece una velocidad de acceso aleatorio más lenta, pero permite densidades mayores, lo que permite celdas de tamaño más pequeño y por lo tanto más económicas. 
Pero un espacio menor para una tensión de borrado idéntica, implica un mayor estrés eléctrico del silicio, que forma la barra básica o sustrato sobre la cual se arma la celda y esto lamentablemente implica una menor vida. 
Un ingeniero de sistemas actual, normalmente no verifica que una determinada celda o un grupo de celdas sean requeridas más que otras. Se puede hacer pero implica un arduo trabajo. Por eso la tecnología NAND adopta un sistema de renombrado de posiciones de memoria, que reemplaza las celdas dañadas. Y el dispositivo sigue funcionando hasta que se agotan las celdas de repuesto.  
 
 









Más TV SMART

No hay comentarios:

Publicar un comentario