Un circuito impreso programable (PCB) es un circuito impreso digital que puede reconfigurarse. Es un dispositivo electrónico cuya capacidad de reconfiguración se debe a los componentes electrónicos que lo componen.
Los dos componentes principales de un PCB son: un dispositivo lógico y una placa de circuito digital, unidos y fusionados según una arquitectura informática. Aunque la interconexión y fusión del PLD y la placa de circuitos conforman la PCB esencial, estos tres dispositivos son aún diferentes entre sí como dispositivos independientes.
La arquitectura informática, tal y como se describe aquí, no es más que una subcategoría de la ingeniería informática que define la función y la implementación de un sistema informático basándose en un conjunto fijo de reglas y métodos.
Esta rama de la ingeniería informática examina la estructura de los componentes individuales de un ordenador, en este caso, el dispositivo lógico programable y el circuito digital, y considera su interconexión.
La rama que se ocupa específicamente de dispositivos como éste es la informática reconfigurable. Este dispositivo tiene componentes de software y hardware que trabajan mano a mano. A continuación veremos los componentes individuales de este dispositivo y cómo funcionan juntos.

¿Qué hay en la placa?
Una placa de circuito digital
Es la base sobre la que se construye una placa de circuito impreso. Es una placa de circuito impreso que hace funcionar un circuito electrónico digital. Antes de continuar, definamos estos términos.
Placa de circuito impreso
Un circuito impreso o placa de circuito impreso es un método de conexión utilizado en ingeniería eléctrica para unir de forma segura piezas de electrónica. Tiene capas conductoras y aislantes dispuestas de forma laminada.
Cada una de las capas conductoras se construye con un patrón de trazas, planos y otras características que se graban a partir de una o más capas de lámina de cobre laminadas sobre o entre capas de lámina de un sustrato no conductor. Estas características se asemejan al patrón de los cables en una superficie plana.
Los componentes eléctricos se fijan a esta placa a través de almohadillas conductoras en las capas exteriores de la placa. Normalmente, estas almohadillas conductoras están diseñadas con la forma de los terminales del componente eléctrico. Dado que esta placa se utiliza hoy en día en casi todos los dispositivos eléctricos, su fabricación es ahora mucho mayor de lo que ha sido nunca, aunque automatizada.
Fabricar manualmente esta placa por unidad supondría un esfuerzo adicional demencial, ya que habría que ser muy particular en la disposición del circuito. Para evitar el derroche de esfuerzo humano y garantizar un estándar homogéneo, las placas de circuitos impresos se fabrican mediante un proceso denominado automatización del diseño electrónico.
Automatización del diseño electrónico
Es un proceso basado en un conjunto de herramientas de software que crean sistemas electrónicos como circuitos integrados y placas de circuitos impresos. Los diseñadores de chips utilizan estas herramientas para diseñar y evaluar chips semiconductores.
Este proceso de automatización reduce en gran medida el riesgo de error que puede suponer el diseño manual, ya que algunos chips modernos pueden tener hasta mil millones de microcomponentes funcionando como uno solo. Hay cinco etapas principales en las que se centran estas herramientas de software en el flujo de diseño.
- Diseño: existen algunas variantes, como la síntesis de alto nivel, la síntesis lógica, la captura esquemática y el diseño.
- Simulación: existen distintos niveles de precisión en la simulación. Por ejemplo, la simulación de transistores es precisa a nivel de dispositivo, la simulación lógica es precisa a nivel booleano y la simulación de comportamiento es precisa a nivel de interfaz. También se incluyen la emulación de hardware, la tecnología CAD y los solucionadores de campos electromagnéticos.
- Análisis y verificación: Esta etapa incluye la verificación funcional, la verificación de cruce de dominio de reloj, la verificación formal y la comprobación de modelos, la comprobación de equivalencias, el análisis estático de temporización y la verificación física.
- Preparación de la fabricación: esta fase incluye la preparación de los datos de máscara, el acabado del chip, la producción de un diseño de retícula, la preparación del diseño para la máscara, la generación de máscaras, la generación automática de patrones de prueba y la autoprueba integrada.
- Seguridad funcional: esta etapa incluye el análisis de seguridad funcional, la síntesis de seguridad funcional y la verificación de seguridad funcional.

Circuitos electrónicos digitales y puertas lógicas
Con frecuencia se agrupan grandes grupos de puertas lógicas en un circuito integrado para crear circuitos eléctricos digitales. Una puerta lógica es un dispositivo electrónico que realiza una función booleana, que es una operación lógica en una o más entradas binarias que da como resultado una única salida binaria.
Aunque se pueden utilizar tubos de vacío, relés electromagnéticos (lógica de relés), lógica de fluidos, lógica neumática, óptica, moléculas o incluso componentes mecánicos para construir puertas lógicas, los diodos y los transistores son los interruptores electrónicos más utilizados para producir puertas lógicas. Los MOSFET (transistores semiconductores de óxido metálico de efecto campo) se utilizan actualmente para fabricar la mayoría de las puertas lógicas.
Es posible desarrollar un modelo físico de toda la lógica booleana y, por tanto, de todos los algoritmos y matemáticas que pueden describirse utilizando la lógica booleana. Las puertas lógicas pueden acoplarse de la misma manera que pueden combinarse las funciones booleanas.
He aquí cómo. En la lógica booleana, los valores de las variables son los valores de verdad verdadero y falso, que se representan matemáticamente como 1 y 0 respectivamente. Las principales operaciones del álgebra booleana son la conjunción (y), la disyunción (o) y la negación (no), denotadas por ciertos signos matemáticos.
Esto contrasta con el álgebra elemental, donde los valores de las variables son números y las operaciones principales son la suma y la multiplicación. Por ello, el álgebra de Boole es adecuada para describir operaciones lógicas, al igual que el álgebra elemental es adecuada para describir operaciones numéricas.
Dispositivo lógico programable
Un dispositivo lógico programable es un dispositivo que se fabrica con una función indefinida y, para poder utilizarlo en un circuito, hay que programarlo para que realice la función deseada.
Cabe destacar que la programación de este dispositivo para una función específica cambia las conexiones entre puertas dentro del PLD. A la hora de diseñar funciones lógicas complejas, todo el proceso es menos complicado y más sencillo con el uso de un dispositivo lógico programable frente a un dispositivo lógico fijo.
En lugar de tener que pensar mucho en cómo configurar los dispositivos lógicos fijos para que funcionen adecuadamente y sirvan para la función compleja, los PLD pueden utilizarse en cualquier configuración según el diseño, siempre que se programen en consecuencia para adaptarse a la lógica compleja.
Los PLD son básicamente de dos tipos: dispositivos lógicos programables simples, también conocidos como SPLD, y dispositivos lógicos programables complejos, también conocidos como CPLD. Los PLD se programan mediante lenguajes de programación de PLD.

Lenguajes de programación de PLD
Es el lenguaje que utilizan como código fuente los compiladores lógicos conocidos como dispositivos de programación PLD. El lenguaje se conoce como Lenguaje de descripción de hardware y existen algunas variantes. Para dispositivos sencillos se utilizan habitualmente HDLs como PALASM, ABEL y CUPL, pero para dispositivos más complejos se utilizan HDLs como Verilog y VHDL.
Los HDL son similares a los distintos tipos de lenguajes de programación. La diferencia es que, a diferencia de cómo los lenguajes de programación configuran una pieza de software y establecen las reglas de su funcionamiento, los lenguajes de descripción de hardware configuran y establecen las reglas de funcionamiento y comportamiento de los circuitos en electrónica.
Dispositivos de programación PLD
Los dispositivos de programación PLD o programadores de dispositivos, al igual que los compiladores de software, son compiladores lógicos para un tipo específico de hardware (PLDs). Introducen el patrón lógico booleano en el dispositivo programable detectando y descifrando el código fuente HDL e interpretándolo en funcionalidad de hardware para el PLD.
En el pasado, los fabricantes de PLD producían sus programadores de dispositivos para su conjunto de dispositivos lógicos, pero en la actualidad han aparecido programadores de dispositivos universales con capacidad para funcionar con diferentes conjuntos de dispositivos lógicos de distintos fabricantes. Los PLD, aunque programables, pueden conservar su configuración una vez programados debido a sus componentes. Los PLD constan de un dispositivo lógico y un dispositivo de memoria.
Es este dispositivo de memoria el que permite a los PLDs mantener su configuración. El dispositivo de memoria lo hace almacenando el patrón que el chip recibe durante la programación. La mayoría de las formas en que se pueden almacenar los datos ya se han incorporado a los PLD tal y como se han creado a lo largo de los años.
Algunos de estos métodos son:
1.Antifusibles de silicio: Estas conexiones se crean dentro del dispositivo haciendo pasar un voltaje sobre una región modificada de silicio. Se denominan antifusibles porque funcionan en oposición a los fusibles estándar, que comienzan como conexiones antes de ser interrumpidas por una corriente eléctrica.
2.S-RAM: Este tipo de memoria es volátil, lo que significa que si se desconecta la alimentación, su contenido desaparece. En consecuencia, los PLD basados en SRAM deben programarse cada vez que se enciende el circuito. Normalmente, otro componente del circuito se encarga de ello automáticamente.
3.Memoria Flash: al ser no volátil, este tipo de memoria conserva sus datos incluso cuando se desconecta la alimentación. Se almacena en celdas de memoria (MOSFET de puerta flotante) y se puede borrar y reprogramar según sea necesario. Esto la hace práctica para los PLD que pueden reprogramarse constantemente, como los prototipos de PLD. Similar a la EPROM, la memoria flash es un tipo de EEPROM que almacena datos utilizando cargas eléctricas atrapadas. Como resultado, la memoria Flash puede almacenar datos durante muchos años, aunque no tantos como la EPROM.
4.EPROM o EEPROM: Esta célula de memoria es un transistor de efecto de campo de metal-óxido-semiconductor (MOSFET), o transistor MOS, que puede encenderse atrapando una carga eléctrica en su electrodo de puerta. Un programador PAL se encarga de esta tarea. El chip debe someterse a una intensa luz ultravioleta en un borrador de EPROM para eliminar la carga, que dura muchos años.
¿Para qué sirve?
Una aplicación real de una placa de circuito impreso es la fabricación de dispositivos interactivos humanos (HID). Estos dispositivos también se conocen como dispositivos de interfaz humana. Son dispositivos informáticos que reciben información de una fuente humana y la devuelven a la persona.
Hay muchos ejemplos comunes de HID. Dispositivos como monitores de ordenador, altavoces, auriculares, teclados, cámaras web, sensores de huellas dactilares, ratones y almohadillas táctiles son ejemplos comunes. Hay ejemplos menos comunes, como los simuladores de conducción y de vuelo, y los pads de baile.
Quizá la mejor muestra de cómo funcionan las placas de circuitos programables en los dispositivos de interfaz humana sea la funcionalidad de los mandos de juegos. Los mandos de juegos tienen botones fijos, pero estos botones funcionan de forma diferente en los distintos juegos. Un botón que sirve para pasar el balón en un partido de fútbol puede servir para que un personaje haga un sprint en otro juego.
Esta diferencia en la salida para la acción de un solo botón de entrada se debe a la diferencia en la programación de esos dos juegos. Los códigos fuente de esos diferentes juegos hacen que el mismo botón de entrada instruya a los personajes del juego de diferentes maneras.
Lo más interesante es que en los ajustes de cada juego, en la sección del mando, la función de cada botón del mando se puede reprogramar para que cada botón comience a realizar una función diferente y emita resultados distintos de los que emitía antes.
Hay ciertos protocolos diferentes para los HID. Está el Bluetooth HID. Dispositivos como el ratón y el teclado entran en esta categoría, y prácticamente cualquier otro dispositivo interactivo humano que funcione con Bluetooth. También existe HOGP HID. Este protocolo es para HID que es tecnología Bluetooth de baja energía. Otro protocolo digno de mención es el HID serie. Se utiliza en receptores de control remoto de PC para el centro multimedia de Microsoft.
Uso de PCB para producir un mando a distancia programable
El avance y la utilización de PCB en ingeniería eléctrica ofrece a las personas el privilegio y la capacidad de producir dispositivos de control remoto inteligentes por sí mismos, sean quienes sean e independientemente de su formación académica o de ingeniería. Hackers, estudiantes, diseñadores, ingenieros, novatos, y prácticamente cualquier persona interesada, con una simple guía puede diseñar y producir uno de estos.
Este dispositivo es tan inteligente que puede usarse para controlar tu ordenador personal, donde botones específicos dan al sistema operativo de tu ordenador una instrucción particular basada en el código escrito, código sobre el que funciona el dispositivo de control remoto. Se puede escribir todo tipo de código. Código que le dice al mando a distancia que se conecte a su pc, que abra su navegador, que borre un archivo y que ajuste el volumen. Hasta donde alcance la imaginación.
Este mando a distancia programable también se puede utilizar para controlar a distancia tu smartphone, o puede controlar tu ordenador y tu smartphone a la vez. El mando a distancia puede utilizarse para controlar prácticamente cualquier dispositivo interactivo humano. Sólo hay que programarlo adecuadamente.
Hay placas de circuitos programables que no necesitan un programador de dispositivos ni nuevo hardware para cargar un nuevo código en la placa y reprogramarla. Las placas de circuito impreso modernas tienen capacidades USB y, con un cable USB, se puede cargar un nuevo código en la placa con éxito.

Esta es una lista de los suministros que necesitarás para construir un mando a distancia programable intuitivo
Las piezas de equipo necesarias son un cable micro USB, 1 Adafruit Feather 32u4 BLE, un PCB personalizado, 5 Interruptores de botón de 6mm cada uno, 2 Interruptores deslizantes, 1 LiPo 350 mAh, y 1 pila de cabezales hembra. También necesitarás Un interruptor DIP en 4 posiciones (mouser), 4 Tornillos (M2 x l10), Software PuTTY (https://www.putty.org), 1 Impresora 3D, 1 PC con Windows, Un Soldador y alambre, 1 IC MCP23008, y filamento PLA.
El primer paso
Este paso es la construcción de las piezas impresas en 3D. Puede utilizarse un 20% de relleno estándar y deben reforzarse las estructuras de soporte.
El segundo paso
Se trata de la placa de circuito. Puedes encargar la tuya al fabricante que prefieras. Sin embargo, algunos fabricantes no admiten Fritzing como formato de importación, aunque otros sí. Depende de tus preferencias. En caso de que el fabricante de su elección no admita Fritzing, puede utilizar archivos Gerber. Prácticamente todos los fabricantes admiten Gerbers.
Tercer paso
Suelda los interruptores deslizantes y los pulsadores en la parte superior de la PCB. Añade el MCP23008 a la cara opuesta de la placa y comprueba que la dirección del circuito integrado es la correcta. Después de esto, puedes colocar el interruptor DIP. Separa tres zócalos de pines de una pila de cabezales hembra y suelda esta pieza al reverso de la placa. Entonces es el momento del siguiente paso.
Soldar los microcontroladores: El cuarto paso
Suelde primero los pines de la cabecera a la placa del microcontrolador y luego suéldela al teclado. Es importante asegurarse de que las patillas están niveladas con el teclado al soldarlas. Asegúrese primero de empujar las patillas hacia abajo, ya que el soporte distanciador de plástico que sujeta las patillas, soporta las patillas de tal manera que hay un margen de 1 mm. Retire la banda del soporte distanciador después de soldar las patillas al teclado. La pila ocupará todo el espacio deficitario. A continuación, puedes añadir la placa del microcontrolador.
El quinto paso
Conecte la placa microcontroladora y la batería. Coloca todas las piezas conectadas hasta el momento en la carcasa para compactarla. Esto concluye la configuración de la parte hardware. El resto de los pasos se ocupan de la configuración del software
El sexto paso
En este paso, descargará e instalará el software puTTY. También descargará e instalará el paquete Adafruit AVR Boards, la librería para el MCP23008, y lo descomprimirá en las librerías del software puTTY.
Estos recursos son la parte principal del software que hace funcionar el control. Utiliza el cable USB para conectar el control remoto Parc a tu PC. Selecciona la placa “Adafruit Feather 32u4” y selecciona el puerto COM con la misma etiqueta. Tu dispositivo estará listo si compila y carga correctamente.
El séptimo paso
Compila y carga el software. Abre el monitor serie y escribe un signo de interrogación en el campo y pulsa enviar. Todas las ranuras de programación estarán vacías porque aún no has programado el dispositivo.
Para programar el dispositivo y probarlo, introduzca el siguiente código en el campo del monitor serie y pulse enviar { 0 B: UK ‘l’; }. El botón inferior izquierdo del teclado se activará ahora para bloquear la pantalla de Windows cuando lo pulses.
El paso final
Aquí es donde se codifica. Puede activar una plétora de funciones para los botones del teclado basándose en el código que escriba en este paso. para asignar una simple función de inicio de sesión a un botón, escriba el siguiente código.
{ 1 A: BK ; W 2000; BT contraseña; W 1000; BK ; }
También hay algunos códigos de comando de control remoto que puede escribir para asignar ciertas funciones a los botones del teclado. funciones como “suprimir”, “ctrl” y “alt”.

Conclusión
Aunque puede que sea necesario aprender a codificar antes de poder disfrutar plenamente de las ventajas de los PCB, el esfuerzo merece la pena porque la llegada de los PCB ofrece a los seres humanos la posibilidad de utilizar dispositivos singulares para múltiples tareas, tareas que simplifican y facilitan la vida cotidiana. con un solo dispositivo se pueden desbloquear nuevas funciones.
Citando el ejemplo del gamepad, imaginemos por un segundo que los mandos de los videojuegos funcionaran con una placa de circuito fija en lugar de PCB, eso significaría que cada uno sólo serviría para un juego concreto, y sería inválido para cualquier otro.
Esto tendría un efecto dominó en el nivel de vida de los seres humanos y un efecto económico en los beneficios de ciertas empresas. Los jugadores tendrían que gastar más para comprar nuevos gamepads para cada juego, y los fabricantes de juegos tendrían un coste de producción más elevado, ya que tienen que producir al menos un gamepad por unidad del juego que producen.
Otros ejemplos del uso de esta tecnología son la fabricación de un sintetizador de formas de onda en el que una tabla de consulta almacena las formas de onda y, con sólo cambiar la tabla de consulta, podemos tener un sonido de flauta o de violín. Otro uso es en los carteles móviles que suelen encontrarse en restaurantes y bares. Estas señales están formadas por paneles LED y pueden mostrar prácticamente cualquier cosa una vez que el controlador se programa de forma diferente.