рефераты

рефераты

 
 
рефераты рефераты

Меню

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

Бит 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

Если SPI сконфигурирован как ведущий (установлен бит MSTR в SPCR), пользователь может задавать направление ввода для ножки SS. Ес­ли SS сконфигурирован на вывод, ножка работает как бит ввода/вывода общего назначения не влияющий на работу SPI. Если ножка сконфигуриро­вана на ввод, на нее необходимо подать высокий уровень, чтобы SPI ра­ботал в режиме ведущего. Если в режиме ведущего ножка SS установлена на ввод и внешним устройством устанавливается в низкий уровень, систе­мой SPI это воспринимается как выбор шины другим ведущим устройством и попытка передать данные ведомому. Для избежания конфликтов на шине си­стема SPI делает следующее:

1. Сбрасывается бит MSTR в SPCR, система SPI становится ведомой. При этом ножки MOSI и SCK становятся входами.

2. Устанавливается флаг SPIF в SPSR, если разрешены прерывания, будет исполнена программа обслуживания прерывания.

Таким образом если передача по SPI производится в режиме ведущего и существует возможность установки вывода SS в низкий уровень, преры­вание должно отслеживать установлен ли бит MSTR. Если бит MSTR будет сброшен при переходе в режим ведомого контроллера, обратно он должен быть установлен пользователем.

Если система SPI сконфигурирована как ведомая, вывод SS всегда является входом. Когда SS переводится в низкий уровень, система SPI активируется и ножка MISO, если это задано пользователем, становится выходом. Другие выводы являются входами. Если внешним устройством на вывод SS подан высокий уровень, все выводы становятся входами, а сис­тема SPI становится пассивной, т.е. не будет принимать данные.

Режимы обмена данными

Биты CPHA и CPOL определяют четыре комбинации фазы и полярности SCK относительно битов данных. Битом CPOL задается полярность импульсов на выводе SCK, при CPOL=0 полярность импульсов положительная, при от­сутствии импульсов на выводе удерживается низкий уровень. При CPOL=1 полярность импульсов отрицательная, при отсутствии импульсов на выходе высокий уровень. Битом CPHA задается фронт по которому обрабатываются биты данных. При CPHA=0 обработка происходит по переднему фронту им­пульсов SCK (для CPOL=0 переход из низкого уровня в высокий, для CPOL=1 - из высокого в низкий). При CPHA=1 обработка происходит по за­днему фронту импульсов SCK.

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