Программируемая логика: создайте модуль CPLD самостоятельно

Новости

ДомДом / Новости / Программируемая логика: создайте модуль CPLD самостоятельно

Jul 24, 2023

Программируемая логика: создайте модуль CPLD самостоятельно

Комплексное программируемое логическое устройство (CPLD) — отличное аппаратное обеспечение, которое должно быть в вашем арсенале. Как следует из названия, вы можете запрограммировать эти микросхемы для выполнения необходимых вам логических функций. Это может

Комплексное программируемое логическое устройство (CPLD) — отличное аппаратное обеспечение, которое должно быть в вашем арсенале. Как следует из названия, вы можете запрограммировать эти микросхемы для выполнения необходимых вам логических функций. Это может быть замена устаревшего чипа или просто способ изучить и опробовать разные методы. Какой лучший способ научиться, чем взять в руки CPLD и попробовать?

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

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

Чтобы реализовать легко паяемый комплект, я использовал более старую деталь CPLD, которая также имеет версии на 3,3 В и 5 В, которые сохраняют свое программирование независимо от питания. Сама логика представляет собой микросхему CPLD семейства Altera Max в двух версиях, которые подходят для платы с 32 или 64 макроячейками. Макроячейка является базовым строительным блоком логики, она программируется с помощью логических «терминов», а затем соединяется с другими макроячейками через программируемое соединение.

Глядя на схему, можно сказать, что в ней не так уж много: в основном CPLD, схема внутрисхемного программирования и генератор для управления логикой CPLD.

Эта деталь, известная как EPM7032 и EPM7064, поставляется в виде 44-контактного держателя микросхем с пластиковыми выводами (PLCC), который иногда называют J-образным выводом из-за J-образной формы выводов. Этот корпус можно вставить в сквозное гнездо или припаять непосредственно к печатной плате.

Встроенный генератор включен в комплект, чтобы CPLD мог выполнять операции с сохранением состояния и самостоятельно создавать быстрые счетчики без необходимости использования внешних часов. Если доступен внешний тактовый сигнал, то более высокоскоростной тактовый сигнал на модуле можно использовать для создания события тактового сигнала при каждом нарастающем или спадающем фронте внешнего тактового сигнала, при этом соблюдая рекомендации для CPLD/FPGA, в которых говорится, что вам действительно следует использовать внутреннюю глобальную сеть синхронизации и не управлять входом тактовой частоты «асинхронно». Этот генератор рассчитан на напряжение питания от 1,8 до 5,5 вольт.

Если вы посмотрите видео, вы увидите, как я обсуждаю свои личные предпочтения в отношении того, как я обращаюсь с контактом включения «INH» на генераторе; Проще говоря, я склонен оставлять его плавающим после того, как проверю по спецификации, что это законно.

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

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

10-контактный разъем и несколько резисторов составляют схему программирования. Если бы все резисторы были подтягивающими, я бы использовал сеть резисторов, но, увы, один из них заземляется.

Для такого программирования автономного CPLD необходим специальный программатор. Мне легко говорить, так как обычно у меня их несколько, но если у вас их нет, войти в игру не так уж и больно. Одобренный «Altera USB Blaster» стоит 50 долларов и доступен в таких местах, как Digikey. У меня есть несколько клонов, которые я купил на Ebay, в том числе один, который поддерживает Altera, Xilinx и Lattice в одном. В Интернете есть проект и код для создания собственного клона, и он есть в моем списке возможных видео по созданию проекта создания клона программиста. Я также покажу конструкцию экрана, где основная плата, Arduino, PIC и т. д. могут выполнять программирование.