Реферат: 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 подключается в выходу внешнегогенератора.

Обзор архитектуры процессоров.

Регистровый файл быстрого доступа содержит 328-разрядных регист­ра общего назначения, доступ к которым осуществляется заодин машинный цикл. Поэтому за один машинный цикл исполняется одна операцияАЛУ. Два операнда выбираются из регистрового файла, выполняется операция, ре­зультатее записывается в регистровый файл — все за один машинный цикл.

Шесть из 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.

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

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

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

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

Регистровый файл

Область адресов данных

R0

00h

R1

01h

:

:

R30

1E

R31

1F

Регистры вводавывывода

00h

20h

01h

21h

:

:

3Eh

5Eh

3Fh

5Fh

-

Встроенное ОЗУ

-

61h

-

:

-

DEh

-

DFh

 Пространство ввода/вывода AT90S2333/4433

 

Адреса

регистры

название

функции

 

 

3Fh(5Fh)

SREG

Status REGister

РегистрСостояния

 

 

3Dh(5Dh)

SP

Stack pointer low

Указатель стека

 

3Bh(5Bh)

GIMSK

General Interrupt MaSK register

Общий регистр маски прерываний

 

3Ah(5Ah)

GIFR

General Interrupt Flag Register

Общий регистр флагов прерываний

 

39h(59h)

TIMSK

Timer/counter Inter­rupt mask register

Регистр маски прерываний от таймера/счетчика

 

38h(58h)

TIFR

Timer/counter Inter­rupt Flag register

Регистр флага прерывания таймера/счетчика

 

 

35h(55h)

MCUCR

MCU general Control Register

общий регистр управления микроконтроллером

 

34h(54h)

MCUSR

MCU Status Register

рег.состояния микроконтрол.

 

33h(53h)

TCCR0

Timer/Counter 0 Control Register

Регистр управления таймером счетчиком 0

 

32h(52h)

TCNT0

Timer/Counter 0 (8-бит)

Таймер/счетчик 0 (8 бит)

 

2Fh(4Fh)

TCCR1A

Timer/Counter 1 Control Register A

Рег. A управления таймером счетчиком 1

 

2Eh(4Eh)

TCCR1B

Timer/Counter 1 Control Register B

Рег. B управления таймером счетчиком 1

 

2Dh(4Dh)

TCNT1H

Timer/Counter 1 High byte

Таймер/счетчик 1 старший байт

 

2Ch(4Ch)

TCNT1L

Timer/Counter 1 Low byte

Таймер/счетчик 1 младший байт

 

2Bh(4Bh)

OCR1H

Output Compare Register 1 high byte

Выход регистра совпаден. 1 старший байт

 

2Ah(4Ah)

OCR1L

Output Compare Register 1 low byte

Выход регистра совпаден. 1 младший байт

 

27h(47h)

ICR1H

T/C 1 Input Cupture Re­gister High Byte

Регистр захвата ТС 1 старший байт

 

26h(46h)

ICR1L

T/C 1 Input Cupture Re­gister Low  Byte

Регистр захвата ТС 1 младший байт

 

21h(41h)

WDTCR

Watchdog Timer Control Register

Регистр управления сторо­жевым таймером

 

1Eh(3Eh)

EEAR

EEPROM Address Register

Регистр адреса энергонеза­висимой памяти

 

1Dh(3Dh)

EEDR

EEPROM Data Register

Регистр данных энергонеза­висимой памяти

 

1Ch(3Ch)

EECR

EEPROM Control Register

Регистр управления энерго­независимой памяти

 

18h(38h)

PORTB

Data Register, Port B

Регистр данных порта B

 

17h(37h)

DDRB

Data Direction Register Port B

Регистр направления данных порта B

 

16h(36h)

PINB

Input pins, Port B

Выводы порта B

15h(35h)

PORTС

Data Register, Port С

Регистр данных порта С

 

14h(34h)

DDRС

Data Direction Register Port С

Регистр направления данных порта С

 

13h(33h)

PINС

Input pins, Port С

ВыводыпортаС

 

12h(32h)

PORTD

Data Register, Port D

РегистрданныхпортаD

 

11h(31h)

DDRD

Data Direction Register Port D

Регистр направления данных порта D

 

10h(30h)

PIND

Input pins, Port D

ВыводыпортаD

 

0Fh(2Fh)

SPDR

SPI I/O Data Register

РегистрданныхпортаSPI

 

0Eh(2Eh)

SPSR

SPI Status Register

Регистрсостоян. портаSPI

 

0Dh(2Dh)

SPCR

SPI Control Register

Региструправл.портаSPI

 

0Ch(2Ch)

UDR

UART Data Register

Регистрданныхпоследова­тельногопорта

 

0Bh(2Bh)

USR

UART Status Register

Регистрсостоянияпоследо­вательногопорта

 

0Ah(2Ah)

UCR

UART Control Register

Региструправленияпоследо­вательногопорта

 

09h(29h)

UBRR

UART Baud Rate Register

Регистрскоростипоследо­вательногопорта

 

08h(28h)

ACSR

Analog Comparator Cont­rol and Status Register

Регистр управления и состо­яния аналогового компарат.

 

07h(27h)

ADMUX

ADC multiplexer Select register

РегистркоммутатораАЦП

 

06h(26h)

ADCSR

ADC Control and Status Register

Регистр управления и состо­яния АЦП

 

05h(25h)

ADCH

ADC data register High

РегданныхАЦП(старш.)

 

04h(24h)

ADCL

ADC data register Low

РегданныхАЦП(младш.)

 

03h(23h)

UBRRHI

UART Baud Rate Register HIgh

Регистр скорости последо­вательного порта (старш.)

 

Примечание: зарезервированные и неиспользуемые ячейки не показаны

Все устройства ввода/вывода и периферийные устройства процессорарасполагаются в пространстве ввода/вывода. Различные ячейки этого про­странствадоступны через команды IN и OUT, пересылающие данные между одним из 32-хрегистров общего назначения и пространством ввода/вывода. К регистрам 00h..1Fhможноосуществлять побитовый доступ командами SBI и CBI. Значение отдельного битаэтих регистров можно проверить командами SBIC и SBIS. Дополнительную информациюпо этому вопросу мож­но найти в описании системы команд.

При использовании специальных команд IN, OUT, SBIS и SBIC, должныиспользоваться адреса $00..$3F. При доступе к регистру ввода/вывода как кячейке ОЗУ, к его адресу необходимо добавить $20. В приведенной выше таблицеадреса регистров в памяти данных приведены в скобках. Для совместимости сдругими устройствами при доступе к зарезерви­рованным битам в них должензаписываться ноль, зарезервированные адре­са в пространстве ввода/вывода недолжны записываться

Регистр состояния – SREG 3Fh(5Fh)

Регистр состояния расположен по адресу 3Fh(5Fh) пространстваввода/вывода и определен следующим образом:

    3Fh(5Fh)

еще рефераты
Еще работы по радиоэлектронике