Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не работает цепочка JTAG
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Alexander123
Здравствуйте!
Проблема заключается в следующем, есть две одинаковые платы на каждой из них в JTAG цепочку подключены CPLD (XC2C64A), FPGA (XC3S400), FLASH_PROM (XCF02S). Каждая плата по отдельности нормально работает с программатором. Когда соединяю эти две платы в цепочку, ничего не работает. Смотрел осциллографом сигналы, вроде все в норме, звона нет, уровни нормальные. Питание у каждой платы свое, свои стабилизаторы, а всясистема запитана от лабораторных источников.
В чем может быть дело? Помогите плиз!
iosifk
Цитата(Alexander123 @ Dec 16 2008, 15:46) *
Когда соединяю эти две платы в цепочку, ничего не работает.

А сигнал управления? TMS?
у меня на сайте есть статьи о JTAG и там есть картинки по подключению нескольких микросхем в цепочку... Посмотрите, все ли правильно Вы включили...
Alexander123
Цитата(iosifk @ Dec 16 2008, 16:41) *
А сигнал управления? TMS?
у меня на сайте есть статьи о JTAG и там есть картинки по подключению нескольких микросхем в цепочку... Посмотрите, все ли правильно Вы включили...


Все сигналы посмотрел, все ок! Может быть дело в том, что платы имею свои стабилизаторы питания? Устройства соединеные в единую последовательность не должны иметь одни цепи питания?
iosifk
Цитата(Alexander123 @ Dec 16 2008, 17:20) *
Все сигналы посмотрел, все ок! Может быть дело в том, что платы имею свои стабилизаторы питания? Устройства соединеные в единую последовательность не должны иметь одни цепи питания?

Насколько я помню, автомат JTAG-контроллера после 4 или 5 тиктов синхрочастоты при наличии на TMS = 1 делает сброс.
А кто мешает для эксперимента сделать общее питание?
Теперь второй сюжет - это плохие фронты на ТСК. Попробуйте уменьшить тактовую частоту на 2 порядка. Если дело в затягивании фронтов, то здесь Вы увидите результат. Попробуйте сделать R или RC фильтры по TCK при переходе с платы на плату, чтобы убрать всплески на фронтах. Может быть это даст эффект.
У Ксайлинкса есть режим тестирования порта JTAG. Проверьте еще раз сигналы.
Если умеете работать с LPT портом, то можно подать на всю цепочку команду Bypass и изменить уровень данных на входе в цепочку проверить на сколько тактов он задерживается в цепочке.
Попробуйте поставить какую нибудь программу для сканирования цепочки, чтобы она Вам показала, что происходит, например UniversalScan.
Формально можно взять триггер, встроить в цепочку. Теоретически должно появиться неизвестное устройство...
Может еще Ксайлинкс по разному настроен для программирования каждой платы?
Больше пока ничего не видно...
Alexander123
Цитата(iosifk @ Dec 17 2008, 09:22) *
Насколько я помню, автомат JTAG-контроллера после 4 или 5 тиктов синхрочастоты при наличии на TMS = 1 делает сброс.
А кто мешает для эксперимента сделать общее питание?
Теперь второй сюжет - это плохие фронты на ТСК. Попробуйте уменьшить тактовую частоту на 2 порядка. Если дело в затягивании фронтов, то здесь Вы увидите результат. Попробуйте сделать R или RC фильтры по TCK при переходе с платы на плату, чтобы убрать всплески на фронтах. Может быть это даст эффект.
У Ксайлинкса есть режим тестирования порта JTAG. Проверьте еще раз сигналы.
Если умеете работать с LPT портом, то можно подать на всю цепочку команду Bypass и изменить уровень данных на входе в цепочку проверить на сколько тактов он задерживается в цепочке.
Попробуйте поставить какую нибудь программу для сканирования цепочки, чтобы она Вам показала, что происходит, например UniversalScan.
Формально можно взять триггер, встроить в цепочку. Теоретически должно появиться неизвестное устройство...
Может еще Ксайлинкс по разному настроен для программирования каждой платы?
Больше пока ничего не видно...


спасибо за идеи. smile.gif буду разбираться... yeah.gif
Mad_max
Цитата(Alexander123 @ Dec 16 2008, 15:46) *
Здравствуйте!
Проблема заключается в следующем, есть две одинаковые платы на каждой из них в JTAG цепочку подключены CPLD (XC2C64A), FPGA (XC3S400), FLASH_PROM (XCF02S). Каждая плата по отдельности нормально работает с программатором. Когда соединяю эти две платы в цепочку, ничего не работает. Смотрел осциллографом сигналы, вроде все в норме, звона нет, уровни нормальные. Питание у каждой платы свое, свои стабилизаторы, а всясистема запитана от лабораторных источников.
В чем может быть дело? Помогите плиз!

Было нечто подобное. Плата с плиской питалась от одного компа, а прошивалась плиска с другого компа.
Цепочка тоже не обнаруживалась до тех пор, пока у всей этой системы не сделал общую землю.
Alexander123
Цитата(iosifk @ Dec 17 2008, 09:22) *
Насколько я помню, автомат JTAG-контроллера после 4 или 5 тиктов синхрочастоты при наличии на TMS = 1 делает сброс.
А кто мешает для эксперимента сделать общее питание?
Теперь второй сюжет - это плохие фронты на ТСК. Попробуйте уменьшить тактовую частоту на 2 порядка. Если дело в затягивании фронтов, то здесь Вы увидите результат. Попробуйте сделать R или RC фильтры по TCK при переходе с платы на плату, чтобы убрать всплески на фронтах. Может быть это даст эффект.
У Ксайлинкса есть режим тестирования порта JTAG. Проверьте еще раз сигналы.
Если умеете работать с LPT портом, то можно подать на всю цепочку команду Bypass и изменить уровень данных на входе в цепочку проверить на сколько тактов он задерживается в цепочке.
Попробуйте поставить какую нибудь программу для сканирования цепочки, чтобы она Вам показала, что происходит, например UniversalScan.
Формально можно взять триггер, встроить в цепочку. Теоретически должно появиться неизвестное устройство...
Может еще Ксайлинкс по разному настроен для программирования каждой платы?
Больше пока ничего не видно...


Разобрался с проблемой! Подключил обе платы к одним и тем же источникам напряжений +3.3В, +1.2В, +2.5В и все сразу стало работать. Следовательно все устройства сидящие в одной JTAG цепочке должны питаться от одного источника питания (стабилизатора).
dvladim
Цитата(Alexander123 @ Jan 20 2009, 16:42) *
Следовательно все устройства сидящие в одной JTAG цепочке должны питаться от одного источника питания (стабилизатора).

Землями они должны быть соединены (если нет гальванической развязки).
YuP
Дабы не заводить новой темы решил спросить в этой ветке.

Стоит задача связать в цепочку несколько плат (5) JTAG цепочкой. В цепочке предполагается 18 устройств раскиданных по разным платам. То что касается питания, я вроде понял. Общую землю на платы и должно все быть хорошо. Остался вопрос по поводу сигналов TCK и TMS. Ведь они с одной платы будут расходится на 18 устройств(микросхем). Понимаю что это не хорошо. Собственно вот и подошёл к вопросу.
Может кто делал такие длинные цепочки и порекомендует что-нибудь.Какие-нибудь буферы,резисторы.Вообщем буду благодарен за любую инфу.
dvladim
Цитата(YuP @ May 5 2009, 09:04) *
Какие-нибудь буферы,резисторы.

Видел в рекомендациях - на каждые 5 схем ставят буфер. Естественно буфера ставят на TCK и TMS. В вашем случае, видимо, по буферу на плату. Ну и не забывать следить, чтобы по питанию и уровням цепочка была согласована.
YuP
Цитата(dvladim @ May 5 2009, 22:19) *
Видел в рекомендациях - на каждые 5 схем ставят буфер. Естественно буфера ставят на TCK и TMS. В вашем случае, видимо, по буферу на плату. Ну и не забывать следить, чтобы по питанию и уровням цепочка была согласована.


Спасибо за ответ.Примерно так и думал.А нет ссылки на рекомендацию?Или какие буферы предпочтительней?
Был бы очень признателен.
maugli
Посмотрите у XILINX в DS593 (v1.2) страница 25 .
rv3dll(lex)
Ещё одна проблема.
Есть несколько плат, которые по одной шьются как надо. На каждой плис и конфигурационное пзу
Когда эти несколько плат (больше десятка) соединяются последовательно на первый взгляд всё хорошо. Импакт находит цепочку, но устойчиво программировать желает только первые несколько штук, а остальные через пень колоду, и чем дальше они от входа, тем хуже. CLK и TMS забуферированы через CPLD на каждые 8 устройств - фронты хорошие. Уменьшение частоты ничего не даёт, даже как будто на максимальной частоте шьётся лучше.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.