October 19 2017 19:01:42
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
РЕЖИМЫ РАБОТЫ EEPROM-ПЗУ
МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА НС08

Энергонезависимую электрически программируемую и электрически стираемую память (англоязычная аббревиатура - EEPROM, или E2PROM) имеют в своем составе все МК серии AZ, независимо от типа резидентной памяти программ: внешнее ПЗУ для HC08AZ0, резидентное ПЗУ масочного типа для HC08AZ32 или FLASH-типа для HC908AZ60. Объем резидентного EEPROM-ПЗУ МК HC08AZ0/32 составляет 512 байт, HC908AZ60 - 1024 байта. Размещение EEPROM-ПЗУ в адресном пространстве этих МК приведено в Табл. 3.78.

В МК семейства НС08 EEPROM-память реализована в виде законченных модулей, каждый из которых содержит не только ячейки памяти, но и блок управления режимами работы. МК HC08AZ0 и HC08AZ32 имеют в своем составе по одному модулю EEPROM-ПЗУ, а МК HC908AZ60 - два модуля: EEPROM(1) и EEPROM(2).

Табл. 3.78. Распределение EEPROM-памяти в адресном пространстве МК


Диапазон адресов блоков
Порядковые номера HC08AZ0/32 HC908AZ60
блоков Объем [байт] Адреса Объем [байт] Адреса
Модуль EEPROM(1)*) 512 $0800...$09FF 512 $0800...$09FF
Модуль EEPROM(2) - - 512 $0600...$07FF
Энергонезависимые регистры модуля EEPROM(1) 1 SFE1C 3 Нет данных
Энергонезависимые регистры модуля EEPROM(2) - - 3 Нет данных

Примечание:

*) В МК HC08AZ0/32 модуль EEPROM не имеет порядкового номера и обозначается просто EEPROM.

Схема управления модуля EEPROM-ПЗУ имеет три режима работы:

  1. Режим считывания.

  2. Режим стирания.

  3. Режим программирования.

Режим считывания используется для выборки кодов данных в процессе выполнения прикладной программы (редко кодов программ, но такой режим также возможен). Работа EEPROM-памяти в этом режиме ничем не отличается от аналогичного режима для других типов резидентной памяти МК.

Режим стирания используется для подготовки одной ячейки или группы ячеек EEPROM-памяти к занесению новых кодовых слов. Каждая ячейка памяти EEPROM-ПЗУ в незапрограммированном состоянии при считывании возвращает код $FF. Допускается одновременное стирание одной ячейки, блока из 128 ячеек или нескольких блоков.

Режим программирования служит для записи в свободную от информации ячейку памяти нового кодового слова, причем программированию подвергаются только те разряды, которые после программирования должны содержать 0. Например, если ячейка памяти, содержащая код $АА, должна быть перепрограммирована на новое значение кода $55, то необходимо сначала стереть код $АА, а затем в режиме программирования записать код $55. Если к программированию приступить, минуя этап стирания, то после программирования из ячейки будет считываться код $00. В модуле EEPROM-ПЗУ реализуется алгоритм побайтного программирования. Поэтому целесообразно до начала выполнения операций стирания/программирования сравнить текущее содержимое ячейки памяти и ее будущее значение, которое должно быть запрограммировано. Табл. 3.79 иллюстрирует тот факт, что операцию стирания рассматриваемой ячейки памяти следует выполнять только в случае, если хотя бы один бит байта данных требует изменения с 0 на 1. В остальных случаях достаточно лишь допрограммировать недостающие в байте данных нули. При рассмотрении FLASH-памяти МК о таком режиме речь не шла, т.к. модуль FLASH-ПЗУ допускает программирование только страницами по 8 или по 32 байта в каждой, и вероятность подходящего совпадения данных крайне мала.

Режимы стирания и программирования требуют приложения к EEPROM-ПЗУ повышенного напряжения. Схема управления модулем EEPROM-ПЗУ содержит встроенный повышающий преобразователь напряжения, который обеспечивает требуемый уровень высокого напряжения. Поэтому для стирания и программирования EEPROM-ПЗУ, так же как и для FLASH-ПЗУ, не требуется подключения к одному из выводов МК источника повышенного напряжения.

Повышающий преобразователь напряжения модуля EEPROM МК HC08AZ0/32 может тактироваться встроенным осциллятором или импульсной последовательностью стробирования межмодульных магистралей с частотой fBUS. Бит EEBCLK регистра управления EECR назначает один из названных источников тактирования. Рекомендуемый режим - тактирование от встроенного RC-генератора. Повышающий преобразователь напряжения модулей EEPROM(1) и EEPROM(2) MK HC908AZ60, кроме выбора источника тактирования посредством установки бита в регистре конфигурации, требует также задания двухбайтового коэффициента деления. Этот коэффициент должен быть записан под управлением программы в пару регистров EEDIVHi и EEDIVLi или запрограммирован в энергонезависимую пару регистров EEDIVHNVRi и EEDIVLNVRi. Формула для расчета коэффициента приведена в Табл. 3.85.

Табл. 3.79. Логика принятия решения о выполнении операции стирания EEPROM-памяти перед программированием

Значение бита данных до программирования Значение бита данных после программирования Выполнять или нет операцию стирания перед программированием?
0 0 Нет
1 0 Нет
0 1 Да
1 1 Нет

В процессе эксплуатации может возникнуть необходимость стереть или запрограммировать некоторые ячейки EEPROM-памяти под управлением прикладной программы. С целью повышения надежности функционирования и исключения ошибочного стирания данных, предусмотрена аппаратная защита блоков EEPROM-ПЗУ, которая назначается пользователем в соответствии с логикой работы прикладной программы. Реализована защита следующим образом. В области EEPROM-ПЗУ выделена специальная ячейка памяти, которую называют энергонезависимым регистром конфигурации модуля EEPROM-ПЗУ (регистр EENVR). Эта ячейка памяти хотя и относится к регистрам специальных функций, на самом деле таковым не является, т.к. содержащиеся в ней данные можно изменить, только используя режим стирания/программирования EEPROM-ПЗУ. Четыре бита ЕЕВP3...ЕЕВP0 регистра EENVR отвечают за защиту четырех обозначенных блоков EEPROM-ПЗУ (Табл. 3.80). Если бит ЕЕВРх установлен, то соответствующий ему блок памяти находится в защищенном режиме. При попытке стереть или записать информацию в защищенный блок подача высокого напряжения блокируется схемой управления модуля EEPROM-ПЗУ и информация в защищенном блоке не искажается.

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.09 секунд 2,256,208 уникальных посетителей