Перейти к содержанию
    

JTAG цепоча не работает

в процессе разборок было установленно следующее.

 

есть цепочка FPGA-EPC-FPGA-EPC = JTAG

 

Если коротим TDO-TDI на любой из EPC или на обоих, то все находится, определятеся и так далее. Все работает!! Причем EPC могут стоять или не стоять в панельках.

Из минусов - приходится жертвовать программированием одной из микросхем.

(Как только включаем в схему 2 микросхемы - все прекращает работать).

 

кондерсаторы-резисторы менять не пробовал.

 

У кого какие мысли?

 

 

UPD

Двухслойка - импеданс линии как "гамбургер

плата 4 слоя - внутренние GND и VCC3.3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вобщем правдами неправдами добился я чтобы работало и прошивалось все в конфигурации

FPGA-EPC-FPGA

2ую EPC пришлось из JTAG исключить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я про Ксилинксы буду. Раньше использовал CPLD. Там было очень критично иметь правильную подтяжку TCK на питание. Причем до смешного: 5.1 К - не работает, 10 К - работает, 15 К- не работает.

Теперь на FPGA перешел - Спартан 2, Спартан 3. Так я ВСЕГДА соединяю в одну цепочку только однотипные микросхемы. То есть два спартана на один JTAG разъем и две конфиг. EEPROM - на другой. Уже четвертая плата с таким раскладом и нигде не было проблем.

А для общего развития поглядите как нибудь на спецификацию JTAG. Я плакалъ (с). Как вам сдвиговые регистры длиной 56000 бит и прочие хитрости. Кстати, я так и не понял, как им удается работать более чем с одной микросхемой в цепочке - команды-то подаются на все чипы одновременно. (да, я знаю, что данные пропускаются через регистр). Хотя конечно вижу, что работает... Не исключено, что разные микросхемы понимают команды несколько по-другому.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насчёт конденсаторов -  применение конденсаторов, да ещё и нескольких лишь усилит неоднородности в линии передачи сигнала - а это значит что общая картина станет хуже. В одном конкретном приёмнике - возможно получится хороший фронт, но на остальных будет что угодно но не "рабочий" фронт. Вы легко сможете в этом убедиться применив всё то же моделирование.

Не надо усложнять, это не 120 мегагерцовая шина, указанная величина конденсаторов завалит любую интерференцию отражений на градиентах импеданса, а разница сдвинет фронт клока относительно данных.

 

А здесь дело не в частоте сигнала как такового, а в скорости нарастания фронта. Ведь здесь важен именно чистый фронт. Если частота у вас пусть даже 1МГц, но фронты резкие - то без согласования на краях Вы получите "дребезг" со всеми вытекающими отсюда последствиями. Когда говорят о согласовании - речь идёт не о простом завале фронтов, речь идёт о компенсации отражений - принципиально разные вещи. И простое применение конденсатора здесь ничего не даст, особенно когда сигнал от одного источника расходится в несколько приёмников. Просто поставить конденсаторы тут нельзя - они начнут играть между собой, хотя конечно можно заняться подбором и заставить схему работать при помощи ёмкостей, но на другой плате будет другой набор паразитов - и что вы опять будете всё заново подбирать? Я сам сталкивался с тем, что на частоте 10МГц получал фатальные отражения, проблему решил исключительно согласованием линии передачи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати, я так и не понял, как им удается работать более чем с одной микросхемой в цепочке - команды-то подаются на все чипы одновременно. (да, я знаю, что данные пропускаются через регистр). Хотя конечно вижу, что работает... Не исключено, что разные микросхемы понимают команды несколько по-другому.

Например цепочка из трех с длиной инструкций комманд 8 бит. Пусть надо во всторой подать команду "0х00", тогда надо дополнить этот байт с двух сторон 0xFF (это команда BUPASS, которая должнай быть абсолютно у всех JTAG устройств), получится 0xff00ff. Итак получается, что первый и третий чип получили команду BUPASS. А это значит что их сдвиговые регистры данных замкнуты вход-выход (через регистр). После этого если надо записать в регистр команд второго устройства, нужно дополнять по одному биту спереди и сзади.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А здесь дело не в частоте сигнала как такового, а в скорости нарастания фронта. Ведь здесь важен именно чистый фронт. Если частота у вас пусть даже 1МГц, но фронты резкие - то без согласования на краях Вы получите "дребезг" со всеми вытекающими отсюда последствиями. Когда говорят о согласовании - речь идёт не о простом завале фронтов, речь идёт о компенсации отражений - принципиально разные вещи. И простое применение конденсатора здесь ничего не даст, особенно когда сигнал от одного источника расходится в несколько приёмников. Просто поставить конденсаторы тут нельзя - они начнут играть между собой, хотя конечно можно заняться подбором и заставить схему работать при помощи ёмкостей, но на другой плате будет другой набор паразитов - и что вы опять будете всё заново подбирать? Я сам сталкивался с тем, что на частоте 10МГц получал фатальные отражения, проблему решил исключительно согласованием линии передачи.

Извините, Вы только пишете или еще и читаете, или читаете только что сами пишете?

Амплитуда отражения прапорциональна градиенту импеданса, в данном случае, максимальное отражение будет от этих "банальных" конденсаторов, дальше будет чистота и покой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3.14

был бы прибор нормальный цифровой - посмотрел бы что реально в линии.

своим C1-55 вижу только что короткий момент как такты идут - вроде идут.

Если часто с такими проблемами приходиться возиться- собери к C1-55 вот такую приблуду

1-GHz Sampling Oscilloscope Front End,

и через делитель 1:50 ( резистор в 2.5К на конце 50 омного кабеля)

спокойно наблюдай фронты повторяющегося сигнала ( на JTAG загоняешь тестовый меандр).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Извините, Вы только пишете или еще и читаете, или читаете только что сами пишете?

Амплитуда отражения прапорциональна градиенту импеданса, в данном случае, максимальное отражение будет от этих "банальных" конденсаторов, дальше будет чистота и покой.

 

И пишу и читаю всё - не сомневайтесь.

 

Речь идёи не о том, чтобы отразить что-то от чего-то, а о том, чтобы отражений НЕ БЫЛО совсем, а если без них никак - то их нужно где-то поглощать. Конденсатор - элемент сугубо реактивный и если он что-то отразил - то уже никакой "чистоты и покоя" нет. То что он отразил - ушло в линию, к другим приёмникам (или куда это делось по Вашему?? закон сохранения энергии пока никто не отменял). И там какое-то время живёт, переотражаясь от точки к точке, постепенно затухая, пока не затухнет совсем. Вот для того чтобы затухало быстрее, ставят не конденсаторы, а резисторы. Поглощать энергию (в данном случае это отражённая волна) может только активное сопротивление.

 

Никто никогда не гасит отражённые волны просто конденсаторами. Если их и ставят они всегда идут в связке с резисторами. Схемы могут быть разные и зависят от потребностей, но это всегда не просто ёмкость, это ёмкость (конденсатор)+потери (резистор).

Хотя на практике чаще всего достаточно применять только резисторы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 bms

Извините за тон, чего то я перегнул :cheers:

Может я и не прав, в своих "простых" советах (насчет физики процессов, спору нет), просто у меня подобные случаи то же случаются, и лечатся исключительно конденсаторами , т.к. трабл похоже в разбеге фазы CLK и TDI. Хотя выходные буфера и очень скоростные, какой то жудкой интерференционной картины на них не наблюдается (конечно я понимаю, что в принципе не смогу увидеть осциллом реальную картину).

И вот еще, как Вы сами пишете

Конденсатор  - элемент сугубо реактивный и если он что-то отразил - то уже никакой "чистоты и покоя" нет. То что он отразил - ушло в линию, к другим приёмникам (или куда это делось по Вашему?? закон сохранения энергии пока никто не отменял). И там какое-то время живёт, переотражаясь от точки к точке, постепенно затухая, пока не затухнет совсем.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 bms

Извините за тон, чего то я перегнул  :cheers:

Может я и не прав, в своих "простых" советах (насчет физики процессов, спору нет), просто у меня подобные случаи то же случаются, и лечатся исключительно конденсаторами , т.к. трабл похоже в разбеге фазы CLK и TDI. Хотя выходные буфера и очень скоростные, какой то жудкой интерференционной картины на них не наблюдается (конечно я понимаю, что в принципе не смогу увидеть осциллом реальную картину).

И вот еще, как Вы  сами пишете

Конденсатор  - элемент сугубо реактивный и если он что-то отразил - то уже никакой "чистоты и покоя" нет. То что он отразил - ушло в линию, к другим приёмникам (или куда это делось по Вашему?? закон сохранения энергии пока никто не отменял). И там какое-то время живёт, переотражаясь от точки к точке, постепенно затухая, пока не затухнет совсем.

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

 

Ок, нет проблем.

 

Насчёт Вашего вопроса... если имеется линия источник-конденсатор-приёмник, то отражения будут бегать не только на сегменте источник-конденсатор, они будут везде, во всей линии. Всё что соединено с конденсатором будет "болтаться", хотя и в разной степени. И чем дальше установлен конденсатор от приёмника - тем хуже будет для приёмника. Всё дело в том, что как только Вы добавляете ничем не скомпенсированный конденсатор в СОГЛАСОВАННУЮ линию - она тут же перестаёт быть согласованной. Согласование это ведь равенство 3-х импедансов: источника, линии передачи и нагрузки. Добавление конденсатора эквивалентно тому, что у линии передачи изменились параметры (ведь любую линию передачи можно разложить в ряд LC-компонентов).

Другое дело, что можно добиться чтобы в определённом месте линии (у приёмника) амплитуда этих отражений была приемлемой (ниже порога срабатывания). Так например работает последовательное согласование, когда у источника ставится резистор. Номинал выбирается так, чтобы сумма выходного импеданса источника и самого резистора равнялись волновому сопротивлению линии. Тогда с одной стороны достигается согласование (правда только на передающем конце) и отражённая от приёмника волна добежав опять до передатчика погаситься на согласованной нагрузке источник+резистор. Т.е. она НЕ вернётся в приёмник и ничего там не испортит (картину портит ведь именно сумма прямой+отражённый сигналы). Это конечно не согласование в чистом виде (нагрузка так и осталась не согласованной), но простая и очень эффективная мера в борьбе с "дребезгом" на приёмном конце. Расплатой за это будет неимоверный дребезг на передатчике, что легко увидеть подключив осцилл к резистору согласования. Но поскольку важно чтоб правильно сработал приёмник - то передатчик пусть себе "дребезжит". Это в идеале, в жизни конечно полностью ничего не гасится и какая-то часть всё же отразиться опять в приёмник, но это уже будут копейки по сравнению с тем, что было бы без резистора.

Но эта схема не будет работать для одного источника и нескольких приёмников, т.к. появляется ещё несколько путей для распространения отражённых сигналов (по числу приёмников).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...