October 17 2017 05:05:28
Навигация
Авторизация
Логин

Пароль



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

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

Режим считывания используется для выборки кодов команд и данных в процессе выполнения прикладной программы. Работа FLASH-памяти в этом режиме ничем не отличается от аналогичного режима в МК с однократно программируемым ПЗУ. Режим стирания предназначен для подготовки группы ячеек FLASH-памяти к занесению новых кодовых слов. Режим программирования служит для записи в свободную от информации ячейку памяти нового кодового слова. Режим контрольного считывания используется только после режима программирования в модулях FLASH-ПЗУ первого поколения и служит для проверки степени надежности произведенной записи.

Режимы стирания и программирования требуют приложения к FLASH-ПЗУ повышенного напряжения. Схема управления модулем FLASH-ПЗУ содержит встроенный стабилизатор напряжения и повышающий преобразователь напряжения, совместная работа которых обеспечивает требуемый уровень высокого напряжения. Поэтому для стирания и программирования FLASH-ПЗУ не требуется подключения к одному из выводов МК внешнего высокого напряжения.

В процессе эксплуатации устройства на основе МК с FLASH-ПЗУ может возникнуть необходимость стереть или запрограммировать некоторые ячейки памяти под управлением прикладной программы. Для таких случаев предусмотрена аппаратная защита тех блоков FLASH-ПЗУ, которые содержат исполняемый код программы. Реализована защита следующим образом. Модуль FLASH-ПЗУ имеет специальный регистр защиты, в котором отмечаются области FLASH-ПЗУ, не подлежащие стиранию и программированию. При попытке стереть или записать информацию в защищенный массив подача высокого напряжения блокируется схемой управления модуля и информация в защищенном массиве не изменяется. Регистр защиты не следует путать с регистрами байтов секретности FLASH-ПЗУ, которые имеются в составе каждого МК семейства НС08 с FLASH-памятью. Байты секретности препятствуют считыванию FLASH-ПЗУ с целью предотвращения копирования программного обеспечения. Более подробная информация о байтах секретности может быть получена только у авторизованных пользователей фирмы Motorola. Дополнительная информация по этому вопросу содержится в п. 3.5.8.

Алгоритмы стирания и программирования модуля FLASH-ПЗУ первого поколения

Каждая ячейка памяти FLASH-ПЗУ первого поколения в незапрограммированном состоянии при считывании возвращает код $00. Программированию подлежат только те разряды, которые должны содержать 1. Например, если ячейка памяти, содержащая код $АА, должна быть перепрограммирована на новое значение кода $55, то необходимо сначала стереть код $АА, а затем в режиме программирования записать код $55. Если к программированию приступить, минуя этап стирания, то после программирования из ячейки будет считываться код $FF.

Адресное пространство FLASH-ПЗУ МК с модулем FLASH08/1 разбито на блоки и страницы. Каждая страница состоит из 8 ячеек памяти. Каждый блок содержит в себе 8 страниц, или 64 ячейки памяти. Стирание информации осуществляется только блоками или массивами, которые содержат целое число блоков. Время стирания одного блока составляет 100 мс. Запись информации выполняется только постранично. Схема управления модулем FLASH08/1 содержит буфер из 8 однобайтовых ячеек памяти, куда предварительно под управлением программы заносятся коды, подлежащие записи в выбранную страницу. После приложения высокого напряжения в ре­жиме программирования эти коды одновременно переносятся в область FLASH-ПЗУ. Минимальное время программирования одной страницы составляет 1.3 мс, максимальное - 26 мс. Разбиение адресного пространства FLASH-ПЗУ различных МК на блоки приведено в Табл. 3.70.

Табл. 3.70. Разбиение FLASH-ПЗУ на блоки

Порядковые Диапазон адресов блоков (HC908)
номера блоков GP20 GP32 8AZ60 Сегмент 1 8AZ60 Сегмент 2 MR24 MR32 HC(9)08JL3/JK3 HC(9)08JK1
Блок 0 $B000
$B03F
$8000..$803F $8000.....$803F $0450.....
$047F
$A00..
$A03F
$8000...
$803F
$EC00..
$EC3F
$F600...$F63F
Блок1 $B040$B07F $8040..$807F $8040...
$807F
$0480...
$04BF
$A040..$A07F $8040...
$807F
$EC40..
$EC7F
$F640...$F67F
Блок 2 $B080$B0BF $8080.$80BF $8080...$80BF $04C0......$04FFF $A080...$A0BF $8080....$80BF $EC80...$ECBF $F680...$F6BF
...
Блок 6


$05C0...$05FFF



Блок 7


$0E00....$0E3F



...
Блок 23





$FBC0$FBFF
...
Блок 63





$FBC0..$FBFF
...
Блок 311 $FDC0..$FDFF






...
Блок 375



$FDC0.$FDFF

...
Блок 462


$7FC0...$7FFF


...
Блок 503
$FDC0...$FDFF $FDC0...$FDFF

$FDC0..$FDFF

...
Блок регистра защиты $FF80.$FFBF *) $FF80...$FFBF *) $FF80...$FFBF *) *) *)
...
Блок векторов прерывания $FFC0.$FFFF
$FFC0.$FFFF
$FFC0...$FFFF $FFC0...$FFFF $FFC0..$FFFF $FFC0..$FFFF $FFC0.$FFFF $FFC0..$FFFF

Примечание:

*) Регистры защиты этих МК не являются ячейками FLASH-ПЗУ.

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

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

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

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