реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3  
Closed TopicStart new topic
> Xilinx Kintex-7 XC7K70T не определяется по JTAG
Boris_TS
сообщение Jan 13 2017, 14:18
Сообщение #31


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



Цитата(Олег Гаврильченко @ Jan 13 2017, 15:25) *
Но ПЛИС все равно не определяется оп прежнему. Однако, если поставить щуп осциллографа на линию TCK JTAG, то ПЛИС нормально определяется. Сигналы JTAG проходят через КМОП-буферы SN74LVC2G34DCK. Судя по осциллограммам проходят нормально.
В SN74LVC2G34 - 2 канала,.. причём не самых быстрых... а в JTAG интерфейсе: 3 линии идёт к ПЛИС - может быть разбежка между буферами - они же не обязаны быть идентичными.
Посмотрите, правильные ли Вы получаете диаграммы TDI/TMS/TCK под ПЛИС ?

Исследование схем Xilinx привело нас к использованию SN74AVC / SN74ALVC буферов для JTAG - они вносят меньшую задержку, чем SN74LVC. Естественно, для одного направления передачи данных (TDI, TMS, TCK) мы стараемся использовать общий буфер (SN74AVC8T245).

Был у нас интересный случай: после подачи питания на плату iMPACT правильно определял всю цепочку Xilinx ПЛИС (8 шт. Virtex-6 или Virtex-7 не помню), а потом ничего не мог сделать. Оказалось, что TMS (вход буфера) залип на землю, а по включению питания в выходные каскады JTAG интерфейса записывается IDCODE ПЛИС - поэтому идентификация проходила росно 1 раз.

Также был другой неприятный случай: развалился блокировочный конденсатор под буфером, да так, что выглядел целым, пока не стали его отпаивать - становишься осциллографом под ПЛИС на TMS и TCK - всё работает, убираешь щупы - глючит.

Кстати, а какой JTAG Вы испольуете ?
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Jan 13 2017, 14:23
Сообщение #32


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



Цитата(Boris_TS @ Jan 13 2017, 17:18) *
Также был другой неприятный случай: развалился блокировочный конденсатор под буфером, да так, что выглядел целым, пока не стали его отпаивать - становишься осциллографом под ПЛИС на TMS и TCK - всё работает, убираешь щупы - глючит.

..кстати - а блокировочные конденсаторы на буферах есть(физически)?
И ещё - где-то на форуме был случай, у человека цифровой сигнал был проложен рядом с плохоработающим DC/DC - тот помехи наводил на цифру из-за плохой разводки и цифра тоже работала только тогда когда её щупом осцилографа трогали. Иголки помех что стояли на цифровой линии сглаживались входной ёмкостью осцилографа и всё работало.
А ещё помню - подтягивающие резисторы может быть неправильных номиналов , вместо Ком , Момы.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Олег Гаврильченк...
сообщение Jan 13 2017, 14:40
Сообщение #33


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 10-02-15
Пользователь №: 85 052



Цитата(Boris_TS @ Jan 13 2017, 17:18) *
Также был другой неприятный случай: развалился блокировочный конденсатор под буфером, да так, что выглядел целым, пока не стали его отпаивать - становишься осциллографом под ПЛИС на TMS и TCK - всё работает, убираешь щупы - глючит.

Кстати, а какой JTAG Вы испольуете ?

Блокировочный конденсатор - это конденсатор фильтрующий питание микросхемы буфера?
Использую XILINX PLATFORM CABLE II.
Я установил конденсатор 100пФ между TCK_O и GND. Теперь все работает нормально. Но причина не ясна.
Go to the top of the page
 
+Quote Post
Boris_TS
сообщение Jan 13 2017, 14:46
Сообщение #34


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



Цитата(Олег Гаврильченко @ Jan 13 2017, 17:40) *
Блокировочный конденсатор - это конденсатор фильтрующий питание микросхемы буфера?

Да. На Вашей схеме это будут C1 и C2.
Go to the top of the page
 
+Quote Post
Алга
сообщение Jan 13 2017, 14:51
Сообщение #35


Частый гость
**

Группа: Свой
Сообщений: 116
Регистрация: 29-12-04
Пользователь №: 1 739



Теперь нужно рассмотреть фронт TCK_O осциллографом как рекомендовали под "микроскопом".
Есть ли признаки отражения на нем, на фронте.
Также попробовать поставить последовательный резистор (вместо конденсатора) на этом сигнале
(согласно предложенным здесь рекомендациям в случае отражения).
Go to the top of the page
 
+Quote Post
Boris_TS
сообщение Jan 13 2017, 14:51
Сообщение #36


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



Цитата(Lmx2315 @ Jan 13 2017, 17:23) *
А ещё помню - подтягивающие резисторы может быть неправильных номиналов , вместо Ком , Момы.

Сталкивался с подобным лично, но более 10 лет назад: резисторы 0805 имели маркировку как 5.1кОм,.. а по результатам измерения 51кОм. Отдел закупки потом кровожадные разборки клеил с поставщиками.
Go to the top of the page
 
+Quote Post
Raven
сообщение Jan 13 2017, 15:27
Сообщение #37


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



Скорее всего, наводки от быстрых фронтов соседей. И могут быть не только, и даже не столько от наплатных источников, сколько от кабелька между адаптером и разъемом на плате. У вас они как соединены: в виде flying leads (отдельными проводочками), или в виде ribbon cable (ленточный плоский кабель)?

И еще: в свете такого предположения идея разместить по соседству на разъеме TCK и TDO - плохая (вообще-то, она плохая по любым меркам). Надо было с двух сторон TCK землями или питанием обложить.

И еще. TDO тоже нуждается в последовательном согласовании. Кстати, это тоже может повлиять на ситуацию с TCK (поскольку, кроме прочего, уменьшит скорость нарастания фронтов на TDO).

Цитата(Boris_TS @ Jan 13 2017, 17:18) *
В SN74LVC2G34 - 2 канала,.. причём не самых быстрых... а в JTAG интерфейсе: 3 линии идёт к ПЛИС - может быть разбежка между буферами - они же не обязаны быть идентичными.

Исследование схем Xilinx привело нас к использованию SN74AVC / SN74ALVC буферов для JTAG - они вносят меньшую задержку, чем SN74LVC. Естественно, для одного направления передачи данных (TDI, TMS, TCK) мы стараемся использовать общий буфер (SN74AVC8T245).

Ну, это вряд ли. Выставление сигналов в JTAG происходит по спаду TCK, а восприятие - по фронту. Так что при fTCK "без фанатизма" (1-6 MHz) разница в задержках никакого влияния не должна оказывать. Тем более, что ТС снижал частоту TCK. И то, кстати, что это не помогло - еще один аргумент в пользу версии о наводках с фронтов.

Цитата(Boris_TS @ Jan 13 2017, 17:18) *
Был у нас интересный случай: после подачи питания на плату iMPACT правильно определял всю цепочку Xilinx ПЛИС (8 шт. Virtex-6 или Virtex-7 не помню), а потом ничего не мог сделать. Оказалось, что TMS (вход буфера) залип на землю, а по включению питания в выходные каскады JTAG интерфейса записывается IDCODE ПЛИС - поэтому идентификация проходила росно 1 раз.

Что-то здесь не так. Или не совсем точно описано. А как же TAP с залипшим TMS=0 проходил ветку DR-Capture-Shift-Update? Да он бы дальше RT-IDLE не ушел бы.

И еще насчет наводок. Они должны быть видны хотя бы в каком-то остаточном виде. Особенно если вы включите щуп в режиме 1:10. Кстати, а вы в каком режиме пробника смотрели TCK_O? 1:10 или 1:1? Если последнее - обязательно попробуйте 1:10.
Go to the top of the page
 
+Quote Post
Алга
сообщение Jan 13 2017, 16:13
Сообщение #38


Частый гость
**

Группа: Свой
Сообщений: 116
Регистрация: 29-12-04
Пользователь №: 1 739



В данном случае, согласно приведенной электрической схеме, кабель состоит из отдельных проводов.
Тогда для уменьшения наводок между сигналами необходимо сделать витые пары (провод сигнала+ провод земли) каждому сигналу.
Другой вариант- использовать плоский кабель с разьемом 14 контактов (в комплекте программатора есть), на плате
тогда необходим такой разьем. В этом случае решение витой пары уже присутствует (порядка 7 контактов- земля между сигналами).
Go to the top of the page
 
+Quote Post
Flood
сообщение Jan 13 2017, 17:50
Сообщение #39


Знающий
****

Группа: Свой
Сообщений: 702
Регистрация: 8-06-06
Пользователь №: 17 871



Самое простое, что можно попробовать - убрать буферы, поставив вместо них проходные резисторы где-то на 15 Ом.
У вас одна ПЛИС, одно питание - зачем нужна буферизация?
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Jan 14 2017, 07:25
Сообщение #40


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



Цитата(Flood @ Jan 13 2017, 20:50) *
У вас одна ПЛИС, одно питание - зачем нужна буферизация?

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


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Flood
сообщение Jan 14 2017, 16:57
Сообщение #41


Знающий
****

Группа: Свой
Сообщений: 702
Регистрация: 8-06-06
Пользователь №: 17 871



Цитата(Lmx2315 @ Jan 14 2017, 10:25) *
..чтобы статикой не пожечь дорогую ПЛИС по сравнению с дешёвыми буферами.
Или чтобы не пожечь её же если "земляной" провод с программатора отпадёт случайно, а комп и плата к примеру будут сидеть на разных розетках.

Ну, 7K70T - еще не самая дорогая ПЛИС sm.gif А JTAG-интерфейс, как правило, не для использования конечным пользователем.
На практике, за годы использования JTAG-а ни один Xilinx не выбило статикой по JTAG-порту.

Хотя в целом буферизация вещь полезная, для единственной ПЛИС навешивание буферов скорее всего не оправдано.
Go to the top of the page
 
+Quote Post
dvladim
сообщение Jan 15 2017, 10:10
Сообщение #42


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(Олег Гаврильченко @ Jan 13 2017, 17:40) *
Я установил конденсатор 100пФ между TCK_O и GND. Теперь все работает нормально. Но причина не ясна.

Причина практически ясна. Алга вам все верно ответил.
Скорее всего линия TCK не согласована и на ней возникает отражение, что приводит к лишним тактам по TCK.
Если осциллографом видите на TCK перегиб или полку на уровне половины питания, то это оно и есть.
Когда вы становитесь щупом, то вносите ёмкость и давите эту иголку.
Варианы борьбы с этим тоже стандартны:
во-первых надо было трассировать эту линию с учетом волнового сопротивления (кстати TMS TDI TDO это не касается, потому что это синхронные сигналы).
во-вторых последовательное терминирование - на выходе буфера поставить сопротивление ~25-40 Ом.
в-третьих ближе к ноге плис поствить ёмкость чтобы подавить иголку. Обычно хватает ~15пФ.
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3
Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 15:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01478 секунд с 7
ELECTRONIX ©2004-2016