Главное меню

Организация памяти и портов ввода/вывода

Микроконтроллеры AVR имеют раздельные пространства адресов памяти программ и данных (гарвардская архитектура). Организация памяти МК ATMega64 показана на рис. 1.2.

Рис.2. Организация памяти микроконтроллера ATmega64

Высокие характеристики семейства AVR обеспечиваются следующими особенностями архитектуры:

• В качестве памяти программ используется внутренняя флэш-память. Она организована в виде массива 16-разрядных ячеек и может загружаться программатором, либо через порт SPI;

• 16-разрядные память программ и шина команд вместе с одноуровневым конвейером позволяют выполнить большинство инструкций за один такт синхрогенератора (50 нс при частоте FOSC=20 МГц);

• память данных имеет 8-разрядную организацию. Младшие 32 адреса пространства занимают регистры общего назначения, далее следуют 64 адреса регистров ввода-вывода, затем внутреннее ОЗУ данных объемом до 4096 ячеек. Возможно применение внешнего ОЗУ данных объемом до 60 Кбайт;

• внутренняя энергонезависимая память типа EEPROM объемом до 4 Кбайт представляет собой самостоятельную матрицу, обращение к которой осуществляется через специальные регистры ввода-вывода.

Как видно из рис. 1.2 и 1.3, 32 регистра общего назначения (РОН) включены в сквозное адресное пространство ОЗУ данных и занимают младшие адреса. Хотя физически регистры выделены из памяти данных, такая организация обеспечивает гибкость в работе. Регистры общего назначения прямо связаны с АЛУ. Каждый из регистров способен работать как аккумулятор. Большинство команд выполняются за один такт, при этом из регистров файла могут быть выбраны два операнда, выполнена операция и результат возвращен в регистровый файл. Старшие шесть регистров могут использоваться как три 16-разрядных регистра, и выполнять роль, например, указателей при косвенной адресации.

Рис.3. Регистры общего назначения микроконтроллера ATmega64

Следующие 64 адреса за регистрами общего назначения занимают регистры ввода-вывода (регистры управления/состояния и данныхПри использовании команд IN и OUT используются адреса ввода-вывода с $00 по $3F. Но к регистрам ввода-вывода можно обращаться и как к ячейкам внутреннего ОЗУ. При этом к непосредственному адресу ввода-вывода прибавляется $20. Адрес регистра как ячейки ОЗУ приводится далее в круглых скобках. Регистры ввода-вывода с $00 ($20) по $1F ($3F) имеют программно доступные биты. Обращение к ним осуществляется командами SBI и CBI, а проверка состояния - командами SBIS и SBIC. В таблице B1 приведен список регистров ввода-вывода.

Таблица 1. Некоторые регистры ввода-вывода микроконтроллера ATmega64

Название

Функция

PORTG

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

DDRG

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

PING

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

PORTF

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

DDRF

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

SREG

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

SPH

Указатель стека, старший байт

SPL

Указатель стека, младший байт

TIMSK

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

TIFR

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

MCUCR

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

MCUCSR

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

TCCR0

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

TCNT0

Счетный регистр таймера/счетчика Т0

OCR0

Регистр совпадения таймера/счетчика Т0

ASSR

Регистр состояния асинхронного режима

TCCR1A

Регистр управления А таймера/счетчика Т1

PORTA

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

DDRA

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

PINA

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

PORTB

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

DDRB

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

PINB

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

PORTC

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

DDRC

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

PINC

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

PORTD

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

DDRD

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

PIND

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

SPDR

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

SPSR

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

SPCR

Регистр управления SPI

ACSR

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

ADMUX

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

ADCSRA

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

ADCH

Регистр данных АЦП, старший байт

ADCL

Регистр данных АЦП, младший байт

PORTE

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

DDRE

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

PINE

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

PINF

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

Перейти на страницу: 1 2

Другое по теме:

Микроконтроллеры семейства AVR фирмы Atmel
В классической микропроцессорной системе используются отдельная микросхема процессора, отдельные микросхемы памяти и отдельные порты ввода вывода. Стремительное развитие микропроцессорной техники требует всё большей и большей степени интеграции ...

Copyright © www.techproof.ru