maxics 0 28 мая, 2013 Опубликовано 28 мая, 2013 · Жалоба Сделали плату. На плате ус тановлены 2 ПЛИС – Spartan 3- 200AN и Virtex 6 SX315. Обе микросхемы объединены в одну JTAG-цепочку. При первых включениях всё было нормально, ПЛИСы определялись, прошивались и работали. Но что-то случилось и теперь ISE IMPACT почему-то видит огромное число неопределённых устройств. В логе он пишет, что нашёл сначала Virtex 6 (нулевым устройством), затем Spartan 3, после чего следует череда UNKNOWN-устройств. Все питающие напряжения в норме. Кто-нибудь сталкивался с таким явлением? Далее привожу лог. Setting cable speed to 6 MHz. Cable connection established. Firmware version = 1303. File version of C:/Xilinx14/14.1/ISE_DS/ISE/data/xusb_xlp.hex = 1303. Firmware hex file version = 1303. PLD file version = 0012h. PLD version = 0012h. PROGRESS_END - End Operation. Elapsed time = 1 sec. Type = 0x0004. ESN option: 00001176907601. Attempting to identify devices in the boundary-scan chain configuration... INFO:iMPACT - Current time: 28.05.2013 18:36:42 // *** BATCH CMD : Identify -inferir PROGRESS_START - Starting Operation. Identifying chain contents...'0': : Manufacturer's ID = Xilinx xc6vsx315t, Version : 6 INFO:iMPACT:1777 - Reading C:/Xilinx14/14.1/ISE_DS/ISE/virtex6/data/xc6vsx315t.bsd... INFO:iMPACT:501 - '1': Added Device xc6vsx315t successfully. ---------------------------------------------------------------------- ---------------------------------------------------------------------- '1': : Manufacturer's ID = Xilinx xc3s200an, Version : 0 INFO:iMPACT:1777 - Reading C:/Xilinx14/14.1/ISE_DS/ISE/spartan3a/data/xc3s200an.bsd... INFO:iMPACT:501 - '1': Added Device xc3s200an successfully. ---------------------------------------------------------------------- ---------------------------------------------------------------------- '2': : Manufacturer's ID = Unknown INFO:iMPACT:501 - '1': Added Device UNKNOWN successfully. ---------------------------------------------------------------------- ---------------------------------------------------------------------- И так далее до 31 устройства. '31': : Manufacturer's ID = Unknown INFO:iMPACT:501 - '1': Added Device UNKNOWN successfully. ---------------------------------------------------------------------- ---------------------------------------------------------------------- INFO:iMPACT - iMPACT quit the Identify Chain because it detects there are at least 30 'UNKNOWN' type devices on the chain. Please check the hardware settings and retry! ---------------------------------------------------------------------- PROGRESS_END - End Operation. Elapsed time = 7 sec. В итоге выдаётся сообщение красного цвета Identify failed. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
eugen_pcad_ru 0 28 мая, 2013 Опубликовано 28 мая, 2013 · Жалоба У меня было нечто в этом роде с "больным" программатором... Попробуйте поменять. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimidrol 0 28 мая, 2013 Опубликовано 28 мая, 2013 · Жалоба Вроде бы были такие проблемы, иногда, на старом программаторе, черном. То ли контакт был плохой в кабеле. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 28 мая, 2013 Опубликовано 28 мая, 2013 · Жалоба Бывает при нарушении цепочки. Вроде, когда TDO залипает в нуле. Причин этому бывает масса - от плохого контакта до всего, чего угодно. Можно попробовать в Debug режиме посмотреть состояние сигналов, или прогнать определение на пониженной частоте. Сам программатор стоит проверить на другой плате. Плисы-то работают при этом? Лишнего нагрева нет? Нигде при соединении S3 и V6 не смешали сигналы (и Vref) 3,3В с 2,5В? :excl: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maxics 0 28 мая, 2013 Опубликовано 28 мая, 2013 (изменено) · Жалоба Бывает при нарушении цепочки. Вроде, когда TDO залипает в нуле. Причин этому бывает масса - от плохого контакта до всего, чего угодно. Можно попробовать в Debug режиме посмотреть состояние сигналов, или прогнать определение на пониженной частоте. Сам программатор стоит проверить на другой плате. Плисы-то работают при этом? Лишнего нагрева нет? Нигде при соединении S3 и V6 не смешали сигналы (и Vref) 3,3В с 2,5В? :excl: Программатор пробовали на другой плате. Все работает. Как я могу определить работают они или нет, если они не определяются? Плисы теплые, лишнего нагрева нет. Совершенно верно, TDO залипает в нуле. По поводу 2.5 и 3.3 тут проблема есть(( TMS, TCK, TDI (который идет на Spartan 3 подтянуты к 3.3 В). TDO который выходит из Spartan 3 получается тоже 3.3 В. Банк 0 Виртекса-6 подключен к 2.5 В (на него приходит TMS, TCK, TDI с S3 ). Соответственно TDO, который выходит из Виртекса в JTAG - 2.5 В. В этом может быть проблема? Мог-ли из-за этого сгореть Банк0 Виртекса отвечающий за загрузку? Изменено 28 мая, 2013 пользователем maxics Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 28 мая, 2013 Опубликовано 28 мая, 2013 · Жалоба TMS, TCK, TDI (который идет на Spartan 3 подтянуты к 3.3 В). TDO который выходит из Spartan 6 получается тоже 3.3 В. Банк 0 Виртекса-6 подключен к 2.5 В. Соответственно TDO, который выходит из Виртекса В JTAG - 2.5 В. В этом может быть проблема? Мог-ли из-за этого сгореть Банк0 Виртекса отвечающий за загрузку? Да, мог. Это абсолютно смертельная комбинация. Я не утверждаю, что так и произошло, выгорает обычно не сразу. По возможности, я бы предложил убрать подтяжки с 3,3В, полностью отрезать S3, и промерить сопротивления на всех JTAG-ножках виртекса. Если виртекс поддох, то он может вести себя следующим образом (одно из или все сразу): - жрать много тока по Vccio конф. банка - жрать много тока по Vccaux - греться - не грузиться из исправной ПЗУ Также возможно, что будут снижены сопротивления на Vccaux, Vccio конф, JTAG-ножках. Чтобы развести JTAG корректно нужно полностью исключить попадание 3,3В на виртекс-6, как на выходы (подтяжка), так и на входы, т.е. ставить преобразователи уровней на все сигналы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maxics 0 28 мая, 2013 Опубликовано 28 мая, 2013 · Жалоба Да, мог. Это абсолютно смертельная комбинация. Я не утверждаю, что так и произошло, выгорает обычно не сразу. По возможности, я бы предложил убрать подтяжки с 3,3В, полностью отрезать S3, и промерить сопротивления на всех JTAG-ножках виртекса. Если виртекс поддох, то он может вести себя следующим образом (одно из или все сразу): - жрать много тока по Vccio конф. банка - жрать много тока по Vccaux - греться - не грузиться из исправной ПЗУ Также возможно, что будут снижены сопротивления на Vccaux, Vccio конф, JTAG-ножках. Чтобы развести JTAG корректно нужно полностью исключить попадание 3,3В на виртекс-6, как на выходы (подтяжка), так и на входы, т.е. ставить преобразователи уровней на все сигналы. Спасибо вам большое за информацию! завтра буду снимать S3, менять подтяжки на 2.5 В. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 28 мая, 2013 Опубликовано 28 мая, 2013 · Жалоба Спасибо вам большое за информацию! завтра буду снимать S3, менять подтяжки на 2.5 В. Нужно убедиться, что: 1. Vref на разъеме JTAG = 2,5В. Иначе уже сам кабель начнет тянуть JTAG к 3,3В. 2. Подтяжки стоят на 2,5В 3. Рядом стоящий S3 не тянет ничего на 3,3В. Для простоты можно все сигналы, идущие к (и от) V6, провести через проходные резисторы (где-то 100-200ом) и навесить на все JTAG-ножки V6 внешние стабилитроны на 2,2В - 2,4В. Они дадут гарантию, что пришедшие откуда-то 3,3В уйдут в стабилитрон, а не потекут на Vccio/Vccaux через защитные диоды виртекса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maxics 0 30 мая, 2013 Опубликовано 30 мая, 2013 · Жалоба Нужно убедиться, что: 1. Vref на разъеме JTAG = 2,5В. Иначе уже сам кабель начнет тянуть JTAG к 3,3В. 2. Подтяжки стоят на 2,5В 3. Рядом стоящий S3 не тянет ничего на 3,3В. Для простоты можно все сигналы, идущие к (и от) V6, провести через проходные резисторы (где-то 100-200ом) и навесить на все JTAG-ножки V6 внешние стабилитроны на 2,2В - 2,4В. Они дадут гарантию, что пришедшие откуда-то 3,3В уйдут в стабилитрон, а не потекут на Vccio/Vccaux через защитные диоды виртекса. Спасибо, ошибка была в этом. Сняли S3. Сделали подтяжку на 2.5В. V6 выжил. Определяется и прошивается. Теперь думаем что дальше делать... Будет-ли работать если сделать следующее: Ставим обратно S3. Подпорку TCK,TMS,TDI и Vref оставляем 2.5 В. Вскрываем дорожку TDO от S3 к V6 и ставим проходной резистор 100 Ом. Будет-ли определяться S3, т.к. Банк куда заходят TCK,TMS,TDI питается от 3.3.В. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 30 мая, 2013 Опубликовано 30 мая, 2013 · Жалоба V6 выжил. Определяется и прошивается. Повезло - успели. Хотя лучше проверить сопротивление на ножках JTAG и Vccio, раз поведение уже изменилось относительно первого включения - могло и подпортиться что-то. Насчет как лечить - написано выше. Не знаю, достаточно ли перевесить внешние подтяжки на 2,5В. Есть возможность, что S3 будет сам тянуть ножки JTAG к 3,3В (например, в зависимости от конфигурации). Я бы не рисковал здоровьем V6 и поставил схему резистор-стабилитрон на все линии JTAG-а. Одного резистора без стабилитрона не достаточно, резистор просто снизит ток. Насчет S3 - сигналов с размахом 2,5В ему хватит. Максимум что может быть - из-за проходных резисторов снизится макс. рабочая частота. В любом случае, готовую схему смотреть осциллографом в динамике - как ведут себя все пины JTAG на V6, нет ли превышений и выбросов выше 2,5В. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться