December 17 2017 15:55:12
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
недостаток FLASH ПЗУ
МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА НС08

Некоторые МК (серия AZ) имеют в своем составе ещё один тип памяти - электрически стираемое и программируемое ПЗУ типа EEPROM (см. п. 1.1.4). Интеграция на одном кристалле двух разных типов программируемых пользователем ПЗУ (FLASH и EEPROM) не является избыточной. Дело в том, что FLASH-ПЗУ в первую очередь предназначено для размещения программных сегментов. Схема управления модуля FLASH-ПЗУ предусматривает стирание информации блоками по 64 ячейки памяти. Поэтому для изменения всего одного байта данных в области FLASH-ПЗУ необходимо:

* Скопировать в ОЗУ содержимое 64 ячеек FLASH-памяти, принадлежащих тому блоку, в адресном пространстве которого находится подлежащая изменению ячейка.

* Заменить в полученном массиве один байт данных на желаемый.

* Стереть информацию в рассматриваемом блоке FLASH-ПЗУ.

* Произвести программирование массива из ОЗУ в блок FLASH-ПЗУ.

Описанная процедура занимает десятки мс. Кроме того, гарантированное число циклов стирания и программирования для модулей FLASH-ПЗУ первого поколения равно 100. Вследствие этого, описанная процедура в большинстве случаев не позволяет использовать область FLASH-памяти для хранения и изменения параметров прикладной программы в рабочем режиме, т.к. FLASH-память достаточно быстро выработает свой ресурс. Область EEPROM-ПЗУ, напротив, допускает режим побайтного программирования и стирания. Гарантированное число циклов стирания/программирования EEPROM равно 10000, что делает эту память идеальным энергонезависимым устройством для хранения изменяемых настроек пользователя.

Описанный недостаток FLASH-ПЗУ в значительной степени устранен в модуле FLASH-ПЗУ второго поколения, который входит в состав МК HC908GP32, HC908MR32 и HC908JL3/JK3/JK1: число циклов стирания/программирования равно 10000, время программирования одной страницы составляет »200 мкс.

3.6.2. РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА

img056

Все МК семейства НС08, следуя традициям архитектуры однокристальных МК фирмы Motorola, имеют объединенное адресное пространство памяти и программ, данных и регистров специальных функций. Внутренняя магистраль адреса позволяет адресовать 64К ячеек памяти, все ячейки памяти и регистры специальных функций имеют однобайтовый формат, поэтому максимальный объем резидентной памяти МК семейства НС08 составляет 64 Кбайт. МК семейства НС08 не имеют режима адресации внешней памяти, за исключением модели HC08AZ0, которая предполагает использование только внешнего ПЗУ программ объемом до 64 кбайт.

Особенности распределения адресного пространства НС08 рассмотрим на примере карты памяти МК HC908GP32 (Рис. 3.35). В верхней части карты памяти размещено большинство регистров специальных функций. Такое решение сочетается с методами минимизации времени выполнения программных фрагментов пересылки массивов между памятью и регистрами данных периферийных модулей. Дело в том, что для организации указанных пересылок целесообразно применить команды типа MOV x+,adr и MOV adr,x+. Однако эти команды допускают использование только однобайтовой константы в поле «adr», т.е. позволяют производить пересылки между ячейками памяти нулевой страницы ($0000...$00FF), в которой как раз и расположены регистры данных периферийных модулей, и ячейками с произвольными адресами.

Не все регистры специальных функций расположены в верхней части карты памяти. Часть регистров, к которым в ходе выполнения прикладной программы приходится обращаться крайне редко, расположены в нижней части адресного пространства. Причем, несмотря на то что их адреса соответствуют адресному пространству ПЗУ, большинство регистров остаются доступными как для чтения, так и для записи, т.е. по принципу действия соответствуют ячейкам статического ОЗУ. И лишь несколько регистров по принципу действия являются ячейками ПЗУ типа FLASH или EEPROM. Для записи в такие регистры необходимо использовать специальные алгоритмы программирования FLASH или EEPROM. Одним из описанных регистров является регистр защиты FLASH-ПЗУ (FLCR).

Область статического ОЗУ расположена сразу за областью регистров специальных функций, причем часть ячеек ОЗУ каждого МК расположена в нулевой странице карты памяти. Вспоминая, что команды обращения к ячейкам именно нулевой страницы памяти используют самый широкий набор способов адресации и при этом часто имеют двухбайтовый формат, вследствие чего отличаются малым временем исполнения, в ячейки ОЗУ нулевой страницы следует размещать глобальные переменные прикладной программы.

Полезный совет! Кроме сокращения времени доступа к ячейкам, размещение как можно большего числа временных переменных в нулевой странице ОЗУ обеспечивает существенное сокращение объема загрузочного модуля прикладной программы.

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.05 секунд 2,299,208 уникальных посетителей