|
JTAG цепоча не работает, помогите советом |
|
|
|
Aug 29 2005, 14:31
|

Администратор форума
     
Группа: Администраторы
Сообщений: 3 118
Регистрация: 11-05-04
Пользователь №: 2

|
в процессе разборок было установленно следующее. есть цепочка FPGA-EPC-FPGA-EPC = JTAG Если коротим TDO-TDI на любой из EPC или на обоих, то все находится, определятеся и так далее. Все работает!! Причем EPC могут стоять или не стоять в панельках. Из минусов - приходится жертвовать программированием одной из микросхем. (Как только включаем в схему 2 микросхемы - все прекращает работать). кондерсаторы-резисторы менять не пробовал. У кого какие мысли? UPD Цитата Двухслойка - импеданс линии как "гамбургер плата 4 слоя - внутренние GND и VCC3.3
|
|
|
|
|
Sep 2 2005, 11:18
|

Местный
  
Группа: Свой
Сообщений: 449
Регистрация: 28-10-04
Из: Украина
Пользователь №: 1 002

|
Я про Ксилинксы буду. Раньше использовал CPLD. Там было очень критично иметь правильную подтяжку TCK на питание. Причем до смешного: 5.1 К - не работает, 10 К - работает, 15 К- не работает. Теперь на FPGA перешел - Спартан 2, Спартан 3. Так я ВСЕГДА соединяю в одну цепочку только однотипные микросхемы. То есть два спартана на один JTAG разъем и две конфиг. EEPROM - на другой. Уже четвертая плата с таким раскладом и нигде не было проблем. А для общего развития поглядите как нибудь на спецификацию JTAG. Я плакалъ (с). Как вам сдвиговые регистры длиной 56000 бит и прочие хитрости. Кстати, я так и не понял, как им удается работать более чем с одной микросхемой в цепочке - команды-то подаются на все чипы одновременно. (да, я знаю, что данные пропускаются через регистр). Хотя конечно вижу, что работает... Не исключено, что разные микросхемы понимают команды несколько по-другому.
--------------------
Умею молчать на 37 языках...
|
|
|
|
|
Sep 2 2005, 12:33
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 11-08-05
Пользователь №: 7 545

|
Цитата(3.14 @ Aug 29 2005, 16:18) Цитата(bms @ Aug 29 2005, 09:39) Насчёт конденсаторов - применение конденсаторов, да ещё и нескольких лишь усилит неоднородности в линии передачи сигнала - а это значит что общая картина станет хуже. В одном конкретном приёмнике - возможно получится хороший фронт, но на остальных будет что угодно но не "рабочий" фронт. Вы легко сможете в этом убедиться применив всё то же моделирование. Не надо усложнять, это не 120 мегагерцовая шина, указанная величина конденсаторов завалит любую интерференцию отражений на градиентах импеданса, а разница сдвинет фронт клока относительно данных. А здесь дело не в частоте сигнала как такового, а в скорости нарастания фронта. Ведь здесь важен именно чистый фронт. Если частота у вас пусть даже 1МГц, но фронты резкие - то без согласования на краях Вы получите "дребезг" со всеми вытекающими отсюда последствиями. Когда говорят о согласовании - речь идёт не о простом завале фронтов, речь идёт о компенсации отражений - принципиально разные вещи. И простое применение конденсатора здесь ничего не даст, особенно когда сигнал от одного источника расходится в несколько приёмников. Просто поставить конденсаторы тут нельзя - они начнут играть между собой, хотя конечно можно заняться подбором и заставить схему работать при помощи ёмкостей, но на другой плате будет другой набор паразитов - и что вы опять будете всё заново подбирать? Я сам сталкивался с тем, что на частоте 10МГц получал фатальные отражения, проблему решил исключительно согласованием линии передачи.
|
|
|
|
|
Sep 2 2005, 12:48
|

Их либе дих ...
     
Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609

|
Цитата(Gorby @ Sep 2 2005, 14:18) Кстати, я так и не понял, как им удается работать более чем с одной микросхемой в цепочке - команды-то подаются на все чипы одновременно. (да, я знаю, что данные пропускаются через регистр). Хотя конечно вижу, что работает... Не исключено, что разные микросхемы понимают команды несколько по-другому. Например цепочка из трех с длиной инструкций комманд 8 бит. Пусть надо во всторой подать команду "0х00", тогда надо дополнить этот байт с двух сторон 0xFF (это команда BUPASS, которая должнай быть абсолютно у всех JTAG устройств), получится 0xff00ff. Итак получается, что первый и третий чип получили команду BUPASS. А это значит что их сдвиговые регистры данных замкнуты вход-выход (через регистр). После этого если надо записать в регистр команд второго устройства, нужно дополнять по одному биту спереди и сзади.
--------------------
Усы, борода и кеды - вот мои документы :)
|
|
|
|
|
Sep 2 2005, 13:10
|

Их либе дих ...
     
Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609

|
Цитата(bms @ Sep 2 2005, 15:33) А здесь дело не в частоте сигнала как такового, а в скорости нарастания фронта. Ведь здесь важен именно чистый фронт. Если частота у вас пусть даже 1МГц, но фронты резкие - то без согласования на краях Вы получите "дребезг" со всеми вытекающими отсюда последствиями. Когда говорят о согласовании - речь идёт не о простом завале фронтов, речь идёт о компенсации отражений - принципиально разные вещи. И простое применение конденсатора здесь ничего не даст, особенно когда сигнал от одного источника расходится в несколько приёмников. Просто поставить конденсаторы тут нельзя - они начнут играть между собой, хотя конечно можно заняться подбором и заставить схему работать при помощи ёмкостей, но на другой плате будет другой набор паразитов - и что вы опять будете всё заново подбирать? Я сам сталкивался с тем, что на частоте 10МГц получал фатальные отражения, проблему решил исключительно согласованием линии передачи. Извините, Вы только пишете или еще и читаете, или читаете только что сами пишете? Амплитуда отражения прапорциональна градиенту импеданса, в данном случае, максимальное отражение будет от этих "банальных" конденсаторов, дальше будет чистота и покой.
--------------------
Усы, борода и кеды - вот мои документы :)
|
|
|
|
|
Sep 3 2005, 13:02
|
Гуру
     
Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741

|
Цитата(udofun @ Aug 19 2005, 21:32) 3.14был бы прибор нормальный цифровой - посмотрел бы что реально в линии. своим C1-55 вижу только что короткий момент как такты идут - вроде идут. Если часто с такими проблемами приходиться возиться- собери к C1-55 вот такую приблуду 1-GHz Sampling Oscilloscope Front End, и через делитель 1:50 ( резистор в 2.5К на конце 50 омного кабеля) спокойно наблюдай фронты повторяющегося сигнала ( на JTAG загоняешь тестовый меандр).
|
|
|
|
|
Sep 25 2005, 12:47
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 11-08-05
Пользователь №: 7 545

|
Цитата(3.14 @ Sep 2 2005, 16:10) Извините, Вы только пишете или еще и читаете, или читаете только что сами пишете? Амплитуда отражения прапорциональна градиенту импеданса, в данном случае, максимальное отражение будет от этих "банальных" конденсаторов, дальше будет чистота и покой. И пишу и читаю всё - не сомневайтесь. Речь идёи не о том, чтобы отразить что-то от чего-то, а о том, чтобы отражений НЕ БЫЛО совсем, а если без них никак - то их нужно где-то поглощать. Конденсатор - элемент сугубо реактивный и если он что-то отразил - то уже никакой "чистоты и покоя" нет. То что он отразил - ушло в линию, к другим приёмникам (или куда это делось по Вашему?? закон сохранения энергии пока никто не отменял). И там какое-то время живёт, переотражаясь от точки к точке, постепенно затухая, пока не затухнет совсем. Вот для того чтобы затухало быстрее, ставят не конденсаторы, а резисторы. Поглощать энергию (в данном случае это отражённая волна) может только активное сопротивление. Никто никогда не гасит отражённые волны просто конденсаторами. Если их и ставят они всегда идут в связке с резисторами. Схемы могут быть разные и зависят от потребностей, но это всегда не просто ёмкость, это ёмкость (конденсатор)+потери (резистор). Хотя на практике чаще всего достаточно применять только резисторы.
|
|
|
|
|
Sep 25 2005, 13:56
|

Их либе дих ...
     
Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609

|
2 bms Извините за тон, чего то я перегнул Может я и не прав, в своих "простых" советах (насчет физики процессов, спору нет), просто у меня подобные случаи то же случаются, и лечатся исключительно конденсаторами , т.к. трабл похоже в разбеге фазы CLK и TDI. Хотя выходные буфера и очень скоростные, какой то жудкой интерференционной картины на них не наблюдается (конечно я понимаю, что в принципе не смогу увидеть осциллом реальную картину). И вот еще, как Вы сами пишете Код Конденсатор - элемент сугубо реактивный и если он что-то отразил - то уже никакой "чистоты и покоя" нет. То что он отразил - ушло в линию, к другим приёмникам (или куда это делось по Вашему?? закон сохранения энергии пока никто не отменял). И там какое-то время живёт, переотражаясь от точки к точке, постепенно затухая, пока не затухнет совсем. Например имеем не согласованную линию с конденсатором раположенным не далеко от нагрузки. Ведь по логике, переотражения будут возникать на сегменте источник - конденсатор, или я что то упустил?
--------------------
Усы, борода и кеды - вот мои документы :)
|
|
|
|
|
Sep 26 2005, 07:26
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 11-08-05
Пользователь №: 7 545

|
Цитата(3.14 @ Sep 25 2005, 16:56) 2 bms Извините за тон, чего то я перегнул Может я и не прав, в своих "простых" советах (насчет физики процессов, спору нет), просто у меня подобные случаи то же случаются, и лечатся исключительно конденсаторами , т.к. трабл похоже в разбеге фазы CLK и TDI. Хотя выходные буфера и очень скоростные, какой то жудкой интерференционной картины на них не наблюдается (конечно я понимаю, что в принципе не смогу увидеть осциллом реальную картину). И вот еще, как Вы сами пишете Код Конденсатор - элемент сугубо реактивный и если он что-то отразил - то уже никакой "чистоты и покоя" нет. То что он отразил - ушло в линию, к другим приёмникам (или куда это делось по Вашему?? закон сохранения энергии пока никто не отменял). И там какое-то время живёт, переотражаясь от точки к точке, постепенно затухая, пока не затухнет совсем. Например имеем не согласованную линию с конденсатором раположенным не далеко от нагрузки. Ведь по логике, переотражения будут возникать на сегменте источник - конденсатор, или я что то упустил? Ок, нет проблем. Насчёт Вашего вопроса... если имеется линия источник-конденсатор-приёмник, то отражения будут бегать не только на сегменте источник-конденсатор, они будут везде, во всей линии. Всё что соединено с конденсатором будет "болтаться", хотя и в разной степени. И чем дальше установлен конденсатор от приёмника - тем хуже будет для приёмника. Всё дело в том, что как только Вы добавляете ничем не скомпенсированный конденсатор в СОГЛАСОВАННУЮ линию - она тут же перестаёт быть согласованной. Согласование это ведь равенство 3-х импедансов: источника, линии передачи и нагрузки. Добавление конденсатора эквивалентно тому, что у линии передачи изменились параметры (ведь любую линию передачи можно разложить в ряд LC-компонентов). Другое дело, что можно добиться чтобы в определённом месте линии (у приёмника) амплитуда этих отражений была приемлемой (ниже порога срабатывания). Так например работает последовательное согласование, когда у источника ставится резистор. Номинал выбирается так, чтобы сумма выходного импеданса источника и самого резистора равнялись волновому сопротивлению линии. Тогда с одной стороны достигается согласование (правда только на передающем конце) и отражённая от приёмника волна добежав опять до передатчика погаситься на согласованной нагрузке источник+резистор. Т.е. она НЕ вернётся в приёмник и ничего там не испортит (картину портит ведь именно сумма прямой+отражённый сигналы). Это конечно не согласование в чистом виде (нагрузка так и осталась не согласованной), но простая и очень эффективная мера в борьбе с "дребезгом" на приёмном конце. Расплатой за это будет неимоверный дребезг на передатчике, что легко увидеть подключив осцилл к резистору согласования. Но поскольку важно чтоб правильно сработал приёмник - то передатчик пусть себе "дребезжит". Это в идеале, в жизни конечно полностью ничего не гасится и какая-то часть всё же отразиться опять в приёмник, но это уже будут копейки по сравнению с тем, что было бы без резистора. Но эта схема не будет работать для одного источника и нескольких приёмников, т.к. появляется ещё несколько путей для распространения отражённых сигналов (по числу приёмников).
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|