ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
3 мая
1393674 Топик полностью
Nikolay_Po (16.01.2024 15:37, просмотров: 51) ответил reZident на "Энергонезависимые" (non-volatile) биты статуса (типа BPx) при подаче питания автоматически копируются в "ОЗУ". Далее работа идет с их (потенциально volatile) копией. Команда Write Enable for Volatile Status Register (50h) позволяет изменить состояние "энергонезависимых" бит статуса без их записи в энергонезависимую память, то бишь изменить именно volatile-копию. Для бита WEL, который мало того, что read-only, но еще и чисто "индикаторый" эта команда разрешения записи (50h)
Угу. Так в теории и так у Winbond W25Q. А вот у конкретного экземпляра Z25Q, попытка разблокировки возможности записи командой 06h, вызывает занятие чипа на время записи. А вот использование 50h перед 06h, устраняет занятость чипа и, вероятно, устраняет лишнюю запись в SR. 

Думаю, просто разарботчики чипа недостаточно хорошо продумали сценарий использования или не полностью скопировали оригинал и не блокируют автоматическую запись для изменения состояния бита WEL.

Как я вижу, происходит следующее: команда 06h должна разблокировать флеш на запись. Это выполняется. В регистре статуса SR взводится бит WEL. Почему-то конструктор чипа подумал, что этот бит нужно сохранять постоянно во флеш. И появление единички в WEL, приводит к автоматической записи в SR с занятием чипа BUSY. Если предварительно давать команду 05h, запись во флеш изменений SR блокируется. И отработка команды 06h проходит без лишней записи.

Чисто косяк чипа. Найти бы Errata на эту память. Возможо, я не далёк от истины.