Электротехнический интернет-журнал Electrik.info

"Электрик Инфо" - онлайн журнал про электричество. Теория и практика. Обучающие статьи, примеры, технические решения, схемы, обзоры интересных электротехнических новинок. Уроки, книги, видео. Профессиональное обучение и развитие. Сайт для электриков и домашних мастеров, а также для всех, кто интересуется электротехникой, электроникой и автоматикой.
 


Схемы подключения | Принципиальные схемы | Электроснабжение
Розетки и выключатели | Автоматы защиты | Кабель и провод | Монтаж электропроводки Ремонт электротехники | Молодому электрику

Электрик Инфо » Схемы на микроконтроллерах » Что такое ПЛИС простым языком для начинающих
Количество просмотров: 93396
Комментарии к статье: 9


Что такое ПЛИС простым языком для начинающих


С чем ассоциируется цифровая электроника? В первую очередь с логическими элементами И, ИЛИ, НЕ. Далее в память приходят сдвиговые регистры, дешифраторы, мультиплексоры и прочее. Однако, по мере роста сложности электронных устройств и тенденции к миниатюризации, создание приборов на базе интегральных микросхем (ИМС) из вышеперечисленных компонентов затруднилось, заказные ИМС нужной топологии и схемотехники оправдывали себя только при крупном тиражировании устройства, в остальных случаях - это было неоправданно дорого.

Выходом из сложившейся ситуации стало развитие программируемых интегральных логических схем (сокращенно  - ПЛИС, зарубежная аббревиатура - programmable logic device, PLD). Что это такое и где используется мы расскажем в этой статье.

Содержание статьи

Что такое ПЛИС простым языком для начинающих

Отличия от микроконтроллеров

При слове "программируемый" у большинства новичков происходит ассоциация с микроконтроллерами. Не смотря на то что их также программируют, ПЛИС - это совершенно другое устройство.

Для разработчиков в микроконтроллерах доступен фиксированный набор решений и средств присущих конкретному чипу, отступить от архитектуры никаким образом не получится. Вам предоставлен набор команд, с помощью которых вы производите операции взаимодействия с окружающей средой, посредством считывания данных с цифровых и аналоговых входов и отправка сигналов исполнительным устройствам с помощью выходов.

Кроме этого вы можете производить вычисления, сохранять данные в регистрах или ПЗУ, а также оперировать данными прошитыми в память микроконтроллера. На этом в сущности и заключается назначение и особенности работы с микроконтроллерами.

Программи769;руемая логи769;ческая интегра769;льная схе769;ма (ПЛИС, англ. programmable logic device, PLD)

Программируемые логические интегральные схемы (ПЛИС) отличаются тем, что, программируя устройство вы сами создаете архитектуру из базовых логических элементов. Таким образом вы получаете высокое быстродействию и гибкость микросхемы. Это даёт возможность, не изменяя одного чипа сделать целый ряд проектов.

Обобщённо внутреннее устройство ПЛИС можно разделить на три основных группы:

1. Массив из логических элементов (макроячеек, логических блоков).

2. Блоки входа-выхода (IO).

3. Линии связи между ними и устройство, которое управляет этими связями.

Однако такое структурирование очень обобщено, немного подробнее мы рассмотрим этот вопрос ниже.

Программируя вы соединяете элементы подобно тому как бы вы это делали, собирая из отдельных элементов устройство и соединяя их входы и выходы проводниками.

 

Примечание:

Главным отличием ПЛИС от микроконтроллеров является то, что в микроконтроллере вы не можете изменять внутренних связей между простейшими элементами, а в ПЛИС на основе прописывания связей основывается программирование и работа с ними.

Выбор микроконтроллеров происходит на основе множества критериев, таких как:

  • Быстродействие и тактовая частота;

  • Объем ПЗУ и ОЗУ;

  • Количество входов и выходов.

Другие функциональные особенности и периферии, типа поддержки линий связи и протоколов (I2C, one-wire, PWM-сигнал и прочее).

При выборе ПЛИС основным критерием является количество программируемых блоков - их должно хватить для реализации задачи.

В зависимости от конкретного ПЛИС количество блоков может изменяться в широких пределах, соответственно изменяется и стоимость.

Микроконтроллер выполняет последовательно все операции, прописанные в его программе, в то время как блоки ПЛИС выполняют задачу параллельно и независимо друг от друга, поэтому сравнение этих устройств по тактовой частоте нецелесообразно. Слишком различается их принцип работы.

Типы ПЛИС

Виды

Актуальными на сегодняшний день являются два основных вида ПЛИС:

1. CPLD (Complex Programmable Logic Device - Программируемая Логическая Интегральная Микросхема, собственно это и есть ПЛИС в её классическом понимании). В ней обычно есть встроенная энергонезависимая памятью, в которую загружается прошивка.

Внутренняя структура строится на матрице макроячеек или логических блоков, а количество элементов в них лежит в пределах сотен и тысяч штук. Благодаря относительной простоте стоят дешевле чем следующий вид программируемой логики. Всё это приводит к тому, что используется CPLD в основном в схемах, где нужна высокая скорость и большое число выводов, при этом выполняют несложные задачи.

2. FPGA (Field-Programmable Gate Array - Программируемая Пользователем Вентильная Матрица, однако её часто относят к ПЛИС) - более развитые и сложные устройства по сравнению с CPLD, строятся на логических блоках с гибкой коммутаций и содержат большее число элементов (десятки или сотни тысяч штук).

Прошивка, как правило, хранится во внешней энергонезависимой памяти. Кроме простейших логических элементов в FPGA могут содержаться готовые блоки для выполнения каких-либо операций, например, блоки обработки сигнала DSP. Всё это позволяет реализовать процессор, устройства обработки сигналов и другие сложные устройства.

Интересно:

Хотя фактически наличие энергонезависимой памяти не делает программируемую логику CPLD. Это частично заблуждение. Главным отличием CPLD от FPGA является внутренняя структура.

Отличием CPLD от FPGA является внутренняя структура

Подробнее внутреннее устройство CPLD изображено на рисунке ниже.

Внутреннее устройство CPLD

А примерная схема её макроячейки выглядит таким образом:

Примерная схема макроячейки CPLD

Макроячейка состоит из программируемых мультиплексоров, триггеров (одного или нескольких) и формирует группу выходных сигналов ФБ в нескольких их вариантах.

Ниже приведен еще один пример – блок-схема CPLD микросхемы семейства MAX II фирмы Altera.

Блок-схема CPLD микросхемы семейства MAX II фирмы Altera

И структурный план микросхем этого же семейства.

Структурный план CPLD микросхемы семейства MAX II фирмы Altera

Промежуточные шины макроячейкам назначаются с помощью такого узла, как распределитель, на англ. он звучит как Logic Allocator, что изображено на схеме ниже, на ней же изображена матрица переключений (Global Routing Pool), а у выходных макроячейки (macrocells) имеют по две обратных связи.

Распределитель и матрица переключений

Внешние выводы микросхемы соединяются с выходами макроячеек через еще один блок (матрицу) – ORP (Output Routing Pool), обратите внимание, что через неё же происходит соединение ВХОДНОЙ логики с GRP, что изображено на иллюстрации ниже.

Примечание:

В некоторых CPLD есть т.н. прямые входы (Direct Input) – они соединены со входами ячеек напрямую, что уменьшает задержки.

У FPGA структура имеет вид:

Структура FPGA
  • L – логический конфигурируемый блок;

  • S (substitution block) – блок подстановок, он получает на ход определенное число бит, преобразует, по определенному алгоритму, а на выходе выдаёт другое число бит. Другими словами – дешифратор, шифратор и коммутатор.

  • C (connection block) – блок соединений.

Схема S-блока:

 

Схема S-блока

Программирование

HDL (Hardware Description Language, рус. Язык описания аппаратуры) - так называется язык с помощью которого программируются ПЛИС. Популярными и универсальными являются Verilog HDL и VHDL. Существуют и другие языки, например, присущие конкретным производителям, как AHDL для изделий компании ALTERA.

 

Разработчикам, которые работают с ПЛИС доступно графическое программирование. То есть вы можете просто рисовать логические схемы или комбинировать код с графикой. Последнее называют модульным методом разработки, когда конкретные модули прописываются, а верхний модуль, в котором всё объединяется программируется графическим способом.

Подборка полезных статей про микроконтроллеры:

Микроконтроллеры AVR для начинающих

Микроконтроллеры PIC для начинающих

Espruino, Iskra JS, микроконтроллеры программируемые на javascript

Полезная электроника своими руками, электронные самоделки в Telegram: Практическая электроника на каждый день

Примеры популярных производителей и серий ПЛИС

На момент написания статьи наиболее известными являются изделия двух производителей.

  • Altera (основана в 1983 году);

  • Xilinx (Основана в 1984 году).

Altera

У Altera есть несколько основных серий программируемой логики:

  • MAX, MAX II, MAX IIZ;

  • 7000S;

  • 3000A;

  • MAX V;

  • Cyclone;

  • Arria;

  • Stratix.

Рассмотрим каждый из них подробнее. В таблицах ниже вы видите общие сведения о микросхемах семейства.

Характеристики основных серий программируемой логики
Характеристики основных серий программируемой логики

CPLD фирмы Altera 3 CPLD:

  • MAX - это CPLD для использования в мобильных устройствах, отличительными чертами является относительно малое энергопотребление и тепловыделение. В зависимости от сложности и годов выпуска различают следующие модификации:

  • 7000S на сегодняшний день устарела, она выпущена в 1995 году.

  • 3000A - выпущена в 2002 году, производится по 300нм технологии. Состоит из небольшого числа макроячеек (32-512)

  • MAX II выпущена в 2004 году, производится по 100нм технологии, состоит из большего числа блоков (240-2210), работающих на частоте до 304МГц. Изделие выполняется в корпусах типа TQFP 0.5 mill со 100 и более ножек.

  • MAX IIZ - 2007 года, основной особенностью является пониженное энергопотребление - это положительный момент, однако и частоты понижены до 152МГц. Питание данных микросхем осуществляется от 1.8 В.

  • MAX V - 2010 год. Производится по технологии 180нм, может содержать от 40 до 2210 блоков и работать на частотах до 152МГц или на 304МГц - это зависит от количества блоков.

CPLD фирмы Altera 3 CPLD

FPGA:

  • Cyclone - это уже бюджетные микросхемы типа FPGA. Различаются пять поколений, которые маркируются греческими цифрами (от I до V соответственно). Первое поколение выпущено в 2002 году, производилось по 180нм технологии, а пятое поколение вышло в 2011 году и производится по 28нм технологии. Стоит отметить что все поколения остаются актуальными.

  • Arria - также относятся к FPGA среднего уровня.

  • Stratix - мощные FPGA.

Ниже приведены сводные таблицы по программируемой логике FPGA от компании Altera.

Характеристики ПЛИС
Характеристики ПЛИС
Характеристики ПЛИС

И полная таблица по ссылке: https://electrik.info/tablitsa.docx

У производителя Xilinx CPLD представлены сериями:

  • XC9500XL из 36-288 макроячейках. Работают на частотах до 178МГц, а модели на 288 макроячеек на 208МГц. Выполняется как в небольших корпусах с 44 пинами (выводами) на расстоянии 0.8 мм друг от друга - такие корпуса считаются легкопаяемыми. Также бывают и с 64 и со 100 ножках с шагом в 0.5 мм, а также моделями в корпусах типа PLCC.

  • Серия CoolRunner-II - это энергоэффективные, но производительные CPLD. Особенностью является питание от напряжения в 1.8В, входы-выходы рассчитаны на работу в диапазоне 1.5-3.3В. Состоят из 32-512 макроячеек и производятся по 180нм технологии. В зависимости от количества ячеек работают в диапазоне частот 179-323МГц, при этом чем меньше ячеек - тем с большей частотой они могут работать в этом случае. Встречаются в разных корпусах, в том числе легкопаяемых, как в микросхемах рассмотренной выше серии.

Компания Xilinx не обошла стороной и FPGA:

  • Spartan-6 - состоят из 6-входовых логических блоков, их количество лежит в пределах 3840-147443 штуки. Интересны тем что могут содержать контроллеры для обмена данными типа DDR2, DDR3, PCI-EXPRESS, Ethernet 1Gbit, SerialATA etc...

  • Серия Vitrex-7 отличается сложностью, микросхемы могут содержать до 2 000 000 логических блоков и 1200 контактов.

Ниже вы можете ознакомиться со сводными таблицами с характеристиками CPLD и FPGA от Xilinx 6 и 7 серии, а также Zynq-7000.

Характеристики FPGA от Xilinx 6 и 7 серии
Характеристики ПЛИС семейства Virtex-6
Характеристики ПЛИС семейства Spartan-6
Характеристики ПЛИС семейства Spartan-6
Характеристики ПЛИС
Характеристики ПЛИС

Заключение

ПЛИС и ППВМ производится и другими компаниями такими как Lattice Semiconductor (в 2002 году начала производить FPGA), Actel и небезызвестный читателям нашего сайта своими микроконтроллерами ATMEL и многие другие. На программируемой логике можно реализовать ряд устройств, в одном устройстве реализовать параллельные независимые друг от друга вычисления, однако для домашних проектов часто их покупка является финансово неоправданной, но при этом довольно разумна в производственных масштабах, как альтернатива заказным интегральным схемам.  

Алексей Бартош

P.S. Посмотрите видео, в нём вы увидите пример реализации игровой приставки Nintendo на FPGA:

 

Популярные публикации:

Надеюсь, что эта статья была для вас полезной. Смотрите также другие статьи в категории Схемы на микроконтроллерах

Подписывайтесь на канал в Telegram про электронику для профессионалов и любителей: Практическая электроника на каждый день



Поделитесь этой статьей с друзьями:


Другие статьи с сайта Электрик Инфо:

  • Микроконтроллеры PIC для начинающих
  • Виды современных интегральных микросхем - типы логики, корпуса
  • Логические микросхемы. Часть 1.
  • Язык функциональных блоковых диаграмм (FBD) и его применение
  • Программируемые логические контроллеры для домашней автоматизации
  • Сколько микроконтроллеров в современном автомобиле?
  • Виды и устройство микроконтроллеров AVR
  • Что такое микроконтроллеры - назначение, устройство, софт
  • Что такое встроенные системы, где они применяются и как разрабатываются
  • Логические микросхемы. Часть 2 - логические элементы
  • Категория: Схемы на микроконтроллерах

    Цифровая электроника, Микросхемы, Промышленная автоматизация

      Комментарии:

    #1 написал: Андрей |

    ПЛИС обладают всеми достоинствами специализированных ИС, но не требуют значительных затрат времени на разработку и изготовление. Однако без надлежащих средств проектирования все указанные преимущества ПЛИС и ППВМ ничего не значат. Эти средства проектирования не только должны быть простыми в применении, надежными и эффективными, но им нельзя также отставать в своем развитии от развития и совершенствования различных приборов данного класса. Особенно важную роль играет то обстоятельство, что средства проектирования схем на ПЛИС должны быть хорошо объединены и состыкованы со всеми остальными средствами проектирования и конструирования схемных плат. Например, важную роль при выявлении проектных ошибок играет совместное функциональное моделирование ПЛИС со всеми остальными компонентами схемной платы.

      Комментарии:

    #2 написал: Максим |

    Привет всем, Я разработчик ПЛИС с опытом работы более 4 лет и пытаюсь направить свою карьеру в сторону проектирования ASIC. Мне было интересно, есть ли какие-нибудь хорошие книги по проектированию ASIC, специально предназначенные для разработчиков FPGA, чтобы они могли изучить концепции ASIC, которые в противном случае не нужны разработчикам FPGA. Любой совет будет принят во внимание! Кроме того, если есть какие-то разработчики ASIC - если вы могли бы направить меня на правильный путь относительно того, какие важные концепции ASIC нужно исследовать и обращать внимание, которые имеют решающее значение для дизайна ASIC, но не появляются часто и вообще мир проектирования FPGA.

      Комментарии:

    #3 написал: Кирилл Иванов |

    ПЛИС - это очень важные элементы современной электроники. Эти схемы позволяют реализовать определяемые пользователем логические функции, аналогичные пользовательским ASIC, но с гораздо меньшими затратами на разработку. Программируемые логические схемы не новы. Первыми программируемыми цифровыми элементами можно считать памяти PROM, которые начали появляться на рубеже шестидесятых и семидесятых годов двадцатого века. Схемы, называемые FPGA (программируемые пользователем вентильные матрицы), имеют наиболее общую структуру из всех программируемых пользователем схем и обычно содержат наибольшее количество используемых логических ресурсов. Схема FPGA состоит из настраиваемых логических блоков (CLB), блоков ввода-вывода (IOB), программируемых матриц межсоединений и средств конфигурации, которые управляют конкретными настройками каждого блока и их взаимосвязью. Кроме того, отдельные производители добавляют к ПЛИС дополнительные функциональные блоки, которые расширяют возможности их схем. Включение микропроцессоров в ПЛИС в последние годы не является чем-то новым. Некоторые старые высокопроизводительные ПЛИС включали микропроцессор PowerPC 4xx или ARM с набором инструкций версии 2. После перерыва в несколько лет производители начали возвращаться к этому варианту, и появились новые ПЛИС со встроенными многоядерными процессорами ARM Cortex-A9. в продаже. Таким образом, он представляет собой интересную альтернативу обычным SoC благодаря своей программируемости.

      Комментарии:

    #4 написал: Сергей |

    Программируемые логические схемы используются сегодня во многих областях, где требуются высокая вычислительная мощность, реконфигурируемость оборудования, высокая степень интеграции, обработка большого количества сигнальных линий и т. д.  Самый распространенный способ сегодня - использовать язык HDL. В этой области существует два строгих стандарта, предлагающих разработчикам почти идентичные возможности, а именно очень распространенный язык VHDL и язык Verilog, который особенно популярен на американском континенте. Расширения обоих языков сопоставимы, и отдельные среды разработки также обычно поддерживают оба языка.

      Комментарии:

    #5 написал: Сергей Сергеевич |

    Логическая схема — это электронная схема, работающая с дискретными состояниями. Они состоят из так называемых логических элементов (также называемых воротами). Напротив, цифровые системы состоят из логических схем. В отличие от аналоговых электронных схем, в основе которых лежит непрерывная форма информации (механические часы), в логических схемах информация представляется и обрабатывается в дискретной форме (цифровые часы). Компоненты логических схем (например, транзисторы) работают в принципе аналогово. Однако они используются в режиме переключения, что позволяет им абстрагироваться от своей аналоговой природы и обращаться с ними так, как если бы они были дискретными. На границе аналоговых и цифровых электронных схем находится, например, компаратор, возвращающий логическую величину в результате сравнения двух аналоговых напряжений, или аналого-цифровые и цифро-аналоговые преобразователи, преобразующие аналоговые величины в цифровую форму и наоборот. Преобразование аналоговой величины в цифровую форму приводит к округлению и так называемому шуму квантования. Логические схемы могут быть реализованы не только электронными, но и на электромеханических, чисто механических, оптических и других принципах. Однако сегодня эти реализации имеют незначительное значение по сравнению с преобладающей электроникой. Логические схемы делятся на комбинационные логические схемы и последовательные логические схемы. Комбинационные схемы — это такие схемы, в которых значения выходных переменных являются только функцией значений входных переменных. Таким образом, выходные значения зависят только от комбинации входных значений. И наоборот, последовательные схемы — это схемы, в которых выходные значения зависят не только от комбинации входных значений, но и от определенной последовательности предыдущих входных значений, которая сохраняется как так называемое внутреннее состояние схемы (поэтому они должны иметь память). 

      Комментарии:

    #6 написал: Михаил |

    ПЛИС (программируемые логические интегральные схемы) и микроконтроллеры являются двумя различными классами интегральных схем, используемых в электронике.

    Основное отличие между ПЛИС и микроконтроллерами заключается в том, что ПЛИС являются программируемыми логическими устройствами, которые могут быть сконфигурированы для выполнения определенных логических функций или задач. С другой стороны, микроконтроллеры - это интегральные схемы, которые включают в себя центральный процессор, память и периферийные устройства, которые могут быть программно настроены для выполнения определенных задач.

    ПЛИС позволяют создавать свои собственные цифровые устройства, в то время как микроконтроллеры часто используются для управления существующими устройствами, такими как датчики, моторы, дисплеи и т.д.

    Также, ПЛИС обычно имеют большее количество логических ячеек, чем микроконтроллеры, что позволяет им обрабатывать большие объемы данных быстрее и более эффективно.

    В заключение, можно сказать, что ПЛИС и микроконтроллеры имеют свои уникальные особенности и применения. ПЛИС обычно используются для создания новых цифровых устройств и систем, в то время как микроконтроллеры - для управления существующими устройствами.

      Комментарии:

    #7 написал: Николай |

    ПЛИС (программируемые логические интегральные схемы) - это тип полупроводниковых устройств, которые позволяют программировать их функциональность для выполнения различных задач. Вместо использования фиксированных проводок и вентилей, ПЛИС содержат программируемые соединения и логические элементы. Это позволяет настраивать ПЛИС под конкретные потребности и менять их функциональность в соответствии с требованиями проекта. ПЛИС широко используются в различных областях, таких как телекоммуникации, авиационная промышленность, медицинская техника и другие. ПЛИС - это гибкое и мощное средство для создания электронных устройств и реализации сложных задач с помощью программирования и конфигурации.

      Комментарии:

    #8 написал: Леонид Хованский |

    ФГПА позволяет реализовать почти любой конечный автомат. Микроконтроллер, это готовый конечный автомат, транслирующий инструкции, где конечный автомат это алгоритм и данные. У ФГПА ввод-вывод только 1 и 0 (двоичный). У МК бывает 1005000 периферий, цап, ацп, радиомодули, драйверы почти любых протоколов на почти любых физических принципах. 

      Комментарии:

    #9 написал: Сергей |

    ПЛИС (Программируемая Логическая Интегральная Схема) - это электронный компонент, который может быть запрограммирован для выполнения различных логических функций. ПЛИС используются в различных отраслях, включая электронику, телекоммуникации, автоматизацию и обработку сигналов. ПЛИС состоят из большого количества логических элементов, которые могут быть соединены различными способами для реализации различных логических функций. Программирование ПЛИС осуществляется с помощью специальных программ, которые определяют, какие логические элементы и как будут соединены. ПЛИС являются очень гибкими и универсальными компонентами, которые могут быть использованы для решения самых разных задач. Они часто используются в системах управления, где необходимо быстро и эффективно обрабатывать большое количество данных.

    Присоединяйтесь к нам в социальных сетях:

    ВКонтакте | Facebook | Одноклассники | Электрик Инфо на Яндекс Дзен

     

    Популярные разделы сайта:

    Электрика дома  Электрообзоры  Энергосбережение
    Секреты электрика Источники света Делимся опытом
    Домашняя автоматика Электрика для начинающих
    Практическая электроника Электротехнические новинки
    Андрей Повный - все статьи автора



    Copyright © 2009-2024 Электрик Инфо - Electrik.info, Андрей Повный
    Вся информация на сайте предоставлена в ознакомительных и познавательных целях.
    За применение этой информации администрация сайта ответственности не несет.
    Перепечатка материалов сайта запрещена.