bureau 0 10 июля, 2017 Опубликовано 10 июля, 2017 · Жалоба Борюсь с микросхемой SPI Flash памяти M25PE16 ID читается как положено, но вот когда пытаюсь записать что-то в память, то при чтении -- все пусто После отправки WriteEnable читаю STATUS REGISTER. При первом чтении -- 0xFF, при втором -- 0х00. Исходя из логики: WEL бит -- не устанавливается. Или все правильно и так и должно быть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 83 10 июля, 2017 Опубликовано 10 июля, 2017 · Жалоба Errata вашего контроллера читали? Там никаких косяков с SPI нету? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bureau 0 10 июля, 2017 Опубликовано 10 июля, 2017 · Жалоба С SPI все ОК, по осциллограмме видно что что-то не то Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 10 июля, 2017 Опубликовано 10 июля, 2017 · Жалоба Борюсь с микросхемой SPI Flash памяти M25PE16 ID читается как положено, но вот когда пытаюсь записать что-то в память, то при чтении -- все пусто После отправки WriteEnable читаю STATUS REGISTER. При первом чтении -- 0xFF, при втором -- 0х00. Исходя из логики: WEL бит -- не устанавливается. Или все правильно и так и должно быть? Регистр статуса нужно читать до Write Enable. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bureau 0 10 июля, 2017 Опубликовано 10 июля, 2017 · Жалоба Регистр статуса нужно читать до Write Enable. Хорошо, а как тогда убедится что он отработал Write Enable корректно и установил бит WEL ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 10 июля, 2017 Опубликовано 10 июля, 2017 · Жалоба Хорошо, а как тогда убедится что он отработал Write Enable корректно и установил бит WEL ? Если микросхема доступна для записи, она не может не отработать Write Enable Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bureau 0 10 июля, 2017 Опубликовано 10 июля, 2017 · Жалоба Исходя из того что на ноге DO, в момент передачи данных, логический уровень не падает ниже 1В, есть предположение что микросхема бракованная или подгоревшая... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 10 июля, 2017 Опубликовано 10 июля, 2017 · Жалоба Исходя из того что на ноге DO, в момент передачи данных, логический уровень не падает ниже 1В, есть предположение что микросхема бракованная или подгоревшая... а кто ее "дергает" не греется? это выход. С pullup все в порядке? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bureau 0 10 июля, 2017 Опубликовано 10 июля, 2017 · Жалоба а кто ее "дергает" не греется? это выход. С pullup все в порядке? Дергает ее сама микросхема FLASH. Нет, не греется. Протестировано на другой (другого производителя) микросхеме FLASH памяти. Уровни в порядке, буду пилить дальше... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 11 июля, 2017 Опубликовано 11 июля, 2017 · Жалоба После отправки WriteEnable читаю STATUS REGISTER. При первом чтении -- 0xFF, при втором -- 0х00. Исходя из названия раздела форума :laughing: - тупой вопрос: Вы уверены, что 0xFF - это именно содержимое регистра статуса читаете, а не значение MISO при отправке команды WriteEnable? Хорошо, а как тогда убедится что он отработал Write Enable корректно и установил бит WEL ? Никогда это не проверяю. Устройств сделал уже кучу с SPI-flash. Если нет косяков в ПО/железе и понимаете как работает SPI, то проверять это не нужно. имха Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 220 11 июля, 2017 Опубликовано 11 июля, 2017 · Жалоба читаю STATUS REGISTER. При первом чтении -- 0xFF Это однозначно не содержимое регистра, которое в паспорте указано как х00ххххх. С SPI все ОК ОКеи бывают разные. Расскажите нам об этом Вашем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 12 июля, 2017 Опубликовано 12 июля, 2017 · Жалоба Самая распространенная ошибка при работе с SPI это неустановка чип селект в неактивное состояние в конце акта записи. Именно это изменение и совершает запись. Все наступали на эти грабли. Оно неочевидно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A.Lex 0 12 июля, 2017 Опубликовано 12 июля, 2017 (изменено) · Жалоба Самая распространенная ошибка при работе с SPI это неустановка чип селект в неактивное состояние в конце акта записи. Именно это изменение и совершает запись. Все наступали на эти грабли. Оно неочевидно. Или слишком ранняя установка CS в "1" Изменено 12 июля, 2017 пользователем A.Lex Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bureau 0 13 июля, 2017 Опубликовано 13 июля, 2017 · Жалоба И так, продолжимс... Раздобыл Logic Analizer, вот результат: Читаем ID Стираем чип Записываем, адрес 0х00, значение -- инкремент. Начало Записываем. Конец Читаем, адрес 0х00. Начало Читаем, адрес 0х00. Конец. Как можно видеть, при чтении все время читается 0xFF. Я что-то упустил-забыл? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 220 13 июля, 2017 Опубликовано 13 июля, 2017 · Жалоба Проблемы лучше решать по мере их поступления и по одной. Во-первых, нет ни одной картинки с RESET. Во-вторых, нет картинки из первого сообщения, т.е. где разрешили запись и не видите WEL=1. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться