Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory.doc
Скачиваний:
29
Добавлен:
18.03.2015
Размер:
1.51 Mб
Скачать

3) Обобщенная структура мк

МК имеет 2 части: базовый функциональный блок, единый для всего семейства, который называется ядром МК, и изменяемый блок (рис. 8.1).

Ядро МК включает: центральный процессор (ЦП); внутренние магистрали адреса, данных и управления; схему синхронизации для тактирования ЦП, схему управления режимами.

Изменяемый функциональный блок включает различные модули памяти, модули периферийных устройств, например, таймеры, АЦП, модули генераторов синхронизации и др.

Среди ведущих производителей МК можно назвать Intel, Motorola, Hitachi, Microchip, Atmel, NEC, Philips, Texas Instruments и другие.

Рис.8.1. Структура МК

Современные МК имеют ядро CISC и RISC архитектуры. В случае CISC архитектуры команды выполняются за 1-3 машинных цикла, причем команды имеют различную длину. При RISC архитектуре большинство команд имеет одинаковую длину.

4) Внутренняя структура МК фирмы Motorola семейства HC08/908

Полотно 121

Общая структура МК 68HC908GP32 приведена на рис. 8.2. МК содержит 8-разрядный процессор CPU08, Flash-память емкостью 32 Кбайт, ОЗУ данных емкостью 512 байт и большой набор служебных и периферийных модулей.

Центральный процессор CPU08 является высокопроизводительным 8-разрядным устройством обработки данных, позволяющим выполнить 90 команд.

Служебные модули. В состав служебных модулей входят:

  • генератор тактовых импульсов CGM08,

  • модуль системной интеграции SIM08,

  • модуль контроля напряжения питания LVI08,

  • модуль прерывания в контрольной точке BREAK08,

  • модуль управления внешним прерыванием IRQ08,

  • сторожевой таймер COP08,

  • базовый таймер TBM08.

Модуль формирования тактирующих сигналов CGM08 генерирует последовательности импульсов, необходимые для тактирования работы процессора и периферийных модулей. Тактирование МК может осуществляться от двух источников: от генератора на кварцевом резонаторе и генератора с синтезатором частоты.

Модуль системной интеграции SIM08 выполняет ряд функций, обеспечивающих совместную работу различных модулей МК. Он работает совместно с другими системными модулями: CGM08, LVI08, IRQ08, BREAK08, COP08, выполняя формирование тактовых импульсов, запуск и перезапуск МК, организацию обслуживания прерываний, реализует различные режимы работы МК. SIM08 производит начальный запуск МК при включении напряжения питания и его перезапуск при поступлении внешнего сигнала на вход RST# или внутреннего сигнала от модуля контроля функционирования COP08, а также при выборке неправильного кода команды и при обращении к несуществующему адресу.

Модуль управления внешним прерыванием IRQ08 обеспечивает различные варианты обслуживания внешнего запроса прерывания, поступающего на вход IRQ#.

Модуль прерывания в контрольной точке BREAK08 реализует механизм останова в контрольной точке в процессе отладки программного обеспечения.

Модуль контроля напряжения питания LVI08 контролирует величину напряжения питания. При уменьшении этого напряжения ниже заданной величины модуль LVI08 переводит МК в начальное состояние (сброс), которое сохраняется до восстановления нормального уровня напряжения питания. Модуль LVI08 вырабатывает сигнал перезапуска МК при снижении его напряжения питания ниже порогового уровня.

Модуль контроля функционирования COP08 генерирует метки времени периодом от 8,1 до 262 мс. Если счетчик не будет сброшен до момента истечения указанного интервала, то МК будет принудительно переведен в состояние начального запуска (сброса).

Модуль базового таймера TBM08 генерирует дискретный набор базовых частот для МПС (1÷4096 Гц). Модуль обеспечивает периодическое формирование запросов прерывания.

Периферийные модули. Периферийные модули обеспечивают обмен данными и совместную работу МК с другими устройствами, входящими в состав системы управления. МК 68HC908GP32 содержит следующие периферийные модули:

-пять параллельных портов A, B, C, D, E для ввода-вывода данных,

  • асинхронный последовательный порт SCI08,

  • синхронный последовательный порт SPI08,

  • модуль контроля клавиатуры KBI08,

  • 8-разрядный аналого-цифровой преобразователь ADC08,

  • два таймерных модуля TIM08-1, TIM08-2.

Параллельные порты. Двунаправленные порты A, B, C, D, E обеспечивают параллельный обмен данными с внешними устройствами. Порты A, B имеют по 8 линий ввода-вывода, порт E – 2 линии, а порты C, D – от 5 до 8 линий в зависимости от числа выводов корпуса, в котором смонтирован МК.

Выводы параллельных портов A, B, D, E совмещены с выводами других периферийных модулей – KBI08, ADC08, TIM08-1, TIM08-2, SPI08, SCI08. При работе вышеуказанных модулей соответствующие выводы параллельных портов служат для передачи сигналов, необходимых для функционирования модуля, и не могут использоваться для параллельного ввода-вывода данных.

Кроме параллельных портов в МК этого семейства используются интерфейсные модули, обеспечивающие последовательный ввод-вывод данных.

Модуль асинхронного связного интерфейса SCI08 реализует стандартный асинхронный протокол передачи 8 или 9 битов данных с одним старт - битом и одним стоп - битом. Скорость обмена программируется и может достигать 130 Кбит/c.

Модуль синхронного периферийного интерфейса SPI08 обеспечивает синхронный последовательный ввод-вывод данных с высокой скоростью - до 4 Мбит/с. Этот модуль служит для быстрого обмена данными между МК и другими устройствами, расположенными на небольшом расстоянии.

Таймерный модуль TIM08 выполняет широкий набор функций, включая фиксацию времени поступления входных сигналов, выдачу выходных сигналов в заданный момент времени, формирование последовательности импульсов заданной частоты и длительности. TIM08 содержит 16-разрядный счетчик, имеющий несколько каналов, которые работают в режиме захвата или совпадения. Каналы имеют входы сигналов захвата IC, выходы сигналов совпадения OC и соответствующие регистры захвата и сравнения.

Различные модификации модулей TIM08 содержат 2, 4 или 6 каналов. Счетчик переключается тактовыми импульсами с возможностью его останова и запуска (режим таймера) или сигналами от внешнего устройства (режим счета внешних событий). Пары каналов таймера могут совместно использоваться для выполнения широтно-импульсной модуляции. Большинство моделей содержит два независимо работающих таймерных модуля.

Модуль АЦП ADC08 реализует аналого-цифровое преобразование поступающих сигналов с разрешением 8 бит. Количество аналоговых входов составляет для различных моделей от 4 до 15. В некоторых моделях используется модификация модуля ADC08, реализующая 10-битное разрешение.

Модуль контроля клавиатуры KBI08 обеспечивает формирование запроса прерывания при поступлении сигнала на определенные входы параллельных портов, которые обычно используются для подключения клавиатуры.

Для размещения МК используются корпуса, имеющие 40, 42 или 44 вывода. Этот микроконтроллер имеет закрытую архитектуру, которая не позволяет подключить внешнюю микросхему памяти.

В мониторе хранится информация (программная), с помощью которой осуществляется отладка.

5) Ядро семейства МК HC08/908MC

Процессорный модуль CPU08, используемый в МК семейства 68HC08, выполняет набор из 90 команд с использованием 9 способов адресации.

Регистровая модель. Процессорный модуль CPU08 (рис.9.1) содержит 8 - разрядные аккумулятор A и регистр признаков CCR,

16-разрядные индексный регистр H:X, указатель стека SP и программный счетчик PC.

Регистр CCR содержит значения следующих признаков:

C - признак переноса (принимает значение C = 1 при возникновении переноса из старшего разряда результата);

Z - признак нуля (принимает значение Z = 1 при нулевом результате);

N - признак знака (равен старшему разряду результата, при обработке чисел со знаком имеет значения N = 0 при положительном результате, N=1 при отрицательном результате);

I - маска прерывания (при значении I=0 обработка прерываний разрешается, при I=1 – запрещается);

H - признак переноса между тетрадами (используется при операциях над двоично-десятичными числами).

V – признак переполнения при обработке чисел со знаком (принимает значение V=1, когда результат выходит за границы диапазона чисел +127…-128).

Программный счетчик PC содержит адрес очередной выполняемой команды. Максимальный объем адресуемой памяти для семейства 68HC08/908 составляет 64 Кбайт, поэтому счетчик PC содержит 16 разрядов. В модели MC68HC908GP32 используется только часть этого адресуемого пространства, поэтому в его адресном пространстве имеются неиспользуемые окна. При обращении к этим окнам модуль SIM08 реализует перезапуск МК, указывающий на наличие ошибки в программе – обращение к несуществующей ячейке памяти.

При запуске и перезапуске МК (процедура RESET) в PC автоматически загружается адрес первой команды выполняемой программы (вектор начального запуска) из двух последних ячеек адресуемой памяти с адресами $FFFE-FFFF (старший байт PCH – младший байт PCL).

7 0

Аккумулятор A

A

15 8

7 0

Н

Х

Индекс. рег. Н:Х

15 0

РС

Программ. сч. PC

SP

Указат. стека SP

7

6

5

4

3

2

1

0

V

1

1

H

I

N

Z

C

Регистр флагов CCR

Рис. 9.1. Регистровая модель процессора CPU08

При первоначальном сбросе РС устанавливается в FFFE÷FFFF, поэтому конец программы выглядит так:

VectRESET: ORG $FFFE; устанавливаем метку в соответствии с ;вектором начального запуска

DW $F600; устанавливаем вектор начального запуска

END; конец программы

Указатель стека SP служит для адресации ячейки ОЗУ, являющейся вершиной стека. При запуске МК (процедура RESET) в SP автоматически загружается значение $00FF, обеспечивая возможность использования в качестве стека ячеек ОЗУ и регистров, имеющих адреса в диапазоне $0000-00FF. При дальнейшей работе процессора в качестве вершины стека может быть использована любая позиция адресуемой памяти в пределах имеющегося в данной модели ОЗУ данных.

Индексный регистр Н-Х. Назначение: хранение адреса операции при индексной адресации. Может использоваться и как обычный регистр, и в операциях умножении и деления.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]