Скачать

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
RESET291
PD0/RXD302
PD1/TXD313
PD2/INT0324
PD3/INT115
PD4/T026
VCC47
GND58
XTAL179
XTAL2810
PD5/T1911
PD6/AIN01012
PD7/AIN11113
PB0/ICP1214
PB1/OC11315
PB2/SS1416
PB3/MOSI1517
PB4/MISO1618
PB5/SCK1719
AVCC1820
AREF2021
AGND2122
PC0/ADC02323
PC1/ADC12424
PC2/ADC22525
PC3/ADC32626
PC4/ADC42727
PC5/ADC52828

ОПИСАНИЕ ВЫВОДОВ

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 07 0

1Bh (R27)

1Ah (R26)

Регистр Y

15 0
7 07 0

1Dh (R29)

1Ch (R28)

Регистр Z

15 0
7 07 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.

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

При помощи любого из этих режимов производится доступ ко всем 32 регистрам общего назначения, 64 регистрам ввода/вывода и 128 ячейкам ОЗУ.

Время выполнения команд.

ЦПУ процессора AVR управляется системной частотой генерируемой внешним резонатором. Внутреннее деление частоты генератора не исполь­зуется. В процессоре организован буфер (pipeline) команд, при выборе команды из памяти программ происходит выполнение предыдущей команды. Подобная концепция позволяет достичь быстродействия 1MIPS на MHz, уни­кальных показателей стоимости, быстродействия и потребления процессо­ра.

Регистровый файлОбласть адресов данных
R000h
R101h
::
R301E
R311F
Регистры ввода\вывывода
00h20h
01h21h
::
3Eh5Eh
3Fh5Fh
-Встроенное ОЗУ
-61h
-:
-DEh
-DFh