♦ Erase Setup/Erase Confirm — подготовка и стирание блока. В отличие от микросхем первого поколения, все внутренние операции, необходимые для стирания (обнуление ячеек блока, стирание и верификация), выполняются автоматически. При получении команды в регистре состояния устанавливается признак занятости (SR.7=0) и любая шинная операция чтения микросхемы будет передавать данные этого регистра. Внешняя программа, периодически опрашивая регистр состояния, дожидается окончания выполнения стирания (когда SR.7=1). Результат стирания определяется по значению бит 3, 4, 5 (их нулевое значение соответствует успешному выполнению операции).
♦ Erase Suspend/Erase Resume — приостановка/продолжение стирания. Операцию стирания блока (как самую длительную) можно приостановить для чтения данных из других блоков. После выполнения команды Erase Suspend (код B0h) необходимо дождаться признака приостановки стирания (SR.6=1), после чего, подав команду Read Array, можно считывать данные другого блока. По окончании считывания подается команда Erase Resume (код D0h), которая продолжает процесс стирания и снова переводит микросхему в режим чтения регистра состояния.
♦ Program Setup/Program — подготовка и программирование ячейки. Эта команда выполняется аналогично подготовке и выполнению стирания, но не может быть приостановлена. Команда выполняет сразу и программирование, и верификацию.
Команды стирания блока и программирования можно подавать, только когда управляющий автомат свободен (бит SR.7=1). Во время этих операций микросхема следит за уровнем напряжения VPP, и, если оно понижается до порога VPPLK) этот факт регистрируется в регистре состояния и операция прерывается. Также операция прерывается при понижении напряжения питания VCC до 2,5 В.
При считывании СЕ# или ОЕ# (самого позднего из них в шинном цикле считывания).
Программирование и стирание Boot-блока отличаются от операций с другими блоками тем, что для них требуется подача высокого потенциала VHH (не ТТЛ, а +12 В) на вход PWD# перед выдачей команды стирания или программирования и удержание его до успешного завершения операции. Альтернативный способ — подача такого же потенциала, но на вход ОЕ# на время пар шинных циклов записи команд стирания или программирования. Попытка программирования Boot-блока без выполнения этих условий не удается, а в регистре состояния одновременно устанавливаются единичные значения бит ES и PS, что индицирует попытку модификации защищенного блока.
Микросхемы
Архитектура микросхем BSRx (Block Status Register). Адреса регистров смещены относительно начального адреса блока на 2 или 1 для режимов обращения x8 или x16 соответственно. Назначение бит BSR описано ниже.
♦ BSR.7 — BS (Block Status) — состояние блока:
• 1 — готов;
• 0 — занят.
♦ B5R.6 — BLS (Block-Lock Status) — состояние защиты блока:
• 1 — программирование и стирание запрещены;
• 0 — блок не защищен.
♦ BSR.5 — BOS (Block Operation Status) — состояние операции с блоком:
• 1 — операция завершена безуспешно;
• 0 — операция успешно завершена или выполняется.
♦ BSR.4 — BOAS (Block Operation Abort Status) — состояние отмены операции с блоком:
• 1 — операция отменена;
• 0 — операция не отменялась.
♦ BSR.3 — QS (Queue Status) — состояние очереди:
• 1 — очередь заполнена;
• 0 — очередь доступна.
♦ BSR.2 — VPPS (VPP Status) — состояние VPP:
• 1 — обнаружен низкий уровень, операция прервана;
• 0 — VPP в норме.
♦ BSR[1:0] — зарезервированы.
GSR (Global Status Register) несет информацию о состоянии микросхемы в целом. К GSR можно обращаться по адресу, смещенному относительно начального адреса любого блока на 4 или 2 для режимов обращения x8 или x16 соответственно. Назначение бит GSR описано ниже.
♦ GSR.7 — WSMS (Write State Machine Status) — состояние автомата записи (и завершенности внутренних операций):
• 1 — занят;
• 0 — свободен.
♦ GSR.6 — OSS (Operation Suspend Status) — состояние приостановки операции:
• 1 — операция приостановлена;