Inanity 1 31 июля, 2016 Опубликовано 31 июля, 2016 · Жалоба Здравствуйте. Столкнулся с забавной проблемой. Есть самодельная плата с Spartan-6 LX25. По мимо прочего ПЛИС управляет коллекторным двигателем с помощью Н-моста на полевиках. Затворы всех транзисторов подтянуты в неактивное состояние. Когда заливаю свою прошивку по JTAG естественно никаких проблем нет, всё работает. Но если через Impact пытаться зашить флешку (N25Q64), то я так понимаю Impact загружает свой битстрим, в котором флешка как-то прокидывается на JTAG и таким образом прошивается. Так вот оказалось, что по умолчанию в этом программирующем битстриме неиспользованные пины ПЛИС подтянуты в 1! И таким образом у меня на Н-мосте получает КЗ, т.к. все плечи открыты и питание вырубается... Собственно, что делать? Я так и не нашёл настройки, чтобы неиспользованные пины были в Z-состоянии. P.S. Есть, конечно, вариант написать свой golden-загрузочный битстрим и таким образом самому шить флешку, но хотелось бы обойтись без этого. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Strob 0 1 августа, 2016 Опубликовано 1 августа, 2016 · Жалоба Собственно, что делать? Я так и не нашёл настройки, чтобы неиспользованные пины были в Z-состоянии. На пин HSWAPEN подать "1". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Inanity 1 1 августа, 2016 Опубликовано 1 августа, 2016 · Жалоба На пин HSWAPEN подать "1". Уже подтянут. Тем более HSWAPEN только в процессе конфигурации определяет состояние пинов. А у них, судя по всему в самом битстриме все неиспользованные пины в единице. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 1 августа, 2016 Опубликовано 1 августа, 2016 · Жалоба Уже подтянут. Тем более HSWAPEN только в процессе конфигурации определяет состояние пинов. А у них, судя по всему в самом битстриме все неиспользованные пины в единице. Это вряд ли, я думаю, неиспользованные пины в Z state+weak pullup, например, у Латтисов это стандартное состояние после POR, и не переопределяется до завершения конфигурации, можно только перетянуть внешним резистором к земле. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Strob 0 1 августа, 2016 Опубликовано 1 августа, 2016 (изменено) · Жалоба Уже подтянут. Тем более HSWAPEN только в процессе конфигурации определяет состояние пинов. А у них, судя по всему в самом битстриме все неиспользованные пины в единице. Generate Programming File -> Configuration Options -> Unused IOB Pins PS. Так и не понял вопрос, проблема в неиспользуемых пинах, или все же в используемых для дрыганья ключами? Изменено 1 августа, 2016 пользователем Barktail Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Inanity 1 1 августа, 2016 Опубликовано 1 августа, 2016 (изменено) · Жалоба Generate Programming File -> Configuration Options -> Unused IOB Pins PS. Так и не понял вопрос, проблема в неиспользуемых пинах, или все же в используемых для дрыганья ключами? Для моего битстрима эти пины использованы, но для загрузочного битстрима Impacta - они не использованы. Прочитайте первый пост ещё раз. Когда через impact программируется флешка, то по факту в ПЛИС загружается специальный битстрим (не мой), этот битстрим пробрасывает флешку на jtag и Impact уже мой битстрим заливает во флешку. Проблема как раз в зашитом в Impact битстриме. Тот, кто разрабатывал Impact и битстрим для программирования флешек, как мне кажется, выставил в настройках проекта галку Unused IOB Pins - pull-up. Таким образом у меня включаются все плечи на мосте и получается КЗ. Timmy, я еще раз проверю HSWAPEN, но по памяти уверен, что он подтянут... Изменено 1 августа, 2016 пользователем Inanity Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Strob 0 1 августа, 2016 Опубликовано 1 августа, 2016 (изменено) · Жалоба Теперь понял) Действительно невнимательно прочитал. У меня сложилось впечатление что используете Platform Flash. У вас без подтяжки к нулю снаружи не обойтись никак(по крайней мере раньше точно никак было не поменять). Ну или самому грузить естественно. Вам не кажется, там подтяжка к единице. Изменено 1 августа, 2016 пользователем Barktail Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Inanity 1 1 августа, 2016 Опубликовано 1 августа, 2016 (изменено) · Жалоба В общем, HSWAPEN подключен к единице (2.5в, т.е. напряжение банка) через 0-омную перемычку, стало быть неиспользованные пины должны быть float. А они таковыми и являются, пока конфигурация не подгружена. Дело не в этом, видимо impact-овский загрузочный битстрим такой... Теперь понял) Действительно невнимательно прочитал. У меня сложилось впечатление что используете Platform Flash. У вас без подтяжки к нулю снаружи не обойтись никак(по крайней мере раньше точно никак было не поменять). Ну или самому грузить естественно. Вам не кажется, там подтяжка к единице. Так все затворы у меня как надо подтянуты, но видимо подтяжка слабая и ПЛИС перебивает её. Но всё равно как-то странно, печально видимо надо будет самому грузить. Изменено 1 августа, 2016 пользователем Inanity Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 12 9 августа, 2016 Опубликовано 9 августа, 2016 · Жалоба ЕМНИП, в вивадо на каждый кристалл по три битстрима - unused pins вверх, вниз и в никуда. А вот в iMPACT выбора нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться