В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > 68300 > Архитектура
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


Блок конфигурации и контроля

Данный блок выполняет многообразные функции, связанные с управлением внутренней шиной, контролем правильности выполнения программы, заданием режима работы ряда блоков и назначения отдельных выводов микроконтроллера. В состав блока входят сторожевое устройство, таймер периодических прерываний, монитор шины, схема останова микроконтроллера и регистры, задающие режимы работы или указывающие состояние отдельных схем и блоков.

Основным регистром в данном блоке является регистр конфигурации SIMCR (рис. 3.8,а), отдельные биты которого имеют следующее назначение:

EXOFF - разрешает при EXOFF=0 выдачу внешних синхросигналов на выход CLKOUT, при EXOFF=1 данный выход переводится в отключенное состояние;
FRZSW - запрещает при FRZSW=1 работу сторожевого устройства и таймера периодических прерываний в режиме отладки;
FRZBM - запрещает при FRZBM=1 работу схемы управления внутренней шиной в режиме отладки;
SLVEN - разрешает при SLVEN=1 доступ тестера к внутренней шине микроконтроллера при его заводских испытаниях; этот бит изменяется только в процессе начальной установки;
SUPV - разрешает при SUPV=0 обращение процессора CPU32 к любому регистру микроконтроллера (режим супервизора); при SUPV=1 доступ к регистрам определяется режимом работы процессора CPU32 (супервизор или пользователь) в соответствии с табл.3.14 (этот бит не влияет на работу микроконтроллеров семейства 68HC16, работающих только в режиме супервизора);

MM - определяет значение четырех старших разрядов адреса внутренних регистров для микроконтроллеров семейства 68300: при MM=0 их адреса находятся в диапазоне $7FF000-7FFFFF, при MM=1 - в диапазоне $FFF000-FFFFFF (в табл. 3.14 $*=$7 при MM=0, $*=$F при MM=1; на работу микроконтроллеров 68HC16, использующих 20-разрядный адрес, этот бит не оказывает влияния).

Поле SHEN1-0 в регистре SIMCR определяет возможности внешнего наблюдения и захвата шины при выполнении внутренних циклов передачи: при SHEN1-0=00 запрещается наблюдение и разрешается захват, при SHEN1-0=01 допускается наблюдение и запрещается захват, при SHEN1-0=10 разрешаются наблюдение и захват, при SHEN1-0 допускается наблюдение, а захват шины производится после окончания внутренних циклов. При выполнении внутренних циклов на внешние выводы A23-0 микроконтроллера выдается формируемый адрес, а также устанавливаются сигналы FC2-0, SIZ1-0, R/W#, сопровождающие передачу. Если наблюдение разрешено, то при подаче внешнего сигнала DS#=0 передаваемые данные поступают на выводы D15-0 микроконтроллера. Таким образом обеспечивается возможность отладки выполняемой программы при однокристальном режиме использования микроконтроллера (без подключения внешней памяти). Реализация захвата шины описывается в разделе 3.5.3.

Поле IARB3-0 задает уровень очередности обслуживания запросов прерывания, формируемых модулем SIM. Данное поле содержится в регистрах конфигурации всех внутренних модулей микроконтроллера. Его содержимое устанавливается операционной системой для каждого модуля и может находиться в диапазоне от $F (высший уровень очередности) до $1 (низший уровень). Содержимое IARB3-0 определяет порядок обслуживания запросов с одинаковым приоритетом Li, поступающих от разных внутренних модулей. Поэтому все модули должны иметь различные значения IARB3-0. Если значение IARB3-0=$0, то обслуживание запросов от данного модуля запрещено: поступление такого запроса вызовет исключение с номером Ne=24 (ложное прерывание). При начальной установке микроконтроллера задается значение IARB3-0=$F для модуля системного интерфейса и IARB3-0=$0 для остальных модулей, чтобы исключить какие-либо внутренние прерывания в процессе инициализации.

Табл. 3.16. Значения коэффициента Kw

SWP SWT1-0 Kw
0
0
0
0
1
1
1
1
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
29
211
213
215
218
220
222
224

Сторожевое устройство (watchdog) контролирует правильность выполнения программы путем последовательной загрузки в регистр SWSR чисел $55, $AA аналогично тому, как это выполняется в микроконтроллерах семейств 68HC05, 08, 11. Максимальный период загрузки Tw = Kw / Fq* для моделей с низкой задающей частотой Fq*=25-50 КГц, Tw = 128 Kw / Fq для моделей с высокой задающей частотой Fq = 3,2-4, 2 МГц. Величина коэффициента Kw определяется значениями битов SWP, SWT1-0 в регистре SYPCR (рис. 3.9,а) в соответствии с табл. 3.16. Если за время Tw такая загрузка не произведена, то выполняется сброс микроконтроллера в начальное состояние (RESET).
    Монитор шины вырабатывает внутренний сигнал ошибки обращения к шине BERR# (см. раздел Модуль таймерного процессора TPU), если при выполнении внутреннего или внешнего цикла в течении определенного времени не получены сигналы подтверждения DSACK# или AVEC#. Максимальное время получения подтверждения Tm определяется значениями битов BMT1-0 в регистре SYPCR (рис. 3.9,а) в соответствии с табл. 3.17, где Tt = 1/Ft - длительность такта машинного времени..

Таблица 3.17. Значения максимального времени подтверждения при обращении к внутренней или внешней шине

BMT2-0 Длительность Tм
0 0
0 1
1 0
1 1
64 Tt
32 Tt
16 Tt
8Tt

Установка начального состояния происходит при подаче внешнего сигнала RESET#=0, который должен сохраняться в течении не менее 512Tt. Программно установка начального состояния производится при поступлении команды RESET, при этом устанавливается выходной сигнал RESET#=0. Схема останова прекращает работу процессора при поступлении внешнего сигнала HALT#=0, при возникновении двойной ошибки обращения к шине или при ошибке обращения в процессе начальной установки, а также при выполнении команды LPSTOP (см. раздел Модуль последовательного интерфейса QSM). Если причиной останова является ошибка обращения к шине или команда LPSTOP, то на выходе микроконтроллера устанавливается сигнал HALT#=0. Выход из состояния останова происходит при повторной процедуре начальной установки, если сигнал BERR#=1.


7 6
5 4
3 2
1 0
SWE SWD SWT HME BME BMT

а) SYPCR (адрес $*FFA21)

7 6 5 4 3 2 1 0
EXT POW SW HLT 0 LOC SYS TST

б) RSR ( адрес $*FFA07)

Рис. 3.9. Форматы содержимого регистров SYPCR, RSR

Содержимое регистра SYPCR (рис.3.9,а) определяет работу сторожевого устройства и монитора шины. Биты этого регистра имеют следующее назначение:
    SWE - разрешает при SWE=1 работу сторожевого устройства;
    SWP, ST1-0 - задают значение коэффициента Kw (табл. 3.16);
    HME - разрешает при HME=1 работу схемы останова;
    BME - разрешает при BME=1 монитору шины контролировать получение подтверждения при выполнении внешних циклов;
    BMT1-0 - определяет максимальное время подтверждения при обращении к внутренней или внешней шине (табл. 3.17).
    Биты регистра состояния RSR (рис.3.9,б) указывают причину, которая вызвала начальную установку микроконтроллера:
    EXT = 1 - поступление внешнего сигнала сброса RESET# = 0;
    POW = 1 - включение напряжения питания;
    SW = 1 - сигнал сторожевого устройства;
    HLT = 1 - сигнал схемы останова;
    LOC = 1 - отключение частотно-задающего кварцевого кристалла;
    SYS = 1 - программный сброс с помощью команды RESET (реализуется только в микроконтроллерах с процессором CPU32);
    TST - сброс по команде блока тестирования (реализуется в процессе заводских испытаний микроконтроллера).
    Анализ содержимого RSR выполняется операционной системой в процессе инициализации микроконтроллера, чтобы выявить возможные неисправности.


15
9
8 7
0
0 0 0 0 0 0 0 PTP PITM

a) PITR (адрес $*FFA24)

15
11
10
8
7
0
0 0 0 0 0 PIRQL PIV

б) PICR (адрес $*FFA22)

Рис. 3.10. Форматы содержимого регистров PICR, PITR

Таймер периодических прерываний вырабатывает внутренние запросы векторного прерывания через заданные промежутки времени. Работа таймера программируется путем загрузки содержимого регистра PITR ( рис.3.10,а), задающего длительность периода прерываний Tp, и регистра PICR (рис.3.10,б), определяющего приоритет и номер вектора обслуживания. Период прерываний:


    Tp = 4Kp x Kd / Fq* для моделей с низкой задающей частотой Fq*=25-50 КГц,
    Tp = 512Kp x Kd / Fq для моделей с высокой задающей частотой Fq=3,2-4,2 МГц.



Значение коэффициента Kp указывается в поле PITM регистра PITR, а коэффициент Kd=1 при значении бита PTP=0 или Kd=512 при PTP=1. Уровень приоритета прерываний таймера определяется полем PIRQL в регистре PICR: при PRQL=000 запросы таймера не обслуживаются, при PRQL=001 эти запросы имеют низший приоритет (Li=1), при PRQL=111 - высший приоритет (Li=7). Номер вектора прерывания Ne задается содержимым поля PIV в регистре PICR.