November 25 2017 11:18:40
Навигация
Авторизация
Логин

Пароль



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

Забыли пароль?
Запросите новый здесь.
два дополнительных алгоритма перехода к отладочному режиму работы
МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА НС08Второй из обсуждаемых дополнительных алгоритмов наиболее привлекателен. При его реализации программа встроенного монитора отладки инициализирует синтезатор частоты в составе модуля CGM08. Вследствие этого отладочный режим работы со скоростью обмена 9600 бод становится возможным при тактировании МК от низкочастотного "часового" кварцевого резонатора fXCLK=32.768 кГц. Алгоритм реализуется, если выполнены следующие условия: * Вход внешнего прерывания ØIRQ установлен в состояние логического нуля. В этом отличие рассматриваемого алгоритма от предыдущего. * Вход внешнего сброса RST подключен к источнику напряжения питания
Последовательность обмена данными между компьютером и МК
МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА НС08Формат кадра для асинхронного обмена данными по однопроводному интерфейсу в отладочном режиме работы представлен на Рис. 3.27. Он включает один стартовый бит, восемь информационных битов и один стоп-бит. Сигнал начала обмена МК с компьютером верхнего уровня (сигнал Break) имеет отличный формат и представляет собой последовательность из 10 нулевых битов (Рис. 3.28). Длительность сигнала начала обмена информирует компьютер об установленной МК скорости обмена.
Команды монитора отладки
МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА НС08Когда МК входит в отладочный режим работы, он выполняет команды программного прерывания SWI и загрузки в стек старшего байта индексного регистра PSHH. Поэтому перед началом выполнения программы монитора отладки данные в стеке размещены в порядке, представленном на Рис. 3.33. При выполнении команды RUN MK восстанавливает содержимое стека. Поэтому для выполнения программы с желаемого адреса необходимо предварительно записать под управлением команд отладки этот адрес в ячейки стека с адресами (SP+5) и (SP+6).
РЕГИСТРЫ КОНФИГУРАЦИИ МК
МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА НС08Каждый МК семейства НС08 имеет один или два регистра конфигурации. Различают два типа регистров конфигурации: * Регистры конфигурации, имеющие название GONFIG, являются ячейками ОЗУ и должны быть запрограммированы под управлением прикладной программы в процессе инициализации МК после начального запуска. * Регистры конфигурации, имеющие название MOR, являются ячейками ПЗУ и должны быть запрограммированы на этапе занесения программы в память МК.
недостаток FLASH ПЗУ
МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА НС08Описанная процедура занимает десятки мс. Кроме того, гарантированное число циклов стирания и программирования для модулей FLASH-ПЗУ первого поколения равно 100. Вследствие этого, описанная процедура в большинстве случаев не позволяет использовать область FLASH-памяти для хранения и изменения параметров прикладной программы в рабочем режиме, т.к. FLASH-память достаточно быстро выработает свой ресурс. Область EEPROM-ПЗУ, напротив, допускает режим побайтного программирования и стирания.
Использование FLASH памяти
МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА НС08Область ПЗУ обычно располагается в нижней части карты памяти. Объем памяти, предоставляемый для размещения кода прикладной программы, окажется несколько меньше того объема, который указан в имени МК. Например, МК HC908GP20 по определению обладает 20 байт памяти программ. Из них для размещения программы пользователя предоставляется 19968 байт (19.5 кбайт). Происходит это потому, что область ПЗУ МК делится на четыре различных по функциональному назначению сегмента: * Сегмент кода программы.
Режимы стирания и программирования
МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА НС08Режимы стирания и программирования требуют приложения к FLASH-ПЗУ повышенного напряжения. Схема управления модулем FLASH-ПЗУ содержит встроенный стабилизатор напряжения и повышающий преобразователь напряжения, совместная работа которых обеспечивает требуемый уровень высокого напряжения. Поэтому для стирания и программирования FLASH-ПЗУ не требуется подключения к одному из выводов МК внешнего высокого напряжения.
Регистр управления FLASH-ПЗУ
МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА НС08Для защиты от несанкционированного стирания/программирования ячеек модуля FLASH08/1 выделена специальная ячейка FLASH-памяти, в которой каждый бит отвечает за защиту обозначенного в спецификации массива. Эта ячейка памяти, хотя и носит название регистра защиты FLBPR, на самом деле не является регистром специальных функций, т.к. содержащиеся в ней данные можно изменить только в отладочном режиме работы МК, используя алгоритмы стирания/программирования FLASH-ПЗУ.
Повышающий преобразователь напряжения
МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА НС08Высокое напряжение для операций стирания и программирования FLASH-ПЗУ обеспечивает специальный аналоговый блок схемы управления модулем FLASH08/1, который представляет собой повышающий преобразователь напряжения. Оптимальная частота его работы составляет 2 МГц ±10%. Эту частоту получают путем деления частоты сигала стробирования внутренней шины МК. Коэффициент деления встроенного делителя повышающего преобразователя определяется значением битов FDIV1:FDIV0 регистра управления FLASH-ПЗУ в соответствии с Табл. 3.73.
приложения высокого напряжения
МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА НС08ля записи информации в ячейки FLASH-ПЗУ первого поколения разработан специальный алгоритм бережного программирования порциями. Сущность алгоритма заключается в том, что высокое напряжение программирования прикладывается к одной странице на короткое время, после чего считывают информацию из всех 8 ячеек памяти страницы. Если значение каждого байта совпадет с тем, которое необходимо записать, то процесс программирования прекращается. Если же при контрольном считывании на месте некоторых единиц оказались нули, то выполняется следующий цикл (порция) программирования без предварительного стирания страницы
Алгоритмы стирания и программирования модуля FLASH-ПЗУ второго поколения
МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА НС08Каждая ячейка памяти FLASH-ПЗУ второго поколения в незапрограммированном состоянии при считывании возвращает код $FF. Программированию подлежат только те разряды, которые должны содержать 0. Например, если ячейка памяти, содержащая код $АА, должна быть перепрограммирована на новое значение кода $55, то необходимо сначала стереть код $АА, а затем в режиме программирования записать код $55. Если к программированию приступить, минуя этап стирания, то после программирования из ячейки будет считываться код $00.

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