С ростом популярности микроконтроллеров инженеры используют микроконтроллеры больше, чем FPGA. В микроконтроллерах стали доминирующими над FPGA из - за их дешевую цену, хорошая поддержка, легкая доступность, большое сообщество, универсальность, программирование и т.д. Но кроме того, что микропроцессоры имеют некоторые ограничения, такие как набор инструкции, последовательное выполнение программ (последовательная обработка), отсутствие гибкости и возможности повторного использования и т. д. Однако FPGA может преодолеть эти ограничения, поскольку FPGA имеют параллельное выполнение программ, а также гибкость и возможность многократного использования, что означает, что ее можно многократно перепрограммировать для различных задач.
Что такое ПЛИС и чем она отличается от микроконтроллера
Поле-программируемая пользователем вентильная матрица представляет собой интегральную схему, кремниевый чип, который имеет массив логических элементов, и этот массив может быть запрограммирован в поле т.е. пользователь может перезаписать существующие конфигурации с ее новыми определенных конфигураций и могут создавать свои собственные цифровые схемы на поле. ПЛИС можно рассматривать как чистый лист. FPGA ничего не делают сами по себе, тогда как проектировщики должны создать файл конфигурации, часто называемый битовым файлом для FPGA. ПЛИС будет вести себя как цифровая схема после загрузки битового файла.
В то время как в микроконтроллерах это не так, поскольку микроконтроллеры не могут быть запрограммированы или реструктурированы в полевых условиях. Пользователь не может перезаписывать существующие конфигурации и не может создавать какие-либо цифровые схемы на месте. Микроконтроллеры легко программировать, и сообщество также велико. Микроконтроллеры представляют собой мини-компьютеры, изготовленные по индивидуальному заказу, которые имеют форму ИС, в то время как ПЛИС содержат только логические блоки, которые снова могут быть подключены электрически. Также, что касается микроконтроллеров, он потребляет меньше энергии, чем FPGA. ПЛИС, как известно, дороги и требуют больше затрат, чем микроконтроллер, когда дело доходит до создания любого устройства. Настройка ПЛИС занимает гораздо больше времени, в то время как микроконтроллеры доступны, готовые для конкретных приложений.
Архитектура ПЛИС
FPGA имеет регулярную структуру логических ячеек или модулей и взаимосвязей, которая находится под полным контролем разработчиков и проектировщиков. ПЛИС состоит в основном из трех основных блоков, таких как конфигурируемый логический блок (CLB), блоки ввода-вывода или контактные площадки и матрица коммутации / соединительные провода. Ниже мы кратко рассмотрим каждый блок.
- CLB (конфигурируемый логический блок): это основные ячейки ПЛИС. Он состоит из одного 8-битного генератора функций, двух 16-битных генераторов функций, двух регистров (триггеров или защелок) и перепрограммируемых элементов управления маршрутизацией (мультиплексоров). CLB применяются для реализации других разработанных функций и макросов. Каждая CLB имеет входы на каждой стороне, что делает их гибкими для отображения и разделения логики.
- Платы или блоки ввода / вывода: панели ввода / вывода используются для внешних периферийных устройств для доступа к функциям FPGA, а с помощью панелей ввода / вывода они также могут взаимодействовать с FPGA для различных приложений с использованием различных периферийных устройств.
- Матрица коммутации / соединительные провода: матрица коммутации используется в ПЛИС для соединения длинных и коротких соединительных проводов вместе в гибкой комбинации. Он также содержит транзисторы для включения / выключения соединений между разными линиями.
Когда нужны ПЛИС
Как упоминалось выше, микроконтроллеры имеют некоторые ограничения и не могут использоваться для параллельного выполнения задачи, поскольку микроконтроллер и микропроцессоры работают при последовательном выполнении программ, что делает его немного медленным в некоторых приложениях, в этом сценарии FPGA имеют преимущество и могут эффективно использоваться. Также микроконтроллер может выполнять ограниченные задачи, потому что он поставляется с инструкциями и схемой. Программист должен соблюдать ограничения при разработке кода. Таким образом, и в этом сценарии FPGA имеют преимущество.
Однако в случае микроконтроллеров процессор переключается с одного кода на другой для достижения некоторого уровня параллелизма. Вам будет проще писать коды на микроконтроллерах, чем на ПЛИС. Возможности параллельной обработки ПЛИС позволяют эффективно контролировать прерывания с помощью конечных автоматов (FSM).
В случае микроконтроллеров вы должны учитывать время, затрачиваемое ISR на устранение прерывания. Вы можете легко перепрограммировать ПЛИС, просто перепрограммировав ее. Конфигурация в ПЛИС загружается в настраиваемые логические ячейки при включении питания.
Вам не нужно вносить какие-либо изменения в оборудование для перепрограммирования FPGA. FPGA подходят для высокоскоростной обработки параллельных данных и обладают высокой степенью настраиваемости. Однако у них есть и недостатки, связанные с работой прототипа и сложностью настройки. Таким образом, можно выбрать ПЛИС с этими преимуществами перед микроконтроллерами. Начнем программирование ПЛИС и подчеркнем