Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
374
Добавлен:
21.05.2015
Размер:
7.55 Mб
Скачать
      1. Последовательность программирования eeprom

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

Сценарий 1.Вначале заполняется страничный буфер, а затем выполняется операция стирания страницы:

  • Страничный буфер EEPROM заполняется требуемым числом байт.

  • Выполняется стирание страницы EEPROM.

  • Выполняется запись страницы EEPROM.

Сценарий 2.Вначале заполняется страничный буфер, а затем выполняется операция стирания и записи страницы:

  • Страничный буфер EEPROM заполняется требуемым числом байт.

  • Выполняется операция стирания и записи EEPROM.

    1. Защита энергонезависимой памяти

Для защиты Flash-памяти и EEPROM от записи и/или чтения предусмотрены Lock-биты, позволяющие ограничить доступ для внешних программаторов и прикладной программы. Более детально о доступных настройках Lock-бит и их использованию см. в 4.15.12 "Описание регистров контроллера энергонезависимой памяти".

    1. Предотвращение нарушения данных

Когда напряжение VCC становится меньше минимального рабочего напряжения МК, существует опасность нарушения чтения или записи Flash-памяти, так как напряжение питания может оказаться слишком малым для надлежащей работы ЦПУ и Flash-памяти.

      1. Сбои во время записи

Для гарантирования корректности уровня напряжения на фазе завершения последовательности записи во Flash-память, сразу после её запуска автоматически включаются в работу встроенные супервизор питания (BOD) и детектор кратковременных просадок напряжения. Если любой из этих блоков генерирует сигнал сброса, последовательность программирования отменяется. В таком случае, если сбой в питании привел к полной отмене программирования или к его частичному выполнению, после восстановления корректного уровня напряжения питания программирование NVM необходимо начать заново.

      1. Сбои во время чтения

Чтение NVM может дать некорректный результат, если напряжение питания настолько мало, что ЦПУ неправильно интерпретирует инструкции. Чтобы избежать этого, необходимо включить в работу супервизор питания (BOD).

    1. Проверка crc

При необходимости может быть включена в работу логика автоматической проверки CRC Flash-памяти программ. Эта функция доступна как при внешнем программировании, так и при самопрограммировании. Проверка CRC может выполняться в пределах сектора прикладной программы, загрузочного сектора или заданного диапазона адресов Flash-памяти.

Сразу после запуска логики проверки CRC, ЦПУ приостанавливает работу на время вычисления CRC, а вычисленная контрольная сумма будет доступна в регистре данных NVM. На вычисление CRC для каждого слова из заданного диапазона адресов затрачивается один цикл синхронизации ЦПУ.

Для проверки CRC используется полином x24 + 4x3 + 3x +1.

    1. Самопрограммирование под управлением программы загрузчика

Чтение и запись EEPROM и Flash-памяти можно выполнять программно. Данная возможность называется самопрограммированием. Программа загрузчика (хранится в загрузочном секторе Flash-памяти) имеет возможность чтения и записи Flash-памяти программ, сигнатурного кода пользователя и EEPROM, а также записи Lock-бит, но только в направлении усиления защиты. Код программы, хранящийся в секторе прикладной программы, имеет возможность чтения Flash-памяти, сигнатурного кода пользователя, калибровочных данных и Fuse-бит, а также чтения и записи EEPROM.

Соседние файлы в папке Архитектура ЭВМ