FPGA против микроконтроллера: как выбрать программируемый чип для проекта
Введение
FPGA и микроконтроллеры — основа почти всех электронных устройств. В чем разница и что выбрать?
FPGA (Field Programmable Gate Array) — интегральная схема, программируемая ПОСЛЕ производства. Микроконтроллер — имеет фиксированную архитектуру и набор инструкций.
Разница между микропроцессором и микроконтроллером
Часто путают. Микропроцессор — ядро CPU, периферия (RAM, ROM) внешняя → объемнее. Микроконтроллер — компьютер на кристалле с встроенной периферией, компактнее. Задачи МК специфичны, периферии нужно меньше. МП — «сердце» системы, МК — драйвер встроенных систем.
МП: видеомонтаж, геймдев, >1 ГГц. МК: сложные задачи управления, 30–50 МГц, дешевле. МК можно использовать вместо МП, но дорого.

МП дороже из-за внешних компонентов. МК имеют режимы экономии энергии (Harvard architecture, раздельная память кодов/данных). МП — фон Неймана (общая память).
Разница между FPGA и микроконтроллерами
Оба управляют системой, но принципиально отличаются.
- МК — компьютер с памятью, портами ввода-вывода, таймерами. Выполняет последовательные задачи.
- FPGA — миллионы логических элементов, программируемых под параллельные задачи. Нужна внешняя периферия.
Программирование: МК — C/C++, FPGA — VHDL/Verilog. МП — последовательное выполнение, FPGA — параллельная обработка.

FPGA гибки: можно перепрограммировать логику, даже «перепроводить» задачи. МК ограничены заложенной архитектурой. Код для МК проще. Прерывания в FPGA — через FSM (конечные автоматы), в МК — задержки. Перепрограммирование FPGA без изменения железа; МК требует нового кремния.
Конфигурация FPGA сложнее: компиляция с нуля в машинный код. МК — готовые ядра, легче настройка. По программированию МК гибче, но аппаратно не кастомизируемы.
Потребление энергии
FPGA потребляют больше, не подходят для всех систем. Менее эффективны vs ASIC. Перепрограммирование → низкая утилизация логики → лишние транзисторы → больше энергия.
Но скорость FPGA выше. МК — ниже тактовые, меньше потребление, есть режимы сна (<1 мкА). Иногда на плате FPGA ставят МК для управления питанием.
Заключение
Проект может использовать оба. Нужен дешевый и простой — микроконтроллер. Нужен максимально гибкий, перепрограммируемый, параллельный — FPGA.
Промышленные технологии
- Соглашения об обозначении соединений проводов на электрических схемах: понятное руководство
- Основы программирования микропроцессоров
- Комплексный обзор резисторов, катушек и конденсаторов в цепях переменного тока
- ValentFX представляет открытые FPGA-аддоны для BeagleBone и Raspberry Pi
- FPGA против микроконтроллера: ключевые различия
- Понимание измерения и расслоения печатных плат: причины, предотвращение и контроль качества
- Освоение проектирования печатных плат для Интернета вещей: Полное руководство
- Индустрия 4.0: выгоды, риски и вызовы внедрения
- SCADA-системы и Индустрия 4.0: революционизируем удаленный контроль процессов
- Хонинг против лаппинга: ключевые различия для точной финишной обработки металла