8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 45 46 47 48 49 50 51 ... 195

адреса (с помощью битов ХММ2...ХММ0 регистра XMCRB) на соответствующие выводы порта С будут выставлены нули и произойдет обращение к младшим адресам внешнего ОЗУ, начиная с адреса $0000. Ниже приведены два примера программной реализации описанных действий (для микроконтроллера ATmegal28x).

Пример на ассемблере

; Константа OFFSET определена как 0x2000 для гарантированного ; обращения к внешней памяти ldi rl6, OxFF

out DDRC, rl6; Все выводы порта С - выходы

ldi г16, 0x00

out PORTC, г1б; Записали в защелку порта 0x00

ldi rl6, (1«ХММ1) I (1«ХММ0)

out XMCRB, rl6; Высвободили биты РС7...5

ldi rl6, ОхАА

sts 0x0001+OFFSET, rl6 ; Записали ОхАА по адресу 0x0001 внешней памяти ldi rl6, (0«ХММ1) I (0«ХММ0)

out XMCRB, rl6; Переназначили биты РС7...5

ldi rl6, 0x55

sts OxOOOl+OFFSET, rl6 ; Записали 0x55 по адресу (OFFSET+1)

; внешней памяти

Пример на Си

#defme OFFSET 0x2000 void XRAM examp1e(void) {

unsigned char *p = (unsigned char *) (OFFSET + 1); DDRC = OxFF; PORTC = 0x00;

XMCRB = (1«XMM1) I (1«XMM0);

*p = Oxaa;

XMCRB = 0x00;

*p = 0x55;

}

Необходимо помнить, что по сравнению с обращением к внутреннему ОЗУ обращение к внешнему ОЗУ требует, в зависимости от режима, на 1, 2, 3 или 4 такта больше для каждого байта, обрабатываемого командой. Таким образом, время выполнения команд передачи данных (LD, ST, LDS, STS, push и pop) увеличивается на 1, 2, 3 или 4 такта. Если стек расположен во внешнем ОЗУ, то время перехода к обработке прерываний, вызова и возврата из подпрограмм увеличивается на 2, 4, 6, 8, а для моделей ATmega2560x/2561x — на 3, 6, 9 и 12 тактов. Это связано с тем, что во время выполнения указанных операций происходит сохранение или восстановление 16/17-битного счетчика команд и, кроме того, при работе с внешней памятью не используется конвейеризация.


Полные временные диаграммы обращения к внешнему ОЗУ с указанием всех параметров сигналов приведены на Рис. 2.26. Значения этих параметров приведены в Табл. 2.22.

Тактовый сигнал (clkcpu)

DA7:0 Пред. данныёуАдрес]РЗГ б

Ш

DA7:0 (ХМВК = 0) RD

Данные

Данные

Примечание. Такты Т5...Т7 присутствуют только при использовании дополнительных тактов ожидания

Рис. 2.26. Временные диаграммы обращения к внешнему ОЗУ

Таблица 2.22. Динамические параметры сигналов при обращении к внешнему ОЗУ

Обозначение

Параметр

ГСС = 4.5...5.5В

ГСС = 2.7...5.5В

Ед. изм.

min

max

min

max

0

Vclcl

Тактовая частота

0

16

0

8

МГц

1

lhll

Длительность сигнала ALE

1.0/cLCL- Ю

-

I.O/clcl-15

-

нс

2

avll

Время установления сигнала ALE относительно сигналов адреса А[7...0]

0.5/clcl-S

-

0.5/clcl-IO

-

нс

За

llax st

Время сохранения сигналов адреса А[7...0] после сигнала ALE (команды ST/STD/STS)

5

-

5

-

нс

ЗЬ

llax ld

Время сохранения сигналов адреса А[7...0] после сигнала ALE (команды LD/LDD/LDS)

5

-

5

-

нс

4

avllc

Время установления сигнала ALE относительно сигналов адреса А[ 15...8]

0.5/clcl-5

-

0.5/clcl-IO

-

нс

5

avrl

Время установления сигнала RD относительно адреса

10/cLCL- 10

-

I.O/clcl-15

-

нс


(продолжение)

Обозначение

Параметр

ГСС = 4.5...5.5В

Pcce2.7...5.5B

Ел. изм.

min

max

min

max

6

avwl

Время установления сигнала WR относительно адреса

1.0/clcl- 10

-

I.O/clcl-15

-

не

7

llwl

Время установления сигнала WR относительно сигнала ALE

0.5/clcl-15

0.5/clcl + S

0.5/clcl-IO

0.5/clcl + 5

нс

8

llrl

Время установления сигнала RD относительно сигнала ALE

0.5/clcl-15

0.5/clcl + 5

0.5/clcl-10

0.5/CLCL + 5

не

9

dvrh

Время удержания сигнала RD относительно выходных данных

40

-

45

-

не

10

rldv

Время

выборки

данных

SRWai = 00

-

I.O/clcl-50

-

1.0/clcl-60

не

SRWai = 01

-

2.0/clcl-50

-

2.0/clcl-60

SRWai= 10

-

3.0/clcl-50

-

3.0/clcl-60

SRW/j = 11

-

3.0/clcl-50

-

3.0/clcl-60

11

rhdx

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

0

-

0

-

нс

12

rlrh

Длительность сигнала RD

SRWai = 00

1.0/cLCL-lO

-

1.0/clcl-15

-

нс

SRWai = 01

2.0/clcl-IO

-

2 0/clcl-15

-

SRW/i= 10

3.0/cLCL-lO

-

IO/clcl-15

-

SRW/i=ll

3.0/cLCL-lO

-

3.0/clcl-15

-

13

dVWL

Время установления сигнала WR относительно входных данных

0.5/clcl-20

-

0.5/clcl-20

-

нс

14

whdx

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

SRWai = 00

1.0/cLCL-lO

-

I.O/clcl-15

-

нс

SRW/i = 01

1.0/cLCL-lO

-

I.O/clcl-15

-

SRW/i = 10

1.0/cLCL-lO

-

1.0/clcl-15

-

SRW/i= 11

2.0/clcl-IO

-

2.0/clcl-15

-

15

dvwh

Время удержания

сигнала WR относительно входных данных

SRW/i = 00

I-OCLCL

-

1.0CLCL

-

нс

SRW/i = 01

2.0/clcl

-

2.0/clcl

-

SRW/i=10

3.0/cLCL

-

3.0/clcl

-

SRW/i=ll

3.0/clcl

-

3.0/cLCL

-

16

wlwh

Длительность сигнала WR

SRW/i = 00

1.0/cLCL-lO

-

I.O/clcl-15

-

нс

SRW/i = 01

2.0/clcl-IO

-

2.0/clcl-15

-

SRW/*=10

3.0/clcl-10

-

3.0/clcl-15

-

SRW/i=ll

3.0/cLCL-lO

-

3.0/clcl-15

-



0 ... 45 46 47 48 49 50 51 ... 195