|
Не работает цепочка JTAG, xc2s50+xc18v01 не работает... уже не знаю что придумать |
|
|
|
Mar 19 2006, 10:28
|
Частый гость
 
Группа: Свой
Сообщений: 130
Регистрация: 16-06-05
Из: Оренбург
Пользователь №: 6 039

|
Здравствуйте! Ситуация такова. Есть самодельный кабель Parallel 3 и плата со спартан 2 и флэшью. ПЗУ соединена с ПЛИС согласно схеме из даташита на xc18v01 (JTAG цепока, плис в режиме master serial, пробовал и режим bondary-scan). Когда в iMPACT делаю initialize chain появляется ОЧЕНЬ длинная цепочка неизвестных устройств. Я пробовал подключать порт JTAG отдельно к ПЗУ и ПЛИС. Если JTAG подключен только к ПЗУ - то все прекрасно определяется и прошивается (кабель значит точно рабочий?!?!). Если ж подключить только к ПЛИС - то iMPACT определяет одно незвестное устройство...... Питание на ПЗУ и ПЛИС в порядке, дорожки точно целые (все проверял), ПЛИС в режиме Master Serial выдает 4 МГц клок и загружается с ПЗУ (смотрел сигналы осциллоскопом)... Даже не знаю что еще можно проверить.... на выводе TDO ПЛИС что то непонятное - два коротких нуля... как я понимаю этого мало для получения идентификатора  ... Мог ли у ПЛИС сдохнуть JTAG порт?
--------------------
Программа выполнила невыполнимое и допустила недопустимое
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 25)
|
Mar 19 2006, 11:49
|
Участник

Группа: Свой
Сообщений: 39
Регистрация: 9-03-06
Из: Оренбург
Пользователь №: 15 073

|
Подохнуть не мог. Попробуй с другим кабелем и c Flash Programmer от макрейгора. Утилитка JTAGScanChainAnalyzer.exe. Если покажет 2 девайса... то все работает
|
|
|
|
|
Mar 19 2006, 13:00
|
Частый гость
 
Группа: Свой
Сообщений: 130
Регистрация: 16-06-05
Из: Оренбург
Пользователь №: 6 039

|
Цитата(snake (o) @ Mar 19 2006, 16:49)  Подохнуть не мог. Попробуй с другим кабелем и c Flash Programmer от макрейгора. Утилитка JTAGScanChainAnalyzer.exe. Если покажет 2 девайса... то все работает  Другого кабеля не будет  (а иначе зачем самому было делать) А где достать эту утилитку?(поисковики ничего не нашли) Кстати на форуме ктото говорил что не пользуется импактом... эта утилитка его заменит? А каковы конкретные причины неработоспособности могут быть?
--------------------
Программа выполнила невыполнимое и допустила недопустимое
|
|
|
|
|
Mar 20 2006, 07:06
|
Участник

Группа: Свой
Сообщений: 39
Регистрация: 9-03-06
Из: Оренбург
Пользователь №: 15 073

|
Утилитка в составе Flash Programmer - скачать можно с www.macraigor.com
Ты скажи что именно тебе надо - если прошить флешку - то поможет
|
|
|
|
|
Mar 25 2006, 21:10
|
Участник

Группа: Свой
Сообщений: 58
Регистрация: 13-03-05
Пользователь №: 3 314

|
Была немного похожая проблема, неправильно читался idcode. Потом все оказалось в соединениях. Можно попробывать отладить с помощью impact , там есть режим, позволющий подавать произвольные значения на TMS, TCK и TDI, проверить, что они приходят на микросхемы.
Сообщение отредактировал Bar - Mar 25 2006, 21:10
|
|
|
|
|
Mar 27 2006, 15:15
|
Частый гость
 
Группа: Свой
Сообщений: 130
Регистрация: 16-06-05
Из: Оренбург
Пользователь №: 6 039

|
Цитата(Bar @ Mar 26 2006, 03:10)  Была немного похожая проблема, неправильно читался idcode. Потом все оказалось в соединениях. Можно попробывать отладить с помощью impact , там есть режим, позволющий подавать произвольные значения на TMS, TCK и TDI, проверить, что они приходят на микросхемы. Я пробовал - все сигналы доходили Цитата(DS_ @ Mar 26 2006, 14:05)  Я вот не помню, как у Spartan2, но по моему JTAG включается только когда FPGA запрограммировано и JTAG в ПЛИС разрешен. Во всяком случае я встречался с тем, что пока не зальешь flash и не перезапустишь, jtag толком не работал. спартан загружался с флэши в режиме master serial, причем нормально загружался и работал. но цепочка не определялась... на выходе TDO ПЛИС какойто странный сигнал (два коротких нуля)... Щас делаю новую плату... на днях узнаю заработает или нет
--------------------
Программа выполнила невыполнимое и допустила недопустимое
|
|
|
|
|
Mar 29 2006, 06:49
|
Участник

Группа: Свой
Сообщений: 63
Регистрация: 25-06-04
Пользователь №: 179

|
Эх, ностальжи, тоже паял цепочку 18v01+xc2s50 когда-то.. Была такая ситуация года четыре назад, как я понял, дело действительно в соединениях, качестве и количестве питания, в общем надо облагородить внешнюю и внутреннюю электромагнитную обстановку  Кстати, заодно рекомендую (уже писал как-то об этом) поставить в третий кабель диоды Шоттки, вместо подобия 1n4148 - как раз с такими мне достался. В-общем проблем с этим изделием с тех пор не было.
|
|
|
|
|
Mar 30 2006, 17:17
|
Частый гость
 
Группа: Свой
Сообщений: 130
Регистрация: 16-06-05
Из: Оренбург
Пользователь №: 6 039

|
Цитата(bbg @ Mar 29 2006, 12:49)  Эх, ностальжи, тоже паял цепочку 18v01+xc2s50 когда-то.. Была такая ситуация года четыре назад, как я понял, дело действительно в соединениях, качестве и количестве питания, в общем надо облагородить внешнюю и внутреннюю электромагнитную обстановку  Кстати, заодно рекомендую (уже писал как-то об этом) поставить в третий кабель диоды Шоттки, вместо подобия 1n4148 - как раз с такими мне достался. В-общем проблем с этим изделием с тех пор не было.  В кабеле у меня стоят диоды с барьером шотки (1n5xxx не помню  ) ). Соединения впорядке вроде, по крайной мере сегодня новую плату сделал (трассировка отличается от старой), все припаял, работает ТОЧНО также как и старас (т. е. вместо цепочки из 2х устройств определяется очень длинная). Опять перерезал дорожки и прошиваю только ФЛЭШЬ  Я почти на 100% уверен что дело в кабеле, щас он 1 метр. Пока нету времени укоротить и проверить  но попробыват стоит. PS. Я еще отпаял кондеры по 100 пф из кабеля, тоже самое.
--------------------
Программа выполнила невыполнимое и допустила недопустимое
|
|
|
|
|
Apr 1 2006, 12:14
|
Частый гость
 
Группа: Свой
Сообщений: 130
Регистрация: 16-06-05
Из: Оренбург
Пользователь №: 6 039

|
Цитата(DS_ @ Mar 31 2006, 01:35)  Я не помню точно, но по-моему в Spartanе надо явным образом в коде разрешать JTAG, иначе он не включается. То есть я должен установть перемычки на M0 M1 и M2, а какже быть тогда с режимом Master Serial и загрузкой из Flash??? PS.  Поздравьте меня - у меня сегодня заработала моя PCI плата с ядром от SET  . Свое ядро попозже зашью
--------------------
Программа выполнила невыполнимое и допустила недопустимое
|
|
|
|
|
Apr 12 2006, 02:05
|
Участник

Группа: Новичок
Сообщений: 23
Регистрация: 11-04-06
Пользователь №: 16 028

|
Цитата(ishergin @ Apr 1 2006, 15:14)  Цитата(DS_ @ Mar 31 2006, 01:35)  Я не помню точно, но по-моему в Spartanе надо явным образом в коде разрешать JTAG, иначе он не включается.
То есть я должен установть перемычки на M0 M1 и M2, а какже быть тогда с режимом Master Serial и загрузкой из Flash??? PS.  Поздравьте меня - у меня сегодня заработала моя PCI плата с ядром от SET  . Свое ядро попозже зашью  Если JTAG всё ещё не работает - проверь следующее. У старых Спартанов на пине PROG должен быть высокий уровень, а пине INIT низкий всё время в режиме JTAG. M0, M1, M2 - не имеет значения - цепочка должна работать. А вообще открой BSDL файл для этого чипа и почитай коментарии. Удачи.
|
|
|
|
|
Apr 12 2006, 05:26
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(ishergin @ Mar 19 2006, 14:28)  Мог ли у ПЛИС сдохнуть JTAG порт? Про Спартанца не скажу, работал с Виртексами. Но, чтобы помочь хоть чем то: попробуйте понизить частоту JTAG в импакте, проверьте, что разрешен JTAG - там же. В импакте есть режим тестирования по JTAG, можно поработать им. попробуйте почитать только ID от FPGA. Есть программа UniversalScan. Она где-то тут есть в закромах. При ее помощи очень удобно проверять работоспособность цепи и вообще пины устройства. У меня на сайте есть статейка про JTAG. Там немного засвечено об этом. И еще. Зачем Вам кабель в 3 метра? 0,5 метра от силы. Куда больше? Дело скорее всего в этом. Удачи!
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Apr 12 2006, 11:26
|
Частый гость
 
Группа: Свой
Сообщений: 130
Регистрация: 16-06-05
Из: Оренбург
Пользователь №: 6 039

|
Цитата(iosifk @ Apr 12 2006, 11:26)  Цитата(ishergin @ Mar 19 2006, 14:28) 
Мог ли у ПЛИС сдохнуть JTAG порт?
Про Спартанца не скажу, работал с Виртексами. Но, чтобы помочь хоть чем то: попробуйте понизить частоту JTAG в импакте, проверьте, что разрешен JTAG - там же. В импакте есть режим тестирования по JTAG, можно поработать им. попробуйте почитать только ID от FPGA. Есть программа UniversalScan. Она где-то тут есть в закромах. При ее помощи очень удобно проверять работоспособность цепи и вообще пины устройства. У меня на сайте есть статейка про JTAG. Там немного засвечено об этом. И еще. Зачем Вам кабель в 3 метра? 0,5 метра от силы. Куда больше? Дело скорее всего в этом. Удачи!  Кабель уже 1 метр (меньше пока не пробовал). Universal Scan уже есть, только не выяснял может ли работать он с кабелем Parallel 3 или надо новый собирать (на это вобщемто щас времени нет  ) Как понизить частоту JTAG и включить его в импакте я не нашел  (может надо в ISE указывать? FPGA Startup CLock у меня щас стоит в CCLK, если я поставлю JTAG Clock то будет ли работать режим master seial ? по моему это не то.. ) Спасибо.
--------------------
Программа выполнила невыполнимое и допустила недопустимое
|
|
|
|
|
Apr 13 2006, 01:06
|
Участник

Группа: Новичок
Сообщений: 23
Регистрация: 11-04-06
Пользователь №: 16 028

|
Цитата(ishergin @ Apr 12 2006, 14:26)  Цитата(iosifk @ Apr 12 2006, 11:26)  Цитата(ishergin @ Mar 19 2006, 14:28) 
Мог ли у ПЛИС сдохнуть JTAG порт?
Про Спартанца не скажу, работал с Виртексами. Но, чтобы помочь хоть чем то: попробуйте понизить частоту JTAG в импакте, проверьте, что разрешен JTAG - там же. В импакте есть режим тестирования по JTAG, можно поработать им. попробуйте почитать только ID от FPGA. Есть программа UniversalScan. Она где-то тут есть в закромах. При ее помощи очень удобно проверять работоспособность цепи и вообще пины устройства. У меня на сайте есть статейка про JTAG. Там немного засвечено об этом. И еще. Зачем Вам кабель в 3 метра? 0,5 метра от силы. Куда больше? Дело скорее всего в этом. Удачи!  Кабель уже 1 метр (меньше пока не пробовал). Universal Scan уже есть, только не выяснял может ли работать он с кабелем Parallel 3 или надо новый собирать (на это вобщемто щас времени нет  ) Как понизить частоту JTAG и включить его в импакте я не нашел  (может надо в ISE указывать? FPGA Startup CLock у меня щас стоит в CCLK, если я поставлю JTAG Clock то будет ли работать режим master seial ? по моему это не то.. ) Спасибо. Кабель, конечно, не мешает укоротить. Но проблема, скорее всего в том что я сказал. 1. Поставь 1k pull-up на PROG и 1к pull-down на INIT на своих Зайлинксах. 2. Проверь termination на своей плате на линиях TCK и TMS. Попробуй сначала последовательно вставить резистор эдак 47ом или больше прямо у JTAG разъёма. Если это не поможет, попробуй посадить 68ом последовательно с 100pF между TCK и GND Удачи. И ещё - как понизить частоту TCK - можно отредактировать BSDL файл. Находишь в этом файле такую строку: attribute TAP_SCAN_CLOCK of TCK : signal is (2.0e6, LOW); и вместо 2.0e6 (2mHz) ставишь, к примеру, 1.0e6 или 0.5е6. Но, как правило, проблемы не с частотой, а с фронтом сигнала.
|
|
|
|
|
Apr 13 2006, 09:14
|
Частый гость
 
Группа: Свой
Сообщений: 130
Регистрация: 16-06-05
Из: Оренбург
Пользователь №: 6 039

|
Цитата Кабель, конечно, не мешает укоротить. Но проблема, скорее всего в том что я сказал. 1. Поставь 1k pull-up на PROG и 1к pull-down на INIT на своих Зайлинксах. 2. Проверь termination на своей плате на линиях TCK и TMS. Попробуй сначала последовательно вставить резистор эдак 47ом или больше прямо у JTAG разъёма. Если это не поможет, попробуй посадить 68ом последовательно с 100pF между TCK и GND Удачи.
И ещё - как понизить частоту TCK - можно отредактировать BSDL файл. Находишь в этом файле такую строку: attribute TAP_SCAN_CLOCK of TCK : signal is (2.0e6, LOW);
и вместо 2.0e6 (2mHz) ставишь, к примеру, 1.0e6 или 0.5е6.
Но, как правило, проблемы не с частотой, а с фронтом сигнала. Поставлю и проверю (на PROGRAMM резистор стоит) Насчет клока что так его менять надо - не знал  А импакт пишет в строке состояния что частота 200 кГц... Еще непонятно: в BSDL файле для xc18v01 частота указана 1.00e+07 (10 мгц!!!) для спартан 2 33.0e6 !!!!  . Странно все это. Спасибо! PS. Все фронты хорошие
Сообщение отредактировал ishergin - Apr 13 2006, 09:17
--------------------
Программа выполнила невыполнимое и допустила недопустимое
|
|
|
|
|
Apr 17 2006, 22:01
|
Участник

Группа: Новичок
Сообщений: 23
Регистрация: 11-04-06
Пользователь №: 16 028

|
Частота в BSDL поставлена не от балды. У Спартанца максимальная частота выше, так как у него структура силикона рассчитана на более высокие частоты. Говоря про фронт я имел в виду ещё и следующее: TCK и TMS фронты должны приходить на чип синхронно. Поэтому важно как разведены дорожки на плате. Для этих двух сигналов дорожки должны иметь равную длину, сигналы не должны иметь отражений. проверь форму сигнала на чипе хорошим осциллографом - нет ли двойных пиков или ещё какой бяки.
|
|
|
|
|
Dec 21 2006, 12:08
|
Местный
  
Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377

|
К ishergin, так чем дело закончилось?! У меня сейчас аналогичные симптомы. Спаяли пару плат на Spartan-3E с XC3S100E и XCF01S (и в обоих аналогичные проблемы). Конфигурирую с помощью Parallel Cabel III (питание 3.3В), в режиме Boundary-Scan Mode от iMPACT 7.1.04i. Также, как описано в предыдущих постах, определяет кучу (более 10) устройств. Когда подключаюсь только к одной Flash, то ее определяет свободно, стирает и пр. А в цепочке вот не работает. Последовательные резисторы поставил везде, где можно (фронты нормальные). На выводах после включения питания: PROG_B - 3.3В, INIT_B - 3.3В, DONE - 0В. Подскажите, кто знает !!!  Да, еще, что это есть BSDL файл, где он находится? Уже нашел, скачал свежий из Xilinx, продовал уменьшить скорость для TAP_SCAN_CLOCK of TCK : signal is (10.0e6, both) до 10.0е5, но положительного результатат не получил.
Сообщение отредактировал Волощенко - Dec 21 2006, 18:37
|
|
|
|
|
Dec 21 2006, 22:40
|
Частый гость
 
Группа: Свой
Сообщений: 130
Регистрация: 16-06-05
Из: Оренбург
Пользователь №: 6 039

|
Цитата(Волощенко @ Dec 21 2006, 14:08)  К ishergin, так чем дело закончилось?! У меня сейчас аналогичные симптомы. Спаяли пару плат на Spartan-3E с XC3S100E и XCF01S (и в обоих аналогичные проблемы). Конфигурирую с помощью Parallel Cabel III (питание 3.3В), в режиме Boundary-Scan Mode от iMPACT 7.1.04i. Также, как описано в предыдущих постах, определяет кучу (более 10) устройств. Когда подключаюсь только к одной Flash, то ее определяет свободно, стирает и пр. А в цепочке вот не работает. Последовательные резисторы поставил везде, где можно (фронты нормальные). На выводах после включения питания: PROG_B - 3.3В, INIT_B - 3.3В, DONE - 0В. Подскажите, кто знает !!!  Да, еще, что это есть BSDL файл, где он находится? Уже нашел, скачал свежий из Xilinx, продовал уменьшить скорость для TAP_SCAN_CLOCK of TCK : signal is (10.0e6, both) до 10.0е5, но положительного результатат не получил. Какой BSDL грузится и откуда импакт по моему пишет в логах, я не помню точно... Проблему решить не удалось, в итоге я продключил JTAG только к FLASH xc18v01, ПЛИС загружала оттуда конфигурацию сама. Сильно укорачивать кабель я так и не пробывал =). Скорее всего дело в разводке ПП...
--------------------
Программа выполнила невыполнимое и допустила недопустимое
|
|
|
|
|
Dec 23 2006, 08:29
|
Частый гость
 
Группа: Свой
Сообщений: 130
Регистрация: 16-06-05
Из: Оренбург
Пользователь №: 6 039

|
Цитата(Волощенко @ Dec 22 2006, 12:45)  К ishergin, спасибо. Еще, пожалуйста, уточните в части схемной реализации. Вы отдельно программируете Flash, а затем "физически" переподстыковываете ее к FPGA, чтобы загружать? То есть не понятен вопрос перекоммутаций у Вас на плате. Ничего не переподстывовывается  ПЛИС подключена к FLASH в режиме serial master, FLASH же программируется по JTAG, из-за этого, в частности, для загрузки конфигурации в ПЛИС надо выключить и выключить питание платы.
--------------------
Программа выполнила невыполнимое и допустила недопустимое
|
|
|
|
|
Dec 23 2006, 13:31
|
Частый гость
 
Группа: Свой
Сообщений: 153
Регистрация: 15-05-06
Из: Николаев
Пользователь №: 17 119

|
Цитата(ishergin @ Dec 23 2006, 07:29)  Ничего не переподстывовывается  ПЛИС подключена к FLASH в режиме serial master, FLASH же программируется по JTAG, из-за этого, в частности, для загрузки конфигурации в ПЛИС надо выключить и выключить питание платы. Можно ли ссылку на схему или же саму схему, где раскрыты основные связи между FLASH, FPGA и JTAG? И кто из них первый перед JTAG по линии данных? Что-то многовато вариантов гуляет в XAPP-ах и pdf-схемах старт-китов, а в конечном итоге...
|
|
|
|
|
Dec 23 2006, 13:38
|
Частый гость
 
Группа: Свой
Сообщений: 130
Регистрация: 16-06-05
Из: Оренбург
Пользователь №: 6 039

|
Цитата(alvol @ Dec 23 2006, 15:31)  Цитата(ishergin @ Dec 23 2006, 07:29)  Ничего не переподстывовывается  ПЛИС подключена к FLASH в режиме serial master, FLASH же программируется по JTAG, из-за этого, в частности, для загрузки конфигурации в ПЛИС надо выключить и выключить питание платы. Можно ли ссылку на схему или же саму схему, где раскрыты основные связи между FLASH, FPGA и JTAG? И кто из них первый перед JTAG по линии данных? Что-то многовато вариантов гуляет в XAPP-ах и pdf-схемах старт-китов, а в конечном итоге... Самый первый пост Цитата ... ПЗУ соединена с ПЛИС согласно схеме из даташита на xc18v01 (JTAG цепока, плис в режиме master serial, пробовал и режим bondary-scan)... Т.к. я использовал xc18v01, то логичнее было взять схему подключения из ее даташита.....
--------------------
Программа выполнила невыполнимое и допустила недопустимое
|
|
|
|
|
Apr 27 2007, 16:25
|
Частый гость
 
Группа: Свой
Сообщений: 130
Регистрация: 16-06-05
Из: Оренбург
Пользователь №: 6 039

|
Год спустя, эпопея продолжается... Попросили изготовить еще один экземпляр платы моего диплома, что собственно говоря я и сделал. Самым интересным оказалось то, что цепочка JTAG теперь прекрасно работает на новой плате. Единственное отличие: исправлена маленькая ошибка, были перепутаны 2 ноги ПЛИС, поэтому правильный монтаж был выполнен в виде 2-х коротких (5 мм!!) проводов. В новой плате эта ошибка исправлена... и все заработало. Но всетаки странно...
--------------------
Программа выполнила невыполнимое и допустила недопустимое
|
|
|
|
|
May 4 2007, 10:52
|
Группа: Новичок
Сообщений: 14
Регистрация: 23-08-06
Пользователь №: 19 757

|
Цитата(ishergin @ Apr 27 2007, 17:25)  Год спустя, эпопея продолжается... Попросили изготовить еще один экземпляр платы моего диплома, что собственно говоря я и сделал. Самым интересным оказалось то, что цепочка JTAG теперь прекрасно работает на новой плате. Единственное отличие: исправлена маленькая ошибка, были перепутаны 2 ноги ПЛИС, поэтому правильный монтаж был выполнен в виде 2-х коротких (5 мм!!) проводов. В новой плате эта ошибка исправлена... и все заработало. Но всетаки странно...  Была похожая проблема с отладочной платой, на которой стоял xc2s200 и флеш...Импакт обнаруживал длинную цепочку из флешей и вис...Что-бы этого избежать, необходимо выставить режим JTAG, импакт прочитает плис+флеш, при прошивке плиски необходимо для флеши организовать "макетный" msk-файл и наоборот, если хотите корректно прошить флеш, нужно плиске организовать bit файл...Так написано в даташите к отладочной плате
|
|
|
|
|
Jun 26 2007, 15:39
|
Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 6-12-04
Пользователь №: 1 340

|
Всем привет ! Сталкнулся с подобной проблемой ! (то определит только флешку, то 3 непонятных девайса.....) цепочка: TDI - xcf01s + spartan3 - TDO Проблема началась после перехода с USB на LPT програматор(взял готовый из набора), (с USB соотвественно все работает) c LPT отказалось, оказалось что входные буфера(LPT програматора) плохо воспринимали уровень 2.5в поменял местами микросхемы в цепи: TDI - spartan3 + xcf01s - TDO все заработало.  Пол дня потратил....
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|