Блок формирования сигналов выборки кристалла
Отдельные сигналы выборки CSBOOT#, CS0-10# формируются при обращении к адресам,
расположенным в определенных разделах адресного пространства. Для каждого сигнала выборки соответствующий раздел - адресный
блок задается путем указания базового (начального) адреса и размера блока, которые определяются содержимым базовых регистров
CSBARBT, CSBAR0-10 (рис.3.12,а). Регистр CSBARBT определяет адресный блок для сигнала CSBOOT#, регистры CSBARi - для сигналов
CSi#. Поле BLKSZ2-0 в этих регистрах задает размер блока (табл.3.21), а в поле A23-11 указываются значения старших разрядов
базового адреса. Число задаваемых разрядов адреса определяется размером блока (табл. 3.21). Например, для блока размером 64
Кбайт в старших разрядах регистра даются значения восьми старших разрядов базового адреса A23-16, а младшие разряды базового
адреса полагаются равными 0. Таким образом в данный блок попадают все адреса, разряды A23-16 которых совпадают со значениями
восьми старших разрядов содержимого базового регистра.
Cигнал SBOOT# обычно используется для выборки блока служебной памяти, который используется в процессе
инициализации микроконтроллера после процедуры начальной установки. Поэтому условия формирования этого сигнала отличаются от
условий формирования остальных сигналов CS0-10#.
а) CSBARBT (адрес $*FFA48), CSBAR0-10 (адрес$*FFA4C-FFA74)
|
|
|
|
|
|
|
|
00 |
CSPA0(6) |
CSPA0(5) |
CSPA0(4) |
CSPA0(3) |
CSPA0(2) |
CSPA0(1) |
CSBOOT |
б) CSPAR0 (адрес $*FFA44)
|
|
|
|
|
|
0 0 0 0 0 0 |
CSPA1(4) |
CSPA1(3) |
CSPA1(2) |
CSPA1(1) |
CSPA1(0) |
в) CSPAR1 (адрес $*FFA46)
15 |
14 13 |
12 11 |
10 |
|
|
|
0 |
MODE |
BYTE |
R/W |
STR B |
DSACKi |
SPACE |
IPL |
AVEC |
г) CS0RBT(адрес $*FFA4A), CS0R0-20 (адрес $*FFA4E-FFA76)
Рис.3.12. Формат содержимого регистров блока формирования сигналов выборки
Таблица 3.21. Размеры адресных блоков и разряды базовых адресов
BLKZ2-0 |
Размер блока |
Разряды базового адреса,задаваемые в поле A23-12 |
0 0 0 |
0 0 1 |
0 1 0 |
0 1 1 |
1 0 0 |
1 0 1 |
1 1 0 |
1 1 1 |
|
2 Кбайт |
8 Кбайт |
16 Кбайт |
64 Кбайт |
128 Кбайт |
256 Кбайт |
512 Кбайт |
1 Мбайт* |
|
A23-11 |
A23-13 |
A23-14 |
A23-16 |
A23-17 |
A23-18 |
A23-19 |
A23-20 |
|
*В микроконтроллерах с процессором CPU16 размер блока
при BLKSZ1,0=111 составляет 512 Кбайт .
При формировании сигналов выборки модуль SIM вырабатывает внутренний сигнал подтверждения
готовности DSACKi и указывает разрядность используемой шины данных, поэтому внешние сигналы DSACK1,0# могут не использоваться.
Модуль SIM позволяет формировать 12 сигналов выборки CSBOOT#, CS0-10#, поступающие на выводы порта
C. Назначение этих выводов определяется содержимым регистров управления CSPAR0,1 (рис.3.12,б,в). Функции каждого из выводов
определяются содержимым соответствующего поля CSBOOT, CSPA0,1(i) в этих регистрах (табл.3.22, 3.23). При значении CSBOOT,
CSPA0,1(i)=10 или 11 обеспечивается формирование сигнала CSBOOT#, CSi# на соответствующем выводе и внутренних сигналов
подтверждения DSACKi с указанием разрядности используемой шины, которая определяет число циклов передачи, выполняемых
микроконтроллером при данном обращении к шине. При CSPA0,1(i)=01 выводы используются для передачи старших разрядов адреса,
сигналов захвата и типа цикла. При CSPA0,1(i)=00 порт C служит для вывода данных, записанных в регистр PORTC, и выдачи
синхросигналов ECLK (см. раздел Генератор тактовых импульсов). Для выводов, не используемых в качестве выходов данных или синхросигнала ECLK, з
апись значений CSBOOT, CSPA0(i=1-3)=00 запрещена. Функциональное назначение выводов, задаваемое при начальной установке,
определяется табл. 3.18
Таблица 3.22. Содержимое полей CSBOOT, CSPA, определяющее
назначение выводов порта C
Поле CSPA |
Сигналы выборки |
Альтернативные сигналы |
Вывод данных, ECLK |
CSBOOT |
CSPA0(1) |
CSPA0(2) |
CSPA0(3) |
CSPA0(4) |
CSPA0(5) |
CSPA0(6) |
|
CSBOOT# |
CS0# |
CS1# |
CS2# |
CS3# |
CS4# |
CS5# |
|
CSBOOT# |
BR# |
BG# |
BGACK# |
FC0 |
FC1 |
FC2 |
|
|
CSPA1(0) |
CSPA2(1) |
CSPA1(2) |
CSPA2(3) |
CSPA1(4) |
|
CS6# |
CS7# |
CS8# |
CS9# |
CS10# |
|
|
|
Таблица 3.23. функциональное назначение выводов порта С
CSPA0,1(i) CSBOOT |
Функциональное назначение выводов порта С |
0 0 0 1 1 0 1 1 |
Вывод данных из регистра PORTC или ECLK
Передача альтернативных сигналов (табл.3.18)
Выдача CS#,(8-разрядная шина данных)
Выдача CS# (16-разрядная шина данных) |
Содержимое регистров CSORBT, CSOR0-10 (рис.3.12,г) определяет условия формирования
соответствующих сигналов выборки CS# (CSBOOT# или CSi#) и внутренних сигналов подтверждения готовности DSACKi. Рассмотрим
назначение отдельных битов и полей содержимого этих регистров.
Поле BYTE запрещает формирование сигнала выборки, если значение BYTE=00. При значении BYTE=01 сигнал
выборки CS#=0 выдается только при передаче младшего байта, при BYTE=10 - только старшего байта, при BYTE=11 - при передаче
обоих байтов.
Значение битов MODE, STRB задает момент выдачи сигнала выборки. При значении MODE=1 (синхронная выборка)
сигнал выборки принимает значение CS#=0 при выдаче очередного внешнего синхросигнала ECLK. При MODE=0 (асинхронная выборка)
сигнал выборки CS#=0 выдается одновременно с формированием строба адреса AS#=0, если значение бита STRB=0, или строба данных
DS#=0, если STRB=1.
Поле R/W определяет вид цикла, при выполнении которого выдается сигнал выборки: только при чтении,
если значение R/W=01, только при записи, если R/W=10, в обоих случаях, если R/W=11 (значение R/W=00 не используется).
Поле DSACK определяет условия формирования внутреннего сигнала готовности DSACKi при выдаче сигнала
CS#. При значении DSACK=1111 сигнал DSACKi формируется при поступлении внешних сигналов DSACK1,0# (см. раздел Блок внешнего интерфейса и порты ввода - вывода).
Остальные значения поля DSACK вызывают формирование внутренних сигналов готовности DSACKi независимо от поступления внешних
сигналов DSACK1,0#. Если значение DSACK=1110, то выполняются циклы ускоренного обмена, при которых передача данных производится
в течении двух тактов, а не трех, как при обычном обмене (рис.3.11). Если заданы значения DSACK от 0000 до 1101, то формируются
сигналы DSACi, вызывающие введение в цикл обмена от 0 до 13 тактов ожидания между тактами S1 и S2. Число вводимых тактов ожидания
равно значению поля DSACK. Таким образом обеспечивается возможность обращения к внешним устройствам с различным быстродействием.
Поле SPACE указывает тип выполняемого цикла, при котором разрешается формирование сигналов CS#. Тип
цикла определяется сигналами FС2-0 (табл.3.19), которые выдаются процессором. При значении SPACE=01 сигнал выборки формируется
только в циклах, выполняемых в режиме супервизора, при SPACE=10 - в циклах, выполняемых в режиме пользователя, при SPACE=11 -
в обоих типах циклов, при SPACE=00 - в циклах подтверждения прерывания.
Значения поля IPL и бита AVEC учитываются только при выполнении циклов подтверждения прерывания
(SPACE=00). В этом случае сигнал CSi#=0 выдается при любом уровне приоритета обслуживаемого запроса, если значение поля
IPL=000. Другие значения этого поля указывают уровень запроса Li, при обслуживании которого разрешается формирование сигнала
CS#. Бит AVEC используется в цикле подтверждения прерывания, чтобы обеспечить обслуживание внешних устройств, не вырабатывающих
сигнал подтверждения автовекторного прерывания AVEC#=0. Если установлено значение бита AVEC=1, то при поступлении внешнего
запроса прерывания IRQi# в цикле его подтверждения автоматически вырабатывается внутренний сигнал AVEC#, обеспечивающий
автовекторное обслуживание запроса в соответствии с его уровнем приоритета Li (см. раздел Исключения, прерывания и режим отладки BDM).
Формирование сигнала выборки CSi# производится при совпадении следующих факторов:
- значений заданных в регистре CSBARi разрядов базового адреса и соответствующих разрядов адреса, установленного в данном цикле;
- кода типа цикла FC2-0 и типа цикла, указанного в поле SPACE;
- видов цикла, определяемых сигналами R/W# и полем R/W;
- уровня приоритета запроса прерывания, указанного разрядами A3-1 адреса, и значением поля IPL (только для циклов
подтверждения прерывания ).
В этом случае на соответствующем выводе порта C в заданный момент времени
формируется сигнал CSi#=0 и выполняется цикл обмена с требуемым числом тактов ожидания.
Использование сигналов выборки значительно упрощает подключение к микроконтроллеру памяти и внешних
устройств с различным быстродействием