Beby 8 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба Но ПЛИС все равно не определяется оп прежнему. Однако, если поставить щуп осциллографа на линию 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 Вы испольуете ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 5 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба Также был другой неприятный случай: развалился блокировочный конденсатор под буфером, да так, что выглядел целым, пока не стали его отпаивать - становишься осциллографом под ПЛИС на TMS и TCK - всё работает, убираешь щупы - глючит. ..кстати - а блокировочные конденсаторы на буферах есть(физически)? И ещё - где-то на форуме был случай, у человека цифровой сигнал был проложен рядом с плохоработающим DC/DC - тот помехи наводил на цифру из-за плохой разводки и цифра тоже работала только тогда когда её щупом осцилографа трогали. Иголки помех что стояли на цифровой линии сглаживались входной ёмкостью осцилографа и всё работало. А ещё помню - подтягивающие резисторы может быть неправильных номиналов , вместо Ком , Момы. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Reffum2 0 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба Также был другой неприятный случай: развалился блокировочный конденсатор под буфером, да так, что выглядел целым, пока не стали его отпаивать - становишься осциллографом под ПЛИС на TMS и TCK - всё работает, убираешь щупы - глючит. Кстати, а какой JTAG Вы испольуете ? Блокировочный конденсатор - это конденсатор фильтрующий питание микросхемы буфера? Использую XILINX PLATFORM CABLE II. Я установил конденсатор 100пФ между TCK_O и GND. Теперь все работает нормально. Но причина не ясна. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба Блокировочный конденсатор - это конденсатор фильтрующий питание микросхемы буфера? Да. На Вашей схеме это будут C1 и C2. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Алга 0 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба Теперь нужно рассмотреть фронт TCK_O осциллографом как рекомендовали под "микроскопом". Есть ли признаки отражения на нем, на фронте. Также попробовать поставить последовательный резистор (вместо конденсатора) на этом сигнале (согласно предложенным здесь рекомендациям в случае отражения). Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба А ещё помню - подтягивающие резисторы может быть неправильных номиналов , вместо Ком , Момы. Сталкивался с подобным лично, но более 10 лет назад: резисторы 0805 имели маркировку как 5.1кОм,.. а по результатам измерения 51кОм. Отдел закупки потом кровожадные разборки клеил с поставщиками. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 11 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба Скорее всего, наводки от быстрых фронтов соседей. И могут быть не только, и даже не столько от наплатных источников, сколько от кабелька между адаптером и разъемом на плате. У вас они как соединены: в виде flying leads (отдельными проводочками), или в виде ribbon cable (ленточный плоский кабель)? И еще: в свете такого предположения идея разместить по соседству на разъеме TCK и TDO - плохая (вообще-то, она плохая по любым меркам). Надо было с двух сторон TCK землями или питанием обложить. И еще. TDO тоже нуждается в последовательном согласовании. Кстати, это тоже может повлиять на ситуацию с TCK (поскольку, кроме прочего, уменьшит скорость нарастания фронтов на TDO). В SN74LVC2G34 - 2 канала,.. причём не самых быстрых... а в JTAG интерфейсе: 3 линии идёт к ПЛИС - может быть разбежка между буферами - они же не обязаны быть идентичными. Исследование схем Xilinx привело нас к использованию SN74AVC / SN74ALVC буферов для JTAG - они вносят меньшую задержку, чем SN74LVC. Естественно, для одного направления передачи данных (TDI, TMS, TCK) мы стараемся использовать общий буфер (SN74AVC8T245). Ну, это вряд ли. Выставление сигналов в JTAG происходит по спаду TCK, а восприятие - по фронту. Так что при fTCK "без фанатизма" (1-6 MHz) разница в задержках никакого влияния не должна оказывать. Тем более, что ТС снижал частоту TCK. И то, кстати, что это не помогло - еще один аргумент в пользу версии о наводках с фронтов. Был у нас интересный случай: после подачи питания на плату 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. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Алга 0 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба В данном случае, согласно приведенной электрической схеме, кабель состоит из отдельных проводов. Тогда для уменьшения наводок между сигналами необходимо сделать витые пары (провод сигнала+ провод земли) каждому сигналу. Другой вариант- использовать плоский кабель с разьемом 14 контактов (в комплекте программатора есть), на плате тогда необходим такой разьем. В этом случае решение витой пары уже присутствует (порядка 7 контактов- земля между сигналами). Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба Самое простое, что можно попробовать - убрать буферы, поставив вместо них проходные резисторы где-то на 15 Ом. У вас одна ПЛИС, одно питание - зачем нужна буферизация? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 5 14 января, 2017 Опубликовано 14 января, 2017 · Жалоба У вас одна ПЛИС, одно питание - зачем нужна буферизация? ..чтобы статикой не пожечь дорогую ПЛИС по сравнению с дешёвыми буферами. Или чтобы не пожечь её же если "земляной" провод с программатора отпадёт случайно, а комп и плата к примеру будут сидеть на разных розетках. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 14 января, 2017 Опубликовано 14 января, 2017 · Жалоба ..чтобы статикой не пожечь дорогую ПЛИС по сравнению с дешёвыми буферами. Или чтобы не пожечь её же если "земляной" провод с программатора отпадёт случайно, а комп и плата к примеру будут сидеть на разных розетках. Ну, 7K70T - еще не самая дорогая ПЛИС :) А JTAG-интерфейс, как правило, не для использования конечным пользователем. На практике, за годы использования JTAG-а ни один Xilinx не выбило статикой по JTAG-порту. Хотя в целом буферизация вещь полезная, для единственной ПЛИС навешивание буферов скорее всего не оправдано. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 15 января, 2017 Опубликовано 15 января, 2017 · Жалоба Я установил конденсатор 100пФ между TCK_O и GND. Теперь все работает нормально. Но причина не ясна. Причина практически ясна. Алга вам все верно ответил. Скорее всего линия TCK не согласована и на ней возникает отражение, что приводит к лишним тактам по TCK. Если осциллографом видите на TCK перегиб или полку на уровне половины питания, то это оно и есть. Когда вы становитесь щупом, то вносите ёмкость и давите эту иголку. Варианы борьбы с этим тоже стандартны: во-первых надо было трассировать эту линию с учетом волнового сопротивления (кстати TMS TDI TDO это не касается, потому что это синхронные сигналы). во-вторых последовательное терминирование - на выходе буфера поставить сопротивление ~25-40 Ом. в-третьих ближе к ноге плис поствить ёмкость чтобы подавить иголку. Обычно хватает ~15пФ. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться