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

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

SRW01:SRW00 — для первого сектора и SRW11:SRW10 - для второго (Табл. 2.20).

Таблица 2.20. Определение числа тактов ожидания

SRW/il1*

SRW/iO1*

Такты ожидания

0

0

Нет тактов ожидания

0

1

Один такт ожидания во время действия строба чтения/записи

1

0

Два такта ожидания во время действия строба чтения/записи

1

1

Два такта ожидания во время действия строба чтения/записи и один такт перед выставлением на шину нового адреса

!) п = 0 (нижний) или 1 (верхний) сектор.

Временные диаграммы обращения к внешнему ОЗУ при различных установках битов SRWfll:SRWflO приведены на Рис. 2.24.

Как уже было сказано, при работе с внешним ОЗУ используется 16-разрядная шина адреса, позволяющая адресовать 64К адресов. Однако для многих приложений не требуется такого большого объема внешней памяти. Специально для таких случаев все микроконтроллеры (за исключением модели ATmegal62x в режиме совместимости с ATmegal61x) позволяют уменьшить разрядность шины адреса. Число выводов порта С, задействованных под шину адреса, определяется содержимым битов ХММ2...ХММ0 в соответствии с Табл. 2.21. Незадействованные выводы могут использоваться как линии ввода/вывода общего назначения.

Таблица 2.21. Задание разрядности старшего байта шины адреса

ХММ2

ХММ1

хммо

Количество битов, задействованных под шину адреса

Высвобожденные контакты ввода/вывода

0

0

0

8

Нет

0

0

1

7

РС7

0

1

0

6

РС7, РС6

0

1

1

5

РС7...РС5

1

0

0

4

РС7...РС4

1

0

1

3

РС7...РСЗ

1

1

0

2

РС7...РС2

1

1

1

Старший байт адреса не используется

Весь порт С


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

WR

da7:0(xmbk = 0) da7:0 (хмвк=1)

Рис. 2.24. Временные диаграммы обращения к внешнему ОЗУ: SRWai1:SRVvM) = 00 (а); = 01 (б); = 10 (в); = \ \ (г)


Как было показано на Рис. 2.23, младшие адреса внешней памяти отображаются на адресное пространство внутреннего ОЗУ, в результате чего часть емкости внешнего ОЗУ остается незадействованной. Тем не менее, имеется возможность полного использования емкости микросхем внешнего ОЗУ Если объем внешнего ОЗУ меньше 64 Кбайт, то для доступа к младшим адресам внешнего ОЗУ достаточно просто использовать адреса, лежащие вне области физических адресов внешнего ОЗУ Поскольку старшие биты шины адреса не используются, то при обращении по этим адресам будут адресоваться ячейки внешнего ОЗУ с младшими адресами, начиная с 0x0000. Возьмем, к примеру, микроконтроллер ATmega 128х с внешним ОЗУ объемом 32 Кбайт (см. Рис. 2.25). В этом случае при обращении по адресам 0x8000...0x90FF мы будем в действительности обращаться к ячейкам внешнего ОЗУ с адресами 0x0000...0xl0FF. Таким образом, в распоряжении прикладной программы окажется линейная область памяти размером 32 Кбайт с адресами 0xll00...0x90FF. Значения этих адресов для других микроконтроллеров можно определить с помощью Рис. 2.12 и Рис. 2.15.

Карта памяти AVRВнешнее СОЗУ

32К

0x0000

0x1 OFF 0x1100

0x7FFF

0x1 OFF 0x1100

0x7FFF 0x8000

0x90FF 0x9100

Внутренняя память

He используется

OxFFFF I-1

Рис. 2.25. Полное использование емкости микросхемы ОЗУ (32 Кбайт) на примере микроконтроллера ATmega 128х

Второй способ полного использования емкости микросхем внешнего ОЗУ основан на программном управлении старшими битами адреса. Для выполнения этого «трюка» порт С должен быть настроен на вывод, а в защелке порта должно быть записано $00. При маскировании старших битов



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