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

 
 
> Ошибки в работе JTAG, в чем возможная причина ?
Demeny
сообщение May 19 2009, 06:49
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Есть плата, на которой установлены в единой JTAG цепочке Spartan 2 (XC2S150) и загрузочная флэшка для него XCF01S, первым в цепочке Spartan, затем Flash. Кабель фирменный на LPT, Xilinx Parallel IV Download Cable.
Проблема заключается в том, что с помощью кабеля битстрим не удаётся корректно загрузить в Spartan - процедура загрузки отрабатывает до 100%, после чего выноcится приговор "Program Failed" и в окне сообщений пишется что-то типа "Pin Done not drive High". Однако пин Done подтянут к 3.3 В резистором 330 Ом, согласно рекомендациям Xilinx, на нем также висит светодиод через ключевой транзистор.
Что примечательно - таких проблем нет с флэшкой, которая вторая в цепочке, загрузка по JTAG в неё сгенерированного из битстрима файла всегда проходит правильно, после этого в процессе включения Spartan из неё отлично грузится, зажигая при этом светодиод Done.
Верификация битстрима из Spartan-a (при включении в проекте такой опции) показывает огромное количество ошибок (около 250 000 различий), причем число это одно и то же от проверки к проверке, и меняется только при изменении самого битстрима (коррекции проекта). Это говорит о том, что звоны и шумы тут, видимо, ни при чём.
Цепочку прозванивал, всё пропаяно хорошо, она нормально инициализируется, можно читать ID, статусы - всё ОК. А вот заливка битстрима не идёт. В чём может быть причина ?


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
RKOB
сообщение May 20 2009, 06:18
Сообщение #2


Частый гость
**

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



Ваш случай: http://www.xilinx.com/support/answers/20047.htm
Go to the top of the page
 
+Quote Post
Demeny
сообщение May 20 2009, 10:32
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Цитата(RKOB @ May 20 2009, 10:18) *

К сожалению, это не то. В моем случае пин DONE не поднимается, а там описан случай, когда DONE High, но FPGA не стартует (ноги в Z-состоянии).


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
Student Pupkin
сообщение May 22 2009, 23:51
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 23-05-08
Пользователь №: 37 760



Цитата(Demeny @ May 20 2009, 14:32) *
К сожалению, это не то. В моем случае пин DONE не поднимается, а там описан случай, когда DONE High, но FPGA не стартует (ноги в Z-состоянии).

1. Тоже возился на днях. Связка Spartan-IIE и XCS01S. Только кабель digilent. Та же фигня. Битстрим в ПЛИС с кабеля - фигу (DONE в '0'). С флэшки грузится.
Соображения такие:
1) Режим загрузки Boundary Scan со своими значениями M0...M2 введен неспроста... Если у вас отладочная плата, то джамперами установите этот режим (если не отладочная плата, то этот вариант пропускаем smile.gif ).
2) У вас нога PROGRAM от ПЛИС с ногой CF флэшки соединена? Может здесь причина? В даташите написано, что при загрузке битстрима по житагу PROGRAM должна быть притянута к '1'. А нога CF как раз через житаг в ноль устанавливается. Посмотрите осциллом ногу PROGRAM во время загрузки битстрима с кабеля. Если в ноль где-то переходит, возможно, проблемма в этом (в этом случае TAP-контроллер сбрасывается со всеми вытекающими). Тогда попробуйте CF оторвать, а PROGRAM оставить на резисторе подтяжки.
3) В моей вышеупомянутой связке был косячок - сигнал CCLK был соединен с другой пиной ПЛИС. Эта пина оказалась DOUT (до загрузки ПЛИС выход). В итоге сигнал CCLK был кривоват - не опускался до 0В, а только до 1В. При этом ПЛИС не грузилась (хотя флэш и при таком клоке исправно выдавала данные ). И причем можно было с кабеля битстрим загрузить. Когда я этот косячок исправил - ПЛИС с кабеля грузится перестала. В связи с этим можно попробовать как-нибудь флэшку временно "парализовать" - оторвать от нее CCLK или еще как-нибудь. Может поможет.
И кстати, а зачем вам по житагу битстрим в ПЛИС грузить? Ресурс флэши жалеете? (это я так спрашиваю, из любопытства rolleyes.gif). А то я не стал париться (ну не получилось, ну и ладно) - прошивал флэш, щупом коротил PROGRAM на '0' (чтоб питанием не щелкать - остальные узлы не тормозить)...
Go to the top of the page
 
+Quote Post
des00
сообщение May 25 2009, 03:52
Сообщение #5


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Student Pupkin @ May 22 2009, 18:51) *
И кстати, а зачем вам по житагу битстрим в ПЛИС грузить? Ресурс флэши жалеете? (это я так спрашиваю, из любопытства rolleyes.gif). А то я не стал париться (ну не получилось, ну и ладно) - прошивал флэш, щупом коротил PROGRAM на '0' (чтоб питанием не щелкать - остальные узлы не тормозить)...


для отладки очень удобно и быстро


--------------------
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 01:44
Рейтинг@Mail.ru


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