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

Флэшка W25Q256FV + STM32F4xx

Привет всем.

Вопрос по флэшке W25Q256FV 32МБ объёмом. Отдельного подфорума по микросхемам флэш-памяти я здесь на нашёл, потому пишу сюда, т.к. работаю с ней на STM32F407/439

 

Произошло следующее: она работала нормально, но однажды (3 дня назад) для увеличения скорости я решил уменьшить делитель SPI5 F439 c 256 до 2.

Частота в итоге получилась 45MHz/2=22.5MHz. Сама микруха по ДШ тянет до 50 MHz. Пару раз она отработала нормально, потом ушла в ступор.

 

Ступор заключается в каком-то залочивании записи - Команда Erase All отрабатывает мгновенно (по ДШ это длится 80 секунд, у меня по факту было 53-55 секунд), соответственно последующая запись не работает - читается то, что там было до этого "ЧП".

Всё остальное пашет нормально.

Обратное увеличение делителя до 256 ничего не дало.

 

Я вытащил всё необходимое тестовую прогу (кокос) для старой дискавери (которая на Ф407) приложил, также приложил и ДШ на микруху.

Посмотрите пожалуйста, может я какой нюанс упустил.

Нога nWP сидит на питании и всегда там была. На сбросе резюк 510 ом в питании. Это всё с первого дня эксплуатации. Стирал/записывал я её ну максимум раз 200, знакомый её трёт/пишет гораздо чаще и больше.

Подключалась в плате с процами всегда проводками ~10см. может наводки прилетели и убили её?

 

Смотрел под отладкой регистры после разрешения записи: SR1=02h; SR2=0x7C; SR3=03h

SR1=02h - запись разрешена (можно стирать/писать).

На значения SR2, SR3 ранее внимания не обращал, не знаю, что там было.

 

Заранее спасибо.

W25Q256FV_revF.pdf

STM32F407_W25Q256_Test.zip

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


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

Произошло следующее: она работала нормально, но однажды (3 дня назад) для увеличения скорости я решил уменьшить делитель SPI5 F439 c 256 до 2.

Частота в итоге получилась 45MHz/2=22.5MHz. Сама микруха по ДШ тянет до 50 MHz. Пару раз она отработала нормально, потом ушла в ступор.

Я бы изучил подробно раздел 6.2 Write Protection и все, что к нему относится - скорее всего залочили какие-либо секторы или всю память, теперь надо снять защиту от записи. Кстати что там в статусных регистрах, смотрели?

 

может наводки прилетели и убили её?

Как-то маловероятно, что убилась одна запись.

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


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

Я бы изучил подробно раздел 6.2 Write Protection и все, что к нему относится - скорее всего залочили какие-либо секторы или всю память, теперь надо снять защиту от записи.

Кстати что там в статусных регистрах, смотрели?

 

В первом посте написал:

 

Смотрел под отладкой регистры после разрешения записи: SR1=02h; SR2=0x7C; SR3=03h

SR1=02h - запись разрешена (можно стирать/писать).

На значения SR2, SR3 ранее внимания не обращал, не знаю, что там было.

 

Биты SRPx=0, BPx=0 - защиты нет.

Едиственное, что я заметил - биты LBх=111 - Security Registers залочены. Это в SR2. Но что это за регистры, я так и не нашёл.

Там даются только их адреса и какая-то мутная фраза о том, что они "есть не везде, а только по заказу".

 

6.2 покурю ещё раз, мож упустил чего.

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


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

Подключалась в плате с процами всегда проводками ~10см. может наводки прилетели и убили её?

Аурдиновские ноги из под рухнувшего проекта.

Всё что работает на частотах выше мегагерца - необходимо устанавливать на печатную плату, на длинных проводах такие вещи просто не работают.

Второе - режим записи устанавливается не мгновенно, чипу необходимо время для входа в режим. Пока чип в режиме ожидания - все остальные команды игнорируются.

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


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

Биты SRPx=0, BPx=0 - защиты нет.

Я бы попробовал не смотря на состояние битов защиты еще раз выполнить команды по снятию всех возможных защит от записи/стирания.

Как вариант проверьте не работает только стирание всего чипа или по блокам тоже?

А программирование без стирания работает?

Можете записать нули?

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


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

Пока множители меняли туда-сюда, могли и в других местах накосячить. Возьмите заведомо годную флешку и убедитесь, что все команды работают.

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


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

...Всё что работает на частотах выше мегагерца - необходимо устанавливать на печатную плату...

 

Весьма вероятная причина. По DS минимальчая скорость фронтов у этой чипы - 0.1V/ns. Предполагаю, что на концах Ваших проводов фронты будут поболее 30ns.

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


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

Поснимал биты защиты, прогнал EraseAll - около минуты, как было раньше - считал пару килобайт от начала - все 0xFF.

После разрешения записи повставлял задержки на всякий случай.

Завтра верну микруху обратно в основную схему ("чинил" на Ф4дискавери), проверю, отпишусь. Частоту там уже вернул обратно, не буду её трогать.

 

Спасибо всем большое.

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


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

Проверил - всё работает. Но осталась одна какая-то странность - эту разлочку надо делать каждый раз после выкл/вкл питания.

Такое ощущение, что эти биты надо как-то сохранить.

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


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

Всё что работает на частотах выше мегагерца - необходимо устанавливать на печатную плату, на длинных проводах такие вещи просто не работают.

Думаю - проблема не в этом. 10см - не такая уж и большая длина.

У меня сейчас в одном проекте LCD на такой длине на 4МГц стабильно работает и AT45DB321D на 18МГц на чуть меньшей длине - никаких проблем (на проводах оно находится конечно пока на этапе отладки, потом будет на плате). У автора проблема явно в другом. Я не раз работал с разными флешками на проводах на десятках МГц. На всех линиях включить подтяжки, внимательно и вдумчиво читать даташит - и всё будет ок.

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


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

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

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

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

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

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

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

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

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

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