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

Пароль



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

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

Высокое напряжение для операций стирания и программирования FLASH-ПЗУ обеспечивает специальный аналоговый блок схемы управления модулем FLASH08/1, который представляет собой повышающий преобразователь напряжения. Оптимальная частота его работы составляет 2 МГц ±10%. Эту частоту получают путем деления частоты сигала стробирования внутренней шины МК. Коэффициент деления встроенного делителя повышающего преобразователя определяется значением битов FDIV1:FDIV0 регистра управления FLASH-ПЗУ в соответствии с Табл. 3.73. Повышающий преобразователь напряжения включается и отключается только под управлением программы.

Табл. 3.73. Режимы работы делителя частоты повышающего преобразователя напряжения

FDIV1 FDIV0 Коэффициент деления Частота fBUS, требуемая для работы повышающего преобразователя напряжения в номинальном режиме
0 0 1 2 МГц ±10%
0 1 2 4 МГц ±10%
1 0 2 4 МГц ±10%
1 1 4 8 МГц ±10%

Внимание! Выполнение операций программирования и стирания FLASH-ПЗУ в МК, который работает с частотой fBUS<1.8 МГц, невозможно.

Повышающий преобразователь напряжения питается от стабилизатора напряжения, который также является одним из блоков схемы управления модулем FLASH-ПЗУ. Если напряжение питания МК превышает 3.6 В, то для обеспечения работы FLASH-памяти стабилизатор должен быть включен всегда, даже если эта память используется только в режиме считывания. Если напряжение питания VDD£3.6 В, то стабилизатор напряжения можно отключить с целью уменьшения мощности потребления МК. Повышающий преобразователь формирует высокое напряжение для режимов стирания и программирования, не используя стабилизатор. Если при этом стабилизатор не выключить, то вреда не будет, но МК станет потреблять несколько больше. Подключением или отключением стабилизатора управляет бит PWPSGVLVEN в регистре конфигурации CONFIG2. После сброса МК стабилизатор находится во включенном состоянии. В МК с напряжением питания VDD=5.0 В (HC908AZ60 и HC908MR24) стабилизатор должен быть включен всегда, поэтому бит PWPSGVLVEN в регистре конфигурации отсутствует.

Чтобы сократить время выполнения операции стирания предусмотрена возможность объединения некоторого числа блоков FLASH-памяти в массивы с последующим одновременным стиранием всего массива. Размер массива и его расположение в адресном пространстве определяются значением битов BLK1 :BLKO регистра управления FLASH-ПЗУ в соответствии с Табл. 3.74.

Табл. 3.74.Выбор размера блока FLASH-ПЗУ для стирания

BLK1 BLK0 Размер массива [байт] Диапазон адресов массива Примечание
0 0 64К $0000...$FFFF Для GP20: $B000...$FFFF
Для MR24: $A000...$FFFF
0 1 16К От А15А1400 0000 0000 0000 до A15A1411 1111 1111 1111 Определяется значением разрядов А15А14 внутренней магистрали адреса. Для GP20:$B000...$BFFF $C000...$FFFF
Для МН24:$А000... $BFFF $C000...$FFFF
1 0 512 От A15...A90 0000 0000
до А15...A91 1111 1111
Определяется значением разрядов А15...А9 внутренней магистрали адреса
1 1 64 От A15...A600 0000
до А15...A611 1111
Определяется значением разрядов А15.. А6 внутренней магистрали адреса

Опции BLK1:BLK0, рассмотренные в Табл. 3.74, универсальны для МК семейства НС08 с модулем FLASH08/1 независимо от объема его внутренней памяти. Разбиение адресного пространства на массивы определяется картой памяти конкретной модели МК. Так, опция BLK1:BLK0=00 объединяет все блоки, принадлежащие одному модулю FLASH-ПЗУ, в один массив. Максимальная величина памяти этого массива составляет 64К, а реальный объем памяти массива будет равен объему ПЗУ модуля FLASH08/1 конкретного МК (см. примечание к графе BLK1:BLK0=00).

Опция BLK1:BLK0=01 делит максимальный объем встроенной памяти МК семейства НС08 на четыре равные части по 16К:

Массив 1 - $0000...$3FFF.

Массив 2 - $4000...$7FFF.

Массив 3 - $8000...$BFFF.

Массив 4 - $C000...$FFFF.

В МК с меньшим объемом резидентной памяти в массив объединяются все ячейки, принадлежащие к адресному пространству одного из четырех отмеченных теоретических массивов (см. примечание к гpaфe BLK1:BLK0=01).

Для определения адресного пространства массива выбранной величины необходимо, помимо установки битов BLK1:BLK0, установить также указанные в Табл. 3.74 разряды внутренней магистрали адреса. С этой целью после установки бита режима стирания ERASE следует записать любое число в ячейку памяти с адресом, принадлежащим выбранному блоку.

Операцию стирания каждого массива FLASH-памяти следует производить в соответствии с приведенным ниже алгоритмом стирания:

1. Отключите стабилизатор повышающего преобразователя напряжения, если величина напряжения питания МК менее 3.6 В. Выполняется посредством установки в 1 бита PWPSGVLVEN регистра конфигурации CONFIG2 (только для HC908GP20).

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

3. Установите обязательно одной командой значения следующих битов в регистре управления FLASH-ПЗУ:

•   Биты FDIV1:FDIV0 в соответствии с необходимым коэффициентом деления повышающего преобразователя напряжения.

•   Биты BLK1:BLK0 в соответствии с объемом массива, который подлежит стиранию.

•   Бит ERASE=1.

4. Прочитайте регистр защиты FLASH-ПЗУ. В процессе выполнения операции чтения содержимое регистра будет автоматически скопировано в регистр-защелку схемы управления модулем FLASH-ПЗУ.

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

6. Установите в 1 бит HVEN регистра управления FLASH-ПЗУ. Этот бит разрешает работу повышающего преобразователя напряжения, и высокое напряжение стирания прикладывается к ячейкам памяти выбранного массива.

7. Программная задержка

t=terase=100 мс.

8. Произведите сброс бита HVEN.

9. Программная задержка

t=tkill=200 мкс.

10. Очистите бит ERASE.

11. Программная задержка t=tHVD=50 мкс.

12. Произведите контроль выполнения операции стирания. Для этого прочтите в режиме считывания каждый байт массива и убедитесь, что его значение равно $00.

Внимание! Пока выполняется приведенный алгоритм, могут случиться прерывания. Но ни в коем случае не превышайте время стирания terase.

В процессе стирания, а также программирования бит ERASE (или бит PGM) должен быть обязательно установлен перед операцией чтения регистра защиты. Тогда после защелкивания содержимого регистра защиты в процессе его считывания биты ERASE (или PGM) будут сброшены аппаратными средствами, если блок стирания или страница для программирования находятся в адресном пространстве защищенного массива.

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

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

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

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