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

SPARTAN6 не стартует с флешки

Всем привет! Осваиваю ПЛИС. Чип 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, а висит на этом выводе светодиод с резистором на землю.

 

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

 

 

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


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

...

'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 пины соединены -- естественно так делать не стоит).

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


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

При программировании флешки DONE вообще не переходит в состояние 1.

 

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

 

 

Я просто никогда раньше не работал с плисами со внешней флешкой... А со встроенной проблем не было...

Попробую подтянуть DONE резистором

Спасибо за советы.

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


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

Всем привет! Осваиваю ПЛИС. Чип 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, что в корне неверно. А вообще всё это описано в мануалах на импакт.

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


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

Есть подозрение (судя по приведённому вами логу) что вы подсовываете импакту неправильный формат файла. Он пытается писать флэшку с адреса 0x53393, хотя логично было бы начать с нуля. Скорее всего флэшке нужен формат типа Intel HEX (который тоже ещё надо сформировать тем же импактом), а вы пытаетсь скормить ей *.bin, что в корне неверно. А вообще всё это описано в мануалах на импакт.

 

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

 

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

 

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

 

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

 

Неосиливаю, в чем проблема.... :blink:

 

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


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

Предлагаю проверить

1) состояние пинов M[1:0] = 2'b01 (т.е. SPI master)

2) находится ли VCC_AUX в допустимых пределах в момент загрузки из флеши (нет глитчей,просадок напряжения и т.д.)

3) если уж совсем ничего не помогает, то выпаять и прошить флешку в программаторе, запаять в плату, и после этого проверить всё с отключенным JTAG-ом

, в первую очередь проверить уровни 0 и 1 для всех сигналов флеши (нет ли КЗ или обрывов), находится ли частота CCLK в допустимых пределах, нет ли "звона" на длинных линияхSPI, проверить питание флеши, и т.д по всему списку.

4)попробовать другой экземпляр и/или даже тип флешки (например Numonix M25P)

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


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

У нас была такая проблема с Spartan 6 Automotive. Исчезла, когда уменьшили тактовою частоту CCLK с 26 на 10 MHz.

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

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


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

Понимаю, что прошло много времени, но попытаюсь - удалось ли решить данную проблему? Если да то каким способом? Сам столкнулся с подобным поведением и чужой опыт был бы кстати :)

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


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

Понимаю, что прошло много времени, но попытаюсь - удалось ли решить данную проблему? Если да то каким способом? Сам столкнулся с подобным поведением и чужой опыт был бы кстати :)

 

1. Проблемы с JTAG (длинные провода) или высокая скорость JTAG

2. Отсутствие подтягивающих резисторов у флешки.

 

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


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

1. Проблемы с JTAG (длинные провода) или высокая скорость JTAG

2. Отсутствие подтягивающих резисторов у флешки.

Проблема точно не с JTAG, т.к. загрузить FPGA могу. Мало того, флешка тоже записывается нормально(проверял считывая прошивку обратно на компьютер). Получается проблема только в загрузке плиски от флешки. Думаю вечером разберусь и отпишусь в чем дело было.

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


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

В общем проблема была банальной. Контакты М1 и М0 были подключены к земле и питанию через 10 кОм резисторы, после избавления от этих резисторов проблема исчезла.

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


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

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

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

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

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

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

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

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

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

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