Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Пользователю -> Евстифеев А.В. -> "Микроконтроллеры семейства" -> 23

Микроконтроллеры семейства - Евстифеев А.В.

Евстифеев А.В. Микроконтроллеры семейства — Infineon, 2007. — 318 c.
Скачать (прямая ссылка): microkontrolleri2007.pdf
Предыдущая << 1 .. 17 18 19 20 21 22 < 23 > 24 25 26 27 28 29 .. 100 >> Следующая


В момент разрешения на вход в подпрограмму прерывания или при выполнении команды TRAP, значение CSP-регистра автоматически устанавливается в ноль.

4-20 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Система прерываний и ловушек/С167

Рисунок 4-5

Адресация с помощью указателя сегмента кода

Примечание: При отключенной сегментации, используется напрямую, как 16-битный адрес.

значение

IP

Указатели страниц данных DPPO, DPP1, DPP2, DPP3

Эти четыре не адресуемых побитно регистра используются для указания активных страниц. Нижние 10 бит каждого DPP-регистра выбирают одну из 1024 возможных 16 Кбайтных страниц данных, в то время как верхние 6 бит не используются и зарезервированы на будущее. DPP-регистры позволяют получить доступ к полному пространству памяти, разбитому по 16 Кбайтным страницам.

DPP-регистры используются всякий раз при совершении доступа к любому адресу памяти в режиме косвенной или прямой 16-битной адресации (исключая override доступ, доступ EXTended команд и доступ PEC-передачи данных). После RESET, указатель страницы данных инициализируется таким образом, что все результаты косвенной или прямой 16-битной адресации являются идентичными 18-битной адресации. Это позволяет получить доступ к страницам данных 0... З в сегменте 0, как показано ниже на рисунке. Если пользователь не хочет использовать какое либо деление на страницы, то не требуется предпринимать никаких других действий.

DPP0 (FE00+/00+) Значение после RESET 0000+

DPP1 (fE02h/0 1H) Значение после RESET 0001H

DPP2 (fE04h/02h) Значение после RESET 0002+

DPP3 (fE06h/03h) Значение после RESET 0003+

6-21 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Блок ЦПУ/С 167

Бит

Функция

DPPxPN (О -9 биты)

Номер страницы данных

Устанавливает выбранную страницу данных через DPPx. Только два последних бита DPPx имеют значение при отключенной сегментации.

Использование страниц данных обеспечивается путем сцепления нижних 14 битов косвенного или прямого 16-битного адреса с содержимым DPP-регистра, поставленным на место двух верхних битов. Содержимое выбранного DPP-регистра указывает на одну из 1024 возможных страниц данных. Этот базовый адрес страницы данных вместе с 14-битным сдвигом страницы формирует физический 24/20/18-битный адрес.

В случае использования режима несегментированной памяти, только два самых младших бита DPP-регистра используются для создания физического адреса. Таким образом необходимо соблюдать крайнюю осторожность, при изменении содержимого DPP-регистра, в случае использования несегментированной модели памяти, иначе возможны непредсказуемые результаты. В случае использования режима сегментированной памяти при доступе к внешним данным, выбранное число битов адреса сегмента (9 ... 2, 5. 2 или 3. 2), из необходимого DPP-регистра, выставляется на выводы адреса сегмента А23/А19/А17... А16 Порта 4.

DPP-регистр может быть изменен с помощью любой команды, которая имеет возможность изменять SFR-регистры.

Примечание: Сразу после изменения значения DPP-регистра, новое значение нельзя использовать для вычисления адреса операнда, что обусловлено внутренним конвейером команд (необходимо пропустить один машинный такт).

4-22 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Система прерываний и ловушек/С167

Рисунок 4-6

Адресация с помощью указателя страницы данных DPPx

После RESET или при отключенной сегментации, DPP регистры используют страницы данных 3.0.

Context Pointer (CP)

Этот не адресуемый побитно регистр используется для выбора текущего банка регистров основного назначения (GPR).

SFR

CP (FE10H/08H) Значение после RESET: FCOOh

15 14 13 12 11

10

8

1

0

1 1 1 1 Cp O

г г г г Rw г

Бит Функция
CP Изменение группы регистров CP Устанавливает адрес базового слова текущего банка регистров. При чтении значения регистра CP с битами CP.11 ... CP.9 = «000», CP. 11 ... CP.10 устанавливаются аппаратно в «11», во всех других случаях все биты битового поля «ср» отдают считываемые значения.

Примечание: Пользователь сам устанавливает физические адреса GPR-регистров, с помощью записи значений в CP-регистр, при этом адреса должны быть в области внутренней памяти. При невыполнении этих условий возможны ошибочные результаты.

6-23 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Система прерываний и ловушек/С167

• Не устанавливать значение CP-регистра менее 00Л)600Н и более

oo^fdfe+

• Быть внимательным при использовании старших GPR-регистров при значении CP более 00Л)"Е0Н

Значение CP-регистра может быть изменено с помощью любой команды, которая может изменять значения SFR-регистров.

Примечание: Новое значение CP-регистра не может быть использовано для вычисления адреса GPR-регистра сразу после изменения значения CP-регистра, что связано с внутренним конвейером команд.

Ключевые команды SCXT позволяют сохранить содержимое CP-регистра в стеке и записать в него новое значение за один машинный такт.

Internal RAU
Предыдущая << 1 .. 17 18 19 20 21 22 < 23 > 24 25 26 27 28 29 .. 100 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100