Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава_5.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.43 Mб
Скачать

5.3.4. Эсппзу и его программирование

512 байт ЭСППЗУ размещаются по адресам с B600 по B7FF, однако если, бит EEON регистра CONFIG сброшен в нуль, то ЭСППЗУ запрещено. ЭСППЗУ может работать в трех режимах:

  • чтение

  • стирание

  • запись.

Время доступа к ЭСППЗУ при чтении не отличается от времени доступа к ПЗУ.

Время записи и стирания ячейки ЭСППЗУ существенно превышает время чтения

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

  • одного байта;

  • выровненного блока 16 байт;

  • всего накопителя ЭСППЗУ.

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

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

На режим программирования ЭСППЗУ оказывают влияние два регистра: регистр управления ЭСППЗУ - PPROG и регистр защиты ЭСППЗУ - BPROG. На Рис.5.30 показаны форматы этих регистров.

7

6

5

4

3

2

1

0

103B

ODD

EVEN

0

BYTE

ROW

ERASE

EELAT

EEPGM

PPROG

RESET

0

0

0

0

0

0

0

0

1035

0

0

0

PTCON

BPRT3

BPRT2

BPRT1

BPRT0

BPROG

RESET

0

0

0

1

1

1

1

1

Рис.5.30. Форматы регистров управления ЭСППЗУ

Биты ODD и EVEN регистра PPROG работают только в режиме теста. BYTE определяет режим стирания: 1 - стирает один байт, 0 - стирает строку (16 байт) - при ROW = 0 или все ЭСППЗУ - при ROW = 1, причем при BYTE = 1 значение ROW безразлично. ERASE определяет режим стирания (0 - чтение или программирование, 1 - стирание), а EELAT - режим работы (0 - чтение ЭСППЗУ, 1 - программирование или стирание ЭСППЗУ). Бит EEPGM выключает (при 1) программирующее напряжение.

ERASE

EELAT

Режим ЭСППЗУ

BYTE

ROW

Объект стирания

0

0

Чтение

0

0

Строка 16 байт

0

1

Запись

0

1

Все ЭСППЗУ

1

1

Стирание

1

х

Один байт

Бит PTCON регистра BPROG, будучи установленным в 1, запрещает програм­мирова­ние /стирание регистра COFIG, а биты BPRT[3:0] аналогично защищают блоки ЭСППЗУ.

Для операции чтения из ЭСППЗУ требуется, чтобы бит EELAT был сброшен. Само чтение не отличается от обычного обращения к ОЗУ или ПЗУ.

Записи информации в ЭСППЗУ должно в общем случае предшествовать стирание байта, блока или всего ЭСППЗУ. Для стирания достаточно установить в PPROG значения разрядов BYTE и ROW в соответствии с требуемым объектом стирания, а разряд EELAT - в “1”, выполнить команду записи любых данных по (любому) адресу стираемого объекта и на 10 мс включить программирующее напряжение установкой бита EEPGM.

В режиме записи (программирования) ЭСППЗУ биты BYTE и ROW не используются. Для записи байта следует установить разрешение программирования (EELAT =1), выполнить команду записи нужного байта по выбранному адресу и на 10 мс включить программирующее напряжение установкой бита EEPGM. Недопустимо устанавливать оба бита - EELAT и EEPGM - одной командой!

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]