Сигнал, формируемый или анализируемый САПР Altera Quartus II
Контакт
Цепь
1
STROBE#
N.C.
2
DATA(0)
DCLK / TCK
3
DATA(1)
nCONFIG / TMS
4
DATA(2)
nCS
5
DATA(3)
nCE
6
DATA(4)
Соединен с 10
7
DATA(5)
N.C.
8
DATA(6)
ASDI / TDI
9
DATA(7)
N.C.
10
ACK#
Соединен с шестым контактом
11
BUSY
Вход CONF_DONE / TDO
12
PE
N.C.
13
SELECT
Вход DATAOUT
14
AUTO_LF#
N.C.
15
ERR#
GND
16
INIT#
N.C.
17
SELECT_IN#
N.C.
18
GND
GND
19
GND
GND
20
GND
GND
21
GND
GND
22
GND
GND
23
GND
GND
24
GND
GND
25
GND
GND
Предлагаемая схема построена на двух микросхемах 74HCT125 (ближайший отечественный аналог — 1594ЛП8), содержащих по четыре логических элемента с тремя состояниями выхода (BUFT) в общем корпусе. Собранный согласно этой схеме (рис. 2) загрузочный кабель успешно используется автором для программирования загрузочной памяти ПЛИС семейств Cyclone и Cyclone III, а также микросхем архитектуры CPLD производства Altera.
Рис. 2. Принципиальная схема загрузочного кабеля для ПЛИС корпорации Altera
Питание микросхем загрузочного кабеля осуществляется от устройства, содержащего конфигурируемые ПЛИС, через контакт 4 диагностического разъема. При использовании в интерфейсе ПЛИС логических сигналов с уровнем 5 В на этот контакт допустимо подать напряжение питания с номиналом 5 В. Однако для подключения к микросхемам, использующим сигналы с уровнями 3,3 и 2,5 В, на контакт 4 технологического разъема следует подать питание от источника с номиналом 5 В через кремниевый диод (например, 1N4001, 4148 или им подобные). В таком случае падение напряжения на двух последовательно включенных диодах составит 1,2–1,4 В, что обеспечит питание микросхем D1 и D2 загрузочного кабеля напряжением 3,6–3,8 В. Выходные логические уровни микросхем D1 и D2 при таком напряжении питания будут соответствовать уровням LVCMOS33 и не повредят входные каскады программируемых микросхем.
Дополнительная защита от перегрузки по току как со стороны конфигурируемой ПЛИС, так и со стороны LPT обеспечена последовательно включенными согласующими резисторами. Номиналы этих резисторов выбраны из расчета обеспечения надежной защиты при устойчивом согласовании логических сигналов. Согласование особенно актуально со стороны LPT в силу большой длины интерфейсного кабеля. Падение скорости распространения сигналов, вносимое последовательными резисторами, ничтожно по сравнению с низкой скоростью вывода данных в порт LPT, в силу чего им можно пренебречь.
При подключении загрузочного кабеля к порту LPT компьютера или рабочей станции, а также к целевому устройству, содержащему ПЛИС, следует обеспечить надежное соединение корпусов устройств и выполнять соединения при снятом напряжении питания. Эта рекомендация обусловлена отсутствием опережающего соединения цепей GND в разъемах IDC-10 и DB25. Внешний вид загрузочного кабеля — функционального аналога ByteBlaster II, созданного на основе аналогичного изделия фирмы SET, показан на рис. 3.
Рис. 3. Внешний вид загрузочного кабеля для ПЛИС корпорации Altera
Переделка заключается в следующих действиях:
Отсоединить сигналы на промежуточной печатной плате от контактов кабеля LPT: DB-25.2–DB15.
Сигнал разрешения выходов TCK, TDI, TMS подключить к DB-25.14 (можно к GND— для постоянной работы выходов).
Вывод выходного резистора буфера данных TDO подключить к DB-25.11.
Отсоединить буфер, управляющий сигналом TDO, от резистора сигнала TDO и подать VCC на резистор его управляющего входа.
Соединить входной резистор буфера, управляющего сигналом TCK, с контактом DB-25.2.
Соединить входной резистор буфера, управляющего сигналом TMS, с контактом DB-25.3.
Соединить входной резистор буфера, управляющего сигналом TDI, с контактом DB-25.8.
Вход неиспользованного разрешенного буфера соединить через ЧИП-резистор 100 Ом с сигналом nSTATUS, снимаемым с IDC-10.7.
Выход разрешенного буфера, принимающего сигнал nSTATUS, соединить через ЧИП-резистор 51 Ом с контактом DB-25.13.
Вход неиспользованного разрешенного буфера соединить с контактом DB-25.5 через последовательный резистор 300 Ом.
Выход разрешенного буфера, принимающего сигнал с контакта DB-25.5, соединить с контактом IDC-10.6 через последовательный резистор 100 Ом (выход nCE).
Вход неиспользованного разрешенного буфера соединить с контактом DB-25.4 через последовательный резистор 300 Ом.
Выход разрешенного буфера, принимающего сигнал с контакта DB-25.4, соединить с контактом IDC-10.8 через последовательный резистор 100 Ом (выход nCS).
Соединить с GND контакт DB-25.15 (схема кабеля работает как с подключением к GND, так и без этого соединения, но в фирменных схемах соединение указано).
Соединить контакты DB-25.6 и DB-25.10.
Последовательный резистор 51 Ом на выходе разрешенного буфера, принимающего сигнал CONF_DONE/TDO, соединить с контактом DB-25.11.
Демонтировать диод и резистор цепи VCC_SENSE со стороны разъема DB-25 (кабеля LPT).
Установить светодиод в цепи питания вместо балластного резистора (RB = 1 кОм).
После описания аппаратных средств сопряжения компьютера или рабочей станции с конфигурируемой ПЛИС рассмотрим пошаговую методику загрузки конфигурационной последовательности ПЛИС Altera из САПР Quartus II в устройство, содержащее ПЛИС различных производителей. Предлагается рассмотреть JTAG-цепочку из четырех микросхем фирм Xilinx, Lattice-Semiconductor и Altera. Схема соединения разъема JTAG с четырьмя ПЛИС в объеме целевого устройства представлена на рис. 4.
Рис. 4. Схема смешанной JTAG-цепочки из четырех ПЛИС различных производителей
В САПР Altera Quartus II ранее был создан проект реализации в кристалле этой ПЛИС модели арбитра асинхронной системной шины [11], в результате чего был получен конфигурационный файл umsi_p_u21.pof.Помимо арбитра в этой ПЛИС CPLD присутствует Т-триггер, сбрасывающий сторожевой таймер микросхемы супервизора питания DS1232L, генерирующей аппаратный сброс RST. Синхронизация ПЛИС осуществляется от стандартного кварцевого генератора габарита 0705, формирующего синхросигнал с частотой 48 МГц. Эта частота использована для тактирования арбитра и Т-триггера. Таким образом на выходе этого триггера формируется сигнал NST с частотой 24 МГц с длительностью высокого и низкого уровней 20,83 нс. Сигнал NST поступает на вывод 7 микросхемы DS1232L, обеспечивая требования по минимальной длительности импульса NST (20 нс) для сброса сторожевого таймера. Подробное описание супервизора питания со сторожевым таймером DS1232L содержится в [10]. Реализация описанной схемы на печатной плате показана на рис. 5.