Программируемая интегральная схема (ПЛИС, Programmable logic device, PLD) — электронный компонент, используемый для создания цифровых интегральных схем, логика работы которого не определяется при изготовлении, а задаётся посредством программирования (проектирования).
Состав программируемой интегральной схемы:
Трасса — металл, который напаян на слои микросхемы, и тем самым являясь проводником электричества между блоками.
Блоки — отдельные элементы в плате, которые состоят из ячеек. Блоки предназначены для запоминания информации, умножения, сложения и логических операций над сигналами.
Ячейки — группы с разным количеством транзисторов.
Транзистор — основной элемент ТТL (Транзисторно-транзисторная логика).
Выводы (ножки микросхем) — через них происходит взаимодействие плис с окружающим миром. У различных есть свое назначение, одни предназначены для программирования, приема тактовой частоты, питания, а также другие ножки, назначение которых устанавливаются пользователем в программе. И их как правило, гораздо больше, чем у микроконтроллера.
Тактовый генератор — внешняя микросхема, генерирующая тактовые импульсы, на которых основывается большая часть работы ПЛИС.
Рис. 1. Архитектура ПЛИС (FPGA)
Микроконтрооллер (Micro Controller Unit, MCU)
Микроконтроллер — это микросхема, которая была создана для управления электронными устройствами. Обычный микроконтроллер объединяет на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ и (или) ПЗУ.
Микроконтроллеры предназначены для управления разными электронными приборами и устройствами. Они используются в ПК, бытовой технике, в робототехнике, в офисной технике, в военной технике. Микроконтроллер является многофункциональным инструментом, с помощью которого выполняется управление различной электроникой. При этом алгоритм управляющих команд человек закладывает в них самостоятельно, и может менять его в любой момент, в зависимости от ситуации.
В корпусе микроконтроллера находятся основные элементы всей его структуры. Существует три класса таких устройств: 8, 16 и 32-разрядные. Из них 8-разрядные модели имеют наименьшую производительность. Этого достаточно для решения простых задач управления объектами. 16-разрядные микроконтроллеры — модернизированные 8-разрядные. Они имеют расширенную систему команд. 32-разрядные устройства включают в себя высокоэффективный процессор общего назначения. Они используются для управления сложными объектами.
Для разработчиков в микроконтроллерах доступен фиксированный набор решений и средств присущих конкретному чипу, отступить от архитектуры никак не получится. Программисту предоставлен набор команд, с помощью которых он производит операции взаимодействия с окружающей средой, через считывание данных с цифровых и аналоговых входов и выдачи сигналов исполнительным устройствам с помощью выходов.
Кроме этого, разработчик может производить вычисления, сохранять данные в ПЗУ или регистрах и оперировать данными, прошитыми в память микроконтроллера. В этом и заключается назначение и особенности работы с микроконтроллерами.
Рис. 2. Архитектура микроконтроллера
Отличия ПЛИС и микроконтроллера
ПЛИС программируется на уровне железа, по всей площади кристалла. Сигналы поступают через сложные цепочки транзисторов. Микропроцессор прошивается на уровне программы для железа, сигналы поступают группами, от блока к блоку — от памяти к процессору, к оперативной памяти, от оперативной к процессору, от процессора к портам ввода-вывода, от портов ввода-вывода к оперативной памяти, от оперативной памяти… и т. д.
Главным отличием ПЛИС от микроконтроллеров является тот факт, что в микроконтроллере человек не может изменять внутренние связи между простейшими элементами, а в ПЛИС на основе прописывания связей основывается программирование и работа с ними.
ПЛИС отличаются ещё и тем, что, программируя устройство программист сам создает архитектуру из базовых логических элементов. Таким образом он получает высокое быстродействие и функциональность микросхемы. Это даёт возможность, не изменяя одного чипа сделать большое количество проектов.
При выборе ПЛИС основным критерием является число программируемых блоков — их должно хватать для реализации проекта.
Вывод
За счет более сложной архитектуры ПЛИС выигрывает в быстродействии и больших возможностях конвейерной обработки, микроконтроллер выигрывает в простоте написания алгоритмов. За счет более простого способа написания программ, разработчик микроконтроллера располагает большим количеством времени на разработку и программирование, по этой причине время на программирование одного и того же робота на микроконтроллере и ПЛИС будет значительно отличаться. Однако у робота, работающего на ПЛИС, скорость и точность выполнения программы будет гораздо выше.
Литература:
1. Преснухин, Л. Н. Микропроцессоры / Л. Н. Преснухин. — М.: Высшая школа, 2015. — 351 c.
- Максфилд, К. Проектирование на ПЛИС: Архитектура, средства и методы. Курс молодого бойца. 2007–407 с.