Архитектура mkmc68hc908gp32
На рис. 4.44 приведена внутренняя структура МК MC68HC908GP32 фирмы «Motorola». Микроконтроллер выпущен в конце 1999 г. и является базовой моделью нового семейства 8-разрядных МК с FLASH памятью программ (цифра 9 в аббревиатуре НС(9)08 указывает на наличие FLASH памяти в кристалле МК).
МК включает следующие модули:
• центральный процессор CPU08; разрядность обрабатываемого слова составляет
один байт;
• внутреннюю FLASH память программ объемом 32 Кбайта;
• внутреннюю память данных объемом 512 байт;
• 33 двунаправленных линии ввода/вывода, объединенных в пять портов;
• два модуля процессора событий; каждый с 16-разрядной временной базой и двумя
каналами захвата/сравнения/ШИМ;
• модуль базового таймера для формирования меток реального времени;
• модуль последовательного асинхронного интерфейса SCI;
• модуль последовательного синхронного интерфейса SPI;
• модуль 8-канального 8-разрядного АЦП;
• сторожевой таймер;
• дополнительные системные модули, обеспечивающие работу процессорного ядра.
Обмен информацией между модулями осуществляется по внутренней 8-разрядной магистрали данных и 16-разрядной магистрали адреса. Максимальная частота тактирования межмодульных магистралей fBUS составляет 8 МГц, соответственно длительность машинного цикла, равная1/feus, составляет 125 не. МК может работать только в однокристальном режиме, адресация внешней памяти не предусмотрена.
Процессорное ядро семейства НС08, также как MCS-51, относится к процессорам с
CISC-архитектурой. CPU08 является высокопроизводительным 8-разрядным устройством
обработки данных. Поддерживает 11 способов адресации, имеет команды умножения и
деления. Операция сложения или вычитания однобайтовой константы выполняется за 2
цикла (250 не). Операция умножения двух однобайтовых операндов в формате без знака
занимает 5 циклов (625 не), операция целочисленного деления двухбайтового делимого
на однобайтовый делитель - 7 циклов (875 нc).
МК семейства НС08 имеют объединенное адресное пространство памяти программ, данных и регистров специальных функций периферийных модулей (рис. 4.45) и, как следствие, полную идентичность команд обращения к памяти программ, памяти данных и регистрам специальных функций.
Такая организация имеет ряд преимуществ:
• позволяет интегрировать на кристалл МК практически любое число периферийных модулей;
• позволяет на этапе отладки выполнять программу, которая размещается в ОЗУ МК;
• существенно упрощает процесс программирования.
Внутренняя магистраль адреса позволяет адресовать 64К памяти. В карту памяти (рис. 4.45) включены регистры специальных функций: регистры параллельных портов ввода/вывода, регистры данных и регистры управления периферийных модулей. Адреса регистров специальных функций и ОЗУ располагаются в верхней части карты памяти, начиная с адреса 00h. Это связано с особенностью системы команд, которая позволяет производить операции над отдельными битами ячеек памяти, адрес которых лежит в пределах 00h - 0FFh. Кроме того, система команд CPU08 предусматривает специальные команды для пересылки массива именно в регистры данных периферийных модулей. Каждая такая команда производит пересылку байта, а затем автоматически инкрементирует текущие адреса байта данных в исходном массиве. Отличительной особенностью МК фирмы «Motorola» и семейства НС08 в том числе являются программируемые пользователем векторы прерывания и сброса, которые располагаются в нижней части карты памяти в области ПЗУ.
Модуль FLASH памяти программ МК MC68HC908GP32 имеет в своем составе повышающий преобразователь напряжения, который позволяет выполнять операции стирания и программирования FLASH ПЗУ под управлением программы, размещенной в ОЗУ, без подключения внешнего источника напряжения программирования.
МК MC68HC908GP32 в отличие от ранее рассмотренных представителей семейства
MCS-51 (см. п. 4.2) имеет в своем составе большое число системных модулей. К группе системных модулей относятся:
• модуль системной интеграции;
• модуль генератора тактовой частоты;
• модуль сброса при нарастании напряжения питания;
• модуль распознавания пониженного напряжения питания;
• модуль памяти отладочного монитора;
• модуль прерываний по контрольным точкам.
Модуль системной интеграции выполняет следующие функции:
• формирует на основе импульсной последовательности генератора тактовой часто
ты систему импульсных последовательностей для организации работы центрального
процессора, межмодульных магистралей и периферийных модулей;
• осуществляет арбитраж внутренних и внешних источников прерываний, производит
загрузку векторов прерывания из ячеек памяти в счетчик адреса центрального процессора, управляет процессом перехода к подпрограмме прерывания и возвратом из нее;
• управляет ресурсами МК в различных режимах работы (активном, пониженного энергопотребления, отладочном), обеспечивает взаимный переход между режимами;
• управляет ресурсами МК в состоянии начального запуска (сброса); содержит в себе
аппаратные блоки для реализации сброса по несуществующему адресу и несуществующему коду команды.
Остальные системные модули не принимают непосредственного участия в процессе преобразования цифровых данных. Но они обеспечивают надежную работу аппаратных средств МК и тем самым повышают устойчивость системы преобразования данных к неблагоприятным внешним воздействиям.
МК MC68HC908GP32 имеет достаточно сложную для 8-разрядных МК систему синхронизации. Модуль формирования тактовой частоты CGM08 позволяет обеспечить тактирование центрального процессора CPU08 и периферийных модулей от двух источников: генератора кварцевого резонатора и синтезатора частоты (PLL). Причем возможно динамическое изменение источника тактирования в процессе выполнения прикладной программы. Если синхронизация МК осуществляется от генератора кварцевого резонатора, то его частота должна быть в 4 раза больше частоты тактирования внутренних магистралей. Синтезатор частоты в составе модуля CGM08 позволяет снизить частоту подключаемого кварцевого резонатора до 32,768 кГц при сохранении максимального быстродействия центрального процессора. По способу действия синтезатор частоты является системой импульсно-фазовой автоподстройки частоты, т. е. умножителем частоты генератора кварцевого резонатора. Использование низкочастотного кварцевого резонатора в качестве времязадающего элемента системы тактирования МК позволяет уменьшить уровень электромагнитного излучения, т. е. интенсивность генерации помех.
Модуль сброса по нарастанию напряжения питания совместно с модулем распознавания пониженного напряжения питания выполняет функцию мониторинга напряжения питания БИС МК. Для надежного вступления МК в работу при включении питания необходимо сформировать сигнал сброса определенной длительности, что и выполняет первый из упомянутых модулей. Второй модуль детектирует снижение напряжения питания, при котором работа МК не является устойчивой. В этом случае генерируется внутренний сигнал сброса. Он удерживается до тех пор, пока напряжение питания МК не станет номинальным. Тогда сигнал сброса будет снят, и МК восстановит процесс выполнения прикладной программы.
Аппаратные средства модуля системной интеграции включают систему контроля считывания неправильного кода команды или формирования адреса несуществующей ячейки памяти. Такие неисправности МК могут возникнуть в результате влияния электромагнитных помех. Указанные средства распознают подобные ситуации и восстанавливают работоспособность прикладной программы посредством генерации сигнала сброса. Однако эта функция не является основной для модуля системной интеграции.
Модуль памяти монитора отладки совместно с модулем прерываний по контрольным точкам позволяет организовать режим внутрисистемного программирования и внутрисхемной отладки с минимальными внешними по отношению к МК аппаратными «добавками» (см. п. 4.4). Процесс программирования и отладки прикладной программы становится более экономичным, что снижает стоимость встраиваемой системы на основе МК.