Скачиваний:
144
Добавлен:
21.02.2014
Размер:
1.47 Mб
Скачать

3.5 Эсппзу.

512 байт ЭСППЗУ размещаются по адресам с $B600 по $B7FF. Время доступа к ЭСППЗУ при чтении не отличается от времени доступа к ПЗУ. Программирование ЭСППЗУ управляется регистром PPROG. ЭСППЗУ запрещено, когда бит EEON регистра CONFIG сброшен в ноль. Сам бит реализован аналогично ячейке ЭСППЗУ. Содержимое стертого байта ЭСППЗУ - $FF. При программировании производится сброс определенных бит в нули. Если какой-нибудь бит следует перепрограммировать из нуля в единицу, то перед перед программированием, отдельной операцией должен быть стерт весь байт. Если новые данные не содержат нулей в битах, находящихся в состоянии единицы, программирование новых данных возможно без стирания предыдущего содержимого байта ЭСППЗУ.

Программирование и стирание ЭСППЗУ осуществляется с помощью встроенного генератора подкачки заряда. Если тактовая частота Е падает ниже 2 МГц, эффективность работы генератора уменьшается, в то время как увеличивается время, требуемое для программирования или стирания байта. Рекомендуемое время программирования 10 мс при частоте 2 МГц и должна быть увеличена до 20 мс при частоте от 1 до 2 МГц. При частоте ниже 1 МГц генератор должен быть переключен с системной синхронизации на встроенный R-C генератор путем установки бита CSEL региcтра OPTION. После переключения следует выждать период в 10 мс для стабилизации работы генератора. Следует заметить, что бит CSEL также управляет синхронизацией во встроенном АЦП.

3.5.1 Регистр управления эсппзу (pprog).

Этот 8-разрядный регистр управляет программированием и стиранием 512-байтного ЭСППЗУ. При сбросе производится инициализация содержимого регистра, в результате чего ЭСППЗУ устанавливается для обычного чтения.

7

6

5

4

3

2

1

0

$103B

ODD

EVEN

0

BYTE

ROW

ERASE

EELAT

EEPGM

PPROG

Сброс

0

0

0

0

0

0

0

0

ODD -программировать нечетные строки (режим теста).

EVEN -программировать четные строки (режим теста).

Бит 5 -не используется, при чтении всегда равен нулю.

BYTE -бит режима стирания; определяет работу бита ROW:

0=стирать строку (16 байт) или все ЭСППЗУ;

1=стирать только один байт.

ROW -выбор стираемого объема ЭСППЗУ; если бит BYTE=1, этот бит

игнорируется:

0=стирать последовательность из 16 байт;

1=стирать все ЭСППЗУ.

ERASE -выбор режима стирания:

0=обычное чтение или программирование;

1=режим стирания.

EELAT -управление закрытием ЭСППЗУ:

0= ЭСППЗУ настроено для чтения;

1= ЭСППЗУ настроено для программирования

или стирания.

EEPGM -разрешение подачи программируюшего напряжения:

0=программирующее напряжение включено;

1=программирующее напряжение выключено.

Если попытаться установить оба бита-EELAT и EEPGM-за один и тот же цикл записи, ни один из этих бит установлен не будет. Если запись в адрес ЭСППЗУ выполняется при установленном бите EEPGM, запись будет игнорироваться, а данные в процессе программирования не изменятся. Эти две меры безопасности были включены с целью предотвратить случайные изменения в случае неправильной работы программы.

Соседние файлы в папке МС68НС11Е9