Содержание
Практически все современные микроконтроллеры имеют на своем борту 3 вида памяти:
Виды памяти микроконтроллеров
- память программ FLASH;
- оперативная память (ОЗУ) SRAM (Static RAM);
- энергонезависимая память данных EEPROM.
Для того чтобы микроконтроллер мог одновременно работать со всеми видами памяти, каждая из областей памяти данных (SRAM и EEPROM) располагается в своем адресном пространстве. Способы доступа и адресации к этим областям памяти также различны.
Flash память программ микроконтроллера
Память программ представляет собой электрически стираемое ППЗУ (FLASH) . В ряде микроконтроллеров память программ делится на 2 секции:
- Boot Program — секция загрузчика ;
- Application Program — секция прикладных программ .
Эту память можно перезаписывать, количество циклов перезаписи более 10 тысяч.
Многие микроконтроллеры могут прошиваться прям на плате т.е. программа заливается в камень уже после монтажа. Для такой операции понадобится специальный разъем.
Для того чтобы адресовать память программ используется счетчик команд (PC-Program Counter )
—
В памяти программ есть вектор сброса — в момент подачи напряжения питания микроконтроллер начинает исполнение программы с этого адреса, и здесь размещается команда перехода к началу исполняемой программы. Кроме того, память программ содержит таблицу векторов прерываний. При возникновении прерывания после сохранения в стеке текущего значения счетчика команд происходит выполнение команды, расположенной по адресу соответствующего вектора. Поэтому по данным адресам располагаются команды перехода к подпрограммам обработки прерываний.
Положение вектора сброса и таблицы векторов прерываний может быть перенесено из секции прикладных программ в секцию загрузчика.
В некоторых случаях память программ может использоваться не только для хранения кода программы, но и для хранения различных констант.
Оперативная память микроконтроллера
Оперативная память, как правило, содержит 3 области:
- регистры общего назначения;
- служебные регистры;
- память для хранения данных.
Служебные регистры имеют свои имя, адрес и назначение. Они предназначены для конфигурации и обслуживания периферийных узлов микроконтроллера. Краткая характеристика служебных регистров должна быть приведена в руководстве по использованию микроконтроллера (Data Sheet).
Регистры общего назначения (РОН) находятся в непосредственной близости к АЛУ. Однако в микроконтроллерах некоторых фирм (в частности, PIC фирмы Microchip) имеется только один рабочий регистр, играющий роль одного из операндов в командах.
Применение набора регистров общего назначения в сочетании с конвейерной обработкой позволяет АЛУ выполнять одну операцию (извлечение операндов из набора регистров, выполнение команды и запись результата обратно в регистр) за один такт.
Среди служебных регистров есть, как правило, один регистр, используемый наиболее часто в процессе выполнения программ. Это регистр состояния. Он содержит набор флагов, показывающих текущее состояние микроконтроллера. Большинство флагов автоматически устанавливаются в «1» или сбрасываются в «0» при наступлении определенных событий (в соответствии с результатом выполнения команд). Все биты этого регистра доступны как для чтения, так и для записи. Эта информация анализируется при выполнении условных переходов. При возникновении прерываний содержимое регистра состояния необходимо сохранять программно (чаще всего это является «заботой» компилятора).
Остальная часть оперативной памяти предназначена для хранения пользовательских данных.
Энергонезависимая память данных
Энергонезависимая память данных (EEPROM) организована таким образом, что содержимое каждого байта отдельно может быть считано или записано. Количество циклов перезаписи энергонезависимой памяти превышает 100 тысяч. Энергонезависимая память предназначена для хранения настроек и конфигурации программы, то есть тех данных, которые должны сохраняться при пропадании питания.
Чтение и запись данных в EEPROM, как правило, осуществляется посредством использования соответствующих регистров из области служебных регистров SRAM. Как правило, это:
- регистр адреса при обращении к EEPROM;
- регистр данных, считанных/записанных в EEPROM;
- регистр управления чтением-записью EEPROM.
Похожие записи
Практически все современные микроконтроллеры имеют на своем борту 3 вида памяти: Виды памяти микроконтроллеров память программ FLASH; оперативная память (ОЗУ) SRAM (Static RAM); ...
Это простая схема двойного светодиодного мигающего сигнала. В качестве базовой схемы нестабильного мультивибратора используется таймер NE 555. Светодиоды включаются по очереди, частоту...
Представленная схема полицейской мигалки на микроконтроллере и светодиодах может работать в 16 различных режимах. Режим выбирается при помощи одной кнопки, и собрана на микроконтроллере...
Последовательный интерфейс I2C (также его обозначается как IIC) довольно популярный последовательный интерфейс. Свою популярность он получил за неплохую скорость передачи информации. В...
Последовательный периферийный интерфейс SPI (Serial Peripheral Interface) — последовательный стандарт передачи данных. Предназначен для сопряжения микроконтроллеров и периферийных устройств. SPI...
В это примере подключим и научимся обрабатывать события нажатия кнопок при помощи микроконтроллера AVR. Другими словами мониторить состояние кнопок, и при каких либо изменениях делать что...