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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> JTAG цепоча не работает, помогите советом
admin
сообщение Aug 29 2005, 14:31
Сообщение #16


Администратор форума
******

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



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

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

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

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

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


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

плата 4 слоя - внутренние GND и VCC3.3
Go to the top of the page
 
+Quote Post
admin
сообщение Aug 29 2005, 15:22
Сообщение #17


Администратор форума
******

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



вобщем правдами неправдами добился я чтобы работало и прошивалось все в конфигурации
FPGA-EPC-FPGA
2ую EPC пришлось из JTAG исключить.
Go to the top of the page
 
+Quote Post
Gorby
сообщение Sep 2 2005, 11:18
Сообщение #18


Местный
***

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



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


--------------------
Умею молчать на 37 языках...
Go to the top of the page
 
+Quote Post
bms
сообщение Sep 2 2005, 12:33
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 11-08-05
Пользователь №: 7 545



Цитата(3.14 @ Aug 29 2005, 16:18)
Цитата(bms @ Aug 29 2005, 09:39)
Насчёт конденсаторов -  применение конденсаторов, да ещё и нескольких лишь усилит неоднородности в линии передачи сигнала - а это значит что общая картина станет хуже. В одном конкретном приёмнике - возможно получится хороший фронт, но на остальных будет что угодно но не "рабочий" фронт. Вы легко сможете в этом убедиться применив всё то же моделирование.

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



А здесь дело не в частоте сигнала как такового, а в скорости нарастания фронта. Ведь здесь важен именно чистый фронт. Если частота у вас пусть даже 1МГц, но фронты резкие - то без согласования на краях Вы получите "дребезг" со всеми вытекающими отсюда последствиями. Когда говорят о согласовании - речь идёт не о простом завале фронтов, речь идёт о компенсации отражений - принципиально разные вещи. И простое применение конденсатора здесь ничего не даст, особенно когда сигнал от одного источника расходится в несколько приёмников. Просто поставить конденсаторы тут нельзя - они начнут играть между собой, хотя конечно можно заняться подбором и заставить схему работать при помощи ёмкостей, но на другой плате будет другой набор паразитов - и что вы опять будете всё заново подбирать? Я сам сталкивался с тем, что на частоте 10МГц получал фатальные отражения, проблему решил исключительно согласованием линии передачи.
Go to the top of the page
 
+Quote Post
3.14
сообщение Sep 2 2005, 12:48
Сообщение #20


Их либе дих ...
******

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



Цитата(Gorby @ Sep 2 2005, 14:18)
Кстати, я так и не понял, как им удается работать более чем с одной микросхемой в цепочке - команды-то подаются на все чипы одновременно. (да, я знаю, что данные пропускаются через регистр). Хотя конечно вижу, что работает... Не исключено, что разные микросхемы понимают команды несколько по-другому.
*

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


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
3.14
сообщение Sep 2 2005, 13:10
Сообщение #21


Их либе дих ...
******

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



Цитата(bms @ Sep 2 2005, 15:33)
А здесь дело не в частоте сигнала как такового, а в скорости нарастания фронта. Ведь здесь важен именно чистый фронт. Если частота у вас пусть даже 1МГц, но фронты резкие - то без согласования на краях Вы получите "дребезг" со всеми вытекающими отсюда последствиями. Когда говорят о согласовании - речь идёт не о простом завале фронтов, речь идёт о компенсации отражений - принципиально разные вещи. И простое применение конденсатора здесь ничего не даст, особенно когда сигнал от одного источника расходится в несколько приёмников. Просто поставить конденсаторы тут нельзя - они начнут играть между собой, хотя конечно можно заняться подбором и заставить схему работать при помощи ёмкостей, но на другой плате будет другой набор паразитов - и что вы опять будете всё заново подбирать? Я сам сталкивался с тем, что на частоте 10МГц получал фатальные отражения, проблему решил исключительно согласованием линии передачи.
*

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


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
khach
сообщение Sep 3 2005, 13:02
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 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 загоняешь тестовый меандр).
Go to the top of the page
 
+Quote Post
bms
сообщение Sep 25 2005, 12:47
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 11-08-05
Пользователь №: 7 545



Цитата(3.14 @ Sep 2 2005, 16:10)
Извините, Вы только пишете или еще и читаете, или читаете только что сами пишете?
Амплитуда отражения прапорциональна градиенту импеданса, в данном случае, максимальное отражение будет от этих "банальных" конденсаторов, дальше будет чистота и покой.
*


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

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

Никто никогда не гасит отражённые волны просто конденсаторами. Если их и ставят они всегда идут в связке с резисторами. Схемы могут быть разные и зависят от потребностей, но это всегда не просто ёмкость, это ёмкость (конденсатор)+потери (резистор).
Хотя на практике чаще всего достаточно применять только резисторы.
Go to the top of the page
 
+Quote Post
3.14
сообщение Sep 25 2005, 13:56
Сообщение #24


Их либе дих ...
******

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



2 bms
Извините за тон, чего то я перегнул cheers.gif
Может я и не прав, в своих "простых" советах (насчет физики процессов, спору нет), просто у меня подобные случаи то же случаются, и лечатся исключительно конденсаторами , т.к. трабл похоже в разбеге фазы CLK и TDI. Хотя выходные буфера и очень скоростные, какой то жудкой интерференционной картины на них не наблюдается (конечно я понимаю, что в принципе не смогу увидеть осциллом реальную картину).
И вот еще, как Вы сами пишете
Код
Конденсатор  - элемент сугубо реактивный и если он что-то отразил - то уже никакой "чистоты и покоя" нет. То что он отразил - ушло в линию, к другим приёмникам (или куда это делось по Вашему?? закон сохранения энергии пока никто не отменял). И там какое-то время живёт, переотражаясь от точки к точке, постепенно затухая, пока не затухнет совсем.
Например имеем не согласованную линию с конденсатором раположенным не далеко от нагрузки. Ведь по логике, переотражения будут возникать на сегменте источник - конденсатор, или я что то упустил?


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
bms
сообщение Sep 26 2005, 07:26
Сообщение #25


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 11-08-05
Пользователь №: 7 545



Цитата(3.14 @ Sep 25 2005, 16:56)
2 bms
Извините за тон, чего то я перегнул  cheers.gif
Может я и не прав, в своих "простых" советах (насчет физики процессов, спору нет), просто у меня подобные случаи то же случаются, и лечатся исключительно конденсаторами , т.к. трабл похоже в разбеге фазы CLK и TDI. Хотя выходные буфера и очень скоростные, какой то жудкой интерференционной картины на них не наблюдается (конечно я понимаю, что в принципе не смогу увидеть осциллом реальную картину).
И вот еще, как Вы  сами пишете
Код
Конденсатор  - элемент сугубо реактивный и если он что-то отразил - то уже никакой "чистоты и покоя" нет. То что он отразил - ушло в линию, к другим приёмникам (или куда это делось по Вашему?? закон сохранения энергии пока никто не отменял). И там какое-то время живёт, переотражаясь от точки к точке, постепенно затухая, пока не затухнет совсем.
Например имеем не согласованную линию с конденсатором раположенным не далеко от нагрузки. Ведь по логике, переотражения будут возникать на сегменте источник - конденсатор, или я что то упустил?
*


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

Насчёт Вашего вопроса... если имеется линия источник-конденсатор-приёмник, то отражения будут бегать не только на сегменте источник-конденсатор, они будут везде, во всей линии. Всё что соединено с конденсатором будет "болтаться", хотя и в разной степени. И чем дальше установлен конденсатор от приёмника - тем хуже будет для приёмника. Всё дело в том, что как только Вы добавляете ничем не скомпенсированный конденсатор в СОГЛАСОВАННУЮ линию - она тут же перестаёт быть согласованной. Согласование это ведь равенство 3-х импедансов: источника, линии передачи и нагрузки. Добавление конденсатора эквивалентно тому, что у линии передачи изменились параметры (ведь любую линию передачи можно разложить в ряд LC-компонентов).
Другое дело, что можно добиться чтобы в определённом месте линии (у приёмника) амплитуда этих отражений была приемлемой (ниже порога срабатывания). Так например работает последовательное согласование, когда у источника ставится резистор. Номинал выбирается так, чтобы сумма выходного импеданса источника и самого резистора равнялись волновому сопротивлению линии. Тогда с одной стороны достигается согласование (правда только на передающем конце) и отражённая от приёмника волна добежав опять до передатчика погаситься на согласованной нагрузке источник+резистор. Т.е. она НЕ вернётся в приёмник и ничего там не испортит (картину портит ведь именно сумма прямой+отражённый сигналы). Это конечно не согласование в чистом виде (нагрузка так и осталась не согласованной), но простая и очень эффективная мера в борьбе с "дребезгом" на приёмном конце. Расплатой за это будет неимоверный дребезг на передатчике, что легко увидеть подключив осцилл к резистору согласования. Но поскольку важно чтоб правильно сработал приёмник - то передатчик пусть себе "дребезжит". Это в идеале, в жизни конечно полностью ничего не гасится и какая-то часть всё же отразиться опять в приёмник, но это уже будут копейки по сравнению с тем, что было бы без резистора.
Но эта схема не будет работать для одного источника и нескольких приёмников, т.к. появляется ещё несколько путей для распространения отражённых сигналов (по числу приёмников).
Go to the top of the page
 
+Quote Post

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

 


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


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