Field Programmable Gate Array (FPGA) vs. Microcontrolador — Qual é a diferença?
Um gate ou grid array programável em campo (FPGA) e um microcontrolador são semelhantes, mas não iguais. Ambos são essencialmente “pequenos computadores” ou circuitos integrados incorporados em outros dispositivos e produtos. A principal diferença está no título. Os usuários podem programar o hardware dos FPGAs após a fabricação, tornando-os “programáveis em campo”, enquanto os microcontroladores são personalizáveis apenas em um nível mais superficial. Além disso, os FPGAs podem lidar com entradas paralelas enquanto os microcontroladores lêem uma linha de código por vez.
Como permitem um maior nível de personalização, os FPGAs são mais caros e mais difíceis de programar. Em contraste, os microcontroladores são econômicos, mas muito menos personalizáveis. Saiba mais sobre as semelhanças e diferenças entre microcontroladores e FPGAs Um não é necessariamente melhor que o outro — ao decidir qual usar, considere vários fatores.
O que é um microcontrolador?
Um microcontrolador (MCU) é basicamente um computador pequeno. Ele tem todos os mesmos elementos que outros computadores, incluindo uma unidade central de processamento (CPU), alguma memória de acesso aleatório (RAM) e entrada e dispositivos de saída Ao contrário de um computador desktop, que pode executar milhares de programas diferentes, um microcontrolador é um dispositivo de finalidade especial que executa um programa.
Ele é feito para fazer uma coisa repetidamente, automaticamente ou a pedido do usuário. Ele está embutido em algum outro dispositivo, seja um consumidor, fabricante, médico ou outro tipo de produto. Ele funciona com baixo consumo de energia — seu consumo de energia é mensurável em miliamperes.Como resultado, os microcontroladores tendem a ser acessíveis.O dispositivo no qual ele está embutido pode variar muito em custo, no entanto.
Você encontra microcontroladores ao seu redor em sua vida cotidiana. Aqui estão alguns dos dispositivos de consumo nos quais um microcontrolador está incorporado:
- Teclados
- Monitores
- Impressoras
- Copiadoras
- Máquinas de fax
- Telefones
- Controles remotos de televisão
- Microondas
- Lavadoras e secadoras
- Aspersores de gramado
- Brinquedos infantis
Além dos itens de consumo, os microcontroladores também são incorporados nos seguintes dispositivos:
- Semáforos
- Sistemas de controle de motores de automóveis
- Ferramentas elétricas
- Dispositivos médicos implantáveis
Estes são apenas alguns exemplos — os microcontroladores estão embutidos em todos os tipos de dispositivos que utilizamos na sociedade moderna. Cada microcontrolador tem uma finalidade específica e repetitiva. Ele pode operar automaticamente usando um sistema de controle de feedback , como você encontraria com semáforos. Ou pode operar em sinais de entrada do usuário, como apertar um interruptor ou pressionar um botão. Este último conceito é verdadeiro para seu micro-ondas, máquina de lavar roupa e controle remoto de televisão.
O que é uma matriz de grade programável em campo?
Um gate ou grid array programável em campo é um pouco mais complicado do que um microcontrolador. Na maioria das vezes, um chip vem pré-programado. Como usuário, você pode alterar o software, mas não Isso nos leva ao elemento definidor de um FPGA — você, o usuário, pode configurar seu hardware após a compra.
Os engenheiros acham isso especialmente útil para prototipar seus próprios circuitos integrados específicos de aplicativos. Na verdade, a Intel usa uma forma de FPGA para simplificar seu próprio processo de prototipagem. FPGAs também são úteis porque os dispositivos nos quais Os FPGAs incorporados podem ser alterados sem a necessidade de hardware totalmente novo.
De acordo com o exemplo dado por "FPGAs for Dummies", os regulamentos podem mudar para exigir que as câmeras de visão traseira dos veículos funcionem mais rápido. Se essas câmeras funcionarem em FPGAs, os fabricantes podem fazer essa alteração sem instalar custosos , hardware totalmente novo. Eles podem simplesmente reprogramar o FPGA na câmera de visão traseira de cada carro. Carros que já estão na estrada podem ser alterados em vez de ficarem obsoletos.
Como funciona?
Os FPGAs têm um “array” de circuitos de hardware integrados — esses arrays são grupos de blocos lógicos programáveis. Durante a fabricação, um FPGA não foi configurado para ter nenhuma função específica. Em vez disso, o usuário pode configurá-lo e depois reconfigurá-lo como quiserem.
O usuário faz isso usando uma linguagem de descrição de hardware (HDL). Um FPGA tem blocos lógicos, como AND e XOR, que o usuário pode juntar com interconexões. FPGAs modernos têm muitas portas lógicas e Blocos de RAM, para que possam acomodar cálculos complexos Alguns FPGAs também possuem conversores analógico-digital ou conversores digital-analógico, semelhantes aos arrays analógicos programáveis em campo (FPAAs).
Como eles são semelhantes
Tanto os FPGAs quanto os microcontroladores têm a mesma finalidade básica — ambos são construídos de forma a permitir que um fabricante ou usuário final determine sua função. Ambos executam aplicativos específicos e são incorporados a outros dispositivos, seja um semáforo ou uma máquina de lavar roupa. Esta versatilidade é porque você pode encontrá-los ao seu redor. Tudo o que fazemos é mais fácil graças a esses pequenos circuitos integrados.
Para um olho destreinado, eles parecem praticamente iguais. Ambos são pequenos chips planos, quadrados, cercados por pinos programáveis. Ambos são essencialmente computadores em miniatura, programados para uma finalidade distinta. Para isso Por isso, nem um FPGA nem um microcontrolador podem servir como um computador pessoal ou desktop, ao invés disso, eles seguem comandos para realizar uma função em níveis variados de complexidade.
Componentes básicos
Esses dispositivos têm várias semelhanças fundamentais. Na verdade, eles são compostos pelos mesmos componentes básicos. Um FPGA e um microcontrolador são circuitos integrados que operam usando lógica de computador e binário.
Um circuito integrado é um conjunto de circuitos eletrônicos em um chip plano, que consiste em material semicondutor — geralmente silício. Ele pode realizar cálculos e armazenar dados. Os circuitos integrados usam tecnologia digital ou analógica — como mencionado acima, alguns FPGAs podem converter entre os dois.A tecnologia digital utiliza lógica binária, enquanto a tecnologia analógica determina uma função linear de uma entrada para calcular uma saída.
Este conceito básico, entrada determinando saída, descreve como todos os computadores funcionam. A tecnologia digital incorpora um sistema lógico de dois valores, ou binário — um ou zero, ligado ou desligado, sim ou não. É importante entender os fundamentos da lógica do computador ao programar um microcontrolador ou um FPGA.
Personalização
Além disso, tanto FPGAs quanto microcontroladores são programáveis após a produção até certo ponto - o que significa que um fabricante ou usuário final pode projetar suas funções e incorporá-las conforme necessário. É por isso que esses dispositivos têm tantos aplicações em uma ampla gama de indústrias.
A extensão em que você pode personalizar um FPGA o diferencia, e é por isso que eles são mais úteis para aplicativos complicados e altamente técnicos. Por outro lado, um microcontrolador é melhor para aplicativos mais simples.
Como eles são diferentes
A principal diferença entre um FPGA e um microcontrolador é o nível de customização e complexidade. Eles também variam em preço e facilidade de uso. Essencialmente, um FPGA permite maior customização e processos mais complexos, pois bem como mudanças retroativas no hardware.Um usuário precisa de mais habilidade e know-how para usar um FPGA.
Embora os FPGAs tenham suas vantagens, os microcontroladores custam menos e são mais fáceis de usar. A maioria dos amadores ou iniciantes se beneficiaria com a compra de microcontroladores, enquanto empresas de engenharia e fabricantes podem preferir FPGAs.
Microcontroladores
As características definidoras dos microcontroladores incluem:
- Eles são fáceis de usar: Qualquer pessoa com um conhecimento básico de codificação pode programar um microcontrolador. Você pode programar um microcontrolador usando uma linguagem assembly como Javascript ou Python, que você pode aprender por meio de cursos on-line.
- Eles são acessíveis: Por serem mais simples de produzir em massa, o custo inicial é menor para um microcontrolador do que para um FPGA.
- Eles nem sempre são ideais para aplicativos complexos: O processador dedicado de um microcontrolador lida com todas as entradas e saídas. Como resultado, gargalos podem ocorrer, pois os processos precisam esperar que outros resolvam. Como não permitem funções paralelas, os microcontroladores são melhores para propósitos mais simples.
- Eles são ideais para aplicações simples: Pense na sua máquina de lavar. Depois de colocar suas roupas, você personaliza duas ou três configurações e, em seguida, pressiona iniciar. Da mesma forma, o mouse do computador só precisa saber interpretar algumas entradas - rolar para cima, rolar para baixo, clicar com o botão esquerdo e com o botão direito. Para aplicativos simples e imutáveis como esses, um microcontrolador é ideal.
FPGAs
Algumas características definidoras de FPGAs incluem:
- Eles exigem mais habilidade para usar: Você precisará de mais do que uma compreensão básica da linguagem de codificação para programar um FPGA. Além do conhecimento de uma linguagem de codificação, você precisará rastrear grandes quantidades de variáveis. Você também precisará entender uma linguagem de descrição de hardware. Projetar e reprojetar hardware não é uma tarefa para iniciantes.
- Eles permitem mais paralelismo: Um FPGA tem milhares de blocos lógicos, todos os quais você pode programar. Você pode criar processos independentes uns dos outros, diminuindo as instâncias de gargalos como com microcontroladores.
- Eles permitem um nível mais alto de personalização: Simplificando, se você sabe o que está fazendo, pode fazer muito mais com um FPGA do que com um microcontrolador. Se você quiser programar algo complicado, precisará de mais personalização do que um microcontrolador oferece.
- Eles tendem a custar mais: Uma desvantagem dos FPGAs é que eles tendem a ser mais caros que os microcontroladores. Apesar dos custos iniciais mais altos, eles podem economizar dinheiro para os setores que precisam fazer alterações retroativas. Pense no exemplo da câmera de visão traseira.
- Eles são ideais para aplicações mais complexas: Como os FPGAs permitem processos paralelos, você pode implementar mais entradas com um FPGA do que com um microcontrolador, sem problemas de gargalo. Isso os torna ideais para operações mais complexas.
- Eles permitem alterações posteriores: Um dos maiores benefícios de um FPGA é que o próprio hardware pode ser alterado após sua programação inicial. Por esse motivo, você pode alterar a função de um dispositivo sem substituir completamente seu hardware. Isso é mais econômico a longo prazo, especialmente para indústrias de produção em massa.
Devo usar um microcontrolador ou um FPGA na minha placa de circuito impresso (PCB)?
Uma placa de circuito impresso dá vida a um desenho esquemático. Quanto mais camadas condutivas a placa tiver, mais conexões você poderá fazer. Uma placa de quatro camadas terá quatro camadas condutoras, com camadas isolantes Montar um PCB requer um pouco de conhecimento técnico decente, então leia o jargão se você estiver montando um pela primeira vez.Você pode optar por confiar em um serviço profissional de produção de PCB ou fornecedor de PCB.
Se você usa um microcontrolador ou um FPGA em seu PCB deve depender de vários fatores, incluindo:
- O nível de complexidade necessário.
- Seu nível de conhecimento.
- Seu orçamento, especialmente se você precisar comprar em grandes quantidades.
- Alterações retroativas que você pode precisar fazer.
O nível necessário de complexidade
Os FPGAs podem executar várias linhas de código ao mesmo tempo, permitindo processos paralelos independentes. Para aplicativos altamente avançados, esse recurso é uma necessidade. Um FPGA pode lidar com entradas mais complicadas e realizar operações simultâneas A desvantagem é que os FPGAs exigem precisão e tempo perfeitos para funcionar corretamente.Um pequeno erro pode tornar todo o sistema inútil.
Por outro lado, os microcontroladores lêem apenas uma linha de código por vez, processando comandos em sequência. Embora isso possa levar a um problema de gargalo, ele tem suas vantagens. Por serem menos complicados, microcontroladores são mais fáceis de programar e reprogramar usando um método de tentativa e erro.Para aplicações simples, um FPGA pode ser mais complicado do que o necessário, e pode tornar a programação mais difícil do que o necessário.
Se um erro for cometido na programação de um FPGA, os reparos são muito mais complexos. Isso nos leva ao nosso próximo ponto, que é que sua escolha entre um FPGA e um microcontrolador precisará dependendo do seu nível de especialização.
Seu nível de experiência
Em termos simples, um FPGA não é a escolha certa para um iniciante. As linguagens de descrição de hardware levam mais tempo e experiência para aprender do que as linguagens assembly. Um nível maior de personalização significa mais habilidade. Se você tem muita experiência com engenharia de computação, um FPGA lhe proporcionará um nível atraente de customização.
Seu orçamento
Lembre-se de que os FPGAs tendem a ser mais caros em seu custo inicial do que os microcontroladores. Se você deseja programar algo simples, como uma luz de escurecimento automático ou um sensor de temperatura, um microcontrolador relativamente econômico pode ser a melhor opção.
Embora seu custo inicial seja maior, os FPGAs podem reduzir as despesas posteriormente — especialmente em objetos produzidos em massa que podem precisar ser alterados após a montagem original.
Sua necessidade de alteração retroativa
Por várias razões, você pode achar que precisa alterar o hardware do seu aplicativo. Nesse caso, você ficará feliz em ter um FPGA. É por isso que tantos as indústrias preferem os FPGAs. Quando as leis, normas, regulamentos ou necessidades mudam, é muito menos caro e demorado alterar os FPGAs existentes em vez de implementar sistemas de hardware totalmente novos.
Saiba mais entrando em contato com a Millennium Circuits
Tanto FPGAs quanto microcontroladores são valiosos para uma ampla variedade de propósitos. Sua versatilidade os leva a milhares de aplicativos, alguns dos quais usamos todos os dias. Compreender as semelhanças e diferenças entre eles ajudará você determina qual é a melhor opção para seus propósitos.
Embora consistam nos mesmos componentes básicos, eles são diferentes em seu nível de personalização, complexidade, preço e nível de conhecimento necessário. A escolha de um sobre o outro deve depender de vários fatores. Cada um solução tem benefícios exclusivos e desvantagens potenciais.
Se você estiver projetando um projeto do tipo faça você mesmo, criando um protótipo para um novo produto ou procurando agilizar um processo técnico, um desses circuitos integrados certamente será útil. você tiver alguma dúvida sobre FPGA ou tecnologia de microcontrolador usada em PCBs simples, entre em contato com os especialistas da Millennium Circuits Limited para obter mais informações.
Tecnologia industrial
- Materiais termoplásticos x termofixos:Qual é a diferença?
- Rodas vs rodízios:Qual é a diferença?
- O-Rings vs Juntas:Qual é a diferença?
- Ferro vs Aço:Qual é a diferença?
- Moagem vs Moagem:Qual é a diferença?
- Jig e Fixture:Qual é a diferença?
- Motor CC x CA:qual é a diferença?
- EAM x CMMS:qual é a diferença?
- Qual é a diferença:detecção, proteção e supressão de incêndio?
- Orifício de passagem vs montagem em superfície:qual é a diferença?