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

Борюсь с микросхемой SPI Flash памяти M25PE16

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

После отправки WriteEnable читаю STATUS REGISTER. При первом чтении -- 0xFF, при втором -- 0х00.

Исходя из логики: WEL бит -- не устанавливается. Или все правильно и так и должно быть?

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


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

Борюсь с микросхемой SPI Flash памяти M25PE16

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

После отправки WriteEnable читаю STATUS REGISTER. При первом чтении -- 0xFF, при втором -- 0х00.

Исходя из логики: WEL бит -- не устанавливается. Или все правильно и так и должно быть?

Регистр статуса нужно читать до Write Enable.

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


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

Регистр статуса нужно читать до Write Enable.

Хорошо, а как тогда убедится что он отработал Write Enable корректно и установил бит WEL ?

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


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

Хорошо, а как тогда убедится что он отработал Write Enable корректно и установил бит WEL ?

Если микросхема доступна для записи, она не может не отработать Write Enable

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


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

Исходя из того что на ноге DO, в момент передачи данных, логический уровень не падает ниже 1В, есть предположение что микросхема бракованная или подгоревшая...

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


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

Исходя из того что на ноге DO, в момент передачи данных, логический уровень не падает ниже 1В, есть предположение что микросхема бракованная или подгоревшая...

а кто ее "дергает" не греется?

это выход. С pullup все в порядке?

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


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

а кто ее "дергает" не греется?

это выход. С pullup все в порядке?

Дергает ее сама микросхема FLASH. Нет, не греется.

Протестировано на другой (другого производителя) микросхеме FLASH памяти. Уровни в порядке, буду пилить дальше...

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


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

После отправки WriteEnable читаю STATUS REGISTER. При первом чтении -- 0xFF, при втором -- 0х00.

Исходя из названия раздела форума :laughing: - тупой вопрос: Вы уверены, что 0xFF - это именно содержимое регистра статуса читаете, а не значение MISO при отправке команды WriteEnable?

 

Хорошо, а как тогда убедится что он отработал Write Enable корректно и установил бит WEL ?

Никогда это не проверяю. Устройств сделал уже кучу с SPI-flash.

Если нет косяков в ПО/железе и понимаете как работает SPI, то проверять это не нужно. имха

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


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

читаю STATUS REGISTER. При первом чтении -- 0xFF

Это однозначно не содержимое регистра, которое в паспорте указано как х00ххххх.

 

С SPI все ОК

ОКеи бывают разные. Расскажите нам об этом Вашем.

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


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

Самая распространенная ошибка при работе с SPI это неустановка чип селект в неактивное состояние в конце акта записи. Именно это изменение и совершает запись. Все наступали на эти грабли. Оно неочевидно.

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


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

Самая распространенная ошибка при работе с SPI это неустановка чип селект в неактивное состояние в конце акта записи. Именно это изменение и совершает запись. Все наступали на эти грабли. Оно неочевидно.

Или слишком ранняя установка CS в "1"

Изменено пользователем A.Lex

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


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

И так, продолжимс...

Раздобыл Logic Analizer, вот результат:

 

Читаем ID

post-25593-1499976964_thumb.png

 

Стираем чип

post-25593-1499976957_thumb.png

 

Записываем, адрес 0х00, значение -- инкремент. Начало

post-25593-1499976969_thumb.png

Записываем. Конец

post-25593-1499976973_thumb.png

 

Читаем, адрес 0х00. Начало

post-25593-1499976978_thumb.png

Читаем, адрес 0х00. Конец.

post-25593-1499976981_thumb.png

 

 

Как можно видеть, при чтении все время читается 0xFF.

Я что-то упустил-забыл?

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


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

Проблемы лучше решать по мере их поступления и по одной.

 

Во-первых, нет ни одной картинки с RESET.

 

Во-вторых, нет картинки из первого сообщения, т.е. где разрешили запись и не видите WEL=1.

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


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

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

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

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

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

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

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

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

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

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