- •1. Конфигурируемая система на кристалле e5 компании Triscend
- •2. Основные аппаратные блоки семейства е5
- •2.1. «Ускоренный» 8051 микроконтроллер
- •2.2 Контроллер прямого доступа к памяти (dma)
- •2.3. Конфигурируемая системная шина (csi)
- •2.4. Конфигурируемая логическая матрица (csl)
- •2.5. Программируемые порты ввода/вывода (pio)
- •2.6 Блок сопряжения с внешней памятью miu
- •2.7. Адресные координаторы
- •Значения старших байтов адреса адресных координаторов Таблица 23
- •2.8 Система отладки
- •2.9. Блок конфигурирующих регистров (cru)
- •2.10. Режимы конфигурации системы
- •2.11. Система тактирования
- •2.11. Архитектура микроконтроллера
- •2.12. Набор команд для управления системой
- •2.13. Система прерываний
- •2.14. Условия системного сброса
- •Содержимое регистров sfr после сброса Таблица 40
- •2.15. Блок управления энергопотреблением
- •3. Словарь
- •4. Политика реализации системы на кристалле
- •5. Описание выводов для кристаллов серии е5
- •Выводы микросхемы семейства е5 и их назначение Таблица 43
- •6. Маркировка кристаллов компании Triscend
- •Te5 20 s 40 - 40 q c
- •7. Область применения cSoC устройств
2.7. Адресные координаторы
Адресные координаторы преобразуют адреса, по которым микроконтроллер обращается к памяти программ, данных и регистрам специального назначения (SFR), в адреса, допустимые на системной шине системы на кристалле Е5 компании Trisend. Микроконтроллер 8051 поддерживает следующие адресные пространства: внешняя память программ, внешняя память данных, внутренняя прямо адресуемая память, внутренняя косвенно-адресуемая память, внутренняя экспортируемая область регистров специального назначения, как показано на рис.32.
рис. 32 Адресное пространство микроконтроллера 8051
Внешняя память программ и память данных занимают по 64 Кбайт адресного пространства каждая. Память программ предназначена для хранения команд и аргументов, используемых в процессе выборки кода, а память данных - для хранения различных пользовательских данных. Обращение к внешней памяти программ и памяти данных, а также к определяемым пользователем SFR (закрашенные прямоугольники на рис.32) по системной шине может быть осуществлено напрямую.
Внутреннее ОЗУ микроконтроллера состоит из прямо и косвенно-адресуемых областей и содержит такие встроенные регистры, как аккумулятор, регистр В, регистры контроля питанием, таймерами и последовательного порта, доступ к которым может быть осуществлен только внутри микроконтроллера. Обращение к внутренней памяти за пределами микроконтроллера недопустимо, поскольку это может привести к программной несовместимости.
Адресные координаторы преобразуют 8-ми или 16-ти битный логический адрес микроконтроллера в 32-х битный физический адрес системной шины и обеспечивают связь микроконтроллера с внешней памятью.
Координаторы распределены между зонами логических адресов. Каждая из этих зон занимает от 256 байт до 64 Кбайт памяти и ссылается на определенную область физических адресов. Зона начинается с любого логического адреса и занимает объем в соответствии с её размерами. В случае найденного соответствия между адресом, микроконтроллера и адресом, на который ссылается координатор, логический адрес будет преобразован в физический.
Рис. 33 Программная среда FastChip использует внутренние кодовые координаторы и координаторы данных для организации 16 Мб карты памяти.
Координаторы разделены по функциональному назначению: кодовые координаторы преобразуют адрес только кодов, координаторы данных - адрес только данных, а координаторы SFR – адрес SFR. Значение координаторов определяется в конфигурирующих регистрах. Каждый координатор имеет:
8 бит адреса зоны, значение которого используются для определения соответствия с ожидаемым логическим адресом A{15:8};
5 бит смещения, которое определяется как логарифм с основанием два от значения размера зоны в байтах;
24 бита - являются старшими битами физического адреса A{31:8};
один бит разрешения.
Рис.34. Блок-диаграмма принципа работы адресного координатора
Значение смещения (5 бит) определяет количество младших бит логического адреса, которые не будут учитываться в операции сравнения с целевым адресом зоны в координаторе. Ввиду того, что все зоны должны иметь размер от 256 байт и больше, то младшие 8 бит логического адреса в процессе сравнения не учитываются. В таком случае, координатор сравнивает старшие 8 бит логического адреса с 8-ю битами целевого адреса зоны и маскирует в соответствии со значением смещения определенное количество младших бит.
После того, как адреса сравнены при установленном бите разрешения координатора, преобразованный адрес выставляется на системную шину. Младшие биты представленного физического адреса являются маскированными битами логического адреса и занимают адресные линии A{15:0}. Но ввиду того, что зоны имеют минимальный размер 256 байт, младший байт логического адреса неизменно переводиться в младший байт физического адреса. Старшие байты физического адреса представлены немаскированными значениями 24 бит координатора.
В случае несоответствия логического адреса с целевым адресом зоны следующий ниже приоритетом координатор проверяет этот логический адрес. Данный процесс будет повторяться для всех координаторов одного типа (данных или кода) до тех пор, пока для логического адреса не найдется соответствие, которое всегда гарантирует координатор самого низкого приоритета.
Выделенные ресурсы системной шины дешифрируют только 24 адресные линии A{23:0}, поскольку старшие 8 линий A{31:24} могут нести диагностическую информацию, используемую в целях отладки.
Смещение, предусмотренное в координаторе, формирует маску, которая используется в процессе определения физического адреса. Смещение определяется как логарифм с основанием два от значения размера зоны в байтах. Маска же рассчитывается по формуле:
Маска=2Смещение-1
Поскольку размер зоны варьируется от 256 байт до 64 Кбайт, то значение смещения равно числу от 8 до 16 (т.е. маскируются либо 8, либо 16 младших бит логического адреса).
Различные системные ресурсы занимают адресные пространства, состоящие из нескольких несмежных участков в 4-х Гбайтовом пространстве, доступном через конфигурируемую системную шину. Программная среда FastChip автоматически формирует 16 Мбайтовую карту памяти, как показано в таблице 20 и на рис.33. Эта карта памяти представляет полные 4 Гбайт, поскольку старшие 8 бит физического адреса имеют значения, представленные в табл.23 и используемые в целях отладки.
Адреса размещенные в системных ресурсах Таблица 20
Физическое адресное пространство |
Адресная зона 8051 (байты) |
Описание |
Замечания |
0 – 0xFFFF |
1К |
Внутренняя ROM |
Доступен после системного сброса |
0x1_0000 –0x1_FFFF |
Зависит от устройства |
Внутренняя XDATA RAM
|
TE502=8K, TE505=16K, TE512=32K, TE520=40K, TE532=64K
|
0x2_0000 –0x02_FFFF
|
256 или 4К |
CRU– системные регистры конфигурации |
|
0x3_0000 –0x7_FFFF
|
Не доступен |
зарезервирован |
Доступен только при отладке |
0x10_0000 –0x7F_FFFF
|
Определяется только пользователем |
“Программные” модули КЛМ, внешние устройства, внешняя память и экспортируемые SFR |
Внешние устройства или блоки памяти, связанные с выводом CE, должны также использовать это адресное пространство. |
0x80_0000 –0xFF_FFFF
|
<= 64K
|
Внешняя память |
Подключенный через MIUпорт |
Кодовые координаторы
Предназначены для переадресации в процессе выборки кода. Существует всего три кодовых координатора, включая кодовый координатор для инициализационных программ, хранящихся во встроенном на кристалле ПЗУ, и два полностью программируемых координатора, как показано в таблице 21.
Кодовые координаторы Таблица 21
Координатор |
Приоритет |
Доступ |
С2 |
1 |
Произвольный |
С1 |
2 |
Произвольный |
С0 (ROM) |
3 |
Всегда доступен |
С0 – кодовый координатор ПЗУ
Имеет самый низкий приоритет. В случае системного сброса микроконтроллер всегда может обратиться к внутреннему ПЗУ. Размер ПЗУ составляет 1 Кбайт, и в памяти программ ПЗУ реализовано в 64 копиях, повторяющих 1 Кбайт.
По окончании программы инициализации другие два кодовых координатора C1 и С2 могут быть запрограммированы на перерегулирование координатора С0.
Кодовый координатор С0 имеет два регистра CMAP0_TAR и CMAP0_ALT, которые находятся в памяти регистров конфигурирующего назначения. В процессе преобразования логического адреса в физический через координатор С0, старший байт физического адреса A{31:24} будет содержать значение одного из регистров, т.е. содержать код операции либо операнд. Это предусмотрено в целях отладки, когда выборки кода операции и операнда различимы. С0 всегда активизирован.
С0 целевой адрес операнда (координатор ПЗУ)
Мнемоника: CMAP0_TAR Адрес:FF00H
С0 целевой адрес кода операции (координатор ПЗУ)
Мнемоника: CMAP0_ALTАдрес:FF01H
С1 и С2 – полностью программируемые кодовые координаторы
Координатор С2 имеет самый высокий приоритет среди других кодовых координаторов. С1 и С2 могут быть разрешены в индивидуальном порядке. Системный сброс приводит к сбросу битов разрешения координаторов С1 и С2, в то время как С0 остается всегда разрешенным. Программная среда FastChip самостоятельно определяет значения для этих координаторов, но пользователь может внести изменения в соответствующие регистры.
C1 целевой адрес (младший байт)
Мнемоника: CMAP1_TAR0 Адрес:FF02H
C1 целевой адрес (средний байт)
Мнемоника: CMAP1_TAR1 Адрес:FF03H
C1 целевой адрес операнда
Мнемоника: CMAP1_TAR2 Адрес:FF04H
С1 целевой адрес кода операции
Мнемоника: CMAP1_ALTАдрес:FF07H
С1 адрес исходной зоны
Мнемоника: CMAP1_SRCАдрес:FF05H
С1 контрольный регистр
Мнемоника: CMAP1_CTLАдрес:FF06H
C2 целевой адрес (младший байт)
Мнемоника: CMAP2_TAR0 Адрес:FF08H
C2 целевой адрес (средний байт)
Мнемоника: CMAP2_TAR1 Адрес:FF09H
C2 целевой адрес операнда
Мнемоника: CMAP2_TAR2 Адрес:FF0AH
С2 целевой адрес кода операции
Мнемоника: CMAP2_ALTАдрес:FF0DH
С2 адрес исходной зоны
Мнемоника: CMAP2_SRCАдрес:FF0BH
С2 контрольный регистр
Мнемоника: CMAP2_CTLАдрес:FF0CH
Координаторы данных
Предназначены для преобразования адреса команд доступа к данным. Всего существуют 6 координаторов данных, как показано в таблице 22 (расположены в порядке приоритета). Координатор D0 отвечает за доступ к внутренней СОЗУ. D1, D2, D4 и D5 полностью программируемы, а D3 предназначен для блока конфигурирующих регистров.
Координаторы данных Таблица 22
Координатор |
Приоритет |
Уровень разрешения |
D3 (CRU) |
1 |
Всегда разрешен |
D5 |
2 |
Дополнительный |
D4 |
3 |
Дополнительный |
D2 |
4 |
Дополнительный |
D1 |
5 |
Дополнительный |
D0(ОЗУ) |
6 |
Всегда разрешен |
D0 – координатор данных ОЗУ
Имеет самый низкий приоритет переадресации команд доступа к данным. Внутренняя системная память ОЗУ является всегда доступной для микроконтроллера после системного сброса и имеет размер и конфигурацию в зависимости от микросхемы.
Например, ТЕ520 имеет ОЗУ 40 Кбайт. «Нижние» 32 Кбайт размещены в пределах адресного пространства 0000h – 7FFFh. Четыре копии «верхних» 8 Кбайт размещены по адресам 8000h, А000h, C000h и E000h, и D0 ссылается на них, если нет другого активного координатора, использующего эти области памяти.
Если координаторы D1 и D2 разрешены, то они способствуют перераспределению ОЗУ. Координатор D3 используется при обращении к конфигурирующим регистрам и имеет один программируемый регистр DMAP0_TAR, значение которого выставляется на старших адресных линиях КСМ A{31:24}. D3 всегда разрешен.
D0 целевой адрес (RAM координатор)
Мнемоника: DMAP1_TARАдрес:FF0EH
D1, D2, D4, D5 – полностью программируемые адресные координаторы данных
Координатор D5 имеет самый высокий приоритет среди всех координаторов данных, кроме D3. D5, D4, D2 и D1 могут быть разрешены в индивидуальном порядке и запрещены после системного сброса. Среда FastChip самостоятельно определяет значения регистрам, но пользователь может их модифицировать.
D1 целевой адрес (младший байт)
Мнемоника: DMAP1_TAR0 Адрес:FF0FH
D1 целевой адрес (средний байт)
Мнемоника: DMAP1_TAR1 Адрес:FF10H
D1 целевой (старший байт)
Мнемоника: DMAP1_TAR2 Адрес:FF11H
D1 адрес исходной зоны
Мнемоника: DMAP1_SRCАдрес:FF12H
D1 контрольный регистр
Мнемоника: DMAP1_CTLАдрес:FF13H
D2 целевой адрес (младший байт)
Мнемоника: DMAP2_TAR0 Адрес:FF14H
D2 целевой адрес (средний байт)
Мнемоника: DMAP2_TAR1 Адрес:FF15H
D2 целевой (старший байт)
Мнемоника: DMAP2_TAR2 Адрес:FF16H
D2 адрес исходной зоны
Мнемоника: DMAP2_SRCАдрес:FF17H
D2 контрольный регистр
Мнемоника: DMAP2_CTLАдрес:FF18H
D4 целевой адрес (младший байт)
Мнемоника: DMAP4_TAR0 Адрес:FF80H
D4 целевой адрес (средний байт)
Мнемоника: DMAP4_TAR1 Адрес:FF81H
D4 целевой (старший байт)
Мнемоника: DMAP4_TAR2 Адрес:FF82H
D4 адрес исходной зоны
Мнемоника: DMAP4_SRCАдрес:FF83H
D4 контрольный регистр
Мнемоника: DMAP4_CTLАдрес:FF84H
D5 целевой адрес (младший байт)
Мнемоника: DMAP5_TAR0 Адрес:FF85H
D5 целевой адрес (средний байт)
Мнемоника: DMAP5_TAR1 Адрес:FF86H
D5 целевой (старший байт)
Мнемоника: DMAP5_TAR2 Адрес:FF87H
D5 адрес исходной зоны
Мнемоника: DMAP5_SRCАдрес:FF88H
D5 контрольный регистр
Мнемоника: DMAP5_CTLАдрес:FF89H
D3 – адресный координатор конфигурирующих регистров
Имеет самый высокий приоритет. Конфигурирующие регистры всегда доступны микроконтроллеру. Для координатора D3 можно определить смещение в 4 Кбайт или 256 байт. После системного сброса для D3 устанавливается смещение в 4 Кбайт. Это означает, что координатор ссылается на верхние 4 Кбайт пространства данных между адресами F000H и FFFFH включительно. По окончании программы инициализации, зона данных координатора D3 уменьшится до 256 байт.
Начальный адрес координатора D3 должен быть привязан к 4-х Кб адресным границам. Все регистры адресных координаторов доступны через D3. D3 всегда разрешен.
D3 целевой адрес
Мнемоника: DMAP3_TAR Адрес:FF19H
D3 адрес исходной зоны
Мнемоника: DMAP3_SRCАдрес:FF1АH
D3 контрольный регистр
Мнемоника: DMAP3_CTLАдрес:FF1ВH
В регистре DMAP3_CTL бит BLOCKSIZE определяет размер смещения. Если BLOCKSIZE=1, то смещение составляет 4 Кбайт (устанавливается автоматически при включении питания); если BLOCKSIZE=0, то - 256 байт.
Адресный координатор, экспортирующий SFR - SFR координатор
Конфигурируемая система на кристалле предоставляет пользователю возможность создания собственных периферийных устройств с использованием встроенной на кристалле конфигурируемой логической матрицы. Это устройство может быть размещено как во внешней памяти данных, так и в памяти SFR. Если устройство размещено в памяти SFR, то контрольные регистры, встроенные в логическую матрицу, занимают регистры в памяти микроконтроллера.
Координатор регистров специального назначения снабжен специальным программируемым регистром XMAP_ALT. При обращении к внешним SFR на адресные линии A{31:24} системной шины выставляется содержимое этого регистра или регистра XMAP_TAR_2 в случае команды latch или pin. Это предусмотрено в целях отладки, когда команды обращения к внешним SFR различимы. В случае системного сброса, бит разрешения координатора сбрасывается.
В сверхоперативной памяти микроконтроллера размещены 128 адресуемых ячеек, предназначенных для размещения регистров специального назначения (см. табл.30). Среда FastChip предотвращает размещение модуля, реализованного в логической матрице, по адресам внутренних SFR, уже используемых микроконтроллером.
При обращении к внешнему экспортируемому SFR на системную шина выставляется 32 битный физический адрес, старший байт которого отображает содержимое одного из регистров XMAP_TAR_2 или XMAP_ALT. Следующие два байта в адресе – содержимое регистров XMAP_TAR_1 и XMAP_TAR_0 соответственно, а последний байт – это младший байт логического адреса микроконтроллера A{7:0}.
Устройство, реализованное в логической матрице, с экспортируемыми регистрами специального назначения может быть также доступно через ссылки внешнего запоминающего устройства, расположенные в координаторах данных. Размещение регистров программного модуля в памяти SFR микроконтроллера способствует быстрому и более простому доступу с использованием команд прямой ссылки. Этот метод также позволяет пользователю применять команды по манипулированию битами этих регистров. Однако значения регистров этого координатора обычно никогда не модифицируются, и их значения загружаются в процессе инициализации.
SFR export целевой адрес (младший байт)
Мнемоника: XMAP TAR 0 Адрес:FЕ20H
SFR export целевой адрес (средний байт)
Мнемоника: XMAP TAR 1 Адрес:FЕ21H
SFR export целевой адрес (LATCH-команда)
Мнемоника: XMAP TAR 2 Адрес:FЕ22H
SFR export целевой адрес ( PIN-команда)
Мнемоника: XMAP ALT Адрес:FЕ24H
Предусмотренные значения старшего байта адреса координаторов
В таблице 23 представлены принятые по умолчанию значения старших адресных битов для каждого из координаторов. Эти значения загружаются в соответствующие регистры в процессе инициализации.
Программная среда FastChip использует их при назначении 32-х битного физического адреса для адресных селекторов логической матрицы. Значения, представленные по умолчанию в таблице 23, и значения регистров адресных координаторов позволяют селекторам логической матрицы выборочно реагировать на различные типы команд.
Например, если устройство FLASH памяти подключено к MIU (устройство сопряжения с внешней памятью), то по некоторому адресу можно обратиться как к сегменту кода или данных. В процессе обычных операций сегмент Flash памяти используется для хранения кода, а в процессе программирования Flash память расценивается как сегмент данных. Различие между кодом и данными отмечено в старшем байте адреса и используется при доступе к одному и тому же физическому адресу.
В другом примере, предположим, что адресный селектор используется для активизации внешней памяти ПЗУ, на которую ссылается кодовый адресный координатор С1. Селектору необходимо реагировать как на выборку операнда, так и на выборку кода операции. В виду того, что регистры координатора имеют следующие значения CMAP1_TAR_2=00101000В (операнд) и CMA1_ALT=000010000В (код), то среда FastChip запрограммирует старший байт регистра маски селектора значением 0010000, делающим способным селектор реагировать на обе выборки кода операции и операнда.
Значения адресных координаторов также используется блоком внутрисхемной отладки, чтобы различать выборки кода операций и операнда при доступе к памяти.
Необходимость различать команды latch и pin возникает, если проектировщик выбирает 8051-совместимые порты ввода-вывода из модульной библиотеки программной среды. Для адресных селекторов логической матрицы нет никакой необходимости различать команды latch и pin.