Реферат: AVR микроконтроллер AT90S2333 фирмы Atmel
Реферат: AVR микроконтроллер AT90S2333 фирмы Atmel
Микроконтроллеры AT90S2333 и
AT90S4433 фирмы Atmel
AT90S2333 и
AT90S4433 - экономичные 8-битовые КМОП микроконтроллеры, построенные с
использованием расширенной RISC архитектуры AVR. Исполняя по одной команде за
период тактовой частоты, AT90S2333 и AT90S4433 имеют производительность около
1MIPS на МГц, что позволяет разработчикам создавать системы оптимальные по
скорости и потребляемой мощности. В основе ядра AVR лежит расширенная RISC
архитектура, объединяющая развитый набор команд и 32 регистра общего назначения.
Все 32 регистра непосредственно подключены к арифметико-логическому устройству
(АЛУ), что дает доступ к любым двум регистрам за один машинный цикл. Подобная
архитектура обеспечивает десятикратный выигрыш в эффективности кода по
сравнению с традиционными CISC микроконтроллерами. AT90S2333/4433 предлагают
следующие возможности: 2кБ/4кБ загружаемой флэш памяти; 128/256 байт EEPROM;
128 байт статического ОЗУ, 20 линий ввода/вывода общего назначения; 32 рабочих
регистра; настраиваемые таймеры/счетчики с режимом совпадения; внешние и
внутренние прерывания; программируемый универсальный последовательный порт;
6-канальный 10-разрядный АЦП; программируемый сторожевой таймер со встроенным
генератором; SPI последовательный порт для загрузки программ; два выбираемых
программно режима низкого энергопотребления. Холостой режим (Idle Mode)
отключает ЦПУ, оставляя в рабочем состоянии регистры, таймеры/счетчики, SPI
порт и систему прерываний. Экономичный режим (Power Down Mode) сохраняет
содержимое регистров, но отключает генератор, запрещая функционирование всех
встроенных устройств до внешнего прерывания или аппаратного сброса. Микросхемы
производятся с использованием технологии энергонезависимой памяти высокой
плотности фирмы Atmel. Загружаемая флэш память на кристалле может быть
перепрограммирована прямо в системе через последовательный интерфейс SPI или
доступным программатором энергонезависимой памяти. Объединяя на одном
кристалле усовершенствованный 8-битовый RISC процессор с загружаемой флэш памятью,
AT90S2333/4433 являются мощными микроконтроллерами, которые позволяют создавать
достаточно гибкие и эффективные по стоимости устройства. AT90S2333/4433 поддерживаются полной системой
разработки включающей в себя компиляторы Си, макроассемблеры, программные
отладчики/симуляторы, внутрисхемные эмуляторы и отладочные комплекты.
назначение
вывода |
номер вывода |
номер вывода PDIP |
RESET |
29 |
1 |
PD0/RXD |
30 |
2 |
PD1/TXD |
31 |
3 |
PD2/INT0 |
32 |
4 |
PD3/INT1 |
1 |
5 |
PD4/T0 |
2 |
6 |
VCC |
4 |
7 |
GND |
5 |
8 |
XTAL1 |
7 |
9 |
XTAL2 |
8 |
10 |
PD5/T1 |
9 |
11 |
PD6/AIN0 |
10 |
12 |
PD7/AIN1 |
11 |
13 |
PB0/ICP |
12 |
14 |
PB1/OC1 |
13 |
15 |
PB2/SS |
14 |
16 |
PB3/MOSI |
15 |
17 |
PB4/MISO |
16 |
18 |
PB5/SCK |
17 |
19 |
AVCC |
18 |
20 |
AREF |
20 |
21 |
AGND |
21 |
22 |
PC0/ADC0 |
23 |
23 |
PC1/ADC1 |
24 |
24 |
PC2/ADC2 |
25 |
25 |
PC3/ADC3 |
26 |
26 |
PC4/ADC4 |
27 |
27 |
PC5/ADC5 |
28 |
28 |
ОПИСАНИЕ ВЫВОДОВ
GND -
земля
Port B (PB5..PB0) - Порт B является 6-битовым двунаправленным портом
ввода/вывода с внутренними подтягивающими резисторами. Выходные буферы порта B
могут поглощать ток до 20мА. Если выводы PB0..PB5 используются как входы и извне
устанавливаются в низкое состояние, они являются источниками тока, если
включены внутренние подтягивающие резисторы. Кроме того Порт B обслуживает
некоторые специальные функции, которые будут описаны ниже.
Port С (PС5..PС0) - Порт С является 6-битовым двунаправленным портом
ввода/вывода с внутренними подтягивающими резисторами. Выходные буферы порта С
могут поглощать ток до 20мА. Если выводы PС0..PС5 используются как входы и
извне устанавливаются в низкое состояние, они являются источниками тока, если
включены внутренние подтягивающие резисторы. Кроме того Порт С обслуживает
аналоговые входы АЦП.
Port D (PD5..PD0) - Порт D является 8-битовым двунаправленным портом
ввода/вывода с внутренними подтягивающими резисторами. Выходные буферы порта B
могут поглощать ток до 20мА. Если выводы PD0..PD7 используются как входы и
извне устанавливаются в низкое состояние, они являются источниками тока, если
включены внутренние подтягивающие резисторы. Кроме того Порт D обслуживает
некоторые специальные функции, которые будут описаны ниже.
RESET - Вход сброса. Удержание на входе низкого уровня в
течение двух машинных циклов (если работает тактовый генератор), сбрасывает ус-
тройство.
XTAL1 - Вход инвертирующего усилителя генератора и вход
внешнего тактового сигнала.
XTAL2
- Выход инвертирующего усилителя генератора.
AVCC - Вывод источника питания АЦП. Этот вывод через
фильтр низкой частоты должен быть подключен к выводу питания процессора.
AREF - Вход опорного напряжения АЦП. Напряжение,
подаваемое на этот вывод лежит в пределах 2.7В...AVCC.
AGND -
Если плата имеет отдельный слой аналоговой земли, к нему подключается этот
вывод. В противном случае этот вывод соединяется с GND.
КВАРЦЕВЫЙ ГЕНЕРАТОР
XTAL1 и XTAL2 являются входом и выходом
инвертирующего усилителя, на котором можно собрать генератор тактовых
импульсов. Можно использовать как кварцевые, так и керамические резонаторы.
Если сигнал генератора необходимо использовать для управления внешними
устройствами, сигнал с вывода XTAL2 снимается через одиночный буфер серии HC,
при этом емкость конденсатора с вывода на землю уменьшается на 5pF. При подаче
внешнего тактового сигнала вывод XTAL2 остается неподключенным, а XTAL1
подключается в выходу внешнего генератора.
Обзор архитектуры процессоров.
Регистровый файл
быстрого доступа содержит 32 8-разрядных регистра общего назначения, доступ к
которым осуществляется за один машинный цикл. Поэтому за один машинный цикл
исполняется одна операция АЛУ. Два операнда выбираются из регистрового файла,
выполняется операция, результат ее записывается в регистровый файл - все за
один машинный цикл.
Шесть из 32
регистров можно использовать как три 16-разрядных указателя в адресном
пространстве данных, что дает возможность использовать высокоэффективную
адресную арифметику (16-разрядные регистры X, Y и Z). Один из трех адресных
указателей (регистр Z) можно использовать для адресации таблиц в памяти
программ.
АЛУ поддерживает
арифметические и логические операции c регистрами, с константами и регистрами.
Операции над отдельными регистрами также выполняются в АЛУ.
Кроме регистровых
операций, для работы с регистровым файлом могут использоваться доступные режимы
адресации, поскольку регистровый файл занимает адреса 00h-1Fh в
области данных, обращаться к ним можно как к ячейкам памяти.
Пространство
ввода/вывода состоит из 64 адресов для периферийных функций процессора, таких
как управляющие регистры , таймеры/счетчики и
другие. Доступ к пространству ввода/вывода
может осуществляться непосредственно, как к ячейкам памяти расположенным после
регистрового файла (20h- 5Fh).
Процессоры AVR построены по гарвардской архитектуре с
раздельными областями памяти программ и данных. Доступ к памяти программ
осуществляется при помощи одноуровнего буфера. Во время выполнения команды,
следующая выбирается из памяти программ. Подобная концепция дает возможность
выполнять по одной команде за каждый машинный цикл. Память программ - это
внутрисистемная загружаемая флэш-память.
При помощи команд
относительных переходов и вызова подпрограмм осуществляется доступ ко всему
адресному пространству. Большая часть команд AVR имеет размер 16-разрядов, одно
слово. Каждый адрес в памяти программ содержит одну 16- или 32-разрядную
команду.
При обработке
прерываний и вызове подпрограмм адрес возврата запоминается в стеке. Стек
размещается в памяти данных общего назначения, соответственно размер стека
ограничен только размером доступной памяти данных и ее использованием в
программе. Все программы пользователя должны инициализировать указатель стека
(SP) в программе выполняемой после сброса (до того как вызываются подпрограммы
и разрешаются прерывания). 8-разрядный указатель стека доступен для
чтения/записи в области ввода/вывода.
Доступ к
статическому ОЗУ, регистровому файлу и регистрам ввода/вывода осуществляется
при помощи пяти доступных режимов адресации поддерживаемых архитектурой AVR.
Все пространство памяти AVR является линейным и
непрерывным. Гибкий модуль прерываний имеет собственный управляющий регистр в
пространстве ввода/вывода, и флаг глобального
разрешения прерываний в регистре состояния. Каждому прерыванию назначен свой
вектор в начальной области памяти программ. Различные прерывания имеют
приоритет в соответствии с расположением их векторов. По младшим адресам
расположены векторы с большим приоритетом.
Файл регистров общего назначения
Все команды
оперирующие регистрами прямо адресуются к любому из регистров за один машинный
цикл. Единственное исключение - пять команд оперирующих с константами SBCI,
SUBI, CPI, ANDI, ORI и команда LDI, загружающая регистр константой. Эти команды
работают только со второй половиной регистрового файла - R16..R31. Команды SBC,
SUB, CP, AND и OR, также как и все остальные, применимы ко всему регистровому
файлу.
Каждому регистру присвоен адрес в пространстве данных,
они отображаются на первые 32 ячейки ОЗУ. Хотя регистровый файл физически размещен
вне ОЗУ, подобная организация памяти дает гибкий доступ к регистрам. Регистры
X, Y и Z могут использоваться для индексации любого регистра. Кроме обычных функций,
регистры R26..R31 имеют дополнительные функции, эти регистры можно использовать
как адресные указатели в области памяти данных. Эти регистры обозначаются как
X,Y,Z и определены следующим образом:
Регистр X
|
15 0 |
7 0 |
7 0 |
1Bh (R27)
|
1Ah (R26)
|
Регистр Y
|
15
0 |
7 0 |
7 0 |
1Dh (R29)
|
1Ch (R28)
|
Регистр Z
|
15
0 |
7 0 |
7 0 |
1Fh (R31)
|
1Eh (R30)
|
При различных режимах адресации
эти регистры могут использоваться как фиксированный адрес, для адресации с
автоинкрементом или с автодекрементом.
Арифметико-логическое
устройство - АЛУ
АЛУ процессора непосредственно подключено
к 32 регистрам общего назначения. За один машинный цикл АЛУ производит операции
между регистрами регистрового файла. Команды АЛУ разделены на три основных
категории - арифметические, логические и битовые.
Загружаемая память программ.
AT90S2333/4433 содержат 2/4 кБ загружаемой
флэш памяти для хранения программ. Поскольку все команды занимают одно 16- или
32-разрядное слово, флэш память организована как 1/2 Kx16. Флэш-память
выдерживает не менее 1000 циклов перезаписи. Программный счетчик имеет ширину
10/11 бит и позволяет адресоваться к 1024/2048 словам программной флэш-памяти.
Подробно
загрузка флэш памяти будет рассмотрена дальше.
EEPROM память данных
AT90S2333/4433 содержат 128/256 байт электрически
стираемой энергонезависимой памяти (EEPROM). EEPROM организована как отдельная
область данных, каждый байт которой может быть прочитан и перезаписан. EEPROM
выдерживает не менее 100000 циклов записи/стирания. Доступ к энергонезависимой
памяти данных рассмотрен ниже и задается регистрами адреса, данных и
управления. Дальше будет рассмотрена загрузка данных в EEPROM через SPI интерфейс.
Статическое ОЗУ данных
На рисунке приведенном ниже показана
организация памяти данных в AT90S2333/4433.
224 ячейки памяти включают в себя
регистровый файл, память ввода/вывода и статическое ОЗУ данных.
Первые 96 адресов используются для
регистрового файла и памяти ввода/вывода, следующие 128 - для ОЗУ данных.
При обращении к памяти используются пять
различных режимов адресации: прямой, непосредственный со смещением,
непосредственный, непосредственный с предварительным декрементом и
непосредственный с постинкрементом. Регисты R26..R31 регистрового файла
используются как указатели для непосредственной адресации. Прямая адресация
имеет доступ ко всей памяти данных. Непосредственная адресация со смещением
используется для доступа к 63 ячейкам базовый адрес которых задается
содержимым регистров Y или Z.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
|