Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите в решении проблемы с входами в Xilinx
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
MarkTok
Подскажите пожалуйста! Моя матрица Xilinx XC9572XL-10, корпус VQ44, работает в условиях огромных электромагнитных полей, в сварочном источнике, на её входы поступают от буферных микросхем логики (триггеры Шмидта) сигналы. Но после какого то времени начал замечать что при увеличении мощности источника, начались хаотичные выбрыки системы. Пол года винил в этом плату управления (она без матрицы). Но вот вчера обнаружил, что оказывается, в условиях сильнейших помех, порта вентильной матрицы, толи меняют свою функциональность, толи ещё что, но по факту, начинают коротить входной сигнал от буферных элементов на «землю», естественно, потребление всей схемы резко возрастает, буферная микросхема вместо своих нормальных 10мА начинает жрать 160мА, и это если зажимает всего один порт, а когда все три, то все 300мА, в результате проседает напряжение на всей плате и пошло поехало. Вчера к этому приходил методом проб и ошибок на самом аппарате, в конечном итоге спалил силовую часть, но до причины докопался. Потом начал моделировать на самодельном стенде без силовой части. Как оказалось, достаточно постукать чем то крупным металлическим по любой ножке TCK, TMS, TDI, TDO как любые входные порта начинают выбрыкиваться и менять свою функцию приема. Что интересно, когда убираешь высокий сигнал с этого порта, то он полностью восстанавливает свою работоспособность, вот почему я не сразу обнаружил эту особенность, ведь на одну из ножек приходит сигнал тактового генератора и если бы его заблокировало хоть на 0,001 сек то это привело бы к тотальному выходу из строя источника, ан нет, там сигнал постоянно прыгает то единица, то ноль и тем самым выводит из каматоза этот вход матрицы. Внутренняя часть матрицы уверен работает как часы, вижу по функциональности, но блок IO явно глючит со страшной силой. Это в любом случае плохо. Я далеко не профессионал в вентильных матрицах, может есть какие то опции в программировании которые железно забивают невозможность изменения функционала портов или ещё что?

Сначала мне показалось что матрица интерпретирует помеху как начало программирования и тем самым устанавливает что то на входах. Проверил, во время программирования ножки не меняют свою функциональность. Даже те ножки что начали коротить, продолжают коротить и далее, матрица в этот момент нормально программируется по своим ножкам TDO, TMS, TDI, TCK. Как и говорил ранее, перестают коротить только после снимания с них высокого уровня.

Все ножки программирования при установке в аппарат жестко, через цанговый разъём, присоединены к «земле», не помогает. Помеха походу наводится на маленьких отрезках ножек до разъема, а их длинна не превышает 8мм, только TDO 20мм потому что пересекает всю матрицу к разъему. А может и вовсе не на них помеха наводится!!!

При программировании в Schematic на все входа поставил IBUF, как прочитал из инфы, это разделяет внутреннюю часть схемы от внешних ножек через блок IO, так же пробовал их убирать, не помогает.

На ножки 15 (VCCint), 26 (VCCio) и 35 (VCCint) постоянно подано напряжение 3,3V, может на какую то ножку нужно подавать напряжение лишь в момент программирования?! А в общей плате её обесточивать. Раз их несколько, то в кристалле явно несколько блоков которые нужно запитывать, но точного предназначения их не знаю.

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

Простите что написал целый трактат, хотел полностью в деталях описать ситуацию.
Помогите разобраться, я в отчаянии, плизззз
yes
я не являюсь специалистом по работе схем в сильных полях, и XC9572XL уже давно не применял, но может мой ответ из соображений "общей эрудиции" будет полезен.

скорее всего виновата плата, а не микросхема - убедитесь, что нет каких-то мест, где могут быть наводки, может дополнительно заэкронировать и т.п. - то есть вопрос не про ПЛИС

управляющие входы TMS, TDI, TCK подтянуть к земле, а еще лучше вообще закоротить на землю перемычкой (после программирования) - там же наверняка разъем с длинными проводами, а подтягивающие резисторы обычно ставят на 10КОм.
--- дочитал - ну если это сделано - убедиться, что помех на них нет

судя по описанию - проскакивают какие-то команды по JTAG-у, которые отключают IO (да JTAG может это делать, и он для этого и создан)
seldim
Борьба с элетромагнитными помехами задача непростая но решаемая.
Для того чтобы подсказать решение нужно больше информации, а иненно: конструктив, топология желательно фото.
На вскидку могу сказать что если наводка идет непосредственно на плату то поможет экранирование платы. С Магнитной составляющей похуже но можно применить специальные поглащающие прокладки. Если помеха лезет через провода и входные цепи то помогут ЭМИ фильтры (вариантов много - обычные или пов монтаж). Есть также вариант что у Вас проблема с питанием схемы. С учетом того что микросхемы начинают много потреблять питание проверить проблематично но можно хотябы просто проверить мощность источника и количество конденсаторов по питанию - может звон от туда.
MarkTok
похоже перевод микросхемы буфера сигналов (та что с триггерами Шмидта) на питание 3,3V помогло, но это ещё нужно изрядно проверять конечно, потомучто глюк может появляться несразу, но завести в состояние зависания обычными методами неполучилось. Может всетаки уже микросхемы на пределе используются при подаче 5В на входа, нормы тех. процесса изготовления микросхем уменьшают, может она уже и неподдерживает 5В, а я её насилую, бог его знает.
des00
Цитата(MarkTok @ Jul 17 2012, 13:15) *
похоже перевод микросхемы буфера сигналов (та что с триггерами Шмидта) на питание 3,3V помогло, но это ещё нужно изрядно проверять конечно, потомучто глюк может появляться несразу, но завести в состояние зависания обычными методами неполучилось. Может всетаки уже микросхемы на пределе используются при подаче 5В на входа, нормы тех. процесса изготовления микросхем уменьшают, может она уже и неподдерживает 5В, а я её насилую, бог его знает.

там по идее диоды защитные должны были включиться (если галки отключения нет), не знаю можно ли их убить так, что бы порт рабочий остался %)
alexPec
Цитата(MarkTok @ Jul 17 2012, 23:15) *
похоже перевод микросхемы буфера сигналов (та что с триггерами Шмидта) на питание 3,3V помогло, но это ещё нужно изрядно проверять конечно, потомучто глюк может появляться несразу, но завести в состояние зависания обычными методами неполучилось. Может всетаки уже микросхемы на пределе используются при подаче 5В на входа, нормы тех. процесса изготовления микросхем уменьшают, может она уже и неподдерживает 5В, а я её насилую, бог его знает.


Так у Вас VCCIO = 3.3V, а буферы которые драйвят ноги ПЛИС питаются (питались) 5В? Так вообще не правильно, у меня на альтеровской ПЛИС (очень старой) это приводило при включении питания к тиристорному эффекту и вся ПЛИС разогревалась как печка.
MarkTok
Если почитать документацию на XC9572XL серию то там черным по белом описывается совместимость блока ввода/вывода (IO) с 5V, но это возможно уже ушло в прошлое, потому что техпроцессы по изготовлению микросхем уменьшаются, транзисторы все меньше и меньше, это естественно хорошо с экономической точки зрения и со стороны энергопотребления, но рабочие напряжения все меньше и меньше, вот и подозреваю что может уже и потерялась совместимость с 5V. А я уже не обновлял документацию пару лет.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.