9zip.ru Инструкции Технология с изменением цифровой схемы пользователем, в том числе и в процессе работы
Самый оптимальный вариант не только для радиолюбителя, но и для реальных промышленных и научных разработок - купить на Aliexpress дешевый (порядка $120) starter kit для FPGAшной ПЛИС Xilinx Spartan-3 или Spartan-3E. Это плата, на которой смонтирована ПЛИСина и куча разъемов и обвязки. Фактически это полноценный компьютер (с видео, аудио, клавой и мышью, IDE-интерфейсом) с изменяемой пользователем архитектурой, т.е. вся цифровая часть (процессор и чипсет для обычных ПК) изменяется на уровне железа. В комплекте идут диски с САПР для проектирования железа, документацией и полная схема процессора (в виде функциональных схем из модулей и на языках описания железа VHDL, Verilog). Естественно при необходимости в схему вводятся блоки для специализированной высокоскоростной обработки данных -- криптография, обработка сигналов, различные мат.функции и т.п.
В качестве другого примера можно привести ZX Spectrum -совместимый компьютер Sprinter 2000, в котором используется ЦП Z80 и FPGA для подключения к ЦП динамической памяти на SIMM 4 Mb, PC-клавиатуры, дисковода, ATA HDD и 8-битных плат с интерфейсом ISA. При этом FPGA выполняет функции контроллера дисковода, ATA HDD, драйвера шин Z80, IDE и ISA и другие относительно сложные функции. Некоторое довольно продолжительное время ПетерПлюс продавал эти компьютеры под заказ с ценой порядка $150.
Буквально вчера наткнулся на проект компьютера Amiga 500, реализованного на FPGA в виде платы 12х12 см. По заверениям авторов, в FPGA реализовано все железо Амиги (специализированные сопроцессоры аудио и видео, контроллер памяти), кроме ЦП Motorola и ОЗУ, и компьютер на 100% работает как настоящая Амига.
Элементной базой этой технологии являются программируемые матрицы. В России самыми доступными на текущий момент являются матрицы фирм Altera и Xilinx.
Очень здорово, что за последние 2 года очень подешевели ПЛИСы: особенно интересна серия Altera Cyclone: самая жирная ПЛИСина EP1C6 стоит всего 1300 р, но позволяет реализовать очень сложные цифровые системы: 16/32-битные процессоры, специализированные устройства цифровой обработки сигналов (DSP), высокоскоростные вычислители и т.п. Для замены кучи мелких цифровых элементов в схемах (всякие там ИЛИ-НЕ, регистры, счетчики, дешифраторы) отлично подходит серия MAX3000A (EPM3032..EPM3128): прошивка в этих ПЛИСах энергонезависима (CPLD, толстые ПЛИСины делаются по технологии FPGA и требуют загрузку прошивки при каждом включении из специального загрузочного ROMa или контроллером) -- прошил схему и можно считать полученную ПЛИСину заказной БИС. Кроме того, прошивку в них можно менять несколько десятков раз (Flash у них намного менее устойчива чем у контроллеров, есть данные что выдерживает всего лишь не более 50 циклов перезаписи).
Вообще для устройств, не идущих в серию (различные железки в единичных экземплярах), требующих высокого быстродействия, есть смысл вообще забыть о микроконтроллерах -- использовать толстую ПЛИСину, засунуть в нее один или несколько простых процессоров как часть прошивки, подключить к ПЛИСине ОЗУ, и получить мощный специализированный компьютер. Если потребуется его пустить в большую серию, проект на VHDL (язык для описания цифровых устройств, компилируется в прошивку конкретного типа ПЛИС закрытого бинарного формата) отсылается изготовителю ASIC (заказных СБИС). Кстати, именно поэтому прошивки для ПЛИС нужно писать только на VHDL - это де-факто стандартный язык для синтеза масок для производства заказных СБИС.
Принцип работы: на кристалле выполнена матрица из логических элементов (вентилей) одного или нескольких типов. При конфигурировании (прошивке, загрузке) матрицы выполняется электрическое соединение выводов вентилей между собой с использованием в качестве коммутационных элементов структур Flash (энергонезависимой памяти) или SRAM (статической памяти). В терминологии фирмы Altera матрицы на основе Flash называются CPLD (? Programmable Logic Device), а на основе SRAM FPGA (Field Programmable Gate Array).
Современные FPGA-матрицы включают в себя не только сотни тысяч вентилей, но и более сложные структурные единицы (блоки статической памяти, процессоры, контроллеры шины и т.д.). ПЛИС с такими сложными блоками в документации Altera называются SoC (System on Chip, система на кристалле).
Для электронщиков-любителей (с точки зрения монтажа, то есть типов корпусов) сейчас наиболее доступны матрицы Altera CPLD EPM3xxx (структура энергонезависима, до 50 циклов загрузки) и EPF10K (структура должна загружаться при включении, число циклов загрузки не ограничено, возможна динамическая загрузка в процессе работы в зависимости от выполняемой задачи). Соответственно цены порядка от 80 р (EPM3032 PLCC44) до 500 р (EPM3512) для CPLD и от 900 р (EPF10K10) до 2500 (EPF10K50).
Применение таких матриц позволяет любому инженеру или любителю паяльника создавать современные устройства управления, сопряжения цифровых систем, вычислительные устройства и устройства цифровой обработки сигналов с рабочими частотами до 150 МГц.
Проектирование цифровых систем на ПЛИС выполняется с использованием специализированных САПР типа MAX+PLUS, Quartus (для матриц Altera) на языке описания цифровых устройств AHDL и более распространенным и стандартном VHDL и Verilog. После описания цифрового устройства на VHDL, его отладки и верификации в симуляторе проект на VHDL компилируется в файл прошивки закрытого формата, содержимое которого определяется конкретным используемым типом матрицы.
Далее файл прошивки загружается через LPT-кабель с ПК (при макетировании устройства), специализированной микросхемы Flash-памяти или с помощью обычного контроллера в одну или несколько матриц. С момента загрузки матрица превращается в разработанное цифровое устройство и выполняет свои функции точно так же, как если бы устройство было реализовано в заказной микросхеме или на ведре дискретной логики.
ПЛИС-технология позволяет даже в любительском устройстве избавиться от кучи жесткой логики (см. например схемы ZX Spectrum), использовать современные микросхемы и модули (модули динамической памяти SIMM/DIMM, USB-драйверы, микросхемы интерфейса с шиной PCI, многоразрядные АЦП/ЦАП), на ходу менять схемотехнику устройства и реализовывать специализированные цифровые устройства, в том числе и с параллельной обработкой данных.
Чаще всего ПЛИС-устройства включают в себя 8/16-битный контроллер или процессор, которые осуществляют общее управление системой, загрузку прошивок в матрицы, обслуживают низкоскоростной ввод/вывод (например интерфейс RS-232) и выполняют вычисления, не требующие высокой скорости или полноценного параллелизма. ПЛИС в этом случае выполняет коммутацию процессора, памяти и специализированных цифровых микросхем, выполняет функции контроллера шины, специализированного сопроцессора, но при определенных навыках разработчика может также включать в себя несколько процессорных блоков произвольной архитектуры.
Особую роль ПЛИС играют при использовании в качестве устройств высокоскоростной цифровой обработки сигнала (DSP), таких как фильтры, процессоры эффектов, видеопроцессоры, пакетные мультиплексоры в системах передачи данных и т.п., где последовательный характер работы процессоров и микроконтроллеров не позволяет их использовать из-за скоростных ограничений.
В Сети сейчас существует несколько ресурсов типа http://www.opencore.org, на которых размещены проекты различных достаточно сложных цифровых устройств, которые вы можете использовать в своих разработках на условиях открытой лицензии GPL.
11 нравится?
7 30.05.2015 ©
9zip.ru Авторские права охраняет Роскомнадзор
| Понравилась статья? Боярский говорит: поделись с друзьями! |
|
, Краткий обзор программ записи переговоров, описываются достоинства и недостатки, как аппаратные, так и программные.