nS
tXLOL
Задержка между XL
0 и OE
0
67
nS
tOLDV
Задержка между XL
0 и установкой данных
20
nS
tWLRH
Задержка между WR
0 и RDY/BSY
1 (
)
0.5
0.7
0.9
mS
Примечание: если tWHRL удерживается дольше, чем tWLRH импульс на RDY/BSY не появится.
ПОСЛЕДОВАТЕЛЬНАЯ ЗАГРУЗКА
Как память программ, так и память данных могут быть запрограммированы с использованием последовательной шины SPI, при этом вывод RESET должен быть подключен к земле. Последовательный интерфейс работает с выводами SCK, MOSI (вход) и MISO (выход). После подачи низкого уровня на RESET перед программированием/стиранием необходимо исполнить команду разрешения программирования. При программировании памяти данных, во внутренний алгоритм программирования встроен цикл стирания (только при последовательном программировании), поэтому нет необходимости в выполнении команды стирания памяти. Команда стирания микросхемы переводит все ячейки памяти программ и данных в состояние FFh. Флэш память программ и энергонезависимая память данных имеют отдельное адресное пространство: 000h - 3FFh/7FFh для памяти программ и 000h - 07Fh/0FFh для памяти данных. При программировании необходимо подавать внешнюю тактовую частоту на вывод XTAL1 или подключить внешний тактовый генератор к выводам XTAL1 и XTAL2. Минимальные длительности низкого и высокого уровня сигнала SCK определены следующим образом:
Низкий: > 2 периодов XTAL1
Высокий: > 2 периодов XTAL1
ПОДТВЕРЖДЕНИЕ ДАННЫХ
До завершения программировании нового байта, при чтении из памяти будет читаться значение FFh. После того как микросхема будет готова для записи следующего байта, при чтении можно прочитать записанное значение. Это используется для определения момента, когда можно записывать следующий байт. Этот способ не будет работать для байта FFh, поэтому для записи этого числа перед программированием следующего байта придется выждать по крайней мере 4mS. Поскольку после стирания ячейки памяти устанавливаются в FFh, при программировании ячейки, содержащие FFh можно пропускать. Это не применимо при перезаписи EEPROM без стирания памяти программ. В этом случае подтверждение не работает для данных FFh, для этого значения перед программированием следующего байта необходимо выждать 4mS.
АЛГОРИТМ ПОСЛЕДОВАТЕЛЬНОГО ПРОГРАММИРОВАНИЯ
Для программирования и проверки AT90S2333/4433 в режиме последовательного программирования рекомендуется следующая последовательность действий (см. формат четырех байтовой команды в табл.32):
1. Последовательность включения питания:
Подать напряжение питания между VCC и GND, при этом RESET и SCK должны быть установлены в '0'. Если кварцевый резонатор не подключен к выводам XTAL1 и XTAL2, подайте частоту на вывод XTAL1.(Если программатор не гарантирует установки SCK в '0' при подаче питания, после того как на SCK будет установлен '0', на RESET необходимо подать положительный импульс, и удерживать его по крайней мере два периода тактовой частоты после
установки вывода SCK в "0".
2. Подождать 20 mS и разрешить последовательное программирование послав команду разрешения на вывод MOSI/PB3.
3. При посылке команды разрешения программирования, второй байт последовательности (53h) будет возвращен при посылке третьего байта. В любом случае, должны быть посланы все четыре байта команды. Если число 53h не получено обратно, подайте положительный импульс на SCK и повторите команду разрешения программирования. Если после 32 попыток не будет получено число 53h, микросхема неисправна.
4. После подачи команды стирания (всегда при программировании памяти программ), необходимо подождать 10 mS, выдать положительный импульс на RESET и продолжить с шага 2.
5. Память программ и память данных программируются по одному байту выдачей адреса и данных в команде записи. Перед записью новых данных в EEPROM ячейки памяти перед записью новых данных автоматически стираются. Чтобы определить время, когда можно записывать следующий байт, используется подтверждение данных. При записи предварительно стертой микросхемы записывать ячейки содержащие FFh не обязательно.
6. Любую ячейку памяти можно проверить используя команду чтения, которая выдает содержимое указанной ячейки на последовательный вывод MISO/PB4.
7. По окончанию программирования вывод RESET может быть установлен в '1' для возобновления нормальной работы схемы.
8. Последовательность выключения питания (если необходимо) Установить XTAL1 в '0' (если не используется кварцевый резонатор)
Установить RESET в '1'.
Отключить питание
При записи последовательных данных в процессор данные читаются по нарастающему фронту сигнала CLK. При чтении данных из процессора данные читаются по спадающему фронту сигнала CLK.
Таблица 32. Команды последовательного программирования
Команда
Формат команды
Действие
Байт 1
Байт 2
Байт 3
Байт 4
Разрешение рограммир.
1010 1100
0101 0011
xxxx xxxx
xxxx xxxx
Разрешен.послед. программирования после установки RESET в '0'
Стирание микросх.
1010 1100
100x xxxx
xxxx xxxx
xxxx xxxx
Стирание памяти прогр. и данных
Чтение памяти прогр.
0010 H000
0000 aaaa
bbbb bbbb
oooo oooo
Читать старший или младший байт o по адресу ab
Запись памяти прогр.
0100 H000
0000 aaaa
bbbb bbbb
iiii iiii
Запись старш. или младш. байта i в память прогр по адресу ab
Чтение памяти данных
1010 0000
0000 000a
bbbb bbbb
oooo oooo
Читать данные o по адресу ab
Запись памяти данных
1100 0000
0000 000a
bbbb bbbb
iiii iiii
Запись данных i по адресу ab
Чтение битов блокир.
0101 1000
xxxx xxxx
xxxx xxxx
xxxx x21x
Биты 2 и 1 равны 0 – блокировка 1 - нет блокир.
Запись битов блокир.
1010 1100
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34