miércoles, 23 de noviembre de 2016

Ingeniería inversa en circuito placa displays 7 segmentos LED23B3.PCB

Esto es un caso real de Reversing en un circuito electrónico es muy sencillo, pero, será de utilidad para quiénes empiecen en este tema tan interesante.
¡Hola SkullTraper! Un post más hoy me tomo la tarea de publicar este post, y bueno en estos lares de nuestro idioma (Español) y también por mi país Colombia, muy poco o nada se habla de lo que tiene que ver con la Ingeniería Inversa ¿Qué? ¿Cómo? Si eso es común en el mundo de Hacking Informático y la explotación-crackeo de Software, bueno sí pero, en Circuitos Electrónicos ¡No! así que vamos a la temática y lo que pasa con este post.

UNA BREVE INTRODUCCION

Si lees este post pero no se te viene a la mente que es la Ingeniería Inversa en un circuito electrónico, básicamente se trata de ir contra la corriente no diseñando algo electrónico sino, de algo ya diseñado recopilar toda la información posible con pruebas físicas de como funciona, como trabaja que componentes tiene como vienen y que hace, cuyo objetivo final es llegar al diseño original o similar.


EL PROBLEMA A RESOLVER (MI PROBLEMA)

Nuevamente aclaro que sobre esta placa con displays no sale datasheet nada de nada de naaaaada en internet, ni quien los vende te da estos datos.
Este post no son meras suposiciones es algo de la realidad y que me ha pasado 😱 con un PCB o circuito físico un tanto especial, a decir verdad complejo que se diga complejo no es, ya que se trataban de sólo 3 Displays 7 segmentos, pero, unidos en un bloque algo así: 

Referencia: LED23B3.PCB

¿Raro o sencillo? cada quién lo dicta a su criterio, pero, para mi, cuando lo recibí por primera vez fue raro (Aclaro que a día de hoy sigo siendo estudiante de Ingeniería Electrónica tengo mucho por aprender) pero no se asusten como yo lo hice en un inicio, analicemos más a fondo lo que pasa.


¿QUE CLASE DE DISPLAYS Y PLACA ES ESA LED23B3.PCB?

Claro, lo explicaré no puedo ser odioso con quién lea este post completo y su interés, sea un caso sencillo de Ingeniería Inversa en un circuito electrónico como el expuesto en este post entender como funciona unos displays no es difícil, pero, lo especial viene en la procedencia de esa placa.

Dicha placa pertenece a una o más máquinas de aquellas a las que les metes una tarjeta te descuentan el saldo y te dan 2 minutos o menos para jugar cuando culminas el tiempo te dan unos tickets, creo que una imagen basta para saber que tipo de juegos máquina son:

Máquina Dino Pop trabaja con credit coins en parques

Pues como ves son de esas, si te das cuenta hay unos displays al fondo justo arriba de la cabeza del dinosaurio bueno de allí vienen dichos displays, y así como esta muchas otras similares trabajan con este tipo de Displays queda clara su procedencia útil.

¿Y QUE NECESITABA HACER CON ESOS DISPLAYS?

Bueno, resulta que dichas máquinas de este tipo de parques trabajan con placas viejas y poco "útiles" así entre comillas, así que luego de hablar con algunas personas por ahí 😌 decidimos ponernos en la tarea de hacer cumplir la misma función de la máquina, pero, con otro tipo de tarjetas tal como Arduino para un prototipo o PIC o cualquier otra a la final el código es lo de menos ya que este tipo de juegos trabajan con botones, sensores, luces y uno o dos motores no es más. 



El problema viene, cuando miro a fondo los displays se me hicieron raros de primerazo así, me dio desconfianza ya que nunca en mi vida había visto algo así en aquel momento,le pregunté a los del parque si tenían los manuales y desde luego me los enviaron (click aquí para ver) pero nada útil en ellos la verdad, o por lo menos algo que me explicara en brevedad como se trabajan en este tipo de placa.


EMPIEZO A APLICAR INGENIERÍA INVERSA

Muy bien, claramente y como todo el mundo busqué en google información de la referencia exacta, pero, sólo te saldrá lo que están en los manuales de muchos juegos y la tienda o empresa encargada de vender este componente no es más 0 detalles técnicos y electrónicos:



BUSCANDO PISTAS EN LA PLACA

Lo más común en este tipo de casos es ver que pistas me tira la placa entre algunos tips están:

- Identificación de componentes (Resistencias, Displays, pines)
- Ver referencias todas las que estén.
- Buscar Datasheet de los componentes identificados.

Luego de simplemente verla <<jajaja>> y ver todas las referencias que vienen y componentes concluí lo siguiente:

Datos encontrados en la placa

- Sólo tengo 3 referencias escritas en ella en negro tenemos la referencia ya buscada de la placa "LED23B3.PCB" nada útil, luego un serial de impresión tal vez cuando la fabricaron, y en amarillo la referencia de los Displays 7 segmentos obviamente deben ser tres iguales cuya referencia es "MLS-23101BSR1-B10".


ANALIZANDO LO MÁS CERCANO LOS DISPLAYS 

Ya tenía la referencia de los displays luego de Googlear un poco encontré datos interesantes como voltaje mínimo de operación y otros más secundarios aunque también pude medirlo ya que en el caso de los displays la gran mayoría se diferencia por medida, este tiene 5x7cm no era difícil, pero, sólo deseaba verificar su voltaje y datos electrónicos de operación y esto tengo:

Características de un Display 5x7cm
 
¿Ánodo común o cátodo común 🙇? Bueno al trabajar con 8 voltios, claramente con un Multímetro no podré determinar que es, así que usé una fuente externa y apliqué el mismo principio que con las puntas del multímetro, al final con negativo (-) en común se prenden los segmentos, por ende es cátodo común. 

¿Más componentes? sí claro, como vemos hay resistencias sacar el valor de sus resistencias es elemental nada del otro mundo, en total vienen 8 resistencias limitadoras para los displays completos cuyos valores son 7 de 56 ohms y una de 180 ohms.


REVERSANDO CON MULTIMETRO Y CONTINUIDAD (CIRCUITO)

Ya tenía identificado todas las piezas de esta placa no había más, lo demás sólo eran pines, si bien para comprender mejor su funcionamiento tenía dos opciones probar al azar todos sus pines o sacar un diagrama ya sabes lápiz y papel o un marcador y tablero (Como fue mi caso).

- La técnica es sencilla como es un circuito muy simple pero las pistas no se dejan ver muy bien, como puedes ver en la primeeer foto del post, bien lo hice en mi tablero inicié así: 

Reversando circuito con continuidad

Pero bueno eso solo era lo que pensé, así que decidí pasarlo a una hoja luego de determinar como trabajaba todos los displays y los pines, mi esquema hecho a mano aclaro, final fue el siguiente: 

Click en la imagen para ampliar - circuito final

Comprendí plenamente como trabaja por lo menos lo tenía como una teoría, una suposición (No explicaré como trabaja esta placa, estaré preparando otro post para ello), luego, de entenderlo llegó la hora final las pruebas, pruebas que no eran a la deriva ya que con la info que tenía y el diagrama sabía quiénes eran los habilitadores y los segmentos completos, así que empecé con ello y sólo se trataría de que prendieran como me lo indica el diagrama:



Agregué más jumpers a los segmentos de las letras es decir los pines de lo encerrado en amarillo con tres cables en los mostrado en azul, (Lo de la foto era sólo probando un segmento) y bueno ¡Por fin! me dio efectivamente: 



Lo he logrado, he quedado feliz porque no usé la suerte para probarlo a pesar de la gran cantidad de pines pero bueno.


EN CONCLUSIÓN

Así es ya se va acabar el post 😖, como dije varias veces no explicaré los detalles profundos electrónicos de esta pieza, pero, haré un post dedicado sólo a él, ya que este post era como se puede reversar un circuito de forma sencilla, para no fallar su entendimiento de funcionamiento, gracias a un multimetro y ya, no era difícil digamos que pude hacerlo a la suerte conectando la fuente y probando al azar hasta que prendieran y poco a poco le daba sentido, más no probaría entonces todos los pines y mi dicho análisis sería incompleto. En cambio sacando todo el circuito a mano, comprendí absolutamente todos los pines como trabajan y por lógica vas sacando pequeños descubrimientos de lo mismo, por lo cuál cumplí:

- Identificar todos los componentes en la placa.✔
- Obtener el diagrama o esquemático del circuito.✔
- Hacer la prueba final y que trabajara como lo esperaba.✔
- Documentar todo el proceso hecho para usos futuro tal vez. ✔

Y ya no hay más que decir es una técnica relativa que se aplica de distinta forma pero muy divertida, sólo me queda probar en Arduino y luego colgaré la info al respecto, espero les guste es todo en este post sobre un caso de Ingeniería Inversa SENCILLA.

Hasta la próxima,

 
Compartir:

1 comentario:

  1. Que puedo decir genial me gusta este mundo tambien y veo que por lo basico se incia saludos desde CDMX y buen blog

    ResponderEliminar

SkullTrapers

 

CLICK AQUI PARA IR A NUESTRA TIENDA ON LINE ARDUINO, ELECTRÓNICA, COMPONENTES