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

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

ÊÒÖ-ÌÊ

EEPROM память данных

EEPROM память данных организована как отдельное пространство данных с возможность считывания и записи отдельного байта. EEPROM обес печивает 100000 циклов стирания/записи. Взаимодействие между EEPROM и CPU опреде ляется регистром адреса EEPROM, регистром данных EEPROM и регистром управления EEPROM.

Время обращения к памяти и тактирование выполнения команд

В данном разделе описаны основные принципы тактирования обращений при выполнении команд и обращений к встроенной памяти.

AVR CPU тактируется системным тактовым сигналом System Clock O, формируемым посредством внешнего кварцевого кристалла. Внутреннее деление не используется.

На Рис.20 представлен процесс параллельных выборки и выпол нения команд, обеспечиваемые Гарвардской архитектурой, и концепция ре гистрового файла быстрого доступа. Это базовый принцип конвейерной обработки, обесп ечивающий удельную производительность 1 MIPS/МГц при соответствующих результат ах стоимости функции, количества функций на один такт и количества функций на е диницу потребляемой мощности.

T1

T2

T3

T4

System Clock O

Выборка 1-й команды

Выполнение 1-й команды Выборка 2-й команды

Выполнение 2-й команды Выборка 3-й команды

Выполнение 3-й команды Выборка 4-й команды

Рис. 20 Параллельные выборка и выполнение команд

На Рис. 21 представлен принцип внутреннего тактирования ре гистрового файла. В течение одного тактового цикла выполнения операции ALU ис пользует два операнда регистров и результат возвращает в регистр назначения

T1

T2

T3

T4

System Clock O

Выборка 1-й команды

Выполнение 1-й команды Выборка 2-й команды

Выполнение 2-й команды Выборка 3-й команды

Выполнение 3-й команды Выборка 4-й команды

Рис.21 Одноцикловая работа ALU

6 9

ATMEL

ÊÒÖ-ÌÊ

На Рис. 22 показано обращение к встроенной SRAM данных за два та ктовых цикла.

T1

T2

T3

T4

System Clock O

 

 

 

ALE

 

 

 

Адрес [15..8] Предшеств. Адрес

Адрес

 

 

Данные/Адрес [7..0] Предшеств. Адрес

Адрес

Данные

Адрес

WR

 

 

 

Данные/Адрес [7..0] Предшеств. Адрес

Адрес

Данные

Адрес

RD

 

 

 

Чтение Запись

Рис. 22 Циклы обращения к внешней SRAM данных без состояния ожидания (Wait State)

На Рис. 23 показано обращение к внешней SRAM данных при установ ленном бите состояния ожидания (Wait State active).

T1

 

T2

T3

T4

System Clock O

 

 

 

 

ALE

 

 

 

 

Адрес [15..8] Предшеств. Адрес

 

Адрес

 

 

Данные/Адрес [7..0] Предшеств. Адрес

 

Адрес

Данные

Адрес

WR

 

 

 

 

Данные/Адрес [7..0] Предшеств. Адрес

Адрес

 

Данные

Адрес

RD

 

 

 

 

 

 

 

tRLRH

 

Чтение Запись

Рис. 23 Циклы обращения к внешней SRAM данных с состоянием ожидания

7 0

ÊÒÖ-ÌÊ

Память ввода/вывода (I/O)

Описание пространства I/O микроконтроллеров ATmega603/103 представ лено в Табл. 3

Таблица 3. Пространство I/O микроконтроллеров ATmega603/103

Адрес I/O

Обозначение

Функция

(адрес SRAM)

 

 

$3F ($5F)

SREG

Регистр статуса (Status REGister)

$3E ($5E)

SPH

Верхний байт указателя стека (Stack Pointer High)

$3D ($5D)

SPL

Нижний байт указателя стека (Stack Pointer Low)

$3C ($5C)

XDIV

Регистр управления делением тактовой частоты (XTAL Divide

 

 

Control Register)

$3B $5B)

RAMPZ

Регистр выбора страницы Z RAM (RAM Page Z Select Register)

$3A ($5A)

EICR

Регистр управления внешними прерываниями (External Interrupt

 

 

Control Register)

$39 ($59)

EIMSK

Регистр масок внешних прерываний (External Interrupt MaSK

 

 

register)

$38 ($58)

EIFR

Регистр флагов внешних прерываний (External Interrupt Flag

 

 

Register)

 

 

 

$37 ($57)

TIMSK

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

Counter

 

Interrupt MaSK register)

$36 ($56)

TIFR

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

 

 

Counter Interrupt Flag register)

$35 ($55)

MCUCR

Регистр управления MCU (MCU General Control Register)

$34 ($54)

MCUSR

Регистр статуса MCU (MCU Status Register)

$33 ($53)

TCCR0

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

 

 

Control Register)

$32 ($52)

TCNT0

Таймер/счетчик0 (Timer/Counter0 (8-bit))

$31 ($51)

OCR0

Регистр сравнения выхода таймера/счетчика 0 (Timer/Counter0

 

 

Output Compare Register)

$30 ($50)

ASSR

Регистр статуса асинхронного режима (Asynchronous Mode

 

 

Status Register)

 

 

 

$2F ($4F)

TCCR1A

Управляющий регистр A таймера/счетчика 1 (Timer/Counter1

 

 

Control Register A)

$2E ($4E)

TCCR1B

Управляющий регистр B таймера/счетчика 1 (Timer/Counter1

 

 

Control Register A)

 

 

 

$2D ($4D)

TCNT1H

Старший байт таймера/счетчика 1 (Timer/Counter1 High Byte)

$2C ($4C)

TCNT1L

Младший байт таймера/счетчика 1 (Timer/Counter1 Low Byte)

 

 

 

$2B ($4B)

OCR1AH

Старший байт регистра A сравнения выхода таймера/счетчика

 

 

1 (Timer/Counter1 Output Compare Register A High Byte)

$2A ($4A)

OCR1AL

Младший байт регистра A сравнения выхода таймера/

 

 

счетчика 1 (Timer/Counter1 Output Compare Register A Low Byte)

$29 ($49)

OCR1BH

Старший байт регистра B сравнения выхода таймера/счетчика

 

 

1 (Timer/Counter1 Output Compare Register B High Byte)

$28 ($48)

OCR1BL

Младший байт регистра B сравнения выхода таймера/счетчика

 

 

1 (Timer/Counter1 Output Compare Register B Low Byte)

 

 

 

$27 ($47)

ICR1H

Старший байт регистра захвата таймера/счетчика 1

 

 

(Timer/Counter1 Input Capture Register High Byte)

 

 

 

7 1

ATMEL

 

ÊÒÖ-ÌÊ

 

 

 

$26 ($46)

ICR1L

Младший байт регистра захвата таймера/счетчика 1

 

 

(Timer/Counter1 Input Capture Register Low Byte)

 

 

 

$25 ($45)

TCCR2

Регистр управления таймером/счетчиком 2 (Timer/Counter2

 

 

Control Register)

$24 ($44)

TCNT2

Таймер/счетчик 2 (Timer/Counter2 (8-bit))

$23 ($43)

OCR2

Регистр сравнения выхода таймера/счетчика 2 (Timer/Counter2

 

 

Output Compare Register)

$21 ($41)

WDTCR

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

 

 

Control Register)

$1F ($3F)

EEARH

Старший байт регистра адреса EEPROM (EEPROM Address

 

 

Register High)

$1E ($3E)

EEARL

Младший байт регистра адреса EEPROM (EERPOM Address

 

 

Register Low)

 

 

 

$1D ($3D)

EEDR

Регистр данных EEPROM (EEPROM Data Register)

$1C ($3C)

EECR

Регистр управления EEPROM (EEPROM Control Register)

$1B ($3B)

PORTA

Регистр данных порта A (Data Register, Port A)

 

 

 

$1A ($3A)

DDRA

Регистр направления данных порта A (Data Direction Register,

 

 

Port A)

$19 ($39)

PINA

Выводы входов порта A (Input Pins, Port A)

$18 ($38)

PORTB

Регистр данных порта B (Data Register, Port B)

$17 ($37)

DDRB

Регистр направления данных порта B (Data Direction Register,

 

 

Port B)

$16 ($36)

PINB

Выводы входов порта B (Input Pins, Port B)

$15 ($35)

PORTC

Регистр данных порта C (Data Register, Port C)

 

 

 

$12 ($32)

PORTD

Регистр данных порта D (Data Register, Port D)

$11 ($31)

DDRD

Регистр направления данных порта D (Data Direction Register,

 

 

Port D)

 

 

 

$10 ($30)

PIND

Выводы входов порта D (Input Pins, Port D)

$0F ($2F)

SPDR

Регистр данных SPI I/O (SPI I/O Data Register)

$0E ($2E)

SPSR

Регистр статуса SPI (SPI Status Register)

$0D ($2D)

SPCR

Регистр управления SPI (SPI Control Register)

$0C ($2C)

UDR

Регистр данных UART I/O (UART I/O Data Register)

$0B ($2B)

USR

Регистр статуса UART (UART Status Register)

$0A ($2A)

UCR

Регистр управления UART (UART Control Register)

$09 ($29)

UBRR

Регистр управления скоростью UART (UART Baud Rate Register)

$08 ($28)

ACSR

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

 

 

(Analog Comparator Control and Status Register)

$07 ($27)

ADMUX

Регистр выбора мультиплексора ADC (ADC Multiplexer Select

 

 

Register)

 

 

 

$06 ($26)

ADCSR

Регистр статуса и управления ADC (ADC Control and Status

 

 

Register)

$05 ($25)

ADCH

Старший байт регистра данных ADC (ADC Data Register High)

$04 ($24)

ADCL

Младший байт регистра данных ADC (ADC Data Register Low)

 

 

 

$03 ($23)

PORTE

Регистр данных порта E (Data Register, Port E)

$02 ($22)

DDRE

Регистр направления данных порта E (Data Direction Register,

 

 

Port E)

 

 

 

$01 ($21)

PINE

Выводы входов порта E (Input Pins, Port E)

$00 ($20)

PINF

Выводы входов порта F (Input Pins, Port F)

 

 

 

7 2

ÊÒÖ-ÌÊ

Примечания: Зарезервированные и не используемые ячейки в таблице не показаны. Все средства I/O и периферии микроконтроллеров ATmega 603/103 размещены в пространстве I/O. При использовании IN и OUT использ уются адреса регистров I/O с $00 по $3F. Поскольку регистры I/O представлены в адр есном пространстве SRAM, то к ним можно адресоваться как к обычным я чейкам SRAM с адресами с $20 по $5F. Адрес SRAM получается простым добавлением $20 к непосредственному адресу I/O. Адрес SRAM, по всему документу, пр иведен в круглых скобках после непосредственного адреса I/O. Регистры I/O, в пре делах адресов от $00 ($20) до $1F ($3F), по-битово адресуются командами SBI и CBI. Состояние к аждого отдельного бита этих регистров может быть проверено кома ндами SBIS и SBIC. Более подробное описание приведено в разделе Система команд.

Различия в регистрах управления I/O и периферией подробно р ассмотрены в следующем разделе.

РЕГИСТР СТАТУСА - SREG

Регистр статуса - SREG - размещен в пространстве I/O по адресу $3F ($5F ) и его биты определяются как:

Áèòû

 

7

6

5

4

3

2

1

0

 

$3F ($5F)

 

I

T

H

S

V

N

Z

C

REG

Чтение/Запись

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

 

Начальное состояние

0

0

0

0

0

0

0

0

 

• Bit 7 - I: Global Interrupt Enable - Разрешение глобального прерывания

Бит разрешения глобального прерывания для разрешения пр ерывания должен быть установлен в состояние 1. Управление разрешением конкретн ого прерывания выполняется регистрами маски прерывания GIMSK и TIMSK. Если бит гл обального прерывания очищен (в состоянии 0), то ни одно из разрешений к онкретных прерываний, установленных в регистрах GIMSK и TIMSK, не действует. Бит I аппарат но очищается после прерывания и устанавливается для последующего раз решения глобального прерывания командой RETI.

• Bit 6 - T: Bit Copy Storage - Бит сохранения копии

Команды копирования бита BLD (Bit LoaD) и BST (Bit STore) используют бит T как б ит источник и бит назначения при операциях с битами. Командо й BST бит регистра регистрового файла копируется в бит T, командой BLD бит T копир уется в регистр регистрового файла.

• Bit 5 - H: Half Carry Flag - Флаг полупереноса

Флаг полупереноса указывает на полуперенос в ряде арифме тических операций. Более подробная информация приведена в описании системы команд.

• Bit 4 - S: Sign Bit, S = N V - Бит знака

Бит S всегда находится в состоянии, определяемом логическ им исключающим ИЛИ (exclusive OR) между флагом отрицательного значения N и дополнением до двух флага переполнения V. Более подробная информация приведена в оп исании системы команд.

•Bit 3 - V: Two’s Complement Overflow Flag - Дополнение до двух флага переполнения

Дополнение до двух флага V поддерживает арифметику дополн ения до двух. Более подробная информация приведена в описании системы коман д.

•Bit 2 - N: Negative Flag -Флаг отрицательного значения

Флаг отрицательного значения N указывает на отрицательны й результат ряда

7 3

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