Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблемы с JTAG у Cyclone III (C40F484)
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Вовка_Бызов
Имеем девайс на основе EP3C40F484. Интерфес программирования был слизан с девайса на основе EP3C25F324. Используются два JTAG-разъема - один для программирования EPROM, а другой - для доступа непосредственно к ПЛИС. Естественно, при слизывании номера контактов проставлены в соответствии с документацией. Отличие от хэндбука состоит лишь в том, что сигналы TMS и TDI подтянуты к VCCA через 10кОм. В старом девайсе это работало...

А вот в новом возникли проблемы - при попытке достучаться непосредственно к ПЛИС выдается сообщение (JTAG отладчиком):
Код
!Error: JTAG chain problem detected
!Error: No device detected
!Error: The TDO connection to the download cable might be shorted to VCC or is an open circuit
!Error: The TCK and TMS connections to the last device might have problem

При исследовании вопроса действительно цепь TDO выглядит висящей в воздухе (судя по поведению луча осциллографа - цепь в третьем состоянии и чувствительна к наводкам), хотя разъем звонится нормально до последнего доступного переходного отверстия.

При этом второй JTAG нормально пишет данные в EPROM, откуда они успешно попадают по включению питания в FPGA.

В чем может быть проблема? Не хочется верить, что все дело в величине резисторов.. Ну - или из-за плохой пайки FPGA sad.gif
Serhiy_UA
Какой хендбук и какой номер схемы взят за основу?

Зачем два разъема JTAG, может достаточно одного?
Есть же JTAG и Serial FlashLoader (SFL), хватает одного разъема и двух файлов *.sof и *.jic... Все описано в AN 370 «Using the Serial FlashLoader with the Quartus II Software».
Вовка_Бызов
Цитата(Serhiy_UA @ Mar 14 2012, 16:44) *
Какой хендбук и какой номер схемы взят за основу?

Зачем два разъема JTAG, может достаточно одного?
Есть же JTAG и Serial FlashLoader (SFL), хватает одного разъема и двух файлов *.sof и *.jic... Все описано в AN 370 «Using the Serial FlashLoader with the Quartus II Software».


Такое подключение использовалось как-то исторически.. Возможно, что оно неверно - почитаю, посмотрю.. Главное, чтобы принцип не изменился - бо документацию никто переделывать не будет для завода..

Как я понял, за основу взята схема, аналогичная представленной в Fig 10-24 (JTAG Configuration of a Single-Device Using a Download Cable) Cyclone III Device Handbook от октября 2008 (CIII5V1-2.1).
Второй JTAG (который и работает сейчас) подключен по схеме 10-7 (In-System Programming of Serial Configuration Devices) из того же хендбука.

P.S. Возможно ли, чтобы ПЛИС выдавала на свою ногу TDO неопределенность в штатном режиме? Если да - то что именно должно заставить эту ногу стать активной? Может я ищу не там - вдруг TDO не активируется из-за того, что ПЛИС не получает что-то с JTAG-разъема? Ведь до сих пор такая схема работала!..
Serhiy_UA
Цитата(Вовка_Бызов @ Mar 15 2012, 08:52) *
... Ведь до сих пор такая схема работала!..

Возможно, пайка... Иначе, еще раз перепроверить цепи и условия под рисунком ...

Использовал один разъем, как на Figure 9-30, этого достаточно.
Вовка_Бызов
Цитата(Serhiy_UA @ Mar 15 2012, 09:17) *
Возможно, пайка... Иначе, еще раз перепроверить цепи и условия под рисунком ...

Использовал один разъем, как на Figure 9-30, этого достаточно.

ну - схема абсолютно идентичная.. Даже подтягивающие резисторы именно по 10кОм... Хотя в хендбуке они стоят по 1 кОм.. И - самое обидное - интерфес к SEPROM работает и плисина грузится.. Но на прямую (через основной разъем) не хочет..

Как-то надо поисследовать сигналы от ПЛИС.. Пошел звонить все ноги разъема..

ЗЫ. Как я понял - через один разъем можно программировать SEPROM нограми ПЛИС при загрузке специализированного проект.. Хитро.. Надо попробовать определенно.. Но документацию менять очень не хочется.. sad.gif
Serhiy_UA
Возможно, не верные параметры программатора для JTAG при загрузке и программировании через USB Blaster с *.sof и *.jic...

В приложении картинки программатора от нормально работавших случаев для JTAG.

В моем случае корпус PQFP-240, но это ничего не меняет...
Вовка_Бызов
Цитата(Serhiy_UA @ Mar 15 2012, 10:42) *
Возможно, не верные параметры программатора для JTAG при загрузке и программировании через USB Blaster с *.sof и *.jic...

В приложении картинки программатора от нормально работавших случаев для JTAG.

В моем случае корпус PQFP-240, но это ничего не меняет...


На форуме матом можно ругаться? wink.gif Кажется нашел причину..

В общем так. Я ж сигналы на разъеме все-все проверил - но(!) кроме одного. Самого главного.. GND называется.. А наши конструктора умудрились подвести к контактным площадкам разъема землю по внутреннему слою. И нету земли на разъеме JTAG!!! А теперь оправдываются, что, типа, PCAD не ругался почему-то.. В общем - с нетерпением жду конца обеда - и в цех..


Можно еще один вопрос - по ходу но не совсем в тему. Я тут сваял цепь перезагрузки ПЛИС при обнаружении сбоя (используется внутренний контроль). В связи с отсутствием опыта в данном деле - хочу спросить 1. Какую скорость (какой делитель для 80 МГц) надо устанавливаться в проекте и на что этот самый делитель влияет (ну - кроме собственно скорости проверки).. и 2. - Как можно проиммитрировать появление сбоя в ПЛИС? Чтобы вот эта собранная схемка сработала?

Спасибо.
Вовка_Бызов
Все, основной вопрос снят, тема закрыта, всем огромное спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.