Структура модуля 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