Arreglo de puerta programable de campo (FPGA) versus microcontrolador:¿cuál es la diferencia?
Una compuerta programable en campo o matriz de rejilla (FPGA) y un microcontrolador son similares, pero no iguales. Ambos son esencialmente "computadoras pequeñas" o circuitos integrados integrados en otros dispositivos y productos. La principal diferencia está en el título. Los usuarios pueden programar el hardware de los FPGA después de la fabricación, haciéndolos "programables en campo”, mientras que los microcontroladores solo se pueden personalizar en un nivel más superficial. Además, los FPGA pueden manejar entradas paralelas mientras que los microcontroladores leen una línea de código a la vez.
Debido a que permiten un mayor nivel de personalización, los FPGA son más costosos y más difíciles de programar. Por el contrario, los microcontroladores son rentables pero mucho menos personalizables. Obtenga más información sobre las similitudes y diferencias entre los microcontroladores y los FPGA. Uno no es necesariamente mejor que el otro:al decidir cuál usar, considere múltiples factores.
¿Qué es un microcontrolador?
Un microcontrolador (MCU) es básicamente una computadora pequeña. Tiene los mismos elementos que otras computadoras, incluida una unidad central de procesamiento (CPU), algo de memoria de acceso aleatorio (RAM) y entrada y dispositivos de salida. A diferencia de una computadora de escritorio, que puede ejecutar miles de programas diferentes, un microcontrolador es un dispositivo de propósito especial que ejecuta un programa.
Está hecho para hacer una cosa repetidamente, automáticamente o a pedido del usuario. Está integrado en algún otro dispositivo, ya sea un producto de consumo, fabricante, médico o de otro tipo. Funciona con poca energía:su consumo de energía se mide en miliamperios. Como resultado, los microcontroladores tienden a ser asequibles. Sin embargo, el dispositivo en el que está integrado puede variar mucho en costo.
Usted encuentra microcontroladores a su alrededor en su vida cotidiana. Estos son algunos de los dispositivos de consumo en los que se integra un microcontrolador:
- Teclados
- Monitores
- Impresoras
- Copiadoras
- Fax
- Teléfonos
- Controles remotos de televisión
- Microondas
- Lavadoras y secadoras
- Rociadores de césped
- Juguetes para niños
Además de los artículos de consumo, los microcontroladores también están integrados en los siguientes dispositivos:
- Semáforos
- Sistemas de control de motores de automóviles
- Herramientas eléctricas
- Dispositivos médicos implantables
Estos son solo algunos ejemplos:los microcontroladores están integrados en todo tipo de dispositivos de los que dependemos en la sociedad moderna. Cada microcontrolador tiene un propósito específico y repetitivo. Puede funcionar automáticamente mediante un sistema de control de retroalimentación. , como lo encontraría con los semáforos. O bien, puede funcionar con las señales de entrada del usuario, como accionar un interruptor o presionar un botón. Este último concepto es cierto para su microondas, lavadora y control remoto de televisión.
¿Qué es una matriz de cuadrícula programable en campo?
Una compuerta programable en campo o una matriz de cuadrícula es un poco más complicada que un microcontrolador. La mayoría de las veces, un chip viene preprogramado. Como usuario, puede cambiar el software, pero no hardware Esto nos lleva al elemento definitorio de un FPGA:usted, el usuario, puede configurar su hardware después de la compra.
A los ingenieros les resulta especialmente útil para crear prototipos de sus propios circuitos integrados específicos de aplicaciones. De hecho, Intel utiliza una forma de FPGA para agilizar su propio proceso de creación de prototipos. Los FPGA también son útiles porque los dispositivos en los que Los FPGA integrados se pueden modificar sin necesidad de hardware completamente nuevo.
Según el ejemplo dado por "FPGA para Dummies", las regulaciones pueden cambiar para exigir que las cámaras retrovisoras de los vehículos funcionen más rápido. Si estas cámaras funcionan con FPGA, los fabricantes pueden hacer este cambio sin instalar costosas , hardware completamente nuevo. Simplemente pueden reprogramar el FPGA en la cámara retrovisora de cada automóvil. Los automóviles que ya están en la carretera pueden modificarse en lugar de volverse obsoletos.
¿Cómo funciona?
Las FPGA tienen una "matriz" de circuitos de hardware integrados; estas matrices son grupos de bloques lógicos programables. Durante la fabricación, una FPGA no ha sido configurada para tener ninguna función en particular. En cambio, el usuario puede configurarlo y luego reconfigurarlo como ellos elijan.
El usuario hace esto usando un lenguaje de descripción de hardware (HDL). Un FPGA tiene bloques lógicos, como AND y XOR, que el usuario puede ensamblar con interconexiones. Los FPGA modernos tienen muchas puertas lógicas y Bloques de RAM, por lo que pueden adaptarse a cálculos complejos. Algunas FPGA también tienen convertidores de analógico a digital o convertidores de digital a analógico, similares a las matrices analógicas programables en campo (FPAA).
En qué se parecen
Tanto los FPGA como los microcontroladores tienen el mismo propósito básico:ambos están construidos de una manera que permite que un fabricante o usuario final determine su función. Ambos realizan aplicaciones específicas y están integrados dentro de otros dispositivos, ya sea un semáforo o una lavadora. Esta versatilidad es la razón por la que puedes encontrarlos a tu alrededor. Todo lo que hacemos es más fácil gracias a estos pequeños circuitos integrados.
Para un ojo inexperto, se ven más o menos iguales. Ambos son pequeños chips planos, cuadrados, rodeados de pines programables. Ambos son esencialmente computadoras en miniatura, programadas para un propósito distinto. Para esto Por esta razón, ni un FPGA ni un microcontrolador pueden funcionar como una computadora personal o de escritorio, sino que siguen comandos para realizar una función con diferentes niveles de complejidad.
Componentes básicos
Estos dispositivos tienen varias similitudes fundamentales. De hecho, se componen de los mismos componentes básicos. Un FPGA y un microcontrolador son circuitos integrados que funcionan con lógica informática y binario.
Un circuito integrado es un conjunto de circuitos electrónicos en un chip plano, que consta de material semiconductor, a menudo silicio. Puede realizar cálculos y almacenar datos. Los circuitos integrados utilizan tecnología digital o analógica:como se mencionó anteriormente, algunos FPGA pueden convertir entre los dos. La tecnología digital utiliza lógica binaria, mientras que la tecnología analógica determina una función lineal de una entrada para calcular una salida.
Este concepto básico, entrada que determina la salida, describe cómo funcionan todas las computadoras. La tecnología digital incorpora un sistema lógico de dos valores, o binario:uno o cero, encendido o apagado, sí o no. Es importante comprender los conceptos básicos de la lógica informática al programar un microcontrolador o un FPGA.
Personalización
Además, tanto los FPGA como los microcontroladores son programables después de la producción hasta cierto punto, lo que significa que tanto el fabricante como el usuario final pueden diseñar su función e integrarlos según sea necesario. Es por eso que estos dispositivos tienen tantos aplicaciones en una amplia gama de industrias.
La medida en que puede personalizar un FPGA lo distingue, razón por la cual estos son más útiles para aplicaciones complicadas y altamente técnicas. Por otro lado, un microcontrolador es mejor para aplicaciones más simples.
En qué se diferencian
La principal diferencia entre un FPGA y un microcontrolador es el nivel de personalización y complejidad. También varían en precio y facilidad de uso. Esencialmente, un FPGA permite una mayor personalización y procesos más complejos, ya que así como cambios retroactivos en el hardware. Un usuario necesita más habilidades y conocimientos para usar un FPGA.
Si bien los FPGA tienen sus ventajas, los microcontroladores cuestan menos y son más fáciles de usar. La mayoría de los aficionados o principiantes se beneficiarían al comprar microcontroladores, mientras que las empresas de ingeniería y los fabricantes pueden preferir los FPGA.
Microcontroladores
Las características definitorias de los microcontroladores incluyen:
- Son fáciles de usar: Cualquiera con conocimientos básicos de codificación puede programar un microcontrolador. Puede programar un microcontrolador usando un lenguaje ensamblador como Javascript o Python, que puede aprender a través de cursos en línea.
- Son asequibles: Debido a que son más simples de producir en masa, el costo inicial es menor para un microcontrolador que para un FPGA.
- No siempre son ideales para aplicaciones complejas: El procesador dedicado de un microcontrolador maneja todas las entradas y salidas. Como resultado, pueden ocurrir cuellos de botella ya que los procesos tienen que esperar a que otros los resuelvan. Debido a que no permiten funciones paralelas, los microcontroladores son mejores para propósitos más simples.
- Son ideales para aplicaciones sencillas: Piensa en tu lavadora. Después de ponerte la ropa, personalizas dos o tres configuraciones y luego presionas iniciar. De manera similar, el mouse de su computadora solo necesita saber cómo interpretar algunas entradas:desplazarse hacia arriba, desplazarse hacia abajo, hacer clic con el botón izquierdo y hacer clic con el botón derecho. Para aplicaciones simples e inalterables como estas, un microcontrolador es ideal.
FPGA
Algunas características definitorias de los FPGA incluyen:
- Requieren más habilidad para su uso: Necesitará más que una comprensión básica del lenguaje de codificación para programar un FPGA. Además del conocimiento de un lenguaje de codificación, deberá poder rastrear cantidades masivas de variables. También deberá comprender un lenguaje de descripción de hardware. Diseñar y rediseñar hardware no es una tarea para principiantes.
- Permiten más paralelismo: Una FPGA tiene miles de bloques lógicos, todos los cuales puede programar. Puede crear procesos independientes entre sí, disminuyendo las instancias de cuellos de botella como con los microcontroladores.
- Permiten un mayor nivel de personalización: En pocas palabras, si sabe lo que está haciendo, puede hacer mucho más con un FPGA que con un microcontrolador. Si desea programar algo complicado, necesitará más personalización que la que ofrece un microcontrolador.
- Tienden a costar más: Una desventaja de los FPGA es que tienden a ser más caros que los microcontroladores. A pesar de los costos iniciales más altos, pueden ahorrar dinero para las industrias que pueden necesitar hacer cambios retroactivos; piense en el ejemplo de la cámara retrovisora.
- Son ideales para aplicaciones más complejas: Debido a que los FPGA permiten procesos paralelos, puede implementar más entradas con un FPGA que con un microcontrolador, sin encontrarse con un problema de cuello de botella. Esto los hace ideales para operaciones más complejas.
- Permiten su posterior modificación: Uno de los mayores beneficios de un FPGA es que el propio hardware se puede cambiar después de su programación inicial. Por esta razón, puede cambiar la función de un dispositivo sin reemplazar completamente su hardware. Esto es más rentable a largo plazo, especialmente para las industrias de producción en masa.
¿Debo usar un microcontrolador o un FPGA en mi placa de circuito impreso (PCB)?
Una placa de circuito impreso da vida a un dibujo esquemático. Cuantas más capas conductoras tenga la placa, más conexiones podrá hacer. Una placa de cuatro capas tendrá cuatro capas conductoras, con capas aislantes entre. Ensamblar una PCB requiere un poco de conocimiento técnico, así que lea la jerga si es la primera vez que ensambla una. Puede optar por confiar en un servicio profesional de producción de PCB o en un proveedor de PCB.
El hecho de que use un microcontrolador o un FPGA en su PCB debe depender de varios factores, que incluyen:
- El nivel de complejidad necesario.
- Su nivel de experiencia.
- Su presupuesto, especialmente si necesita comprar al por mayor.
- Alteraciones retroactivas que puede necesitar hacer.
El nivel necesario de complejidad
Los FPGA pueden ejecutar varias líneas de código a la vez, lo que permite procesos independientes y paralelos. Para aplicaciones muy avanzadas, esta capacidad es una necesidad. Un FPGA puede manejar entradas más complicadas y puede realizar operaciones simultáneas El inconveniente es que los FPGA requieren sincronización y precisión perfectas para funcionar correctamente. Un pequeño error puede inutilizar todo el sistema.
Por el contrario, los microcontroladores solo leen una línea de código a la vez, procesando los comandos en secuencia. Aunque esto puede conducir a un problema de cuello de botella, tiene sus ventajas. Porque son menos complicados, Los microcontroladores son más fáciles de programar y reprogramar usando un método de prueba y error. Para aplicaciones simples, un FPGA puede ser más complicado de lo necesario y puede hacer que la programación sea más difícil de lo necesario.
Si se comete un error en la programación de un FPGA, las reparaciones son mucho más complejas. Esto nos lleva al siguiente punto, que es que su elección entre un FPGA y un microcontrolador necesitará dependiendo de su nivel de experiencia.
Tu nivel de experiencia
En términos simples, un FPGA no es la elección correcta para un principiante. Los lenguajes de descripción de hardware requieren más tiempo y experiencia para aprender que los lenguajes ensambladores. Un mayor nivel de personalización significa que se requiere más habilidad. Si tiene mucha experiencia con la ingeniería informática, un FPGA le brindará un atractivo nivel de personalización.
Su presupuesto
Tenga en cuenta que los FPGA tienden a ser más costosos en su costo inicial que los microcontroladores. Si está buscando programar algo simple, como una luz de atenuación automática o un sensor de temperatura, un microcontrolador relativamente rentable podría ser la mejor opción.
Aunque su costo inicial es mayor, los FPGA pueden reducir los gastos más adelante, especialmente en objetos producidos en masa que pueden necesitar ser modificados después del ensamblaje original.
Su necesidad de modificación retroactiva
Por varias razones, es posible que deba modificar el hardware de su aplicación. En ese caso, se alegrará de tener un FPGA. Esto es parte de por qué tantos las industrias prefieren los FPGA. Cuando cambian las leyes, los estándares, las reglamentaciones o las necesidades, es mucho menos costoso y lento modificar los FPGA existentes en lugar de implementar sistemas de hardware completamente nuevos.
Obtenga más información poniéndose en contacto con Millennium Circuits
Tanto los FPGA como los microcontroladores son valiosos para una amplia variedad de propósitos. Su versatilidad los presta para miles de aplicaciones, algunas de las cuales usamos todos los días. Comprender las similitudes y diferencias entre ellos ayudará usted determina cuál es la mejor opción para sus propósitos.
Aunque constan de los mismos componentes básicos, son diferentes en su nivel de personalización, complejidad, precio y nivel de experiencia requerido. Elegir uno u otro debe depender de múltiples factores. Cada uno La solución tiene beneficios únicos y posibles inconvenientes.
Ya sea que esté diseñando un proyecto de bricolaje, creando un prototipo para un nuevo producto o buscando agilizar un proceso técnico, uno de estos circuitos integrados seguramente será útil. Si Si tiene alguna pregunta sobre FPGA o la tecnología de microcontroladores que se utiliza en las PCB desnudas, comuníquese con los expertos de Millennium Circuits Limited para obtener más información.
Tecnología Industrial
- Materiales termoplásticos frente a termoendurecibles:¿cuál es la diferencia?
- Ruedas vs ruedas:¿Cuál es la diferencia?
- Juntas tóricas y juntas:¿Cuál es la diferencia?
- Hierro vs acero:¿Cuál es la diferencia?
- Fresado vs rectificado:¿Cuál es la diferencia?
- Arandelas frente a juntas:¿cuál es la diferencia?
- Plantilla y accesorio:¿cuál es la diferencia?
- Motor de CC frente a motor de CA:¿cuál es la diferencia?
- EAM vs CMMS:¿Cuál es la diferencia?
- ¿Cuál es la diferencia:detección, protección y supresión de incendios?
- Agujero pasante Vs Montaje en superficie:¿Cuál es la diferencia?