Структура модуля SIM
Модуль SIM (рис.3.7) содержит генератор тактовых импульсов, блок конфигурации
и контроля, блок внешнего интерфейса, блок генерации сигналов выборки кристалла и три порта C, E, F. Модуль связан с
процессором с помощью внутренней шины. Для подключения внешней памяти и других устройств системы служат 74 внешних вывода,
большинство которых имеет альтернативные функции. Назначение выводов определяется режимом работы соответствующих блоков.
В состав блоков входят регистры, содержимое которых определяет функционирование модуля SIM и процессора. Запись и считывание
содержимого этих регистров позволяют контролировать их работу.
Генератор тактовых импульсов обеспечивает синхронизацию работы всех модулей микроконтроллера, а
также вырабатывает синхросигналы CLKOUT, ECLK для внешних устройств. Блок конфигурации и контроля задает режим работы других
блоков и модулей, определяет назначение ряда внешних выводов. С помощью этого блока обеспечивается определенная конфигурация
цифровой системы, реализуемой на базе микроконтроллера. Кроме того данный блок выполняет ряд функций контроля правильности
работы системы. Блок внешнего интерфейса реализует подключение к микроконтроллеру внешней памяти и ввод-вывод данных через
порты E,F. Блок формирования сигналов выборки расширяет возможности подключения к микроконтроллеру различных внешних устройств,
обеспечивая дополнительные способы их соединения и режимы обмена.
Рис.3.7 Структура модуля SIM
Модуль SIM используется в составе микроконтроллеров, реализованных на базе
процессора CPU16 или CPU32. Процессор CPU32 может работать либо в режиме супервизора, разрешающим доступ ко всем регистрам
SIM, либо в режиме пользователя с ограниченным доступом к регистрам. В табл. 3.14 регистры, доступные только в режиме
супервизора, отмечены символом S в графе "уровень доступа", регистры доступные в обоих режимах, отмечены символом S/U.
Таблица 3.14. Адреса и уровни доступа регистров модуля SIM
Адрес регистра |
Регистр |
Уровень доступа |
старший байт |
младший байт |
$*FFA00 |
|
S |
$*FFA02 |
SIMTR |
S |
$*FFA04 |
SYNCR |
S |
$*FFA06 |
- |
RSR |
S |
$*FFA08 |
SIMTRE |
S |
$*FFA0A-0E |
не используется |
S/V |
$*FFA10 |
- |
PORTE0 |
S/V |
$*FFA12 |
- |
PORTE1 |
S/V |
$*FFA14 |
- |
DDRE |
S/U |
$*FFA16 |
- |
PEPAR |
S |
$*FFA18 |
- |
PORTF0 |
S/V |
$*FFA1A |
- |
PORTF1 |
S/U |
$*FFA1C |
- |
DDRF |
S/U |
$*FFA1E |
- |
PFPAR |
S |
$*FFA20 |
- |
SYPCR |
S |
$*FFA22 |
PICR |
S |
$*FFA24 |
PITR |
S |
$*FFA26 |
- |
SWSR |
S |
$*FFA28-2E |
не используется |
S/V |
$*FFA30 |
TSTMSRA |
S |
$*FFA32 |
TSTMSRB |
S |
$*FFA34 |
TSTSC |
S |
$*FFA36 |
TSTRC |
S |
$*FFA38 |
CREG |
S |
$*FFA3A |
DREG |
S/V |
$*FFA3C-3E |
не используется |
S |
$*FFA40 |
- |
PORTC (CSPDR) |
S/U |
$*FFA42 |
не используется |
S/U |
$*FFA44 |
CSPAR0 |
$*FFA46 |
CSPAR1 |
S |
$*FFA48 |
CSBARBT |
S |
$*FFA4A |
CSORBT |
S |
$*FFA4C |
CSBAR0 |
S |
$*FFA4E |
CSOR0 |
S |
$*FFA50 |
CSBAR1 |
S |
$*FFA52 |
CSOR1 |
|
$*FFA54 |
CSBAR2 |
|
$*FFA56 |
CSOR2 |
|
$*FFA58 |
CSBAR3 |
S |
$*FFA5A |
CSOR3 |
S |
$*FFA5C |
CSBAR4 |
S |
$*FFA5E |
CSOR4 |
S |
$*FFA60 |
|
S |
$*FFA62 |
CSOR5 |
S |
$*FFA64 |
CSBAR6 |
S |
$*FFA66 |
CSOR6 |
S |
$*FFA68 |
CSBAR7 |
S |
$*FFA6A |
CSOR7 |
S |
$*FFA6C |
CSBAR8 |
S |
$*FFA6E |
CSOR8 |
S |
$*FFA70 |
CSBAR9 |
S |
$*FFA72 |
CSOR9 |
S |
$*FFA74 |
CSBAR10 |
S |
$*FFA76 |
CSOR10 |
S |
$*FFA78-7E |
не используется |
|
В структуру SIM входят 50 регистров, обеспечивающих работу различных блоков
микроконтроллера. Каждый из этих 8- или 16-разрядных регистров имеет свой адрес, который размещается в старших позициях
адресного пространства (табл. 3.14). Эти позиции определяются значением бита MM в регистре управления SIMCR
(рис.3.8,а).
Для семейства 68300 старшие четыре разряда 24-разрядного адреса отмечены символом *. Они принимают значение $7 при MM=0
(диапазон адресов $7FFA00-7FFA7E), или $F при MM=1(диапазон адресов $FFFA00-FFA7E).
В процессе установки начального состояния модуль SIM принимает сигналы, поступающие на внешние
выводы BKPT#, MODCLK, D15-0, значения которых определяют базовую конфигурацию системы. При этом сигнал BKPT# разрешает
работу микроконтроллера в режиме отладки BDM (см. раздел Модуль таймерного процессора TPU).
Сигнал MODCLK задает выбор источника тактовых импульсов (см. раздел 3.5.2). Сигналы на выводах
D10-0 определяют назначение выводов портов.
В состав SIM входит блок, обеспечивающий тестирование и отладку. Тестирование выполняется в
процессе заводских испытаний при подаче внешнего сигнала TMSE#=0. В процессе тестирования используются регистры
SIMTR, SIMTRE, TSTMSRA, TSTMSRB, TSTSC, TSTSCB, TSTRC, CREG, DREG (табл. 3.14). В данном разделе их функционирование
не рассматривается. При отладке систем на базе семейства 68300 используется сигнал TSС, подача которого переводит все
выходы микроконтроллера в отключенное состояние. Сигналы на выходах IFETCH#, IPIPE# позволяют контролировать состояние
очереди команд в конвейере. Реализация режима отладки BDM, который выполняется с помощью сигналов, поступающих на выводы
DSCLK, DSI, DSO, FREEZE данного блока, описана в разделе Модуль таймерного процессора TPU