Micron M25P80 Serial FLASH |
![]() |
Добавил(а) microsin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
M25P80 это микросхема памяти FLASH на 8 мегабит (1 мегабайт, 1Mb x 8) с последовательным интерфейсом, совместимым с SPI [2]. Устройство поддерживает высокопроизводительные команды на частоте до 75 МГц. Память можно программировать за один раз количеством байт от 1 до 256, используя команду PAGE PROGRAM. Память организована в 16 секторов, каждый из которых содержит 256 страниц. Каждая страница имеет размер 256 байт. Память можно рассматривать как 4096 страниц, или как 1048576 байт. Вся память может быть стерта командой BULK ERASE, или можно стирать по одному сектору командой SECTOR ERASE. Этот даташит (перевод [1]) подробно описывает функциональность микросхемы M25P80, производство которой основана на техпроцессе 110 нм. Основные возможности M25P80: • SPI-совместимый интерфейс, дающий доступ к 8 мегабит FLASH-памяти на максимальной частоте 75 МГц. Рис. 1. Выводы (сигналы) M25P80. Рис. 2. Расположение выводов корпусов SO8, VFQFPN. У корпуса MLP8 на донце есть центральная контактная площадка, которая подключена внутри микросхемы к VSS (земля, GND), и она не должна быть подключена ни к какому другому сигналу или напряжению печатной платы. Таблица 1. Имена сигналов.
Таблица 2. Описание сигналов.
[Режимы SPI] Микросхемы M25P80 могут управляться микроконтроллером с последовательным интерфейсом SPI, работающим в одном из двух режимов SPI [2]: • CPOL = 0, CPHA = 0 (SPI mode 0) Для этих двух режимов входные данные всегда защелкиваются по фронту нарастания тактов (C), и выходные данные доступны по спаду уровня тактов. Различия между двумя поддерживаемыми режимами в начальном уровне сигнала тактов, когда мастер шины находится в режиме ожидания и не передает данные: • C остается в лог. 0 (CPOL = 0, CPHA = 0) Рис. 3. Поддерживаемые режимы SPI. Примечание: CPOL сокращение от Clock POLarity (полярность тактов), CPHA Clock PHAse (фаза тактов), MSB Most Significant Bit (старший значащий бит). Сочетание CPOL/CPHA 00 означает выбор режима SPI 0, а сочетание 11 выбор режима SPI 3. Из-за того, что на шине SPI в любой момент времени может быть активным только одно подчиненное устройство и один мастер SPI (микроконтроллер, MCU), только одно из устройств переключает выход последовательных данных DQ1, в то время как все остальные устройства (если они также подключены к той же шине) держат свои выходы в состоянии высокого сопротивления (High-Z). Ниже на рис. 4 показан пример подключения к MCU трех микросхем памяти. Рис. 4. Мастер шины SPI и подчиненные устройства. Примечания: 1. Сигналы WRITE PROTECT (W#) и HOLD# должны находится в лог. 1 или лог. 0 согласно их назначению. [Рабочие режимы] Page Programming. Для программирования одного байта данных требуется две команды: WRITE ENABLE, которая занимает 1 байт, и последовательность PAGE PROGRAM, состоящая из 4 байт плюс данные. За этим следует внутренний цикл PROGRAM длительностью tPP. Чтобы распределить эту нагрузку, команда PAGE PROGRAM позволяет запрограммировать сразу до 256 байт (поменять в них единички на нолики), если они лежат в последовательных адресах на одной и той же странице памяти. Для оптимизации временных интервалов рекомендуется использовать PAGE PROGRAM для программирования всех последовательно идущих друг за другом байт в одной последовательности, вместо использования нескольких последовательностей PAGE PROGRAM, каждая из которых содержит только несколько байт. Sector Erase, Bulk Erase. Команда PAGE PROGRAM позволяет сбросить биты в байтах с 1 на 0. Перед тем, как это может быть сделано, все байты памяти должны быть очищены, т. е. все биты в них должны быть единицами (каждый байт на записываемой странице равен FFh). Это достигается в один момент времени командой SECTOR ERASE, или по всей памяти командой BULK ERASE. Эти операции начинаются внутренним циклом ERASE длительностью tSE или tBE соответственно. Перед командой ERASE должна быть выдана команда WRITE ENABLE. Опрос во время операций записи, программирования или стирания. Можно ускорить время выполнения следующих операций, не дожидаясь установленной максимальной задержки операций программирования (времена tW, tPP, tSE или tBE): • WRITE STATUS REGISTER Для этой цели есть бит, показывающий активность операции записи (write in progress, WIP), который находится в регистре состояния (Status Register). Этот бит можно опрашивать, чтобы определить момент, когда завершилась операция WRITE, PROGRAM или ERASE. Active Power, Standby Power и Deep Power-Down. Когда сигнал выборки (S#) в лог. 0, устройство выбрано, и находится в активном режиме энергопотребления (ACTIVE POWER). Когда на лог 1, устройство не выбрано но будет находиться в режиме ACTIVE POWER до тех пор, пока не завершатся внутренние циклы программирования (PROGRAM, ERASE, WRITE STATUS REGISTER). После этого устройство перейдет в режим STANDBY POWER, ток потребления падает до ICC1. В режим глубокого выключения (DEEP POWER-DOWN) устройство входит по команде DEEP POWER-DOWN, тогда ток потребления падает до ICC2. Устройство остается в этом режиме до тех пор, пока не будет выполнена команда RELEASE FROM DEEP POWER-DOWN. В режиме DEEP POWER-DOWN устройство игнорирует все команды WRITE, PROGRAM и ERASE. Это дает дополнительный программный механизм защиты содержимого памяти микросхемы, когда микросхема используется не активно: получается предохранение от непреднамеренных команд WRITE, PROGRAM или ERASE operations. Для дополнительной информации см. описание команды DEEP POWER DOWN. Status Register. Регистр состояния (status register) содержит несколько бит состояния и управляющих бит, которые можно прочитать или установить (при необходимости) специальными командами. Подробности см. в описании команды READ STATUS REGISTER. Защита данных с помощью протокола. Энергонезависимая память используется в условиях, которые могут содержать чрезмерный шум. Следующие возможность помогут защитить данные в таком зашумленном окружении. Сброс при включении питания и внутренний таймер (tPUW) могут защитить от непреднамеренных изменений данных, когда питание вышло за пределы рабочих спецификаций. Команды PROGRAM, ERASE и WRITE STATUS REGISTER проверяются перед тем, как они выполняются, чтобы гарантировать, что количество их импульсов нацело делится на 8. Всем командам, которые модифицируют данные, должна предшествовать команда WRITE ENABLE для установки бита защелки разрешения записи (write enable latch, WEL). В дополнение к функции пониженного потребления энергии, режим DEEP POWER-DOWN расширяет программную защиту данных, поскольку все команды PROGRAM и ERASE игнорируются, когда устройство находится в этом режиме. Программная защита данных. Память может быть сконфигурирована как read-only (только чтение) с помощью бит защиты блоков (BP2, BP1, BP0), находящихся в регистре состояния, что показано в таблице 3. Таблица 3. Размеры защищенных от записи областей данных.
Примечание: 0 0 0 = не защищенная область (секторы): устройство готово принять команду BULK ERASE, только если все биты защиты блоков (BP2, BP1, BP0) обнулены. Аппаратная защита данных. Путем подачи лог. 0 на вывод W# можно защитить содержимое памяти от записи. Это замораживает регистр состояния в режим "только чтение" (read-only). В этом режиме защищены от доступа биты защиты блоков (BPx) и бит запрета записи в регистр состояния (Status Register Write Disable, SRWD). Hold Condition (состояние удержания). Сигнал HOLD# используется для постановки на паузу любого последовательного обмена с устройством без сброса последовательности тактирования. Однако перевод этого сигнала в лог. 0 не прерывает любой запущенный внутренний цикл WRITE STATUS REGISTER, PROGRAM или ERASE. Чтобы войти в состояние удержания, устройство должно быть выбрано подачей лог. 0 на вывод S#. Состояние удержания начинается по спаду уровня сигнала HOLD#, если это совпадает с уровнем лог. 0 на сигнале тактов (C). Состояние удержания заканчивается по фронту нарастания сигнала HOLD#, если это совпадает с уровнем лог. 0 на сигнале тактов (C). Если спад HOLD# не совпадает с лог. 0 на C, то состояние удержания стартует с момента перехода в лог. 0 сигнала C. Подобным образом, если фронт нарастания HOLD# не совпадает с лог. 0 на C, то состояние удержания заканчивается при следующем переходе в 0 сигнала тактов C. Рис. 5. Активация Hold Condition. Во время состояния удержания DQ1 находится в состоянии высокого сопротивления, и устройство не реагирует на сигналы DQ0 и C. Обычно устройство остается выбранным (S# = 0) во время hold condition. Это гарантирует, что состояние внутренней логики останется не измененным в момент входа в hold condition. Если S# перейдет в лог. 1, когда устройство находится в hold condition, внутренняя логика устройства сбрасывается. Для перезапуска коммуникации с устройством необходимо перевести HOLD# в лог. 1 и затем перевести S# в лог. 0. Это предотвратит от того, что устройство обратно перейдет в hold condition. [Конфигурация и карта памяти] Каждая страница памяти может быть запрограммирована индивидуально; биты программируются переводом их из 1 в 0. Устройство можно стирать по секторам или целиком, но не страницами и не байтами; биты стираются, переходя в состояние 1. Вся память 8 мегабит сконфигурирована следующим образом: • 1048576 байт (в каждом байте 8 бит) Рис. 6. Блок-схема памяти M25P80. Таблица 4. Секторы от 15 до 0.
[Обзор системы команд] Все команды, адреса и данные вдвигаются в устройство и выдвигаются из него старшим битом (most significant bit, MSB) вперед. Последовательные входы данных DQ0 и DQ1 анализируются по первому фронту нарастания сигнала тактов (C) после того, как сигнал выборки (S#) переведен в лог. 0. Затем 1 байт кода команды должен быть вдвинут в устройство старшим битом вперед, на DQ0 и DQ1, каждый бит защелкивается по фронту нарастания тактов C. Каждая последовательность команды начинается однобайтным кодом команды. В зависимости от команды, за этим кодом команды может идти адрес или байты данных, или адрес и байты данных, или не будут идти ни адрес, ни данные. Для следующих команд за вводом последовательности команд следует вывод последовательности данных. Сигнал выборки S# может быть переведен в лог. 1 после любого бита последовательности вывода. • READ DATA BYTES (READ, чтение) Для следующих команд сигнал S# должен быть переведет в лог. 1 сразу на окончании байта. Таким образом, после делящегося без остатка на 8 количества тактов, прошедших при S# в лог. 0, S# должен быть переведен в лог. 1. Иначе команда будет отброшена и не выполнена. • PAGE PROGRAM Все попытки доступа к массиву памяти во время цикла команды WRITE STATUS REGISTER, цикла команды PROGRAM, или цикла команды ERASE. Кроме того, внутренний цикл для каждой этой команды нормально продолжится до своего завершения. Таблица 5. Коды системы команд.
Примечание: Dummy это пустые байты, которые нужны для инициализации машины состояний. Команда WRITE ENABLE устанавливает бит защелки разрешения записи (write enable latch, WEL). Бит WEL должен быть установлен перед выполнением каждой команды PROGRAM, ERASE и WRITE. Команда WRITE ENABLE вводится после перевода в лог. 0 сигнала выборки S#. Посылается код команды, и затем сигнал S# переводится обратно в лог. 1. Рис. 7. Последовательность выдачи команды WRITE ENABLE. Легенда:
Команда WRITE DISABLE сбрасывает бит защелки разрешения записи (write enable latch, WEL). Команда WRITE DISABLE вводится переводом сигнала выборки S# в лог. 0, после этого посылается код команды, и затем сигнал выборки S# переводится обратно в лог. 1. Кроме WRITE DISABLE, бит WEL автоматически сбрасывается в следующих ситуациях: • Power-up (включение питания) Рис. 8. Последовательность выдачи команды WRITE DISABLE. Легенда:
Команда READ IDENTIFICATION читает следующие идентификационные данные устройства: • Идентификатор производителя (1 байт): этот ID назначается организацией JEDEC. Таблица 6. Последовательность выводимых данных команды READ IDENTIFICATION.
Примечание: байты CFD доступны только для чтения, и могут быть запрограммированы по запросу данными покупателя. Если покупатель не сделал для этого запрос, то устройство поставляется со всеми CFD-байтами, запрограммированными нулями. Устройства с маркировкой верхней части корпуса года и недели больше чем "06/2015", и собранные в корпусе UFDFPN8 4 x 3 мм, имеют область CFD корпуса, запрограммированную с UID. Для декодирования верхней маркировки кодов года и недели (неделя сборки), см. TN-12-24 "Serial Flash Memory Device Marking for the M25P/PE/PX, M45PE, and N25Q Product Families" на сайте micron.com. Рис. 9. Последовательность выдачи команды READ IDENTIFICATION. Легенда:
Команда READ IDENTIFICATION не декодируется во время выполнения внутреннего цикла ERASE или PROGRAM, и не влияет на выполнение этого цикла. Команда READ IDENTIFICATION не должна выдаваться, когда устройство находится в режиме глубокого отключения (DEEP POWER-DOWN). Сначала устройство выбирается переводом S# в лог. 0. Затем 8-битный код команд вдвигается в устройство, после чего данные выдвигаются через DQ1 следующим образом: 24-битный код идентификации устройства, 8-битная длина CFD, 16 байт содержимого CFD. Каждый бит выдвигается наружу по спаду уровня сигнала тактов C. Команда READ IDENTIFICATION прерывается путем перевода выборки S# в лог. 1 в любой момент во время вывода данных. Когда S# переведен в лог. 1, устройство переходит в режим ожидания (STANDBY POWER mode), и ждет подачи выборки, чтобы принять, декодировать и выполнить другие команды. Команда READ STATUS REGISTER позволяет прочитать регистр состояния. Регистр состояния может быть прочитан в любой момент, даже когда выполняется внутренний цикл PROGRAM, ERASE или WRITE STATUS REGISTER. Когда выполняются эти циклы, рекомендуется проверить бит write in progress (WIP) перед отправкой новой команды в устройство. Это также можно делать путем непрерывного чтения регистра состояния. Рис. 10. Последовательность выдачи команды READ STATUS REGISTER. Легенда:
Рис. 11. Формат Status Register. WIP. Бит активности операции записи (write in progress, WIP) показывает, занята ли микросхема памяти внутренним циклом WRITE STATUS REGISTER, PROGRAM или ERASE. Когда бит WIP установлен в 1, выполняется внутренний цикл; когда WIP установлен в 0, внутренний цикл не выполняется (микросхема готова к приему, декодированию и выполнению любой команды). WEL. Бит защелки разрешения записи (write enable latch, WEL) показывает состояние внутренней защелки, разрешающей запись. Когда бит WEL установлен в 1, установлена внутренняя защелка разрешения записи; когда бит WEL установлен в 0, внутренняя защелка разрешения записи сброшена, и не будут приниматься команды WRITE STATUS REGISTER, PROGRAM или ERASE. Биты защиты блоков. Эти биты энергонезависимы. Они определяют размер защищенной области, которую нельзя будет записать и стереть командами PROGRAM и ERASE. Биты защиты блоков записываются командой WRITE STATUS REGISTER. Когда один или больше бит защиты блоков установлен в 1, соответствующая область памяти, как это определено в таблице 3 "Размеры защищенных от записи областей данных", становится защищенной от действия команд PAGE PROGRAM и SECTOR ERASE. Биты защиты блоков могут быть записаны, чтобы применить аппаратную защиту определенных областей памяти. Команда BULK ERASE выполняется только если все биты защиты блоков обнулены. SRWD. Энергонезависимый бит status register write disable (SRWD) работает вместе с сигналом защиты от записи (W#/VPP). Когда бит SRWD установлен в 1, и вывод W#/VPP переведен в лог. 0, устройство переходит в режим аппаратной защиты от записи (hardware protected mode). В этом режиме энергонезависимые биты регистра состояния (SRWD и биты защиты блоков) становятся доступны только для чтения, и команда WRITE STATUS REGISTER больше не сможет выполняться. Команда WRITE STATUS REGISTER позволяет записать новое значение в регистр состояния. Перед тем, как может быть принята команда WRITE STATUS REGISTER, нужно выполнить команду WRITE ENABLE. После декодирования и выполнения команды WRITE ENABLE устройство установит бит защелки разрешения записи (WEL) в регистре состояния. Команда WRITE STATUS REGISTER вводится предварительным переводом выборки S# в лог. 0, за которым на вход DQ0 передается код команды и байт данных. Команда WRITE STATUS REGISTER не влияет на биты b6, b5, b4, b1 и b0 регистра состояния. Биты b6, b5 и b4 всегда читаются как "0". Сигнал выборки S# должен быть переведен в лог. 1 после того, как было принят последний байт данных. Если это условие не выполнено, команда WRITE STATUS REGISTER не выполняется. Рис. 12. Последовательность выдачи команды WRITE STATUS REGISTER. Когда S# переводится в лог. 1, инициируется внутренний цикл WRITE STATUS REGISTER, его длительность составляет tW. Когда выполняется внутренний цикл WRITE STATUS REGISTER, регистр состояния все еще доступен на чтение, чтобы можно было проверить значение бита write in progress (WIP). Бит WIP установится в 1 во время цикла WRITE STATUS REGISTER, и установится в 0, когда этот цикл завершится. Также когда этот цикл завершится, сбросится бит WEL. Команда WRITE STATUS REGISTER дает возможность пользователю поменять значения бит защиты блоков (BP2, BP1, BP0). Установка этих бит определяет размер области, которая рассматривается как область только для чтения (см. таблицу 3 выше). Команда WRITE STATUS REGISTER также позволяет установить и сбросить бит status register write disable (SRWD) в соответствии с управлением сигналом write protect (W#/VPP). Бит SRWD и сигнал W#/VPP позволяют поместить устройство в аппаратный защищенный режим (hardware protected mode, HPM). Команда WRITE STATUS REGISTER не выполняется, как только активирован HPM. Опции для разрешения режимов защиты регистра состояния показаны в таблице 7. Таблица 7. Режимы Status Register Protection.
Примечания: 1. Программная защита: регистр состояния может быть записан (т. е. можно изменить значения бит SRWD, BP2, BP1 и BP0), если команда WRITE ENABLE установила бит WEL. Когда бит SRWD регистра состояния равен 0 (его начальное состояние с завода), можно записывать в регистр состояния, когда бит WEL был установлен ранее выданной командой WRITE ENABLE, независимо от того, в каком состоянии находится сигнал W#/VPP, в лог. 1 или в лог. 0. Когда бит SRWD установлен в 1, нужно рассмотреть два случая в зависимости от состояния сигнала W#/VPP: • Если на W#/VPP лог. 1, то можно записывать в регистр состояния, когда ранее бит WEL был установлен командой WRITE ENABLE. Независимо от этих двух событий, можно войти в защиту HPM одним из следующих способов: • Установка бита SRWD регистра состояния после перевода сигнала W#/VPP в лог. 0. Единственный способ выхода из HPM - подтянуть сигнал W#/VPP к лог. 1. Если W#/VPP постоянно находится в лог. 1, то защита HPM никогда не может быть активирована. В этом случае доступна только защита SPM, использующая биты защиты блоков регистра состояния (BP2, BP1, BP0). Для чтения устройство сначала выбирается переводом сигнала S# в лог. 0. Передается код команды READ DATA BYTES, за которым идет 3-байтный адрес (A23-A0), каждый бит защелкивается на входе DQ0 по фронту нарастания сигнала тактов C. Затем содержимое по заданному адресу выводится через выход DQ1, каждый бит выдвигается по спаду тактов C на максимальной частоте fR. Первый байт может быть адресован в любой ячейке. Адрес автоматически инкрементируется на следующий при каждом выдвинутом байте. Таким образом, командой READ DATA BYTES может быть прочитана вся память. Когда был достигнут самый старший адрес, адрес возвратится к 000000h, и последовательность чтения может продолжаться бесконечно. Команда READ DATA BYTES завершается переводом выборки S# в лог. 1. Сигнал S# может быть переведен в лог. 1 в любой момент вывода данных. Любая команда READ DATA BYTES, выданная во время выполнения внутреннего цикла ERASE, PROGRAM или WRITE, будет отброшена без какого-либо влияния на цикл команды записи/стирания. Рис. 13. Последовательность выдачи команды READ DATA BYTES. Легенда:
Примечание: Cx = 7 + (A[MAX] + 1). Устройство сначала выбирается переводом сигнала S# в лог. 0. Затем через вход передается DQ0 код команды READ DATA BYTES at HIGHER SPEED, за которым идет 3-байтный адрес (A23 .. A0) и пустой (dummy) байт. Каждый передаваемый бит защелкивается по фронту нарастания уровня тактов C. Затем содержимое памяти по заданному адресу выдвигается через выход DQ1 с максимальной частотой fC, во время спада уровня C. Первый байт может быть адресован в любой ячейке. Адрес автоматически инкрементируется на следующий при каждом выдвинутом байте. Таким образом, командой READ DATA BYTES at HIGHER SPEED может быть прочитана вся память. Когда был достигнут самый старший адрес, адрес возвратится к 000000h, и последовательность чтения может продолжаться бесконечно. Команда READ DATA BYTES at HIGHER SPEED завершается переводом выборки S# в лог. 1. Сигнал S# может быть переведен в лог. 1 в любой момент вывода данных. Любая команда READ DATA BYTES at HIGHER SPEED, выданная во время выполнения внутреннего цикла ERASE, PROGRAM или WRITE, будет отброшена без какого-либо влияния на цикл команды записи/стирания. Рис. 14. Последовательность выдачи команды READ DATA BYTES at HIGHER SPEED. Легенда:
Примечание: Cx = 7 + (A[MAX] + 1). Команда PAGE PROGRAM позволяет программировать байты в памяти, что означает перевод битов из 1 в 0. Перед тем, как может быть принята команда PAGE PROGRAM, должна быть выполнена команда WRITE ENABLE. После того, как была декодирована команда WRITE ENABLE, устройство установит бит защелки разрешения записи (WEL) в регистре состояния. Команда PAGE PROGRAM начинается переводом сигнала выборки S# в лог. 0, затем через вход DG0 передается код команды, за которым идут три байта адреса, и как минимум один байт данных. Если не все самые младшие биты адреса (A7-A0) равны нулю, то все переданные данные, которые будут лежать за пределами текущей программируемой страницы, перескочат на начало той же страницы, т. е. когда все младшие биты адреса (A7-A0) станут нулями. Сигнал выборки S# должен быть в лог. 0 в течение всей этой последовательности передачи. Если в устройство было передано больше 256 байт, то ранее переданные байты будут отброшены, гарантируя программирование только последних 256 байт данных на ту же страницу. Если же было передано меньше 256 байт данных, то они будут запрограммированы начиная с указанного адреса, остальные байты на той же странице останутся без изменения. Для оптимизации интервалов времени рекомендуется использовать команду PAGE PROGRAM для программирования всех соседних байт страницы в одной последовательности вместо того, чтобы программировать одну и ту же страницу по кускам, используя для неё несколько последовательностей команды PAGE PROGRAM, в каждой из которых содержится только несколько байт. Сигнал выборки S# должен быть переведен в лог. 1 после количества тактов, нацело делящегося на 8, иначе команда PAGE PROGRAM не будет выполнена. Как только S# перейдет в лог. 1, инициируется внутренний цикл PAGE PROGRAM длительностью tPP. Во время выполнения цикла PAGE PROGRAM регистр состояния может быть прочитан, чтобы проверить бит write in progress (WIP). Бит WIP в лог. 1, когда осуществляется внутренний цикл программирования, и в лог. 0, когда цикл программирования завершился. Через некоторое не указанное время после завершения цикла сбросится бит WEL. Команда PAGE PROGRAM не выполнится, если она будет нацелена на страницу памяти, защищенную битами BP2, BP1 и BP0. Рис. 15. Последовательность выдачи команды PAGE PROGRAM. Примечание: Cx = 7 + (A[MAX] + 1). Команда SECTOR ERASE установит в единички (FFh) все биты в выбранном секторе. Перед тем, как может быть принята команда SECTOR ERASE, должна быть выполнена команда WRITE ENABLE. После того, как была декодирована команда WRITE ENABLE, устройство установит бит защелки разрешения записи (WEL) в регистре состояния. Чтобы войти в команду SECTOR ERASE, сначала переводится в лог. 0 выборка S#, затем через DQ0 передается код команды и 3 байта адреса. Любой адрес внутри сектора является допустимым адресом для команды SECTOR ERASE. Сигнал выборки S# должен быть в лог. 0 в течение всей этой последовательности передачи. После того, как последний байт адреса был передан, выборка S# должна быть переведена в лог. 1. Иначе команда SECTOR ERASE не будет выполнена. Как только сигнал S# перешел в лог. 1, инициируется внутренний цикл SECTOR ERASE длительностью tSE. Во время выполнения цикла SECTOR ERASE регистр состояния может быть прочитан, чтобы проверить бит write in progress (WIP). Бит WIP в лог. 1, когда осуществляется внутренний цикл программирования, и в лог. 0, когда цикл программирования завершился. Через некоторое не указанное время после завершения цикла сбросится бит WEL. Команда SECTOR ERASE не выполнится, если запрашиваемый для очистки сектор защищен от записи программно или аппаратно. Рис. 16. Последовательность выдачи команды SECTOR ERASE. Примечание: Cx = 7 + (A[MAX] + 1). Команде BULK ERASE установит все биты в единички (FFh). Перед тем, как команда BULK ERASE, должна быть выполнена команда WRITE ENABLE. После того, как была декодирована команда WRITE ENABLE, устройство установит бит защелки разрешения записи (WEL) в регистре состояния. Перед запуском команды BULK ERASE сигнал выборки S# должен быть переведен в лог. 0, затем через вход DQ0 должен быть послан код команды. Сигнал выборки S# должен быть в лог. 0 в течение всей этой последовательности передачи. После того, как переданы все 8 бит команды, сигнал S# должен быть переведен в лог. 1, иначе команда BULK ERASE не выполнится. Как только сигнал S# переведен в лог. 1, инициируется внутренний автономный цикл BULK ERASE, длительность которого составляет tBE. Когда выполняется цикл BULK ERASE, регистр состояния может быть прочитан, чтобы проверить бит write in progress (WIP). Бит WIP в лог. 1, когда осуществляется внутренний цикл очистки, и в лог. 0, когда цикл программирования завершился. Через некоторое не указанное время после завершения цикла сбросится бит WEL. Команда BULK ERASE выполнится только в том случае, если все биты защиты блоков (BP2, BP1, BP0) установлены в 0. Команда BULK ERASE игнорируется, если один или большее количество секторов защищены от записи. Рис. 17. Последовательность выдачи команды BULK ERASE. Только с помощью команды DEEP POWER-DOWN можно перевести устройство в состояние, когда оно потребляет минимум тока - режим глубокого отключения (DEEP POWER-DOWN). Команда DEEP POWER-DOWN также может использоваться как механизм программной защиты, когда устройство не активно, потому что в режиме DEEP POWER-DOWN игнорирует все команды WRITE, PROGRAM и ERASE. Перевод сигнала выборки S# в лог. 1 отменяет выбор устройства и переводит его в режим ожидания (STANDBY POWER mode), если в настоящий момент не выполняется внутренняя операция. Как только устройство перейдет в режим STANDBY POWER, можно войти в режим DEEP POWER-DOWN путем выполнения команды DEEP POWER-DOWN, благодаря чему снизится до минимума ток потребления от ICC1 до ICC2. Для вывода устройства из режима DEEP POWER-DOWN должна быть выполнена команда RELEASE from DEEP POWER-DOWN. Другие команды не должны выдаваться, когда устройство находится в режиме DEEP POWER-DOWN. Режим DEEP POWER-DOWN автоматически остановится при выключении питания. При подаче питания на устройство оно всегда перейдет в режим STANDBY POWER. Команду DEEP POWER-DOWN можно выполнить путем перевода сигнала выборки S# в лог. 0, после чего через вход DQ0 должен быть передан код команды. Сигнал выборки S# должен быть в лог. 0 в течение всей этой последовательности передачи. Сигнал выборки S# должен быть переведен в лог. 1 после передачи 8 бит команды, иначе команда DEEP POWER-DOWN не выполнится. Как только команда S# переведена в лог. 1, требуется задержка tDP перед тем, как ток потребления уменьшится до ICC2, и станет активным режим DEEP POWER-DOWN. Любая команда DEEP POWER-DOWN, выданная во время выполнения внутреннего цикла ERASE, PROGRAM или WRITE, будет отброшена без какого-либо влияния на выполнение внутреннего цикла. Рис. 18. Последовательность выдачи команды DEEP POWER-DOWN. Легенда:
Примечание: Cx = 7 + (A[MAX] + 1). Как только устройство вошло в режим DEEP POWER-DOWN, оно будет игнорировать все команды кроме команд RELEASE from DEEP POWER-DOWN и READ ELECTRONIC SIGNATURE. Выполнение любой из этих команд выведет устройство из режима DEEP POWER-DOWN. Команду RELEASE from DEEP POWER-DOWN можно запустить переводом сигнала выборки S# в лог. 0, за которым через DQ0 передается код команды. Сигнал выборки S# должен быть в лог. 0 в течение всей этой последовательности передачи. Команда RELEASE from DEEP POWER-DOWN завершается переводом сигнала выборки S# в лог. 1. Отправка дополнительных импульсов тактов C, когда выборка S# находится в лог. 0, приедет к тому, что команда RELEASE from DEEP POWER-DOWN будет отброшена и не выполнится. После того, как сигнал выборки S# переведен в лог. 1, через задержку tRES устройство перейдет в режим STANDBY. S# должен оставаться в лог. 1 как минимум в течение этого периода времени. После этого устройство будет ждать выборки, и может принять, декодировать и выполнять команды. Любая команда RELEASE from DEEP POWER-DOWN, выданная во время выполнения внутреннего цикла ERASE, PROGRAM или WRITE, отбрасывается без какого-либо влияния на внутренний цикл. Рис. 19. Последовательность выдачи команды RELEASE from DEEP POWER-DOWN. Легенда:
Как только устройство вошло в режим DEEP POWER-DOWN, оно будет игнорировать все команды кроме команд RELEASE from DEEP POWER-DOWN и READ ELECTRONIC SIGNATURE. Выполнение любой из этих команд выведет устройство из режима DEEP POWER-DOWN. Команду READ ELECTRONIC SIGNATURE можно ввести переводом сигнала выборки S#, после чего через вход DQ0 передается код команды и 3 пустых байта (dummy bytes). При этом каждый вводимый бит защелкивается фронтом нарастания уровня тактов C. 8-битная электронная подпись выдвигается через выход DQ1 по спадам уровня тактов C; сигнал выборки S# должен быть в лог. 0 в течение всей этой последовательности чтения электронной подписи. Однако перевод S# в лог. 1 после кода команды, перед тем, как будет выведена 8-битная электронная подпись, все еще гарантирует, что устройство будет переведено в режим STANDBY. За исключением ситуаций, когда выполняется внутренний цикл ERASE, PROGRAM или WRITE STATUS REGISTER, команда READ ELECTRONIC SIGNATURE предоставляет доступ к 8-битной электронной подписи устройства, и эта команда может быть выдана даже тогда, когда устройство не вошло в режим DEEP POWER-DOWN. Команда READ ELECTRONIC SIGNATURE не выполнится, когда активен внутренний цикл ERASE, PROGRAM или WRITE STATUS REGISTER, без какого-либо влияния на этот внутренний цикл. Команда READ ELECTRONIC SIGNATURE завершается переводом сигнала выборки S# в лог. 1 после того, как электронная подпись будет прочитана как минимум 1 раз. Отправка дополнительных тактов C, когда выборка S# находится в лог. 0, приводит к повторяющемуся выводу электронной подписи. Если выборка S# переводится в лог. 1, устройство немедленно перейдет в режим STANDBY, если оно ранее не находилось в режиме DEEP POWER-DOWN. Если устройство ранее было в режиме DEEP POWER-DOWN, переход в режим STANDBY произойдет через задержку, описанную здесь. Как только устройство перейдет в режим STANDBY, оно будет ожидать выборку и может принимать, декодировать и выполнять инструкции. • Если S# переводится в лог. 1 перед тем, как прочитана электронная подпись, переход в режим STANDBY задерживается на время tRES1, как показано в последовательности команды RELEASE from DEEP POWER-DOWN. Сигнал выборки S# должен оставаться в лог. 1 как минимум время tRES1(max). Рис. 20. Последовательность выдачи команды READ ELECTRONIC SIGNATURE. Легенда:
Примечание: Cx = 7 + (A[MAX] + 1). [Включение/выключение и развязка питания] В момент включения и выключения питания устройство не должно быть выбрано; таким образом, сигнал выборки (S#) должен следовать за напряжением на VCC, пока VCC не достигнет корректного уровня: • VCC, минимального при включении, и затем должна быть задержка tVSL. Безопасная конфигурация показана в секции с описанием режимов SPI. Чтобы избежать повреждения данных и непреднамеренных операций при включении питания, в устройстве есть схема генерации сброса при включении (power-on-reset, POR). Логика внутри устройства удерживает состояние сброса, пока VCC меньше VWI, порогового напряжения POR – все операции запрещены, и устройство не отвечает на любую инструкцию. Кроме того, устройство игнорирует следующие инструкции, пока не истечет задержка времени tPUW после момента, когда VCC возрастет выше порога VWI: • WRITE ENABLE Однако корректная операция устройства не гарантируется, если в течение этого времени VCC все еще ниже минимального напряжения VCC. Не должны быть посланы инструкции WRITE STATUS REGISTER, PROGRAM или ERASE, пока не будет выполнены условия: • Прошло время tPUW после нарастания VCC через порог VWI. Если прошло время tVSL после того, как VCC выросло выше минимально допустимого уровня, то устройство может быть выбрано для инструкций READ, даже если задержка tPUW все еще полностью закончилась. VPPH должно быть подано только когда VCC стабильно, и находится в пределах между is VCCmin и VCCmax. Рис. 21. Диаграмма включения питания. После включения питания устройство находится в следующем состоянии: • Режим энергопотребления Standby (это не режим deep power-down) Должны быть предприняты обычные методы для развязки цепи питания, чтобы стабилизировать уровень напряжения VCC. На каждом устройстве линия VCC должна быть отфильтрована подходящим керамическим конденсатором, расположенным максимально близко к выводам питания корпуса микросхемы; обычно такой конденсатор имеет емкость порядка 100 нФ (0.1 мкФ). При выключении питания, когда VCC падает ниже порога VWI для рабочего напряжения POR, все операции запрещаются, и устройство не отвечает ни на какую инструкцию. Примечание: если выключение питания произошло во время выполнения внутреннего цикла WRITE, PROGRAM или ERASE, то может произойти повреждение некоторых данных. Таблица 8. Интервалы времени включения питания и порог VWI.
Если истекло время tVSL после того, как VCC возросло выше VCCmin, то устройство может быть выбрано для инструкций READ, даже если еще не прошла полная задержка интервала tPUW. VPPH должно быть подано только когда VCC стало стабильным в диапазоне напряжений между VCCmin и VCCmax. Предупреждение: превышение абсолютных максимальных параметров может привести к необратимому повреждению устройства. Эти стрессовые параметры даны только для рейтинга, и работа устройства в таких предельных условиях не рекомендуется. Работа устройства в условиях максимальных параметров может повлиять на надежность устройства. Таблица 9. Максимальные абсолютные параметры.
Примечания: 1. Параметр TLEAD совместим со стандартами JEDEC Std J-STD-020C (для малого корпуса, сборка Sn-Pb или Pb), спецификацией Micron RoHS 7191395 и европейской директивой "Restrictions on Hazardous Substances" (RoHS) 2002/95/EU. Таблица 10. Рабочие условия.
Примечания: 1. Autograde 6 и стандартные микросхемы (grade 6) проверяются при 85 °C. Autograde 6 отвечают требованиям высокой надежности, что подтверждено тестами. Таблица 11. Хранение данных и износостойкость.
Таблица 12. Спецификации по постоянному току (DC Current).
Таблица 13. Спецификации по постоянному напряжению (DC Voltage).
В следующих AC спецификациях HIGH-Z определено как момент времени, когда уровнем данных никто не управляет; однако это не применимо к устройству M25PX64. Таблица 14. Условия измерения AC.
Рис. 22. Формы сигнала измерений AC. Таблица 15. Емкость.
Примечание: значения только измерены, не проверены на 100%, при TA = 25°C и частоте 25 МГц. Таблица 16. Спецификации AC (25 МГц, устройство Grade 3, VCC[min]=2.7V).
Примечания: 1. READ DATA BYTES at HIGHER SPEED, PAGE PROGRAM, SECTOR ERASE, BLOCK ERASE, DEEP POWER-DOWN, READ ELECTRONIC SIGNATURE, WRITE ENABLE/DISABLE, READ ID, READ/WRITE STATUS REGISTER. Таблица 17. Времена выполнения инструкций (25 МГц, устройство Grade 3, VCC[min]=2.7V).
Примечания: 1. Применимо ко всей таблице: типовые значения даны для TA = 85 °C. Таблица 18. Спецификации AC (75 МГц, устройство Grade 3 и 6, VCC[min]=2.7V).
Примечания: 1. Применимо ко всей таблице: устройства по технологии 110 нм идентифицированные по цифровому коду 4 и буквой B маркировки. Таблица 19. Времена выполнения инструкций (75 МГц, устройства Grade 3 и 6, VCC[min]=2.7V).
Примечания: 1. Применимо ко всей таблице: типовые значения даны для TA = 85 °C. Рис. 23. Интервалы времени последовательных данных на входе. Рис. 24. Времена установки защиты от записи и удержания при WRSR, когда SRWD=1. Рис. 25. Времена удержания. Рис. 26. Времена выхода. Рис. 27. SO8N ширина корпуса 150 mil. Примечания: 1. Цифра 1, которая видна на виде сверху, обозначает позицию вывода 1. Рис. 28. SO8W ширина корпуса 208 mil. Примечание: рисунок не должен масштабироваться. Рис. 29. VFDFPN8 (MLP8) 6 x 5 мм. Примечание: рисунок не должен масштабироваться. Рис. 30. UFDFPN8 (MLP8) 4 x 3 мм. Примечания: 1. Размер 0.30 ±0.05 применим к металлическому выводу и измерен между 0.15 мм и 0.30 мм от края вывода (Terminal Tip). Если вывод имеет опциональный радиус на другой стороне вывода, то размеры не должны измеряться в области радиуса. [Стандартные микросхемы] Микросхемы Micron Serial NOR Flash доступны в разных конфигурациях и плотностях памяти. Проверяйте правильность типов микросхем в каталоге Micron на сайте micron.com. Для сравнения возможностей и спецификаций по типу устройства посетите страничку micron.com/products. Свяжитесь с заводом, если устройства не найдены. Для дополнительной информации о том, как идентифицировать продукцию, и как расшифровать верхнюю маркировку, см. техническое указание TN-12-24, "Serial Flash Memory Device Marking for the M25P, M25PE, M25PX, and N25Q Product Families." Таблица 20. Пример маркировки типа микросхемы.
Таблица 21. Информационная схема маркировки микросхемы.
Примечания: 1. Опции защиты доступны по запросу пользователя. [Микросхемы Automotive] Таблица 22. Пример маркировки типа микросхемы.
Таблица 23. Информационная схема маркировки микросхемы.
Примечание 1: Micron рекомендует использовать устройство класса automotive grade в автомобильных условиях эксплуатации, autograde 6 и grade 3. [Ссылки] 1. Micron M25P80 Serial Flash Embedded Memory site:micron.com. |