Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сигнал FPGA INIT_B (Spartan 3)
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Serge1991
Здравствуйте! В работе с ПЛИС новичок, и у меня есть такая проблема. На плате FPGA типа XC3S50-4TQ144C (Spartan 3) соединена с памятью-flash XCF01SVO20C (Serial). Как я понял, при включении питании сигнал INIT_B, который подтянут к "1" (3,3 В) через резистор 4,7 кОм, должен быть активный высокий, чтобы работала память и конфигурировала ПЛИС (используется режим Master Serial Mode). Но FPGA не конфигурирется, на линии DIN я не вижу данных, а на осциллографе показывается уровень INIT_B 1,92 В. Есть предположение что такой уровень держит память в постоянном сбросе. Как мне добиться высокого уровня INIT_B? Cхема представлена ниже.

Maksim
В каком состоянии prog_b ? Через jtag программируется?
Serge1991
Цитата(Maksim @ Jun 20 2017, 11:40) *
В каком состоянии prog_b ? Через jtag программируется?

PROG_B в высоком уровне через 4,7 кОм, через JTAG програмируется (в XILINX ISE)
Maksim
Попробуйте убрать загрузочную ПЗУ, без неё после строба prog (1-> 0) init будет менять своё состояние?
Состояние hswap_en тоже можно посмотреть
Serge1991
Цитата(Maksim @ Jun 20 2017, 14:03) *
Попробуйте убрать загрузочную ПЗУ, без неё после строба prog (1-> 0) init будет менять своё состояние?

С загрузочной ПЗУ при изменении PROG_B 1->0 INIT_B также меняет свое состояние 1->0
Maksim
Светодиод убрать с init
Serge1991
Цитата(Serge1991 @ Jun 20 2017, 14:13) *
С загрузочной ПЗУ при изменении PROG_B 1->0 INIT_B также меняет свое состояние 1->0

HSWAP_EN подтянут к "0"

Цитата(Maksim @ Jun 20 2017, 14:22) *
Светодиод убрать с init

И напрямую завести на 3,3 В?
Maksim
Просто убрать
Serge1991
Цитата(Maksim @ Jun 20 2017, 14:27) *
Просто убрать

Спасибо, попробую, потом отпишусь, помогло или нет))) Вопрос: светодиод может так нагружать этот сигнал?
Serge1991
Цитата(Maksim @ Jun 20 2017, 14:27) *
Просто убрать

Действительно, после удаления светодиода, уровень на INIT_B поднялся до 3,3В, но память все равно не выдает данные и не конфигурирует ПЛИС
Спустя какое-то время после выключения и включения, на INIT_B появился 0, так и держится. Печально(((
При изменении PROG_B 1->0->1 в редких случаях INIT_B выставляется в 1
Maksim
Меняйте плисину.
DS
На M0-2 что ? CCLK есть ?

ПЛИСИНу вроде рано отдирать, если JTAG работает.

Не забываем, что INIT еще валится в 0 при ошибке конфигурации.
Maksim
Цитата(DS @ Jun 21 2017, 22:11) *
На M0-2 что ? CCLK есть ?

ПЛИСИНу вроде рано отдирать, если JTAG работает.

Не забываем, что INIT еще валится в 0 при ошибке конфигурации.

Вроде не проходит этап очистки конфигурационного ОЗУ внутри ПЛИС?! Если после prog'а нет перехода init 0 ->1
DS
Нет перехода или его не видели - две разные вещи.
Serge1991
Цитата(Maksim @ Jun 21 2017, 21:51) *
Меняйте плисину.

Через JTAG ПЛИС конфигурируется нормально. Также INIT_B в 1, если подключен JTAG кабель

Цитата(DS @ Jun 21 2017, 22:11) *
На M0-2 что ? CCLK есть ?

ПЛИСИНу вроде рано отдирать, если JTAG работает.

Не забываем, что INIT еще валится в 0 при ошибке конфигурации.

На M0-2 комбинация 000, но CCLK практически не появляется.
Может необходимо через резисторы подтянуть М0-2 к нулю?
Maksim
Цитата(Serge1991 @ Jun 22 2017, 08:15) *
На M0-2 комбинация 000, но CCLK практически не появляется.

Что значит практически появляется? Становится все менее понятно, что происходит. Настройки для генерации битового потока по умолчанию стоят?
DS
Как раз становится более понятно - начинается чтение, сразу где-то ошибка.
Maksim
Ну, и, ладно. Пусть дальше работают телепаты...
Serge1991
Цитата(Maksim @ Jun 22 2017, 10:35) *
Что значит практически появляется? Становится все менее понятно, что происходит. Настройки для генерации битового потока по умолчанию стоят?

Да, настройки стоят по умолчании.

Цитата(Maksim @ Jun 22 2017, 11:33) *
Ну, и, ладно. Пусть дальше работают телепаты...

Извините, только сейчас увидел ваше сообщение.

Цитата(DS @ Jun 22 2017, 10:41) *
Как раз становится более понятно - начинается чтение, сразу где-то ошибка.

Особенность в том, что при подключенном JTAG кабеле INIT_B выставляется в высокий уровень, СCLK начинает формироваться, но сигнал DIN остается в "1".
Maksim
Уберите ПЗУ, руками сделайте prog и смотрите на реакцию init. Методом исключения найдёте кто работает неправильно
gerber
Не увидел на схеме 2-х важных моментов - подтяжку 330 Ом для DONE к VCCAUX=2,5V, и резистора Rpar порядка 82 Ом, параллельно питанию 2,5 В. При загрузке серии Spartan-3 с 3,3V-флэшки есть нюансы, описанные в XAPP453. Ещё интересен документ UG332.
UPD: увидел подтяжку DONE, снимаю обвинение.
==
И ещё - при заливке битстрима во флэшку вы его генерируете, я надеюсь, правильным образом, для нужной флэшки, получая при этом файл .MCS ?
Может быть, просто не то зашито, поэтому при первых же тактах идёт срыв загрузки.
Serge1991
Цитата(Maksim @ Jun 22 2017, 13:06) *
Уберите ПЗУ, руками сделайте prog и смотрите на реакцию init. Методом исключения найдёте кто работает неправильно

Сделаю по вашему совету, вернуть всегда можно. Спасибо)

Цитата(gerber @ Jun 22 2017, 13:26) *
Не увидел на схеме 2-х важных моментов - подтяжку 330 Ом для DONE к VCCAUX=2,5V, и резистора Rpar порядка 82 Ом, параллельно питанию 2,5 В. При загрузке серии Spartan-3 с 3,3V-флэшки есть нюансы, описанные в XAPP453. Ещё интересен документ UG332.
UPD: увидел подтяжку DONE, снимаю обвинение.
==
И ещё - при заливке битстрима во флэшку вы его генерируете, я надеюсь, правильным образом, для нужной флэшки, получая при этом файл .MCS ?
Может быть, просто не то зашито, поэтому при первых же тактах идёт срыв загрузки.

Насчет резистора Rpar: я установлю.
Файл для флэшки генерируется правильно, считывал командой ReadBack из флэш, файлы идентичные.
Спасибо за подсказку обратить на документ XAPP453.
Serge1991
Добавил к схеме Rpar - результат такой же.
UPD: Убрал ПЗУ, INIT_B стал в высоком уровне. При изменении PROG_B 1->0, INIT_B также меняется.
Вопрос: необходимо поставить новую микросхему ПЗУ?
DS
Надо дальше смотреть, а не дергать чипы. Осциллограф на CCLK подключали, что там происходит ? DONE не прыгает ? И т.д. по всем стадиям загрузки смотрим.

У Вас же на DONE светодиод висит - вполне может не работать все. Уберите.
Serge1991
Цитата(DS @ Jun 23 2017, 11:56) *
Надо дальше смотреть, а не дергать чипы. Осциллограф на CCLK подключали, что там происходит ? DONE не прыгает ? И т.д. по всем стадиям загрузки смотрим.

Поставил новую ПЗУ, но еще не прошивал. При таком раскладе PROG_B в "1", INIT_B в "1", CCLK присутсвует, DONE в "0".
Если после прошивки не запустится, уберу светодиод с DONE.
DS
Сразу убирайте, он там не может стоять - у Вас на входе вместо 1 будет промежуточный уровень.
Maksim
Done с Диодом нормально. Он открытый коллектор
Serge1991
Цитата(DS @ Jun 23 2017, 12:06) *
Сразу убирайте, он там не может стоять - у Вас на входе вместо 1 будет промежуточный уровень.

Убрал светодиод, уровень стал твердой 1.

На осциллографе увидел, что при включении питании или прожатии PROG_B, сигнал DIN начинает изменяться и там появляются данные. Но сигнал DONE находится в 0. Значит, ПЛИС не конфигурируется. Смущает, что при выдаче данных с ПЗУ уровень 0 отображается на отметке 1 В.
DS
А со щупом все нормально ? Подпаленный выход или тянитолкай по другому выглядят. Да и амплитуда правильная.

ССLK останавливается с INIT в 1, или все время есть ?
Serge1991
Цитата(DS @ Jun 23 2017, 14:56) *
А со щупом все нормально ? Подпаленный выход или тянитолкай по другому выглядят. Да и амплитуда правильная.

ССLK останавливается с INIT в 1, или все время есть ?

Щуп правильно функционирует. СCLK отсутствует, если INIT_B в 0.

Выяснилось, что на плате нумерация ножек GND и NC ПЗУ были перепутаны, из-за этого на GND был уровень около 0,5В. После устранения этой проблемы, ПЛИС через ПЗУ была правильно сконфигурирована. Также сказали, что если светодиод посадить на землю без резистора, то он будет работать как стабилитрон. Maksim, DS, Gerber Спасибо вам за помощь!!!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.