Чтение онлайн

ЖАНРЫ

Аппаратные интерфейсы ПК. Энциклопедия

Гук Михаил Юрьевич

Шрифт:

Таблица 7.25. Команды микросхем флэш-памяти Intel первого поколения

Команда Число циклов шины Первый цикл шины¹ Второй (третий) цикл шины¹
R/W Адрес Данные R/W Адрес Данные
Read Memory 1 W X 00h
Read ID 3 W X 90h R 0(1) M_Id (D_Id)
Set-up Erase/Erase 2 W X 20h W X 20h
Erase Verify 2 W EA A0h R X EVD
Set-up Program/Program 2 2 W X 40h W PA PD
Program Verify 2 W X C0h R X PVD
Reset 2 W X FFh W X FFh

¹ Здесь X

обозначает несущественный адрес, M_Id и D_Id — идентификаторы производителя и устройства, EA — адрес ячейки, в которой контролируется стирание, EVD — данные, считанные при верификации стирания (должны быть FFh), PA и PD — адрес и данные программируемой ячейки, PVD — данные, считанные при верификации программирования.

Ниже описано назначение команд.

♦ 

Read Memory
— команда чтения данных, переводящая микросхему в режим чтения, совместимый по интерфейсу с EPROM.

♦ 

Read ID
— команда чтения идентификаторов. В последующих шинных циклах чтения по адресу 0 считывается
M_Id
(Manufacturer Identifier — идентификатор производителя, 89h), по адресу 1 —
D_Id
(Device Identifier — идентификатор устройства, для микросхем 8F256, 28F512, 28F010, 28F020 это B9h, B8h, B4h и BDh соответственно). Из этого режима микросхема выходит по записи любой другой действительной команды. Идентификаторы можно читать и путем подачи высокого напряжения на
А9
(как и для EPROM).

♦ 

Set-up Erase
/
Erase
— подготовка и собственно стирание. Внутренний цикл стирания начинается по подъему сигнала
WE#
во втором шинном цикле и завершается по последующему шинному циклу записи или по внутреннему таймеру (Stop Timer). Последующей командой обычно является верификация стирания. Два шинных цикла записи, необходимые для выполнения команды, Снижают вероятность случайного стирания и позволяют отказаться от выполнения стирания посылкой команды
Reset
. Наличие внутреннего таймера позволяет не заботиться о точной выдержке времени для стирания, необходимо только выдержать минимальный интервал (около 10 мс). Перед стиранием все биты микросхемы должны быть предварительно запрограммированы в нули.

♦ 

Erase Verify
— верификация стирания. Отличается от обычного считывания тем, что проверяемая ячейка ставится в более жесткие условия считывания для повышения достоверности контроля стирания. Между шинными циклами команды верификации должна быть пауза не менее 6 мкс. Алгоритм быстрого стирания (Quick-Erase) предусматривает предварительное обнуление всех ячеек (командами программирования) и выполнение команды стирания, сопровождаемой верификацией. Команды верификации последовательно выполняются для каждой ячейки микросхемы. Если результат считывания отличается от FFh, производится повторное стирание (длительностью 10 мс), и последующая верификация может начинаться с первой ранее не
стертой ячейки. Если количество повторов стирания превышает 3 000, фиксируется ошибка стирания и микросхема признается негодной. Алгоритм позволяет выполнить полное стирание микросхемы менее чем за секунду.

♦ 

Set-up Program
/
Program
— подготовка и собственно программирование. Команда выполняется аналогично стиранию, но во втором шинном цикле передается адрес и данные программируемой ячейки, а последующая выдержка должна составлять не менее 10 мкс.

♦ 

Program Verify
— верификация программирования (аналогично верификации стирания), обычно следующая после команды программирования. Между шинными циклами команды верификации должна быть пауза не менее 6 мкс. Алгоритм быстрого программирования (Quick-Pulse Programming) предусматривает формирование внутреннего цикла программирования длительностью 10 мкс с последующей верификацией. В случае несовпадения результата выполняется повторное программирование (до 25 раз для каждой ячейки), а если и это не помогает — фиксируется отказ микросхемы.

♦ 

Reset
— команда сброса, прерывающая команду программирования или стирания. Эта команда не меняет содержимое памяти; после нее требуется подача другой действительной команды.

По включении питания внутренний регистр команд обнуляется, что соответствует команде чтения, и микросхема работает как обычная микросхема PROM или EPROM. Это позволяет устанавливать микросхемы флэш-памяти вместо EPROM аналогичной емкости. При подаче на вход VPP низкого напряжения (0–6,5 В) стирание и программирование невозможны, и микросхема ведет себя как обычная EPROM.

Микросхемы второго поколения секторированы — ячейки группируются в блоки, допускающие независимое стирание (асимметричное разбиение — Boot Block и симметричное — Flash File). Длительная операция стирания одного блока может прерываться для считывания данных других блоков, что значительно повышает гибкость и производительность устройства. Микросхемы имеют более сложный внутренний управляющий автомат и в них введен регистр состояния, что позволяет разгрузить внешний процессор и программу от забот по отслеживанию длительности операций программирования и стирания, а также упростить эти процедуры.

В отличие от микросхем первого поколения, в шинном цикле записи адрес и данные фиксируются по положительному перепаду

WE#
. Низкий уровень дополнительного управляющего сигнала
RP#
(в первых версиях обозначался как
PWD#
) предназначен для перевода микросхемы в режим с минимальным потреблением. В этом режиме модификация содержимого памяти невозможна. Соединение этого вывода в нормальном режиме (когда не требуется перезапись Boot-блока) с системным сигналом
RESET#
предохраняет микросхему от выполнения ложных команд, которые могут появиться в процессе подачи питания.

Внутренние операции стирания и программирования выполняются после посылки соответствующих кодов во внутренний регистр команд. Команды приведены в табл. 7.26. Как и в первом поколении, этот регистр для большинства команд безадресный, но команды программирования и стирания посылаются по требуемому адресу ячейки (блока). Отработка операций внутренним управляющим автоматом отображается соответствующими битами регистра состояния

SR
(Status Register), по значению которых внешняя программа может получить информацию о результате выполнения и возможности посылки следующих команд. Чтение регистра
SR
выполняется по специальной команде; есть и команда его очистки. Назначение бит регистра состояния описано ниже.

♦ 

SR.7
WSMS
(Write State Machine Status) — состояние управляющего автомата:

 • 0 — Busy (занят операцией стирания или программирования);

 • 1 — Ready (свободен).

♦ 

SR.6
ESS
(Erase Suspend Status) — состояние операции стирания:

 • 0 — стирание завершено или выполняется;

 • 1 — стирание приостановлено.

♦ 

SR.5
ES
(Erase Status) — результат стирания блока:

Поделиться с друзьями: