Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не меняется прошивка в ПЛИС?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
new123
Добрый вечер, форумчане.

Если вы вдруг помните по моей теме, я счастливый обладатель бу altera. Чип стоит на pci-e плате. Информации по ней минимум. Долго вычислял например назначение пинов.

Теперь встала проблема. Шью через AS чип (на борту стоит epc256) c USB Blaster. Процесс проходит нормально, до 100%. Реакции от плис 0. Ради интереса подаю на заданную ногу логический 0 или 1. Напряжение на ноге не меняется.
Нахожу ноги, где есть уже логический 0 (0.7в) или 1 (2.5в). Пытаюсь кодом поменять там значение. Ничего не происходит.

Логично предположить, что там в плате сидит прошивка, которую я не могу сменить на свою. Возможно такое? Если да, подскажите, как такое побороть?

Заранее спасибо. Буду очень признателен.
Unfog
Схемы платы нет?
Есть ли на плате CPLD?


Возможно MSEL-ами задана не AS конфигурация.

Попробуйте сделать полный Erase EPCS. Отреагирует ли плата.

new123
Цитата(Unfog @ Jan 19 2018, 08:11) *
Схемы платы нет?

Схему руками вызваниваю.

Цитата(Unfog @ Jan 19 2018, 08:11) *
Есть ли на плате CPLD?

это мне надо подготовиться прочитать что это и потом отвечу.

Цитата(Unfog @ Jan 19 2018, 08:11) *
Возможно MSEL-ами задана не AS конфигурация.
Попробуйте сделать полный Erase EPCS. Отреагирует ли плата.


спасибо. полный erase. Я в квартусе в программаторе ставил галку erase. Не знаю полный ли это.
Еще вчера пытался через командную строку --erase-all, но пока утилита не поняла моей опции. Буду добивать.
Уже подумываю отдать выпаять epc и зачистить ее другим программатором

Насчет конфигурации и msel. Я так понимаю надо прозвонить контакты коннектора и выяснить?
new123
на форуме альтеры нашел схожую проблему
https://www.alteraforum.com/forum/showthread.php?t=32801
nice_vladi
Цитата(new123 @ Jan 17 2018, 14:47) *
Добрый вечер, форумчане.

Если вы вдруг помните по моей теме, я счастливый обладатель бу altera. Чип стоит на pci-e плате. Информации по ней минимум. Долго вычислял например назначение пинов.

Теперь встала проблема. Шью через AS чип (на борту стоит epc256) c USB Blaster. Процесс проходит нормально, до 100%. Реакции от плис 0. Ради интереса подаю на заданную ногу логический 0 или 1. Напряжение на ноге не меняется.
Нахожу ноги, где есть уже логический 0 (0.7в) или 1 (2.5в). Пытаюсь кодом поменять там значение. Ничего не происходит.

Логично предположить, что там в плате сидит прошивка, которую я не могу сменить на свою. Возможно такое? Если да, подскажите, как такое побороть?

Заранее спасибо. Буду очень признателен.


Мне кажется, одним из самых простых способов проверить, зашилось ли ВООБЩЕ что-то в ПЛИС будет подключить к проекту SignalTap и вытащить в него несколько сигналов.

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

Т.о. будет однозначно понятно, что действительно перепрошиваете ПЛИС. А после этого можно будет ковырять вопрос заблоченной прошивки rolleyes.gif
new123
Цитата(nice_vladi @ Jan 20 2018, 14:41) *
Мне кажется, одним из самых простых способов проверить, зашилось ли ВООБЩЕ что-то в ПЛИС будет подключить к проекту SignalTap и вытащить в него несколько сигналов.


спасибо. Конечно, это самый простой способ, c отладки бы и начал.
Но у меня есть еще тут одна тема, я вторую неделю уже не могу поднять jtag пока.

я придумал альтернативу. Прошиваю и смотрю изменились ли сигналы на ножке чипа с помощью вольтметра. Иголочкой щупаю с обратной стороны чипа.

Вчера осознал полностью что такое msel, сегодня посмотрю вечером что там за конфигурация на ножках выставляется
new123
Цитата(Unfog @ Jan 19 2018, 08:11) *
Возможно MSEL-ами задана не AS конфигурация.

наводка оказалась интересной. MSEL у чипа скинуты.
начал ковырять еще раз форум альтеры. Нашел сообщения владельца такой же карты, что из коробки карта зашивается через AS, потом переходит в режим CvP pci-e.
На нормальных платах ставят переключатели бит MSEL. Мне тут не повезло. Хоть вручную напряжение на эти биты подавай
new123
Если вдруг кому интересно.

Накинул я вольтметр на всякие статусные пины и сразу выяснил, что прогрузка платы зацикливается тут.


Прошил я карту, где на все пользовательские ножки подаю 0, и во время старта у меня загораются и гаснут все диоды на карте. То есть, скорее всего чип начинает конфигурироваться и слетает в процессе в Error.

Скорее всего поэтому и JTAG не могу стартануть в соседней теме.

Поковырял форумы, скорее всего причина - закоротка между питание и землей. Показывается всего 5Ом, что очень мало.
Проверю еще контакты между флешкой и чипом.
_Anatoliy
Цитата(new123 @ Jan 25 2018, 15:10) *
Поковырял форумы, скорее всего причина - закоротка между питание и землей. Показывается всего 5Ом, что очень мало.

Это сопротивление может быть нелинейным. Поменяйте у тестера + и -.
krux
у больших FPGA (живых, рабочих), если их VCCINT и GND прозванивать - бывает и 2 Ома.
new123
Цитата(krux @ Jan 25 2018, 19:30) *
у больших FPGA (живых, рабочих), если их VCCINT и GND прозванивать - бывает и 2 Ома.

спасибо за надежду, у меня 5ом =)
кстати 2 ома у меня на JTAG TDI.
мастер помощник по пайке, говорит что на матерях на мостах тоже очень маленькое сопротивление, близко к коротышу

но я проштудировал форум альтеры, там прям сборник пользователей с такими вопросами. Альтера пишет мол мало очень.

Цитата(_Anatoliy @ Jan 25 2018, 17:50) *
Это сопротивление может быть нелинейным. Поменяйте у тестера + и -.

ага, тоже обратил внимание. Спасибо, сейчас попробую

пока что не могу вызвонить ни одного контакта с флешки epcq256 на альтеру
new123
Форумчане, может кто нибудь сталкивался.
Особо внимания не обращал, теперь задумался.

Прошиваю свою ecpq256 через AS, процесс прошивки до 26% идет долго, а потом за одну секунду до 100% (Sucess..).
Нормально ли это?

На Циклоне 4 epc16, у меня весь процесс равномерно распределен во времени.
А на этой не придавал значение, но теперь задумываюсь уже обо всем.
new123
Сегодня весь день убил на создание и компиляцию разных прошивок.
1) Начал подавать ноль на все пользовательские пины - диоды загораются на карте и сразу же гаснут
2) сузил диапазон пинов в половину, потом еще в половину, потом еще в половину. В итоге вычислил диапазон ног примерный, на которых сидят диоды. Теперь они частично загораются.

Получается карта все таки начинает стартовать =)
Одна проблема. Чтобы она начала стартовать, обязательно нужно ее обесточить перед этим. Видать все таки в цепи питание что то не то.
Raven
А с JTAG'ом-то что? Я бы на нем сосредоточился, тем более, что JTAG-конфигурирование в FPGA имеет приоритет над всеми остальными видами конфигурирования.
iosifk
Цитата(new123 @ Jan 26 2018, 16:46) *
2) сузил диапазон пинов в половину, потом еще в половину, потом еще в половину. В итоге вычислил диапазон ног примерный, на которых сидят диоды. Теперь они частично загораются.

Одна проблема. Чтобы она начала стартовать, обязательно нужно ее обесточить перед этим. Видать все таки в цепи питание что то не то.

Тут вот что может быть. Вывод по умолчанию настроен на 2 мА (надо уточнять по даташиту)... И при jtag-сканировании это так и остается. А для нормальной работы светодиода возможно надо 10 мА выход. И в проекте только этот выход конфигурируется под 10 мА, чтобы светодиод светился ярко...

new123
Цитата(Raven @ Jan 26 2018, 17:59) *
А с JTAG'ом-то что? Я бы на нем сосредоточился, тем более, что JTAG-конфигурирование в FPGA имеет приоритет над всеми остальными видами конфигурирования.

я уже и не знаю какую теорию задвигать biggrin.gif
то что сопротивления и сигналы на JTAG звонят не так как по схеме, это точно. Схема собрана правильно, но вот сопротивления неправильные, по крайней мере на рабочем циклоне 4, все как по схеме звонится, а на стратиксе, который подымаю - нет.

Основная причина - TDI на землю показывает 2Ома. Тут мнения разнятся. Есть мнение, что для стратикса это норм, это не закоротка. На сайте альтеры пишут же, что это не нормально. Там полно таких тем.


В ходе тестирования прошивок, пришел к мнению, что карта точно начинает стартовать. Потому что я научился зажигать разные диоды. Но они сразу же гаснут.
При это я проверяю статусные пины вольтметром. CONF_DONE не выставляется. nStatus находится в low, что говорит о том, что карта не за конфигурировалась. И находится в зацикленном режиме configuration error handling. Получается тут и JTAG наверное не стартанет при таком раскладе.

Сейчас уже точно вычислю пины сведоидов, чтобы точно знать, что я не подаю 0 на какие то ненужные служебные пины (хотя это маловероятно) и буду думать дальше, как подымать карту
new123
Цитата(iosifk @ Jan 26 2018, 18:09) *
Тут вот что может быть. Вывод по умолчанию настроен на 2 мА (надо уточнять по даташиту)... И при jtag-сканировании это так и остается. А для нормальной работы светодиода возможно надо 10 мА выход. И в проекте только этот выход конфигурируется под 10 мА, чтобы светодиод светился ярко...

правда действительно где то тут, спасибо. Пригляделся, действительно загораются очень тускло, если питание не сбросить. Проверил еще вольтметром.
То есть получается, питание можно и не сбрасывать.
new123
Проблема скорее всего локализовалась. Частично описал ее в теме про jtag.

статусный CONF_DONE пин заведен через резистор 10k не как нужно по схеме на Vccpgm (3V), а через резистор 10k в соседний i/o пин. Из этого соседнего пина выходит стабильно 0.73V, что являтеся low сигналом.
Перелопатив кучу доки, нашел описание от старой альтеры

"The CONF_DONE pin may be actively driven low by an external source to delay
the FLEX 8000 device initialization process. This feature is useful when the
configuration process will be completed some time before actual operation is
necessary."

если все альтеры запускаются по аналогии, то моя просто в такой конфигурации не уходит в user mode. Скорее всего jtag и не стартует из за этого же.

Как это побороть еще не понял. Думал сделаю прошивку и подам на тот соседний пин high сигнал. Но никак не выходит. Хоть размыкай цепь паяльником и впаивай насильно туд свои 3V.

То что прошивка шьется нормально, это точно. Я зажигаю разные светодиоды. Они моргают 1 раз при включении.
Александр77
Цитата(new123 @ Jan 31 2018, 18:19) *
...статусный CONF_DONE пин заведен через резистор 10k не как нужно по схеме на Vccpgm (3V), а через резистор 10k в соседний i/o пин. Из этого соседнего пина выходит стабильно 0.73V, что являтеся low сигналом.

Как это побороть еще не понял. Думал сделаю прошивку и подам на тот соседний пин high сигнал. Но никак не выходит. Хоть размыкай цепь паяльником и впаивай насильно туд свои 3V.

То что прошивка шьется нормально, это точно.

А что делать когда Вы забудете о неправильном конфиге? Или еще хлеще - Ваши коллеги об этом знать не будут?
Снова искать причины?
Может проще взяться за паяльник и перепаять?
new123
Цитата(Александр77 @ Feb 1 2018, 11:37) *
А что делать когда Вы забудете о неправильном конфиге? Или еще хлеще - Ваши коллеги об этом знать не будут?
Снова искать причины?
Может проще взяться за паяльник и перепаять?


совет дельный.
Но она куплена специально для меня индивидуально, для обучения. Обучился уже всему "около альтерному" biggrin.gif , но только не самому программированию плис (из Циклона4 я вырос). Потом будет куплена новая, и все проекты я тщательно задокументирую. Документировать сложные вещи за собой, это у меня в привычке. Очень помогает через пару лет.

Сейчас ситуация пока вообще не айс. В офисе подгорела одна материнская плата, в компьютере которой запитывал эту доску, в другом компьютере подгорела звуковая. Иногда моргают мониторы при включении платы. Сначала думал совпадение моргания мониторов. Потом замерил вольтаж 220 при включение платы, он прыгает на 10в. Ничего в этом не понимая, начал щупать вольтметром схему питания. На входе 12в явно пробит диод. Токи идут обратно через него при отсоединении БП. Сразу вспомнил слова мастера помощника по пайке, что судя по набору компонентов, токи очень сильные. Вот так игрушечку купили smile3046.gif
Возможно из за этого плата не заводилась, пока полностью не обесточишь БП.
new123
Замучал я альтеровцев своими "профессиональными" вопросами. Вообщем как месяц назад они стояли на своем, так и сейчас стоят - проблема питания.

По итогу нашел, что на карте потерялись 1.5 вольта на ножках Vccpt. Сейчас чип вообще не стартует. Чуть раньше Vccpt у меня было что то порядка 1вольта, чип стартовал и сразу перезагружался.
Они порекомендовали проверить все питания из таблицы "Power Supplies Monitored and Not Monitored by the Stratix V POR Circuitry" и обнаружил

Кстати замена диода на входе питания убрала проблему моргания мониторов в офисе (рассказывал выше).
new123
Всем форумчанам огромное спасибо за содействие в теме с прошивкой и в теме про jtag. Без вас я бы не познал всего того, чего познал.
Карту поднял. Виной было питание 1.5v Vccpt, а точнее его отсутствие.
Нашел, что понижающая микруха не выдает напругу, а мастер по пайке определил, что на плате просто нет настроечных резисторов (выпаены) в обвязке. Вот так и покупай не глядя с рук.

Буду теперь сканировать карту на пины, хотя уже мультиметром много всего и так прощупал
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.