ПЛИС Altera. Часть 4: доработка схемы и плата CTRL-CPLD-EPM570

Это четвертая часть цикла посвященная программируемой логике и среде разработки Quartus II компании Intel (Altera).

Ссылки на предыдущие части:

ПЛИС Altera. Часть 1: установка и настройка среды разработки.

ПЛИС Altera. Часть 2: проектирование цифровой схемы.

ПЛИС Altera. Часть 3: первая компиляция проекта

В первой части рассказывалось о загрузке и установке Quartus II Web Edition 13.1, создании пустого проекта с помощью мастера.

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

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

Четвертая часть целиком посвящена электрической части проекта: плате CTRL-CPLD-EPM570 и пробной схеме с кнопками и светодиодами.

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

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

Доработка принципиальной схемы устройства

Как Вы возможно помните, целью этой серии статей является создание простого устройства состоящего из трех логических примитивов: «И», «ИЛИ» и «НЕ». Вся логика реализуется средствами ПЛИС. А для управления этой логикой, и для отслеживания состояния схемы предполагается использование набора из пяти кнопок и трех светодиодов. Перед проектированием в Quartus логической части схемы был создан набросок будущего устройства. Этот набросок приводится ниже.

В чем недостатки этой схемы?

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

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

В схеме будут использованы светодиоды красного свечения, которые начинают проводить ток при напряжении около 2 В. Вывод ПЛИС может выдавать напряжение до 3,3 В, с силой тока до 16 мА. Ток в 16 мА является вполне безопасным для светодиода, а вот напряжение в 3,3 В слишком велико. Нужен резистор, который при токе в 16 мА будет пропускать только 2 В. То есть на нем должны будут оставаться лишние 1,3 В. Используя закон Ома для напряжения 1,3 В и тока 0,016 А определяем, что необходим резистор с сопротивлением не менее 82 Ом. Можно использовать резистор и большего сопротивления, но при увеличении сопротивления, например, в 8 раз, ток через него (а значит и яркость свечения диода) уменьшится так же в 8 раз. Поэтому использовать резистор с сопротивлением более 656 Ом не стоит.

Во вторых, внимательно посмотрите на левую часть схемы. Слева ко входам логических элементов подключены кнопки. Эти кнопки, с другой своей стороны, присоединены к питанию схемы – VCC. Из схемы хорошо видно, что при замыкании любой из кнопок на соответствующий вход ПЛИС будет подано напряжение VCC. Насколько большим может быть это напряжение? Из документации на микросхемы серии Max II следует, что максимальное напряжение на входе не должно превышать 4 В. А так как напряжение питания Max II, в свою очередь, не может быть больше 3,3 В, то можно использовать его же и для управления входами схемы. VCC = 3,3 В.

Но каким будет напряжение на входе ПЛИС когда кнопка не нажата? Ответ — любым! Входы микросхем обладают очень большим сопротивлением, порядка миллиона Ом. И Max II не исключение. Поэтому даже самые маленькие токи, возникающие от наводок на металл ее выводов, будут создавать на этих выводах напряжения близкие или многократно превышающие 3,3 В. 50 Гц переменного тока в розетке. Атмосферное электричество. Статический заряд на Ваших пальцах. Все это может вызывать ложные срабатывания схемы, или даже вывести ее из строя. Поэтому вход микросхемы всегда должен быть соединен или с плюсом или с минусом ее питания. Но если входы соединить с плюсом питания, то тогда Вы не сможете ими управлять. Ведь кнопки как раз соединяют входы с плюсом питания. А если входы схемы соединить с минусом питания, то при нажатии на кнопку получится короткое замыкание! Нужны еще резисторы.

Каждый вход необходимо соединить с минусом питания через резистор. Номинал резистора не должен быть слишком маленьким, чтобы при нажатии на кнопку весь ток не ушел через него на минус питания. Но и не слишком большим, чтобы токи наводок могли свободно уходить через него на минус питания. Общей рекомендацией является применение резисторов номиналом от 10 до 47 кОм.

Таким образом, законченная схема обретает следующий вид. Смотрите рисунок ниже.

Рис 32 Full_schematic

Работа над принципиальной схемой завершена. Теперь пришло время ознакомиться с ее центральным элементом: платой CTRL-CPLD-EPM570.

Плата CTRL-CPLD-EPM570

Плата CTRL‑CPLD‑EPM570 имеет почти квадратную форму, с размерами 71х72 мм. Ее внешний вид представлен на следующей фотографии.

Рис 33 board ctrl-cpld-ep570

Плата питается напряжением 5 В от разъема в ее левом верхнем углу. Разъем обозначен цифрой 1 на фотографии. Полярность на разъеме следующая: – –(о– + То есть плюсовой контакт находится в центре разъема.

Входное напряжение 5 В поступает на микросхему стабилизатора U2, который преобразует их в 3,3 В. Стабилизатор обозначен на фотографии цифрой 2. Микросхема стабилизатора относится к 1117 серии. Максимальный ток, который она может отдать, не превышает 800 мА. Напряжение 3,3 В используется для питания ПЛИС.

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

Справа от разъема питания располагается кнопка с фиксацией. Она обозначена цифрой 4. Эта кнопка управляет питанием платы. В отжатом положении она отключает питание. Рядом с кнопкой находится светодиод D1 (цифра 5 на фотографии), который используется как индикатор питания.

В центре платы располагается сама микросхема ПЛИС: чип Altera Max II модели epm570t100c5n.

Большая часть ножек ПЛИС выведена на контактные группы P1 и P2. P1 и P2 располагаются по левому и правому краям платы соответственно. Именно к ним необходимо подключать схему, которой должна управлять ПЛИС. Все контакты на P1 и P2 подписаны номерами соответствующих ножек ПЛИС. Но не все из них доступны для пользователя. Контакты по краям P1 и P2: 88, 90, 37 и 39 заняты установленными на них перемычками. Перемычки обозначены на фотографии цифрой 6. С их помощью на соответствующие выводы ПЛИС подается необходимое для работы питание – 3,3 В. По утверждению производителя их ни в коем случае нельзя их удалять. Но фактически, в этой версии платы перемычки продублированы дорожками на плате.

Еще пять контактов P1 и P2 подключены параллельно с установленными на плате устройствами.

Вывод 44 на P2 включен параллельно с кнопкой RESET и RC‑цепочкой R11-C13. Кнопка расположена у нижнего края платы, она обозначена цифрой 7. Непосредственно под кнопкой располагается RC‑цепочка.

Выводы 43, 42, 41, 40 соединены со светодиодами красного свечения 1, 2, 3 и 4 соответственно. Группа светодиодов располагается справа от кнопки RESET и обозначена цифрой 8 на фотографии. Их токоограничительные резисторы R7‑R10 расположены непосредственно под светодиодами.

Часть контактов ПЛИС вообще не выведена на P1 и P2. Это контакты для подключения тактовых генераторов и программатора.

12 контакт ПЛИС соединен с установленным на плате генератором тактовой частоты X1 на 50 МГц. Тактовый генератор расположен в верхней части платы, под кнопкой включения питания. На фотографии он обозначен цифрой 9.

14 контакт выведен к посадочному месту для второго тактового генератора X2. Это посадочное место расположено с нижней стороны платы. Сам генератор не установлен.

Контакты 62 и 64 выведены на отдельную контактную группу P3. P3 расположена справа от микросхемы ПЛИС, она обозначена цифрой 10 на фотографии. Контакт P3 CLK2 – это вывод 62, а P3 CLK3 – вывод 64. Группу P3 предполагается использовать для подключения внешних генераторов тактовой частоты.

Для подключения программатора предназначен разъем JTAG в левой нижней части платы. На фотографии на обозначен цифрой 11. На этот разъем выведено четыре ножки микросхемы ПЛИС: 22, 23, 24 и 25.

Таким образом, часть выводов, занятых устройствами платы, недоступны для использования каким‑либо способом кроме определенного разработчиками платы CTRL‑CPLD‑EPM570. Это вывод 12 соединенный с тактовым генератором X1. И выводы 22, 23, 24 и 25 – разъем JTAG. А вывод 14 не получится использовать без пайки. Что не так уж и много, учитывая общее число выводов микросхемы.

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

Рис 34 LEDs ctrl-cpld-ep570

На схеме видно, что диоды подключены к плюсу питания. И это меняет логику управления ими, так как светодиод будет загораться при подаче логического нуля на соответствующий выход ПЛИС. И наоборот — логическая единица будет выключать диод. Такая логика управления, когда высокий логический уровень является запрещающим, а низкий — разрешающим, называется инверсной. Ранее спроектированная схема ориентирована на работу с прямой логикой. Получается, что для работы со светодиодами на плате потребуется изменить созданную в Quartus схему. Усложнить ее, добавив инверсию. Поэтому от использования предустановленных светодиодов придется отказаться. Использовать контакты включенные параллельно со светодиодами тоже не получится, так как они постоянно соединены с плюсом питания через диоды. Поэтому контакты 40, 41, 42 и 43 исключаются из списка подходящих для реализации Вашей схемы.

От использование контакта, к которому подключена кнопка RESET, тоже придется отказаться. Так как он соединяется с RC‑цепочкой R11-C13, где R11 присоединен к питанию платы. Опять инверсная логика.

После знакомства с платой можно прийти к выводу, что ни одно из установленных на ней дополнительных устройств не годится для использования в спроектированной схеме. Поэтому, выводы 90, 88, 64, 62, 43, 42, 41, 40, 39, 37, 25, 24, 23, 22, 14, 12, задействованные для подключения кнопки RESET, блока светодиодов, тактовых генераторов, питания ПЛИС и программатора, не будут использоваться в проекте.

Важно знать, что платы CTRL‑CPLD‑EPM570 идут с предварительно загруженной демонстрационной конфигурацией — четырехбитный счетчик. Эта схема тактируется генератором X1 и использует четыре предустановленных светодиода LED1-LED4. Помните об этом когда будете подключать свои схемы.

После изучения возможностей платы CTRL‑CPLD‑EPM570 и детальной проработки принципиальной схемы задуманного устройства можно переходить к настройке выводов ПЛИС в Quartus. Для настройки выводов используется инструмент «Pin Planner». Работа с этим инструментом будет описана в следующей части цикла статей. А четвертая часть на этом завершается.


Изменено: