Аппаратно-программные средства периферийных устройств системы сбора показаний счетчиков тепловой энергии
Рефераты >> Программирование и компьютеры >> Аппаратно-программные средства периферийных устройств системы сбора показаний счетчиков тепловой энергии

В энергонезависимой памяти AVR имеется несколько специализированных битов [7].

LOCK-биты (LB1, LB2) предназначены для защиты программной информации, содержащейся во FLASH-памяти. Возможные режимы защиты перечислены в таблице 4.1. Запрограммировав биты защиты, стереть их можно лишь во время очистки FLASH -памяти, которая уничтожает и всю программу.

Таблица 4.1

Режимы защиты программы

Состояние Lock-бит

Режим

LB1

LB2

Тип защиты

1

1

1

Защита отсутствует

2

0

1

Запрет программирования Flash

3

0

0

Запрет как программирования, так и чтения Flash.

FUSE-биты позволяют задавать некоторые конфигурационные особенности микроконтроллера (см. таблицу 4.2).

Микроконтроллеры AT90S1200 имеют FUSE-биты SPIEN и RCEN. Все остальные типы classicAVR конфигурируются при помощи FUSE-битов SPIEN и FSTRT. MegaAVR имеют четыре FUSE-бита: SPIEN, SUT0, SUT1 и EESAVE.

Три энергонезависимых Signature-байта служат для идентификации типа кристалла, программируются на фабрике и доступны только для чтения.

Таблица 4.2

Назначение FUSE-битов

Fuse-бит(значение поумолчанию)

Значение

Режим работы AVR

 

0

AVR тактируется внутренним RC-генератором. (работа AVR без каких-либо внешних элементов)

RCEN (1)

1

Тактирование при помощи внешнего кварцевого резонатора или генератора.

 

0

Разрешение последовательного программирования через SPI интерфейс

SPIEN (0)

1

Запрещение последовательного программирования через SPI интерфейс

 

0

Задержка старта AVR после сброса ~ 0.25мс

FSTRT (1)

1

Задержка старта AVR после сброса ~ 16 мс

 

00

Задержка старта AVR после сброса ~ 5 мс

 

01

Задержка старта AVR после сброса ~ 0.5 мс

SUT 0/1 (11)

10

Задержка старта AVR после сброса ~ 4.0мс

 

11

Задержка старта AVR после сброса ~ 16 мс

 

0

EEPROM не стирается во время цикла очистки энергонезависимой памяти

EESAVE (1)

1

EEPROM стирается во время цикла очистки энергонезависимой памяти

Разнообразные способы программирования AVR-микроконтроллеров обеспечивают простой и удобный доступ к внутренней энергонезависимой памяти во всех возможных ситуациях программирования кристалла.

Для энергонезависимых FLASH и EEPROM блоков AVR предусмотрены параллельный и последовательный способы программирования, которые выполняются под управлением внешнего процессора, а для EEPROM-памяти также возможен способ программной перезаписи под управлением AVR. LOCK-биты могут программироваться как параллельно, так и последовательно. FUSE-биты у младших моделей AVR могут программироваться только последовательно, а у старших - и параллельно, и последовательно.

Параллельное программирование энергонезависимой памяти использует большое число выводов микроконтроллера и выполняется на специальных программаторах. Такое программирование удобно, когда при массовом производстве необходимо "прошивать" большое количество кристаллов.

Последовательное программирование может выполняться прямо в микропроцессорной системе (In System Programming) через последовательный SPI-интерфейс, который использует всего четыре вывода AVR-микроконтроллера. Эта новая возможность является очень важной, так как позволяет обновлять программное обеспечение в уже функционирующей микропроцессорной системе.

4.3. Рекомендации по отладке

Подготовка программы для AVR-микроконтроллера выполняется на персональном компьютере и состоит из следующих этапов:

– создание текста программы;

– трансляция текста в машинные коды и исправление синтаксических ошибок;

– отладка программы, то есть устранение логических ошибок;

– окончательное программирование AVR-микроконтроллера.

Каждый из этапов требует использования специальных программных и аппаратных средств. Ниже перечислены наиболее доступные из них на сегодняшний день.

Базовые программные средства фирмы Атмел распространяются бесплатно, в то время как аппаратные средства имеют свою стоимость.


Страница: