Многие, задаваясь целью познать удивительный мир программируемых устройств, задаются вопросом: “Что же выбрать микроконтроллеры или ПЛИС’ы? И вообще, в чём между ними разница?“ Давайте попробуем ответить на этот вопрос, и для начала рассмотрим, что представляет собой каждый из них.
По сути, Микроконтроллер это такой же компьютер, который мы видим каждый день, но только на одной микросхеме. Сам термин “микроконтроллер“ (МК) вытеснил из употребления ранее использовавшееся название: “однокристальная микро-ЭВМ“. Первый микроконтроллер появился на свет после появления микропроцессора в 1976 г. Сегодня микроконтроллеры получили широкое применение и их можно встретить почти везде, начиная от бытовой техники и заканчивая домашними роботами. На самом деле с технической точки зрения, микроконтроллер очень сложная микросхема, которая содержит в одном корпусе
- микропроцессор
- порты ввода-вывода
- оперативную память (RAM)
- постоянную память данных (ROM)
- перепрограммируемую ROM (EPROM)
- некоторые содержат различные преобразователи
Использование одной микросхемы вместо целого набора, как в случае обычных процессоров, применяемых в персональных компьютерах, значительно снижает размеры, энергопотребление и стоимость устройств, построенных на базе микроконтроллеров.
Программируемая логическая интегральная схема (ПЛИС, англ. programmable logic device, PLD) - электронный компонент, используемый для создания цифровых интегральных схем. В отличие от обычных цифровых микросхем, логика работы ПЛИС не определяется при изготовлении, а задаётся посредством программирования (проектирования). Для программирования используются программаторы и отладочные среды, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры, таких как Verilog, VHDL, AHDL и др. Количество логических микросхем, которые можно создать в одной ПЛИС зависит от ее типа и может достигать 40000 эквивалентных микросхем средней логической интеграции. На небольшом кристалле с минимальным энергопотреблением, могут программироваться и процессоры со всей логикой работы и памятью, т.к. ПЛИС имеет встроенные ячейки памяти объёмом до нескольких мегабайт.
ПЛИС’ы используются для построения различных по сложности и возможностям цифровых устройств. Обычно это приложения, где необходимо большое количество портов ввода-вывода (бывают ПЛИС с более чем 1000 выводов), цифровая обработка сигнала, цифровая аудио и видеоаппаратура, высокоскоростная передача данных, криптография, проектирование и прототипирование различных микросхем, в качестве мостов (коммутаторов) между системами с различной логикой и напряжением питания.
Итак, мы видим, что и те, и другие, с точки зрения схемотехники, содержат большое число вентилей - элементарных логических элементов, реализующих простейшие
логические функции И, ИЛИ, НЕ. Комбинация множества таких вентилей и образует в МК его основные узлы: Каждый конкретный МК имеет в своем корпусе конечный набор таких узлов и его программирование подразумевает ввод в ПЗУ контроллера некоторого набора инструкций (управляющей программы), согласно которым весь этот набор узлов и работает, выдавая (и получая) на портах Ввода-вывода нужные нам сигналы. Программирование же ПЛИС - это создание электрических связей между вентилями, с целью синтеза тех же регистров, счетчиков, сумматоров, дешифраторов, триггеров, таймеров, цифровых компараторов, мультиплексоров, портов ВВ и т.д. - узлов, имеющихся в ПО на ПЛИС. Комбинируя оформленные в виде подсхем такие устройства, можно получать логические схемы с алгоритмом работы практически любой мыслимой сложности , потому как современные ПЛИС’ы имеют “на борту“ миллионы вентилей и сотни портов ввода-вывода. Таким образом, мы подходим к основному и самому главному отличию микроконтроллеров от ПЛИС’ов: На МК его функции реализуются программно, с использованием уже имеющейся внутренней схемы, а в ПЛИС’ах это реализуется напрямую, или “аппаратно“, т.е. созданием соответствующей схемы соединений между его внутренними элементами.
Поэтому, говорить о том, что предпочтительнее - МК или ПЛИС - не совсем корректно, т.к. они созданы для решения разных задач, хотя области их применения могут и пересекаться: например, частотомер можно собрать на устройствах обоих типов. Существует и ещё одно НО, связанное с тем, что микроконтроллеры из-за программного способа реализации алгоритмов медленнее ПЛИС, а последние могут работать на частотах около гигагерца.
3 views
0
0
1 month ago 00:20:59 1
Визитка программиста
1 month ago 00:15:57 1
[электроника для начинающих] Микросхемы, подробно: История, Практика. Что такое микросхема?
2 months ago 01:28:34 1
Design PCBs Faster with AI : ESP32 AI Pin Tutorial
2 months ago 00:33:42 1
Недорогой народный транзистор тестер или ESR-метр LCR-T4-H. Transistor Tester или ESR-meter LCR-T4
2 months ago 00:12:55 1
Почему БЫСТРАЯ ЗАРЯДКА быстро заряжает?
2 months ago 00:15:50 1
Честный обзор популярного цифрового микроскопа x600 (G600) с aliexpress
2 months ago 00:08:43 1
Путин осмотрел образцы БПЛА. Микросхемы из Воронежа. Донецкий завод утроил выпуск стали.
2 months ago 00:04:27 7
Embox на MCU MIK32 Амур
2 months ago 00:10:30 1
Уроки Ардуино #0 - что такое Arduino, куда подключаются датчики и как питать Ардуино
2 months ago 00:16:25 1
3D-печать для электроники?
2 months ago 01:40:10 1
Основы программирования микроконтроллеров. Лекция в МИРЭА
2 months ago 00:08:18 1
интерфейс rs 485 и микроконтроллеры
2 months ago 00:48:17 22
Raspberry Pi Pico Lecture 1: Course Introduction
2 months ago 00:51:24 5
Raspberry Pi Pico Lecture 2: Hardware/software overview
2 months ago 00:51:23 3
Raspberry Pi Pico Lecture 4: Direct Digital Synthesis
2 months ago 00:50:02 2
Raspberry Pi Pico Lecture 5: Multicore, and Introduction to Protothreads
2 months ago 00:51:14 2
Raspberry Pi Pico Lecture 6: Protothreads and Fixed Point Arithmetic
2 months ago 00:49:59 1
Raspberry Pi Pico Lecture 7: ADC and DMA
2 months ago 00:51:07 1
Raspberry Pi Pico Lecture 8: Detecting cricket chirps and Q&A
2 months ago 00:50:57 1
Raspberry Pi Pico Lecture 9: Review session
2 months ago 00:48:14 1
Raspberry Pi Pico Lecture 10: Synchronization of Pulse-Coupled Oscillators
2 months ago 00:48:59 1
Raspberry Pi Pico Lecture 11: Boids, Bees, and Synchronization Bugs
2 months ago 00:52:36 1
Raspberry Pi Pico Lecture 12: Implementing the Boids algorithm
2 months ago 00:50:16 1
Raspberry Pi Pico Lecture 13: Computer animation and UART