Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SPARTAN6 не стартует с флешки
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
RunneR2
Всем привет! Осваиваю ПЛИС. Чип XC6SLX9-3TQG144C, SPI флеш память AT45DB041D.
Среда Xilinx ISE Design Suite 13.4, программирую IMPACT -ом

В саму плисину все прекрасно загружается и прошивка работает. При попытке запрограммировать флеш память


'1': Erasing device...
done.
'1': Erasure completed successfully.
INFO:iMPACT - Address 0x00000000 is in sector 0.
INFO:iMPACT - Address 0x00053393 is not located at the start of a sector boundary. The whole sector will be erased.
INFO:iMPACT - Address 0x00053393 is in sector 6.
INFO:iMPACT - Address 0x00000000 is in sector 0.
INFO:iMPACT - Address 0x00053393 is not located at the start of a sector boundary. The whole sector will be erased.
INFO:iMPACT - Address 0x00053393 is in sector 6.
INFO:iMPACT - Address 0x00000000 is in sector 0.
INFO:iMPACT - Address 0x00053393 is not located at the start of a sector boundary. The whole sector will be erased.
INFO:iMPACT - Address 0x00053393 is in sector 6.
INFO:iMPACT - Address 0x00000000 is in sector 0.
INFO:iMPACT - Address 0x00053393 is not located at the start of a sector boundary. The whole sector will be erased.
INFO:iMPACT - Address 0x00053393 is in sector 6.
INFO:iMPACT - Address 0x00000000 is in page 0.
INFO:iMPACT - Address 0x00053393 is in page 1291.
'1': Programming Flash...done.
'1': Programming completed successfully.
INFO:iMPACT - Address 0x00000000 is in page 0.
INFO:iMPACT - Address 0x00053393 is in page 1291.
'1': Verifying device...done.
'1': Verification completed successfully.
'1': Configuration data download to FPGA was not successful. DONE did not go high, please check your configuration setup and mode settings.
INFO:iMPACT - '1': Flash was not programmed successfully.
PROGRESS_END - End Operation.
Elapsed time = 98 sec.

Сбой программирования.
При этом флешка стирается и проверяется командой Blank Chek без ошибок.
Вся схемотехника подключения флешки к плисине вроде сделана по Spartan-6 FPGA Configuration User Guide, только DONE не подтянут к Vcc, а висит на этом выводе светодиод с резистором на землю.

Подскажите что я делаю не так, заранее спасибо.

vitalinea
Цитата(RunneR2 @ May 10 2012, 21:45) *
...
'1': Configuration data download to FPGA was not successful. DONE did not go high, please check your configuration setup and mode settings.
...

По умолчанию, во время конфигурирования DONE это open-drain пин. Во время конфигурирования он изнутри удерживается в нуле. После окончания конфигурирования, этот пин отпускается и он должен перейти в 1 не позднее чем за один такт CCLK. Если он не успевает подтянуться к 1 за это время -- конфигурирование считается неуспешным. Проверте как быстро DONE переходит из 0 в 1. Если слишком медленно, то есть такие варианты: 1) либо добавить небольшой подтягивающий резистор, 2) либо уменьшить частоту CCLK, 3) либо в bitgen опциях сделать DONE пин totem-pole, а не open-drain (если у вас несколько FPGA в конфигурационной цепочке и их DONE пины соединены -- естественно так делать не стоит).
RunneR2
При программировании флешки DONE вообще не переходит в состояние 1.

bitgen опции это где такие? Есть вот в опциях Generate Programing File, разделе -g DonePin: есть варианты Pull UP и Float. Изменение этого параметра эффекта не дает....


Я просто никогда раньше не работал с плисами со внешней флешкой... А со встроенной проблем не было...
Попробую подтянуть DONE резистором
Спасибо за советы.
Bad0512
Цитата(RunneR2 @ May 11 2012, 00:45) *
Всем привет! Осваиваю ПЛИС. Чип XC6SLX9-3TQG144C, SPI флеш память AT45DB041D.
Среда Xilinx ISE Design Suite 13.4, программирую IMPACT -ом

В саму плисину все прекрасно загружается и прошивка работает. При попытке запрограммировать флеш память


'1': Erasing device...
done.
'1': Erasure completed successfully.
INFO:iMPACT - Address 0x00000000 is in sector 0.
INFO:iMPACT - Address 0x00053393 is not located at the start of a sector boundary. The whole sector will be erased.
INFO:iMPACT - Address 0x00053393 is in sector 6.
INFO:iMPACT - Address 0x00000000 is in sector 0.
INFO:iMPACT - Address 0x00053393 is not located at the start of a sector boundary. The whole sector will be erased.
INFO:iMPACT - Address 0x00053393 is in sector 6.
INFO:iMPACT - Address 0x00000000 is in sector 0.
INFO:iMPACT - Address 0x00053393 is not located at the start of a sector boundary. The whole sector will be erased.
INFO:iMPACT - Address 0x00053393 is in sector 6.
INFO:iMPACT - Address 0x00000000 is in sector 0.
INFO:iMPACT - Address 0x00053393 is not located at the start of a sector boundary. The whole sector will be erased.
INFO:iMPACT - Address 0x00053393 is in sector 6.
INFO:iMPACT - Address 0x00000000 is in page 0.
INFO:iMPACT - Address 0x00053393 is in page 1291.
'1': Programming Flash...done.
'1': Programming completed successfully.
INFO:iMPACT - Address 0x00000000 is in page 0.
INFO:iMPACT - Address 0x00053393 is in page 1291.
'1': Verifying device...done.
'1': Verification completed successfully.
'1': Configuration data download to FPGA was not successful. DONE did not go high, please check your configuration setup and mode settings.
INFO:iMPACT - '1': Flash was not programmed successfully.
PROGRESS_END - End Operation.
Elapsed time = 98 sec.

Сбой программирования.
При этом флешка стирается и проверяется командой Blank Chek без ошибок.
Вся схемотехника подключения флешки к плисине вроде сделана по Spartan-6 FPGA Configuration User Guide, только DONE не подтянут к Vcc, а висит на этом выводе светодиод с резистором на землю.

Подскажите что я делаю не так, заранее спасибо.

Есть подозрение (судя по приведённому вами логу) что вы подсовываете импакту неправильный формат файла. Он пытается писать флэшку с адреса 0x53393, хотя логично было бы начать с нуля. Скорее всего флэшке нужен формат типа Intel HEX (который тоже ещё надо сформировать тем же импактом), а вы пытаетсь скормить ей *.bin, что в корне неверно. А вообще всё это описано в мануалах на импакт.
troiden
Impact грузит во флеш MCS-файл.
RunneR2
Цитата(Bad0512 @ May 11 2012, 07:29) *
Есть подозрение (судя по приведённому вами логу) что вы подсовываете импакту неправильный формат файла. Он пытается писать флэшку с адреса 0x53393, хотя логично было бы начать с нуля. Скорее всего флэшке нужен формат типа Intel HEX (который тоже ещё надо сформировать тем же импактом), а вы пытаетсь скормить ей *.bin, что в корне неверно. А вообще всё это описано в мануалах на импакт.


С чего вы взяли что я пытаюсь скормить ей бин файл? Я формирую и пытаюсь загрузить MCS формат

Вообще для генерации файла для флешки доступно всего 3 формата.: MCS, EXO, UFP

Только сгенерировав файл MCS он один доступен при выборе SPI флеш, остальные форматы в окне выбора файла хоть ты их и сгенерил недоступны.

Подтянул DONE к питанию через резистор 330 Ом, положительного эффекта нет все тоже самое....

Неосиливаю, в чем проблема.... blink.gif
tinker73
Предлагаю проверить
1) состояние пинов M[1:0] = 2'b01 (т.е. SPI master)
2) находится ли VCC_AUX в допустимых пределах в момент загрузки из флеши (нет глитчей,просадок напряжения и т.д.)
3) если уж совсем ничего не помогает, то выпаять и прошить флешку в программаторе, запаять в плату, и после этого проверить всё с отключенным JTAG-ом
, в первую очередь проверить уровни 0 и 1 для всех сигналов флеши (нет ли КЗ или обрывов), находится ли частота CCLK в допустимых пределах, нет ли "звона" на длинных линияхSPI, проверить питание флеши, и т.д по всему списку.
4)попробовать другой экземпляр и/или даже тип флешки (например Numonix M25P)
seemann
У нас была такая проблема с Spartan 6 Automotive. Исчезла, когда уменьшили тактовою частоту CCLK с 26 на 10 MHz.
aat_81
Понимаю, что прошло много времени, но попытаюсь - удалось ли решить данную проблему? Если да то каким способом? Сам столкнулся с подобным поведением и чужой опыт был бы кстати sm.gif
_4afc_
Цитата(aat_81 @ Mar 17 2016, 20:59) *
Понимаю, что прошло много времени, но попытаюсь - удалось ли решить данную проблему? Если да то каким способом? Сам столкнулся с подобным поведением и чужой опыт был бы кстати sm.gif


1. Проблемы с JTAG (длинные провода) или высокая скорость JTAG
2. Отсутствие подтягивающих резисторов у флешки.
aat_81
Цитата(_4afc_ @ Mar 18 2016, 11:03) *
1. Проблемы с JTAG (длинные провода) или высокая скорость JTAG
2. Отсутствие подтягивающих резисторов у флешки.

Проблема точно не с JTAG, т.к. загрузить FPGA могу. Мало того, флешка тоже записывается нормально(проверял считывая прошивку обратно на компьютер). Получается проблема только в загрузке плиски от флешки. Думаю вечером разберусь и отпишусь в чем дело было.
aat_81
В общем проблема была банальной. Контакты М1 и М0 были подключены к земле и питанию через 10 кОм резисторы, после избавления от этих резисторов проблема исчезла.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.