Предлагаемая схема построена на двух микросхемах 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 на резистор его управляющего входа.
Вход неиспользованного разрешенного буфера соединить через ЧИП-резистор 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.