Рефераты. AVR микроконтроллер AT90S2333 фирмы Atmel






Для предотвращения нежелательного отключения сторожевого таймера, для его запрещения должна выполняться определенная последовательность, которая описана при рассмотрении регистра WDTCR.


РЕГИСТР УПРАВЛЕНИЯ СТОРОЖЕВЫМ ТАЙМЕРОМ – WDTCR

 

WDTCR

 

  

21h(41h)

7

6

5

4

3

2

1

0

WDTOE

WDE

WDP2

WDP1

WDP0

R

R

R

R

R\W

R\W

R\W

R\W

Начальное значение

0

0

0

0

0

0

0

0


Биты 7..5 - зарезервированы. В AT90S2333/4433 эти биты зарезервиро­ваны и всегда читаются как 0.


Бит 4 - WDTOE - разрешение выключения сторожевого таймера. При очис­тке бита WDE этот бит должен быть установлен (1). Иначе, работа сторо­жевого таймера не прекращается. Через четыре такта после установки этого бита, он аппаратно сбрасывается.


Бит 3 - WDE- разрешение сторожевого таймера. Если бит установлен (1), работа сторожевого таймера разрешена, если бит сброшен - запреще­на. Сброс бита производится только в том случае, если бит WDTOE уста­новлен в 1. Для запрещения включенного сторожевого таймера должна ис­полняться следующая процедура:


1. Одной командой записать 1 в WDTOE и WDE. Единица в WDE должна записываться даже в том случае если этот бит был установлен пе­ред началом процедуры остановки таймера

2. В течение следующих четырех тактов процессора необходимо запи­сать в WDE логический 0, при этом работа сторожевого таймера запрещается.


Биты 2..0 - WDP2..0 - Биты предварительного делителя сторожевого таймера. Если работа сторожевого таймера разрешена, эти биты определя­ют предварительный коэффициент деления для сторожевого таймера. В таб­лице 15 приведены различные значения установок предварительного дели­теля и соответствующие им временные интервалы для напряжения питания Vcc=5V.

 

Таблица 15. Установки предварительного делителя сторожевого таймера

 

 

WDP2

WDP1

WDP0

период времени

0

0

0

16K циклов

0

0

1

32K циклов

0

1

0

64K циклов

0

1

1

128K циклов

1

0

0

256 циклов

1

0

1

512 циклов

1

1

0

1024 циклов

1

1

1

2048 циклов

 

 

ЧТЕНИЕ И ЗАПИСЬ В ЭНЕРГОНЕЗАВИСИМУЮ ПАМЯТЬ

 

Регистры доступа к энергонезависимой памяти (EEPROM) расположены в пространстве ввода/вывода. Время записи лежитв диапазоне 2.5-4 mS и зависит от напряжения питания. Это самотактируемая функция которая, однако, позволяет пользователю определить, можно ли записывать следующий байт. Для определе­ния возможности записи в EEPROM можно использовать специальное преры­вание по готовности EEPROM. Инициированная запись в EEPROM заканчивается даже при возникнов­ении условия сброса. Для защиты от нежелательной записи в EEPROM необходимо следовать некоторым правилам, которые будут рассмотрены ниже, при описании уп­равляющего регистра энергонезависимой памяти. При записи или чтении EEPROM процессор приостанавливается на 2 машинных цикла до начала выполнения следующей команды. При чтении из EEPROM процессор приостанавливается на четыре ма­шинных цикла перед тем как начнет выполняться следующая команда.

 

 

РЕГИСТР АДРЕСА EEPROM – EEAR

 

  

1Eh(3Eh)

7

6

5

4

3

2

1

0

EEAR7

EEAR6

EEAR5

EEAR4

EEAR3

EEAR2

EEAR1

EEAR0

R\W

R\W

R\W

R\W

R\W

R\W

R\W

R\W

Начальное значение

0

0

0

0

0

0

0

0


Регистр EEAR задает адрес одного из 128/256 байт адресного прост­ранства EEPROM. Байты данных адресуется линейно в диапазоне от 0 до 127/255. Начальное значение регистра EEAR неопределено, поэтому перед доступом к EEPROM в этот регистр должно быть записано требуемое число.

 

 

 

РЕГИСТР ДАННЫХ EEPROM – EEDR

 

  

1Dh(3Dh)

7

6

5

4

3

2

1

0

MSB

LSB

R\W

R\W

R\W

R\W

R\W

R\W

R\W

R\W

Начальное значение

0

0

0

0

0

0

0

0


Биты 7..0 - EEDR7..0 - Данные EEPROM. При записи регистр EEDR содер­жит данные, которые записываются в EEPROM по адресу в регистре EEAR. Для операции чтения в этот регистр читаются данные прочитанные из EEPROM по адресу заданному в регистре EEAR.

 

 

 

 

РЕГИСТР УПРАВЛЕНИЯ EEPROM - EECR


  

1Ch(3Ch)

7

6

5

4

3

2

1

0

EERIE

EEMWE

EEWE

EERE

R

R

R

R

R

R\W

R\W

R\W

Начальное значение

0

0

0

0

0

0

0

0


Биты 7..4 - зарезервированы. В AT90S2333/4433 эти биты зарезервиро­ваны и всегда читаются как 0.


Бит 3 - EERIE - Разрешение прерывания по готовности EEPROM. Если ус­тановлены биты I в регистре SREG и EERIE, разрешается прерывание по готовности EEPROM. Это прерывание возникает непрерывно, если сброшен бит EEWE.


Бит 2 - EEMWE - Управление разрешением записи. Этот бит определяет, будут ли записаны данные при установке EEWE. Если бит EEMWE установ­лен, при установке EEWE данные записываются по выбранному адресу EEPROM. Если этот бит сброшен, установка EEWE не имеет эффекта. После программной установки этот бит сбрасывается аппаратно через четыре такта процессора.


Бит 1 - EEWE - Разрешение записи в EEPROM. Сигнал EEWE является стробом записи в EEPROM. После установки правильных адреса и данных для записи в EEPROM необходимо установить бит EEWE. При записи "1"

в бит EEWE должен быть установлен бит EEMWE, тогда происходит запись в

EEPROM. Для записи в EEPROM должна соблюдаться следующая последовательность (порядок шагов 2 и 3 необязателен):


1

Ждем обнуления EEWE

2

Записываем адрес в EEAR (не обязательно)

3

Записываем данные в EEDR (не обязательно)

4

Устанавливаем в 1 бит EEMWE

5

Не позже чем через 4 такта после установки EEMWE устанавливаем EEWE


После того как время записи истечет (типично 2.5 mS для Vcc=5V и 4mS для Vcc=2.7), бит EEWE очищается аппаратно. Пользователь может от­слеживать этот бит и ожидать его установки в ноль, перед тем как запи­сывать следующий байт. При установке EEWE, ЦПУ останавливается на два цикла перед исполнением следующей команды.


Бит 0 - EERE - разрешение чтения из EEPROM. Сигнал EERE является стробом чтения из EEPROM. После установки нужного адреса в регистре EEAR, необходимо установить бит EERE. После того как бит EERE будет аппаратно очищен, в регистре EEDR. Чтение EEPROM занимает одну команду и не требует отслеживания бита EERE. При установке бита EERE, ЦПУ ос­танавливается на два цикла перед тем как будет выполнена следующая команда. Перед чтением пользователь должен проверять состояние бита EEWE, если регистры данных или адреса изменяются во время операции записи, запись в ячейку прерывается и результат операции записи стано­вится неопределенным.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПОСЛЕДОВАТЕЛЬНЫЙ ИНТЕРФЕЙС SPI

 

Интерфейс SPI позволяет производить высокоскоростной синхронный обмен данными между AT90S2333/4433 и периферийными устройствами или несколькими процессорами. SPI-интерфейс предлагает следующие возможно­сти:


  1. Полностью дуплексная 3-проводная синхронная передача данных;
  2. Работа в режиме ведущего или ведомого;
  3. Передача начиная со старшего или младшего бита;
  4. Четыре программируемые скорости передачи;
  5. Флаг прерывания по окончанию передачи;
  6. Флаг защиты от коллизий при записи
  7. Выход из режима Idle.

Соединение между ведущим и ведомым контроллерами показана ниже. Вывод PB5(SCK) является выходом тактовых импульсов для ведущего кон­троллера и входом для ведомого. Запись в регистр данных SPI ведущего контроллера запускает тактовый генератор. Записанные данные сдвигаются через вывод PB3(MOSI) на вывод PB3(MOSI) ведомого контроллера. После того как байт будет выведен тактовый генератор останавливается и вы­ставляет флаг окончания передачи (SPIF). Если разрешены прерывания (установлен бит SPIE в регистре SPCR), вызывается соответствующее прерывание. Вывод PB2(SS) ведомого контроллера должен быть подключен на землю. Два сдвиговых регистра в ведущем и ведомом контроллерах мож­но рассматривать как один распределенный 16-разрядный регистр сдвига. Когда данные сдвигаются из ведущего контроллера в ведомый, то же самое происходит в обратном направлении. За один цикл сдвига ведущий и ведо­мый контроллеры обмениваются байтами данных.

Система имеет одиночный буфер в направлении передачи и двойной в направлении приема. Передаваемый символ не записывается в регистр дан­ных SPI до тех пор, пока передача не завершится. При приеме до завер­шения операции сдвига данные должны быть прочитаны из регистра данных. Иначе предыдущий символ теряется. При разрешении SPI выводы MOSI, MISO, SCK и SS устанавливаются на ввод/вывод в соответствии с таблицей.


Таблица 16. Установка выводов SPI

Вывод

Направление в режиме ведущего

Направление в режиме ведомого

MOSI

Определяется пользователем

Вход

MISO

Вход

Определяется пользователем

SCK

Определяется пользователем

Вход

SS

Определяется пользователем

Вход

 

 

 

 

РАБОТА ВЫВОДА SS

 

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.