Материал: 8-разрядные микроконтроллеры Atmel

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

ÊÒÖ-ÌÊ

Порт C используется также как выходы адреса при использов ании внешней SRAM. Port D (PD7. .PD0) 8-разрядный двунаправленный порт I/O со встроенными нагрузочными резисторами. Выходные буферы обеспечивают втекающий ток 20 мА. При использовании выводов порта в качестве входов и устан овке внешним сигналом в низкое состояние, ток будет вытекать только при подключен ных встроенных нагрузочных

резисторах.

Port E (PE7..PE0) 8-разрядный двунаправленный порт I/O со встроенными нагрузочными резисторами. . Выходные буферы обеспечивают втекающий ток 20 мА. При использовании выводов порта в качестве входов и устан овке внешним сигналом в низкое состояние, вытекающий через них ток обеспечиваетс я только при подключенных встроенных нагрузочных резисторах.

Port F (PF7..PF0) 8-разрядный порт входа. Входы порта используются также как аналоговые входы аналого-цифрового преобразователя .

RESET Вход сброса. Для выполнения сброса необходимо удерживать низкий уровень на входе в течение двух машинных циклов.

XTAL1 Вход инвертирующего усилителя генератора и вход схемы встроенного генератора тактовой частоты.

XTAL2 Выход инвертирующего усилителя генератора.

TOSC1 Вход инвертирующего усилителя генератора таймера/счетчика. TOSC2 Выход инвертирующего усилителя генератора таймера/счетчика. WR Строб записи внешней SRAM.

RD Строб чтения внешней SRAM.

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

AVCC Напряжение питания аналого-цифрового преобразователя. В ывод подсоединяется к внешнему VCC через низкочастотный фильтр . Подробности см. на рис. 47.

AREF Вход аналогового напряжения сравнения для аналого-цифро вого преобразователя. На этот вывод, для обеспечения работы ан алого-цифрового преобразователя, подается напряжение в диапазоне между AG ND и AVCC.

AGND Этот вывод должен быть подсоединен к отдельной аналоговой земле, если плàòà оснащена ею. В ином случае вывод подсоединяетс я к общей земле.

PEN Вывод разрешения программирования в низковольтном последовательном режиме программирования. При удержании этого вывода на ни зком уровне во время сброса по включении питания, прибор перейдет в режим прог раммирования по последовательному каналу.

Тактовый генератор

XTAL1 и XTAL2 являются входом и выходом, соответственно, инвертиру ющего усилителя, который с использованием кварцевого кристалл а или керамического резонатора работает как встроенный генератор, как показа но на Рис. 2, При использовании внешнего источника тактовой частоты выво д XTAL2 должен остаться свободным, сигнал подается на вывод XTAL1, как показано на Рис. 3.

Кварцевый кристалл генератора таймера подсоединяется н епосредственно к выводам OSC1 и OSC2. Внешние конденсаторы не требуются. Генерато р оптимизирован под часовой кварц с частотой 32,768 КГц. Внешний тактовый сигнал,

5 9

ATMEL

ÊÒÖ-ÌÊ

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

C2

NC

XTAL2

XTAL2

 

 

C1

СИГНАЛ

XTAL1

ВНЕШНЕГО

XTAL1

ГЕНЕРАТОРА

 

 

 

GND

 

GND

 

 

Рис. 2 Подсоединение тактового

Рис. 3 Подсоединение внешнего

генератора.

источника тактового сигнала

Архитектура микроконтроллеров ATmega603/103

Файл регистров быстрого доступа, содержит 32 8-разрядных раб очих регистра общего назначения связанных непосредственно с ALU. За один т актовый цикл из файла регистров выбираются два операнда, выполняется операция и результат вновь возвращается в файл регистров.

Шесть из 32 регистров могут быть использованы как три 16-разр ядных регистра указателя косвенной адресации адресного пространства д анных, обеспечивающие эффективное вычисление адресов. Один из этих указателей а дреса используется, также, как указатель адреса для функции непрерывного просмотра таблиц. Эти 16-разрядные дополнительные регистры обозначаются X-регистр, Y-регистр и Z-регистр.

ALU поддерживает арифметические и логические операции меж ду регистрами или между константой и регистром. Выполняются в ALU и операц ии с отдельными регистрами. На Рис. 4 показана AVR расширенная RISC архитектура м икроконтроллеров ATmega603/103.

Âдополнение к операциям с регистрами, регистровый файл м ожет использоваться и для обычной адресации памяти. Это объясн яется тем, что файл регистров располагается по 32 самыми младшими адресами пространства данных, и к ним можно обращаться как к обычным ячейкам памяти.

Пространство памяти I/O содержит 64 адреса периферийных функ ций CPU таких как: регистры управления, таймеры/счетчики, аналого -цифровые преобразователи

èдругие I/O функции. К памяти I/O можно обращаться непосредств енно или как к ячейкам пространства памяти соответствующим адресам ре гистра файлов $20 - $5F. В микроконтроллерах AVR использованы принципы Гарвардской архитектуры - отдельные память и шины для программ и данных. При работе с памятью программ используется одноуровневый конвейер - в то время, как одна команда выполняется, следующая команда выбирается из памяти программ, Такой пр ием позволяет выполнять команду в каждом тактовом цикле. Памятью программ являетс я внутрисистемно программируемая Flash память. За малым исключением AVR команды имеют формат одного 16-разрядного слова, в связи с чем каждый адрес памят и программ содержит одну 16-разрядную команду.

Âпроцессе обработки прерываний и вызовов подпрограмм ад рес возврата счетчика команд (PC) сохраняется в стеке. Стек размещается в SRAM данных и, следовательно размер стека ограничен только общим разме ром SRAM и уровнем

6 0

ÊÒÖ-ÌÊ

ПАМЯТЬ

ПРОГРАММ 32K/64К х 16

РЕГИСТР

КОМАНД

ДЕКОДЕР

КОМАНД

ЛИНИИ

УПРАВЛЕНИЯ

8-разрядная шина данных

 

СЧЕТЧИК

 

СОСТОЯНИЕ И

 

КОМАНД

 

ТЕСТИРОВАНИЕ

 

 

 

РЕГИСТРЫ

 

 

 

ОБЩЕГО

 

 

 

НАЗНАЧЕНИЯ

ПЕРИФЕРИЯ

адресация

 

32 õ 8

адресация

 

 

 

Непосредственная

Косвенная

ALU

 

 

 

 

 

 

SRAM

 

 

 

ДАННЫХ

 

 

 

4K x 8

 

 

 

 

EEPROM

 

 

 

2K/4K x 8

Рис. 4 AVR Enhanced RISC архитектура микроконтроллеров ATmega603/103

ее использования. Все пользовательские программы в подпр ограммах возврата (прежде, чем подпрограммы или прерывания будут выполняться) должн ы инициализировать указатель стека (SP). 16-разрядный указатель стека, с возможно стью чтения/записи располагается в пространстве I/O.

AVR архитектура поддерживает пять различных режимов адрес ации 4000 байт SRAM данных.

Гибкий модуль обработки прерываний имеет в пространстве I/O свой управляющий регистр с дополнительным битом разрешения г лобального прерывания в регистре статуса. Все прерывания имеют свои векторы преры вания в таблице векторов прерывания, располагаемой в начале памяти программ. Приор итеты прерываний соответствуют положению векторов прерываний - прерывани е с наименьшим адресом вектора имеет наивысший приоритет.

Все пространства памяти AVR архитектуры линейны и регулярн ы.

Файл регистров общего назначения

На Рис 5 представлена структура 32 регистров общего назначе ния.

Все регистровые команды обращаются непосредственно к ре гистрам в течение одного тактового цикла. Исключением являются пять логиче ских и арифметических операций с константами (SBCI, SUBI, CPI и ANDI) и операция ORI между константой и содержимым регистра, и команда непосредственной загрузк и константы LDI. Эти команды используют вторую половину регистров регистрового файл а - R16..R31.

Самые общие команды SBC, SUB, CP, AND и OR и все прочие операции между двумя регистрами или с одним регистром используют для зап иси результата регистровый файл.

Как показано на Рис. 5, каждому регистру соответствует адре с памяти данных, отображающий их в первых 32 ячейках пользовательского про странства данных. Хотя

6 1

ATMEL

 

ÊÒÖ-ÌÊ

 

7

0 Addr.

 

R0

$00

 

 

 

 

 

R1

$01

 

 

 

 

 

R2

$02

 

…

 

 

 

R13

 

$0D

 

R14

 

$0E

 

R15

 

$0F

РЕГИСТРЫ

R16

 

$10

R17

$11

ОБЩЕГО

 

 

 

НАЗНАЧЕНИЯ

…

 

 

R26

$1A

Младший байт регистра X

 

 

Старший байт регистра X

R27

$1B

 

$1C

Младший байт регистра Y

R28

 

$1D

Старший байт регистра Y

R29

 

 

Младший байт регистра Z

R30

$1E

 

 

Старший байт регистра Z

R31

$1F

Рис. 5 Регистры общего назначения CPU микроконтроллеров AVR

они не используются как физические ячейки SRAM, такая органи зация памяти обеспечивает гибкое обращение к регистрам , поскольку X,Y и Z регистры могут быть использованы для индексации любого регистра в файле.

SRAM данных имеет объем 4 Кбайт и занимает адресное пространс тво от $0060 до $0FFF.

РЕГИСТР X, РЕГИСТР Y И РЕГИСТР Z

Шесть регистров (с R26 по R31) регистрового файла, кроме обычной для прочих регистров функций, выполняют функцию 16-разрядных регистр ов указателей адреса при косвенной адресации SRAM. Эти три регистра косвенной адр есации определяются как регистры X,Y и Z.

 

15

 

 

 

0

регистр X

7

 

0

7

0

 

 

R27

($1B)

 

R26 ($1A)

 

15

 

 

 

0

регистр Y

7

 

0

7

0

 

 

R29

($1D)

 

R28 ($1C)

 

15

 

 

 

0

регистр Z

7

 

0

7

0

 

 

R31

($1F)

 

R30 ($1E)

Рис. 6 Регистры X,Y и Z.

В различных режимах адресации эти регистры выполняют фун кции фиксированного смещения, автоматического инкремента и декремента (см. оп исания команд).

6 2

ÊÒÖ-ÌÊ

ALU - Арифметико-логическое устройство

Высокопроизводительное AVR ALU соединено непосредственно со всеми 32 быстродействующими регистрами общего назначения. За оди н тактовый цикл ALU выполняет операцию между регистрами этого регистрового файла. Операции ALU подразделяются на три основные категории: арифметически е, логические и операции над битами.

Внутрисистемно программируемая Flash память программ

Коды программ микроконтроллеров ATmega603/103 записываются в 64/128 Кбайт встроенной внутрисистемно программируемой Flash памя ти. Поскольку все команды имеют формат одного или двух 16-разрядных слов, то и память программ имеет организацию 32/64Кx16. Flash память обеспечивает не менее 1000 ци клов стирания/записи.

Таблицы констант могут быть размещены в любом месте всего пространства памяти программ (см. описания команд LPM (Load Program Memory) - Загрузить ба йт памяти программ и ELPM (Extended Load Program Memory) - Загрузить байт памяти программ в расширенном режиме).

Конфигурация памяти

Микроконтроллеры ATmega603/103 поддерживают две конфигурации, как показано в таблице 2.

Таблица 2 Конфигурация памяти

Конфигурация

Встроенная SRAM данных

Внешняя SRAM данных

A

4000

áàéò

Íåò

 

 

 

 

B

4000

áàéò

До 64Кбайт (1)

Примечание 1. Из 64 Кбайт внешней памяти будут доступны 60 Кбай т.

По первым 4096 адресам памяти данных размещаются регистровы й файл, пространство памяти I/O и встроенная SRAM данных. Из них первые 96 адресов занимают регистровый файл и пространство памяти I/O, в следу ющих 4000 адресов размещается встроенная SRAM.

Конфигурация памяти А

 

 

Конфигурация памяти B

 

Память программ

 

 

 

 

Память программ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

$0000 - $001F

 

$0000

32 регистра

$0000 - $001F

 

$0000

 

32 регистра

 

 

 

64 регистра I/O

$020 - $005F

 

 

 

64 регистра I/O

$020 - $005F

FLASH память

 

Встроенная

$0060

 

FLASH память

 

Встроенная

$0060

 

 

 

 

 

 

SRAM

 

 

 

 

 

SRAM

 

прграмм

 

 

 

прграмм

 

 

 

 

 

 

(4000 õ 8)

$0FFF

 

 

(4000 õ 8)

 

 

 

$0FFF

(32Ê/64Ê õ 16)

 

 

(32Ê/64Ê õ 16)

 

 

 

 

 

 

 

 

 

 

 

 

 

Внешняя

$1000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SRAM

 

 

 

 

 

 

 

 

(0 - 64Ê õ 8)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

$7FFF

 

 

$7FFF

 

 

 

 

 

 

 

 

 

 

 

 

$FFFF

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

$FFFF

 

 

$FFFF

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 7. Конфигурация памяти

6 3

Источник: https://studfile.net/preview/16521258/