Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Организация памяти ⇐ ПредыдущаяСтр 3 из 3
В микроконтроллерах AVR семейства Mega реализована Гарвардская архитектура, в соответствии с которой разделены не только адресные пространства памяти программ и памяти данных, но также и шины доступа к ним. Способы адресации и доступа к этим областям памяти также различны. Такая структура позволяет центральному процессору работать одновременно как с памятью программ, так и с памятью данных, что существенно увеличивает производительность. Каждая из областей памяти данных (ОЗУ и EEPROM) также расположена в своем адресном пространстве. Обобщенная карта памяти микроконтроллеров AVR семейства Mega приведена на Рис. 2.12. Обратите внимание на следующее. Поскольку микроконтроллеры AVR имеют 16-битную систему команд, объем памяти программ на рисунке указан не в байтах, а в 16-битных словах.
Рис. Карта памяти микроконтроллеров семейства Mega
Рис. Карта памяти микроконтроллера ATmega128
Память программ Память программ предназначена для хранения команд, управляющих работой микроконтроллера. Память программ также часто используется для хранения таблиц констант, не меняющихся во время работы программы. Как было сказано выше, память программ представляет собой электрически стираемое ППЗУ (FLASH-ПЗУ). В связи с тем, что длина всех команд кратна одному слову A6 бит), память программ имеет 16-битную организацию. Соответственно, объем памяти микроконтроллеров семейства составляет от 4К Dx1024) до 64К F4x1024) 16-битных слов. В подавляющем большинстве моделей микроконтроллеров семейства Mega память программ логически разделена на две неравные части: область прикладной программы и область загрузчика. В последней может располагаться специальная программа (загрузчик), позволяющая микроконтроллеру самостоятельно управлять загрузкой и выгрузкой прикладных программ. Подробно использование этой области и реализация программы-загрузчика будут рассмотрены в главе 14. Если же возможность самопрограммирования микроконтроллера не используется, прикладная программа может располагаться и в области загрузчика. Для адресации памяти программ используется счетчик команд (Program Counter — PC). Размер счетчика команд составляет от И до 17 бит, в зависимости от объема адресуемой памяти. По адресу $0000 памяти программ находится вектор сброса. После инициализации (сброса) микроконтроллера выполнение программы начинается с этого адреса (по этому адресу должна размещаться команда перехода к инициализационной части программы). Начиная с адреса $001 (модели с памятью программ 8 Кбайт и меньше) или $0002 (остальные модели) памяти программ располагается таблица векторов прерываний. Размер этой области зависит от модели микроконтроллера (подробнее о распределении области векторов прерывания см. раздел 5.2). При возникновении прерывания после сохранения в стеке текущего значения счетчика команд происходит выполнение команды, расположенной по адресу соответствующего вектора. Поэтому по данным адресам располагаются команды перехода к подпрограммам обработки прерываний. В моделях с памятью программ небольшого объема (8 Кбайт и менее) в таблицах векторов прерываний используются команды относительного перехода (RJMP), а в остальных моделях — команды абсолютного перехода (JMP). В большинстве микроконтроллеров семейства Mega положение вектора сброса и/или таблицы векторов прерываний может быть изменено. Они могут располагаться не только в начале памяти программ, как описано выше, но и в начале области загрузчика. Подробнее об этом будет сказано в Если в программе прерывания не используются либо таблица векторов прерываний располагается в области загрузчика, то основная программа может начинаться непосредственно с адреса $0001. В заключение следует отметить, что FLASH-ПЗУ, используемое в микроконтроллерах AVR, рассчитано, как минимум, на 10 000 циклов стирания/записи (типовое значение — 100 000 циклов).
2.2.2. Память данных Память данных микроконтроллеров семейства Mega разделена на три части: регистровая память, оперативная память (статическое ОЗУ) и энергонезависимое ЭСППЗУ (EEPROM). Регистровая память включает 32 регистра общего назначения (РОН), объединенных в файл, и служебные регистры ввода/вывода (РВВ). В сложных моделях с развитой периферией имеется также область дополнительных (extended) регистров ввода/вывода (ДРВВ). Под РВВ в памяти микроконтроллера отводится 64 байта, а под ДРВВ — 160 или 416 байт (в зависимости от модели). В обеих областях регистров ввода/вывода располагаются различные служебные регистры (регистр управления микроконтроллера, регистр состояния и т. п.), а также регистры управления периферийными устройствами, входящими в состав микроконтроллера. Общее количество РВВ и ДРВВ зависит от конкретной модели микроконтроллера. Для хранения переменных помимо регистров общего назначения также используется статическое ОЗУ объемом от 512 байт до 8 Кбайт. Ряд микроконтроллеров семейства, кроме того, имеют возможность подключения внешнего статического ОЗУ объемом до 64 Кбайт. Для долговременного хранения различной информации, которая может изменяться в процессе функционирования готовой системы (калибровочные константы, серийные номера, ключи и т. п.), в микроконтроллерах семейства может использоваться встроенная EEPROM-память. Ее объем составляет для различных моделей от 256 байт до 4 Кбайт. Эта память расположена в отдельном адресном пространстве, а доступ к ней осуществляется с помощью определенных РВВ.
Статическое ОЗУ Прежде всего, следует сказать, что в микроконтроллерах AVR семейства Mega используется линейная организация памяти. Объем статического ОЗУ для различных моделей семейства составляет от 512 байт до 8 Кбайт (см. Табл. 1.1). В адресном пространстве ОЗУ также расположены все регистры микроконтроллеров, под них отведены младшие 96 B56) адресов (см. Рис. 2.15). Остальные адреса отведены под 512/1К/2К/4К...64К ячеек статического ОЗУ
Рис. Организация статического ОЗУ
|