Перейти к содержанию
    

ISE Impact 14.7 flash loader unused pins

Здравствуйте.

 

Столкнулся с забавной проблемой.

 

Есть самодельная плата с Spartan-6 LX25. По мимо прочего ПЛИС управляет коллекторным двигателем с помощью Н-моста на полевиках. Затворы всех транзисторов подтянуты в неактивное состояние. Когда заливаю свою прошивку по JTAG естественно никаких проблем нет, всё работает. Но если через Impact пытаться зашить флешку (N25Q64), то я так понимаю Impact загружает свой битстрим, в котором флешка как-то прокидывается на JTAG и таким образом прошивается. Так вот оказалось, что по умолчанию в этом программирующем битстриме неиспользованные пины ПЛИС подтянуты в 1! И таким образом у меня на Н-мосте получает КЗ, т.к. все плечи открыты и питание вырубается...

 

Собственно, что делать? Я так и не нашёл настройки, чтобы неиспользованные пины были в Z-состоянии.

 

P.S. Есть, конечно, вариант написать свой golden-загрузочный битстрим и таким образом самому шить флешку, но хотелось бы обойтись без этого.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собственно, что делать? Я так и не нашёл настройки, чтобы неиспользованные пины были в Z-состоянии.

 

На пин HSWAPEN подать "1".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На пин HSWAPEN подать "1".

 

Уже подтянут. Тем более HSWAPEN только в процессе конфигурации определяет состояние пинов. А у них, судя по всему в самом битстриме все неиспользованные пины в единице.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уже подтянут. Тем более HSWAPEN только в процессе конфигурации определяет состояние пинов. А у них, судя по всему в самом битстриме все неиспользованные пины в единице.

Это вряд ли, я думаю, неиспользованные пины в Z state+weak pullup, например, у Латтисов это стандартное состояние после POR, и не переопределяется до завершения конфигурации, можно только перетянуть внешним резистором к земле.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уже подтянут. Тем более HSWAPEN только в процессе конфигурации определяет состояние пинов. А у них, судя по всему в самом битстриме все неиспользованные пины в единице.

Generate Programming File -> Configuration Options -> Unused IOB Pins

 

PS. Так и не понял вопрос, проблема в неиспользуемых пинах, или все же в используемых для дрыганья ключами?

Изменено пользователем Barktail

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Generate Programming File -> Configuration Options -> Unused IOB Pins

 

PS. Так и не понял вопрос, проблема в неиспользуемых пинах, или все же в используемых для дрыганья ключами?

 

Для моего битстрима эти пины использованы, но для загрузочного битстрима Impacta - они не использованы. Прочитайте первый пост ещё раз. Когда через impact программируется флешка, то по факту в ПЛИС загружается специальный битстрим (не мой), этот битстрим пробрасывает флешку на jtag и Impact уже мой битстрим заливает во флешку. Проблема как раз в зашитом в Impact битстриме. Тот, кто разрабатывал Impact и битстрим для программирования флешек, как мне кажется, выставил в настройках проекта галку Unused IOB Pins - pull-up. Таким образом у меня включаются все плечи на мосте и получается КЗ.

 

Timmy, я еще раз проверю HSWAPEN, но по памяти уверен, что он подтянут...

Изменено пользователем Inanity

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теперь понял) Действительно невнимательно прочитал. У меня сложилось впечатление что используете Platform Flash.

У вас без подтяжки к нулю снаружи не обойтись никак(по крайней мере раньше точно никак было не поменять). Ну или самому грузить естественно. Вам не кажется, там подтяжка к единице.

Изменено пользователем Barktail

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем, HSWAPEN подключен к единице (2.5в, т.е. напряжение банка) через 0-омную перемычку, стало быть неиспользованные пины должны быть float. А они таковыми и являются, пока конфигурация не подгружена. Дело не в этом, видимо impact-овский загрузочный битстрим такой...

 

Теперь понял) Действительно невнимательно прочитал. У меня сложилось впечатление что используете Platform Flash.

У вас без подтяжки к нулю снаружи не обойтись никак(по крайней мере раньше точно никак было не поменять). Ну или самому грузить естественно. Вам не кажется, там подтяжка к единице.

 

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

Изменено пользователем Inanity

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ЕМНИП, в вивадо на каждый кристалл по три битстрима - unused pins вверх, вниз и в никуда. А вот в iMPACT выбора нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...