Лекция: Оперативная память (ОЗУ или RAM)
Внутренняя оперативная статическая память Static RAM (SRAM) имеет байтовый формат и используется для оперативного хранения данных.
Размер оперативной памяти может варьироваться у различных чипов от 64 Байт до 4 КБайт. Микроконтроллер ATmega8515 имеет объем внутреннего SRAM 512 байт (с адреса $0060 до $025F). Число циклов чтения и записи в RAM не ограничено, но при отключении питающего напряжения вся информация теряется.
Для микроконтроллера ATmega8515 возможна организация подключения внешнего статического ОЗУ объемом до 64К.
Для разрешения работы с внешним ОЗУ необходимо установить соответствующий разряд в регистр управления МК Rg MCUCR (разряд SRE=1).
При подключении внешнего ОЗУ порт А используется как шина адреса (А0-А7)/данных (D0-D7), то есть мультиплексируется. Старшие 8 разрядов шины адреса (А8-А16) передаются через порт С.
Регистр управления MCU — MCU Control Register — MCUCR
Биты регистра управления MCU управляют выполнением основных функций MCU.
Таблица 3. Формат регистра управления MCU ATmega8515
Биты |
| |||||||||
$35B ($55B) |
| MCUCR | ||||||||
Чтение/Запись |
| |||||||||
Начальное состояние |
|
Bit 7 – SRE: External SRAM Enable – Разрешение внешней SRAM. Установленный в 1 бит SRE разрешает обращение к внешней SRAM данных и переводит работу выводов AD0-7 (Порт A), A8-15 (Порт C), WR и RD на выполнение альтернативной функции. Затем бит SRE перенастраивает установки направлений любых выводов в соответствующих регистрах направления данных. Очистка бита SRE (установка в 0) запрещает обращение к внешней SRAM и восстанавливает нормальные установки направлений выводов и данных.
Bit 6 – SRW: External SRAM Wait State – Режим ожидания внешней SRAM. При установленном в 1 бите SRW к циклу обращения к внешней SRAM добавляется один цикл ожидания.
Bit 5 – SE: Sleep Enable – Разрешение режима Sleep. Установленный в 1 бит SE разрешает перевод MCU в режим sleep по команде SLEEP. Чтобы исключить перевод MCU в незапрограммированный режим sleep, рекомендуется устанавливать бит SE непосредственно перед выполнением команды SLEEP.
Bits 4,3 – SM1/SM0: Sleep Mode Select bits 1 and 0 – Биты выбора режима Sleep.
Bits 2..0 – Res: Reserved bits – Зарезервированные биты. Эти биты зарезервированы и при считывании всегда будут показывать состояние 0.