← Notas desde el banco de trabajo.
Ingeniería inversa de una placa sin esquemático
La máquina todavía funciona. La empresa que construyó la placa controladora que lleva adentro ya no existe, o dejó de contestar, o descontinuó la línea de producto hace años. Nadie tiene el esquemático, la lista de materiales (BOM) ni el código fuente del firmware que hay en el microcontrolador. Solo hay una placa, una bolsa de repuestos que ya va en las últimas dos unidades y un proceso que se detiene si esto falla. Ahí es donde empiezan casi todas las solicitudes de ingeniería inversa, y casi nunca es por curiosidad: es una línea de producción, un equipo de prueba o un producto en campo que sobrevivió a sus registros de diseño originales, a menudo la misma situación que impone un aviso de fin de vida de una parte clave a una placa que sí conserva sus archivos.
Qué significa realmente «hacer ingeniería inversa de una placa»
No es una sola tarea. Son cuatro, y no todas aplican a todos los trabajos:
Extracción de la netlist — averiguar qué está conectado con qué, para poder redibujar la placa como esquemático. Es la parte que todos imaginan, y en una placa simple de dos capas es mecánica: fotografiar ambos lados, seguir el cobre a simple vista o con pitidos de continuidad, y construir la conectividad en una herramienta CAD red por red.
Identificación de componentes — leer los marcados de las partes y cruzarlos con números de parte reales, valores y encapsulados. Los pasivos suelen ser fáciles; los circuitos integrados con el marcado lijado o con códigos propios del fabricante son el caso difícil, y a veces imposible de resolver.
Comprensión funcional — saber no solo qué está conectado, sino por qué. Una netlist te dice que un pin va a una resistencia y luego a tierra. No te dice que esa resistencia fija un límite de corriente, o que el pin es un umbral de comparador, o que quitarla cambia una constante de tiempo que importa. En este paso el trabajo lo hace un ingeniero, no una herramienta.
Recuperación de firmware — leer lo que hay en el microcontrolador, si se necesita y si es posible. Es la pieza con más probabilidades de topar con una pared, y conviene entenderla por separado de las otras tres.
Un trabajo puede necesitar solo las dos primeras — lo suficiente para conseguir una placa de reemplazo compatible o recalificar a un proveedor. O puede necesitar las cuatro, porque el objetivo es un rediseño de reemplazo directo con partes que aún están disponibles.
Las placas multicapa cambian el trabajo
Una placa de dos capas es inspección visual y paciencia. Una de cuatro o seis capas no lo es, porque las capas internas no se ven desde ningún lado. Llegar a ellas significa o bien una inspección con rayos X, que muestra la estructura de las vías y el ruteo de las capas internas sin tocar la placa, o bien un deslaminado mecánico — lijar o fresar la placa una capa a la vez y fotografiar sobre la marcha, lo cual es destructivo y consume la muestra. Los rayos X son más rápidos y no destructivos, pero requieren acceso al equipo y no resuelven las pistas de paso fino tan limpiamente como una fotografía directa de una capa lijada. El deslaminado da una imagen limpia pero solo funciona una vez por placa, así que solo tiene sentido con más de una unidad a la mano, o con una unidad que ya falló y no tiene nada más que perder.
De cualquier forma, una placa multicapa toma bastante más tiempo de lo que sugiere solo el número de capas, porque cada capa interna debe correlacionarse con las que tiene arriba y abajo — una vía que parece terminar en la capa dos puede continuar hasta la capa cuatro, y equivocarse en eso produce un esquemático que parece plausible y está mal.
El componente que no se identifica
Todo trabajo de ingeniería inversa termina topando con un circuito integrado con el marcado superior desgastado, o con un número propio que no se cruza con nada, o con un chip cubierto con una gota de epoxi directamente sobre la placa y sin encapsulado que leer. Hay algunas formas de avanzar, en orden de cuánto alteran la parte:
Primero el contexto del circuito. Antes de tocar la parte físicamente, traza lo que la rodea — rieles de alimentación, conexiones de reloj o cristal, qué se comunica con ella y por qué pines, valores de desacople. Muchos circuitos integrados se pueden identificar solo por su función: una parte de 8 pines con dos pines de cristal, VDD, VSS y dos líneas hacia un conector es muy probablemente un puente UART o un microcontrolador simple, y eso acota la búsqueda bastante antes de cualquier paso destructivo.
Coincidencia con hojas de datos y distribución de pines. El contorno del encapsulado, el número de pines y el patrón de la distribución de pines acotan rápido una familia, sobre todo combinados con lo que el contexto del circuito ya sugiere. Las herramientas de búsqueda paramétrica de los distribuidores están hechas justo para este tipo de acotación.
Decapsulado, como último recurso. Retirar el encapsulado de epoxi para exponer el die puede revelar un número de parte marcado en el die o, si no lo hay, permitir fotografiar y analizar el die mismo. Es destructivo, requiere los químicos y el equipo adecuados para hacerlo con seguridad, y no siempre da una respuesta ni siquiera después de abrir la parte — algunos dies no llevan ninguna identificación visible. Es la opción a la que recurrir solo después de que el contexto y la coincidencia de pines hayan fallado.
El firmware es un problema completamente distinto
Recuperar la conectividad de una placa es un problema de hardware. Recuperar lo que corre en el microcontrolador es un problema de seguridad, y las partes modernas están hechas para dificultarlo a propósito. La mayoría de los microcontroladores de generación actual — STM32, Nordic nRF52/nRF53, partes Microchip SAM y PIC con protección de lectura — salen con un bloqueo del puerto de depuración que el fabricante llama algo como protección de lectura (RDP) o fusible de protección de código. Una vez que ese bit se activa en la fábrica o por quien programó la parte originalmente, conectar una sonda de depuración por SWD o JTAG no devuelve nada, y el fabricante no ofrece ninguna puerta trasera. Esto es por diseño: la misma protección que impide que un competidor copie el firmware de un producto también impide que el dueño original del producto lo recupere una vez que se pierde el código fuente.
Existen ataques documentados de glitching de voltaje e inyección de fallas contra la protección de lectura en revisiones de silicio específicas de algunas de estas familias, publicados por investigadores de seguridad como pruebas de concepto. No son un servicio que alguien ofrezca como vía rutinaria de reparación — requieren investigación específica de cada parte, equipo especializado, una probabilidad real de destruir la muestra y, en la mayoría de las jurisdicciones, una duda real sobre si extraer la propiedad intelectual de otra persona sin autorización es siquiera legal, independiente de si es técnicamente posible. Hacer ingeniería inversa de un circuito por interoperabilidad o reparación tiene un terreno mucho más firme que extraer una copia de firmware propietario; trata los dos como problemas distintos con respuestas distintas, no como puntos de un mismo espectro.
La implicación práctica: si el valor de una placa está en su firmware y RDP está habilitado, planea una reescritura, no una recuperación. Eso suele ser menos doloroso de lo que suena, porque hacer ingeniería inversa del hardware — cada periférico, la función de cada pin de E/S, cada señal crítica en tiempo — entrega exactamente lo necesario para escribir firmware nuevo que reproduzca el comportamiento de la placa original, corriendo en la parte original o en un reemplazo moderno. El esquemático regresa de cualquier forma; la única pregunta es si el binario viejo regresa con él.
Cómo debería verse el resultado
Un trabajo de ingeniería inversa que termina en «aquí hay una foto de las pistas» no produjo nada utilizable. El entregable que de verdad vale la pena es un esquemático en una herramienta CAD real — KiCad es la opción obvia si nada más lo limita — con cada parte identificada contra un número de parte actual y que se pueda conseguir, no solo el que estaba en la placa original si esa parte ya es obsoleta. Esa distinción importa: hacer ingeniería inversa de una placa que existe porque sus partes originales llegaron al fin de vida, y luego redibujarla alrededor de partes en la misma situación de descontinuación, no resuelve nada. El esquemático debe recalificarse contra el suministro actual igual que un diseño nuevo.
Qué enviarnos
Si una placa necesita convertirse de nuevo en un esquemático — porque la empresa que la hizo ya no existe, la documentación se perdió, o una parte de la placa acaba de volverse obsoleta y un rediseño necesita un punto de partida — envía la placa misma (o fotografías claras de ambos lados si no se puede enviar), los repuestos que existan y cuál es el objetivo final: un reemplazo equivalente, un rediseño modernizado, o solo documentación de una parte que todavía funciona pero que nadie entiende. Esa última pregunta cambia qué tan a fondo debe llegar el trabajo, y vale la pena responderla antes de sacar cualquier placa del estante.
¿Tienes una placa que funciona y no tienes los planos? Recuperamos el esquemático y generamos archivos listos para fabricar.
Herramientas para este tema
- Verificación de riesgo del BOM Pega una lista de materiales y recibe un veredicto de ciclo de vida y disponibilidad por línea antes de pedir.
- Impedancia de pistas PCB Ancho de pista para una impedancia objetivo, o la impedancia de un ancho: microstrip y stripline, simple o par diferencial, con apilados de 4 capas.
- Divisor de voltaje Vout a partir de Vin y dos resistencias, o los mejores pares estándar para un Vout objetivo — con rango de tolerancia y efecto de la carga.
Notas relacionadas
- Swapping an out-of-stock part without missing a pin A checklist for replacing a sold-out IC on a finished board: pinout, quiescent current, output capacitors, land pattern and what to test before you rebuild.
- Cómo pasar un diseño heredado de Altium o Eagle a KiCad Qué convierte KiCad al importar, qué descarta en silencio, cómo comprobar que coincide con la placa original y qué exportar antes de que venza la licencia.
- Revisa la longevidad de un chip antes de diseñar Cómo leer los programas de longevidad de ST, NXP, TI, Microchip y Nordic, qué promete cada uno y qué revisar antes de que una parte entre al esquemático.