|
Не шьётся Spartan2 |
|
|
|
Aug 20 2018, 14:25
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 25-07-16
Пользователь №: 92 691

|
Всем доброго времени суток. Не удается прошить XC2S300E по JTAG. Все время выскакивает ошибка - программатор Platform Cable USB2 не видит микросхему. Перерыл уже кучу доков - ничего не смог найти. Может кто поможет?
|
|
|
|
|
Aug 21 2018, 05:25
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 25-07-16
Пользователь №: 92 691

|
Цитата(MegaVolt @ Aug 20 2018, 14:34)  Напишите хоть что он выдаёт когда не хочет шить? Так шанс на помощь сильно возрастёт. iMPACT:2130 - Boundary-scan chain test failed . Please check tdi->tdo connection between device:'1' ( 'xc2s300e') and the cable . A problem may exist in the hardware configuration. Check that the cable, scan chain, and power connections are intact, that the specified scan chain configuration matches the actual hardware, and that the power supply is adequate and delivering the correct voltage. Цитата Проверьте, что программатор имеет доступ к bsdl-файлу на данную микросхему. Попробуйте считать с микросхемы ID и убедитесь, что в файле ID соответствует тому, что считали из микросхемы. Программатор вообще не может произвести ни одной операции, поскольку не видит микросхемы ПЛИС
Сообщение отредактировал MPetrovich - Aug 21 2018, 05:27
|
|
|
|
|
Aug 21 2018, 06:44
|

Участник

Группа: Участник
Сообщений: 54
Регистрация: 25-12-15
Из: Пенза
Пользователь №: 89 844

|
Цитата(MPetrovich @ Aug 21 2018, 08:25)  iMPACT:2130 - Boundary-scan chain test failed . Please check tdi->tdo connection between device:'1' ( 'xc2s300e') and the cable . A problem may exist in the hardware configuration. Check that the cable, scan chain, and power connections are intact, that the specified scan chain configuration matches the actual hardware, and that the power supply is adequate and delivering the correct voltage. Может действительно дело в "неконтакте" (JTAG контакты, земля/питание)? Только на одной микросхеме проявляется такой эффект?
|
|
|
|
|
Aug 21 2018, 07:05
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 25-07-16
Пользователь №: 92 691

|
Цитата(serj1979 @ Aug 21 2018, 06:44)  Может действительно дело в "неконтакте" (JTAG контакты, земля/питание)? Сигналы от JTAG смотрел оссцилом на ногах оснастки. Все в наличии. Даже TDO дергается один раз к земле. Контактов земли и питания до фига и все они между собой звонятся(ну за исключением VCCIO конечно, там по банкам звонятся) и даже если есть неконтакт в одном соединении, то оно дублируется многократно. Цитата Только на одной микросхеме проявляется такой эффект? Нет на всех. Их у меня два десятка.
|
|
|
|
|
Aug 21 2018, 07:22
|

Участник

Группа: Участник
Сообщений: 54
Регистрация: 25-12-15
Из: Пенза
Пользователь №: 89 844

|
Цитата(MPetrovich @ Aug 21 2018, 10:05)  Нет на всех. Их у меня два десятка. Контакты конфигурирования интерфейса программирования (M0 M1 M2) для JTAG? с PROGRAM и INIT всё хорошо? В догонку раздел Configuration https://www.xilinx.com/support/documentatio...heets/ds077.pdf
Сообщение отредактировал serj1979 - Aug 21 2018, 07:36
|
|
|
|
|
Aug 21 2018, 07:44
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 25-07-16
Пользователь №: 92 691

|
Цитата(serj1979 @ Aug 21 2018, 07:22)  Контакты конфигурирования интерфейса программирования (M0 M1 M2) для JTAG? с PROGRAM и INIT всё хорошо? Да. Пробовал и 101 и 100. Да и вообще, если верить док-ции, то JTAG доступен всегда вне зависимости от состояния M0...M2. Просто когда включен именно режим JTAG, то остальные интерфейсы недоступны.
|
|
|
|
|
Aug 21 2018, 11:28
|

Профессионал
    
Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565

|
Цитата(MPetrovich @ Aug 21 2018, 11:05)  Нет на всех. Их у меня два десятка. Если платы нового типа - может длинные провода JTAG до платы или по плате. Сигналы JTAG притянуты к питанию резисторами? Я пользуюсь исключительно Digilent jtag hs2, там нет проводов. PS: а без клоков этот тип ПЛИС должен общаться по JTAG ?
|
|
|
|
|
Aug 21 2018, 11:54
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 25-07-16
Пользователь №: 92 691

|
Цитата(makc @ Aug 21 2018, 10:44)  У Вас есть согласующий резистор на линии TCK? Если нет, то вполне возможно дело в нем. Можно попробовать его прилепить "на соплях" + снизить частоту JTAG. Резистора нет, но и никакого упоминания о нем ни разу не попадалось мне в документации. Не очень понимаю смысла в таком резисторе - по факту получится линия задержки: последовательный резистор и входная емкость контакта. Частота JTAG итак самая низкая из возможных - 750кГц Цитата может длинные провода JTAG до платы или по плате. А какая длина допустима по Вашему? Частота то уж итак низкая - 750кГц. Цитата Сигналы JTAG притянуты к питанию резисторами? Специально не притянуты, но (если мне не изменяет память) у этих выводов вроде бы должны быть внутренние подтяжки. Цитата а без клоков этот тип ПЛИС должен общаться по JTAG ? Это как? Там вроде бы наоборот нужно в настройках проекта сделать тактирование именно от ТСК при использовании JTAG.
|
|
|
|
|
Aug 21 2018, 12:02
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(MPetrovich @ Aug 21 2018, 14:54)  Резистора нет, но и никакого упоминания о нем ни разу не попадалось мне в документации. Не очень понимаю смысла в таком резисторе - по факту получится линия задержки: последовательный резистор и входная емкость контакта. Частота JTAG итак самая низкая из возможных - 750кГц На самом деле нет, упоминания есть. Например в XAPP058 есть фраза: Цитата 5.The integrity of the JTAG TCK signal is critical. Apply clock distribution and termination design practices to the TCK signal. Согласующий резистор на выходе является одним из способов согласования волнового сопротивления линии. Исходя из моей практики - это нужно. Причем даже на 750 кГц бывали случаи, когда не работало до установки согласующего резистора в линию (как можно ближе к выходу кабеля, для начала попробовать 50 Ом).
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Aug 21 2018, 12:24
|

Профессионал
    
Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565

|
Цитата(MPetrovich @ Aug 21 2018, 15:54)  А какая длина допустима по Вашему? Частота то уж итак низкая - 750кГц. 0 мм. Там не в частоте дело. Что-то другое. То ли драйвер TDO хреновый, то ли иголки наводятся, то ли важны фронты, то ли подтяжка вверх... Цитата(_4afc_ @ Sep 1 2016, 13:10)  У нас плисины на модулях. В одних мамках шьются на ура, в других ни в какую, в третьих через раз на низкой скорости. Походу зависит от разводки. Причём где шьётся - можно даже проводами удлиннить JTAG - будет работать. Цитата(MPetrovich @ Aug 21 2018, 15:54)  Это как? Там вроде бы наоборот нужно в настройках проекта сделать тактирование именно от ТСК при использовании JTAG. У меня просто плисины ещё всегда тактируются и сбрасываются RC цепочкой. Может это важно... PS: кстати попробуйте поиграться, поставьте не 750кГц, а 3МГц и т.д - мне в таких случаях помогало. PPS: кстати однажды удалось подружиться с одной платой пропустив все сигналы через буферы. PPPS: Возможно вообще важен порядок сигналов в разъёме: TMS,TDI,TDO,TCK,GND,VDD - рабочий
|
|
|
|
|
Aug 21 2018, 12:34
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 25-07-16
Пользователь №: 92 691

|
Цитата в XAPP058 есть фраза: Есть))) Специально проверил. Только относится она по моему к случаю, представленному на рисунке чуть выше этой фразы. А изображена там схема прошивки цепочки ПЛИСов да еще с мультиплексором на пути ТСК. Возможно в этом случае "целостность цепи сигнала ТСК" будет действительно критичной. В моем случае я шью напрямую одну ПЛИС и вряд ли согласование по сопротивлению будут столь критичны. Безусловно, я опробую последовательное включение резистора по ТСК, благо это вовсе не сложно))) А есть ли еще какие-нибудь соображения у знатоков? Просто хотелось бы сразу опробовать разные варианты, могущие разрешить ситуацию.
|
|
|
|
|
Aug 21 2018, 12:55
|

Участник

Группа: Участник
Сообщений: 54
Регистрация: 25-12-15
Из: Пенза
Пользователь №: 89 844

|
Цитата(MPetrovich @ Aug 21 2018, 15:34)  Просто хотелось бы сразу опробовать разные варианты, могущие разрешить ситуацию. Да фиг знает... программатор точно исправен, другие ПЛИСины шьёт? Конденсаторы земля/питание стоят? Шьёте Impactом из WebPack(версия какая)?
Сообщение отредактировал serj1979 - Aug 21 2018, 12:56
|
|
|
|
|
Aug 21 2018, 14:12
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 25-07-16
Пользователь №: 92 691

|
Шью Impactом. Программатор до этой ПЛИСины (пару недель назад) работал нормально. Никто кроме меня им не пользуется)))
|
|
|
|
|
Aug 22 2018, 04:11
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(MPetrovich @ Aug 21 2018, 15:34)  Есть))) Специально проверил. Только относится она по моему к случаю, представленному на рисунке чуть выше этой фразы. А изображена там схема прошивки цепочки ПЛИСов да еще с мультиплексором на пути ТСК. Возможно в этом случае "целостность цепи сигнала ТСК" будет действительно критичной. Такие проблемы бывают и в совсем простых конфигурациях, типа Вашей. Поэтому правило общее и этому стоит уделять внимание, чтобы не иметь проблем в будущем при отладке. Цитата В моем случае я шью напрямую одну ПЛИС и вряд ли согласование по сопротивлению будут столь критичны. В варианте соединения типа точка-точка тоже есть место для получения отраженного сигнала и результата в виде звона на линии, если нет согласования по импедансу. Можете попробовать взять любой пакет моделирования, тот же HyperLynx, промоделировать и посмотреть. Кстати, если есть возможность, то посмотрите форму сигнала TCK. Может быть это наведет на какие-то мысли.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Aug 22 2018, 07:25
|
Участник

Группа: Участник
Сообщений: 18
Регистрация: 10-08-18
Пользователь №: 106 692

|
Можно попробовать сигналы TCK, TDI, TDO от программатора до разъема на плате завести витыми парами (каждый сигнальный проводник свит с земляным проводником,а земляные - с каждой стороны подключены к земляным контактам разъема). Но, конечно, еще и от разводки сигналов JTAG по плате может зависеть - как расположена возвратная земля по отношению к сигнальным трассам. Но это больше на мегагерцах сказывается. Ну и предложение включить в разрыв TCK резистор несколько десятков Ом поддержу - подавит возможный звон от отражений.
|
|
|
|
|
Aug 22 2018, 13:16
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 25-07-16
Пользователь №: 92 691

|
Прикрепил фото сигналов JTAG на осциллографе. Сверху вниз: TCK; TDI; TDO; TMS Опробовал подключение различных сопротивлений последовательно с ТСК. Результат тот же - JTAG не видит м/сх. По осциллограмме видно, что ТСК вполне приличной формы с минимальными звонами. Да и остальные сигналы тоже. Цитата(iosifk @ Aug 22 2018, 08:33)  Как я понял Вы ID прочитать не можете. Да. И поскольку ID читается в начале каждой операции, то ни одной операции я не могу совершить через JTAG Цитата А что написано в bsdl-файле о максимальной частоте TCK? Честно сказать ни разу не пользовался данными из bsdl-файла. Да и ниже 750кГц я по любому не смогу опуститься. Цитата Как тут указывали, можно просто сделать небольшой переходник с согласующими резисторами. пробовал - пофиг... Цитата И еще. Как там с питанием. Может быть у древнего спартанца 5 вольт питание, а у бластера можно подавать только 3? Питание ядра 1,8 вольт, питание переферии 1,2...3,6 вольт. Я использую 3.3В
|
|
|
|
|
Aug 22 2018, 13:22
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(MPetrovich @ Aug 22 2018, 16:16)  Прикрепил фото сигналов JTAG на осциллографе. Сверху вниз: TCK; TDI; TDO; TMS Честно сказать ни разу не пользовался данными из bsdl-файла. Да и ниже 750кГц я по любому не смогу опуститься. Мои статьи: JTAG тестирование. Совр Электр №2,3,4,5 за 2007 См. рис. 9. Там расписано, как выглядят диаграммы команд в сигналах JTAG. Попробуйте найти в программе программатора только команду чтения ID. Первые 4 клока TCK переводят порт JTAG в состояние сброс. И далее по диаграммам переходов все можно отследить... См. рис. 10... Вот как выглядит чтение ID  А в bsdl-файле написано, какой ID должен прочитаться... Если будут вопросы по статьям, то могу ответить по скайпу голосом...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Aug 22 2018, 13:42
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 25-07-16
Пользователь №: 92 691

|
Цитата Попробуйте найти в программе программатора только команду чтения ID. Это каким образом я вытащу из Impact команду чтения ID? По факту первая же команда при запуске JTAG это и есть чтение ID. Только после корректного прочтения продолжается выполнение других команд. Я осциллограмму привел больше для того, чтобы показать форму сигналов и то, что программатор их формирует. А вот ответа от м/сх кроме одиночного падения TDO в ноль нету.
|
|
|
|
|
Aug 22 2018, 14:11
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(MPetrovich @ Aug 22 2018, 16:42)  Это каким образом я вытащу из Impact команду чтения ID? Думаю так: Импакт - файл - инициализация цепи. Правда сейчас проверить не на чем... И еще. Output - SVF файл - создать SVF файл Вот в этом файле можно прочесть "что отправляли" и "что получили"...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Aug 22 2018, 14:21
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 25-07-16
Пользователь №: 92 691

|
В моем случае: Operation -> Initialize Chain Опробовал. То же самое на экране осциллографа. А можно ли закольцевать TDI->TDO, чтобы проверить программатор?
|
|
|
|
|
Aug 22 2018, 15:06
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(MPetrovich @ Aug 22 2018, 17:21)  А можно ли закольцевать TDI->TDO, чтобы проверить программатор? Проверить можно на любом исправном стартовом наборе. А "закольцовывать" вообще смысла нет. Просто для этого нужно в цепь поставить триггер с TCK на тактовом... А зачем? На исправном даете команду чтения ID. Потом сравниваете с Вашей платой. В SVF файле сразу же можно прочитать что подавали и что получили. ID и коды команд - записаны в bsdl файле...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Aug 23 2018, 05:55
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 25-07-16
Пользователь №: 92 691

|
Вот что написано у меня в файле xc2s300e.bsd: entity generated_xc2s300e is
generic (PHYSICAL_PIN_MAP : string := "X_PACKAGE");
port (TCK: in bit; TDI: in bit; TDO: out bit; TMS: in bit);
use STD_1149_1_2001.all; attribute Component_Conformance of xc2s300e : entity is "STD_1149_1_2001";
attribute PIN_MAP of xc2s300e : entity is PHYSICAL_PIN_MAP;
constant X_PACKAGE:PIN_MAP_STRING := "TCK : 1," & "TDI : 2," & "TDO : 3," & "TMS : 4"; attribute Tap_Scan_In of TDI: signal is true; attribute Tap_Scan_Mode of TMS: signal is true; attribute Tap_Scan_Out of TDO: signal is true; attribute Tap_Scan_Clock of TCK: signal is (1.0e06, BOTH);
attribute Instruction_Length of xc2s300e: entity is 2; attribute Instruction_Opcode of xc2s300e: entity is "BYPASS (11)"; attribute Instruction_Capture of xc2s300e: entity is "01"; attribute Boundary_Length of xc2s300e: entity is 1; attribute Boundary_Register of xc2s300e: entity is "0 (BC_1, *, control, 0)";
end xc2s300e;
Не пойму где тут указан ID? В файл .svf у меня вообще ничего не пишется, он пуст.
Прошу прощения .svf не пустой...
// Created using Xilinx iMPACT Software [ISE - 9.2i] TRST OFF; ENDIR IDLE; ENDDR IDLE; STATE RESET; STATE IDLE; FREQUENCY 1E6 HZ; TIR 0 ; HIR 0 ; TDR 0 ; HDR 0 ; TIR 0 ; HIR 0 ; HDR 0 ; TDR 0 ; TIR 0 ; HIR 0 ; TDR 0 ; HDR 0 ; TIR 0 ; HIR 0 ; TDR 0 ; HDR 0 ; TIR 0 ; HIR 0 ; HDR 0 ; TDR 0 ;
|
|
|
|
|
Aug 23 2018, 06:20
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(MPetrovich @ Aug 22 2018, 16:16)  Питание ядра 1,8 вольт, питание переферии 1,2...3,6 вольт. Я использую 3.3В Банк 2 тоже запитан от 3,3 В? Цитата(MPetrovich @ Aug 23 2018, 08:55)  Вот что написано у меня в файле xc2s300e.bsd: Не знаю где Вы взяли такой файл. У меня в ISE 14.7 он выглядит иначе, см. вложение. В нем есть строки: Код attribute IDCODE_REGISTER of XC2S300E_BARE : entity is "XXXX" & -- version "0000101" & -- family "000100000" & -- array size "00001001001" & -- manufacturer "1"; -- required by 1149.1 Это и есть ID кристалла. PS: а TDI/TDO местами не пробовали поменять?
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Aug 23 2018, 06:28
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 25-07-16
Пользователь №: 92 691

|
Цитата Банк 2 тоже запитан от 3,3 В? Да Цитата Не знаю где Вы взяли такой файл. У меня в ISE 14.7 он выглядит иначе, см. вложение. У меня ISE 9.2 и там формируется такой вот файл(пожимаю плечами) :-) А в ISE 14.7 разве есть такой древний кристалл?
Сообщение отредактировал MPetrovich - Aug 23 2018, 06:29
|
|
|
|
|
Aug 23 2018, 08:32
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 25-07-16
Пользователь №: 92 691

|
Пересобрал по схеме Slave Serial - всё шьётся влёт! Тот же програматор, из той же среды. Не знаю в чём загвоздка, но проблема таким образом решилась. Возможно сам ТАР-контроллер неисправен. Спасибо всем, кто откликнулся.
Сообщение отредактировал MPetrovich - Aug 23 2018, 08:34
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|