Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Микропроцессорная техника / Конспект лекций

.pdf
Скачиваний:
24
Добавлен:
05.03.2016
Размер:
1.71 Mб
Скачать

Рисунок 2.7 – Режимы работы основной системы тактирования MSP430x2xx

Рисунок 2.8 – Типовое потребление моделей MSP430F21x1 в различных режимах.

- биты регистра SR, сохранённые в стеке, могут быть изменены в процедуре

21

обработки прерывания. В этом случае при выполнении команды RETI

микроконтроллер переключится в другой режим работы.

2.4. Принципы программирования устройств с низким

энергопотреблением

В большинстве случаев наиболее действенным методом снижения энергопотребления является максимизация времени пребывания микроконтроллера в режиме LPM3. Типовое потребление тока в этом режиме составляет менее 2 мкА при включенной схеме часов реального времени и полностью активированной системе прерываний. Для формирования тактового сигнала ACLK используется

«часовой» кварц частотой 32 кГц, а ЦПУ тактируется от DCO (выключенного большую часть времени), время выхода на режим которого составляет 6 мкс.

1.Используйте прерывания для «пробуждения» процессора и управления ходом выполнения программы.

2.Включайте периферийные устройства только по необходимости.

3.Используйте вместо программно реализуемых функций встроенные периферийные модули с низким энергопотреблением. Например, Таймер А и Таймер B могут генерировать сигнал с ШИМ и осуществлять захват вне шних сигналов автоматически, без использования ресурсов ЦПУ.

4.Используйте вычисляемые переходы и быстрые табличные вычисления вместо опроса флагов и длительных программных вычислений.

5.Постарайтесь избегать частых вызовов подпрограмм, чтобы снизить накладные расходы.

6.В длинных подпрограммах для хранения данных следует использовать регистры ЦПУ, обращение к которым производится за один такт.

22

316-БИТНОЕ RISC ЦПУ MSP430

3.1.Введение в ЦПУ

ЦПУ MSP430 обладает рядом возможностей, специально предназначенных для поддержки современных методов программирования, таких как вычисляемые переходы, табличные вычисления, а также использование языков высокого уровня,

вчастности, языка Си. Центральный процессор может адресовать память во всём диапазоне адресов без разбиения её на страницы.

ЦПУ MSP430 имеет следующие особенности:

-RISC архитектура, поддерживающая 27 команд и 7 режимов адресации;

-ортогональная архитектура — с каждой из команд может использоваться любой режим адресации;

-полная доступность регистров, включая счётчик команд, регистры состояния и указатель стека;

-однотактные регистровые операции;

-большой 16-битный регистровый файл, уменьшающий количество обращений к памяти;

-16-битная шина адреса, обеспечивающая прямой доступ и ветвление во всём диапазоне адресов;

-16-битная шина данных, позволяющая напрямую оперировать 2 байтными значениями;

-генератор констант формирует шесть наиболее часто используемых значений, уменьшая размер кода;

-прямой обмен данными между ячейками памяти без промежуточной записи

врегистр;

-одно и двухбайтные адресация и форматы команд. Блок схема ЦПУ приведена на рис. 3.1.

3.2.Регистры ЦПУ

Центральный процессор содержит шестнадцать 16 битных регистров.

Регистры R0, R1, R2 и R3 имеют специальные функции. Регистры с R4 по R15

являются рабочими регистрами общего назначения.

3.2.1. Счётчик команд (PC)

16 битный счётчик команд (PC/R0) указывает на следующую команду,

которая будет выполняться. Каждая команда занимает в памяти чётное число байтов (два, четыре или шесть), и на это же значение инкрементируется счётчик команд. Выборка команд осуществляется пословно, при этом счётчик команд

23

указывает на чётные адреса. Формат счётчика команд PC приведён на рис. 3.2.

Счётчик команд может быть адресован всеми командами с использованием любого режима адресации.

Рисунок 3.1 – Блок схема ЦПУ

Рисунок 3.2 – Счётчик команд

24

3.2.2. Указатель стека (SP)

Указатель стека (SP/R1) используется ЦПУ для сохранения адресов возврата из подпрограмм и прерываний. При этом он изменяется по предекрементной /

постинкрементной схеме. Кроме того, указатель стека может использоваться со всеми командами и любыми режимами адресации. Формат указателя стека SP

приведён на рис. 3.3. Указатель стека инициализируется (устанавливается на заданную ячейку ОЗУ) пользователем и выравнивается по чётным адресам.

Рисунок 3.3 – Указатель стека

3.2.3. Регистр состояния (SR)

Использовать регистр состояния (SR/R2) в качестве регистра источника или регистра приёмника могут только команды, оперирующие двухбайтными значениями и только при использовании режима регистровой адресации. Прочие комбинации режимов адресации используются для поддержки генератора констант. Формат регистра состояния SR приведён на рис. 3.4.

Рисунок 3.4 – Формат регистра состояния

Назначение битов регистра SR описано в табл. 3.1.

 

Таблица 3.1 – Биты регистра состояния

Бит

Описание

V

Флаг переполнения. Этот бит устанавливается, если результат

 

арифметической операции выходит за границы допустимых

 

значений для знаковых величин

SCG1

Системный тактовый генератор 1. Когда этот бит установлен,

 

сигнал SMCLK отключён

SCG0

Системный тактовый генератор 0. Когда этот бит установлен,

 

генератор DCO выключен, если сигнал DCOCLK не используется

 

для формирования сигналов MCLK или SMCLK

25

Бит

Описание

OSCOFF

Выключение генератора. Когда этот бит установлен, кварцевый

 

генератор LFXT1 выключен, если сигнал LFXT1CLK не

 

используется для формирования сигналов MCLK или SMCLK

CPUOFF

Выключение ЦПУ. Когда этот бит установлен, ЦПУ выключено

GIE

Общий бит разрешения прерываний. Когда этот бит установлен,

 

маскируемые прерывания разрешены. После сброса все

 

маскируемые прерывания запрещены

N

Флаг отрицательного результата. Этот бит устанавливается, если

 

результат арифметической операции отрицателен, и сбрасывается,

 

если результат положителен

Z

Флаг нуля. Этот бит устанавливается, если результат

 

арифметической операции равен нулю, и сбрасывается в

 

противном случае

C

Флаг переноса. Этот бит устанавливается, если при выполнении

 

арифметической операции возникает перенос, и сбрасывается,

 

если переноса не возникает

3.2.4. Регистры генератора констант CG1 и CG2

С помощью регистров генератора констант R2 и R3 генерируются шесть часто используемых значений. Выбор конкретной константы осуществляется изменением режима адресации регистра источника (As) в соответствии с табл. 3.2.

Таблица 3.2 – Значения, формируемые генератором констант

Регистр

As

Константа

Примечания

R2

00

— — — — —

Регистровый режим адресации

R2

01

(0)

Абсолютный режим адресации

R2

10

00004h

+4, операции над битами

R2

11

00008h

+8, операции над битами

R3

00

00000h

0, операции над словами

R3

01

00001h

+1

R3

10

00002h

+2, операции над битами

R3

11

0FFFFh

–1, операции над словами

Преимущества генератора констант:

-не требуются особые команды;

-не требуется дополнительное слово памяти программ для хранения константы;

-не требуется обращаться к памяти программ для загрузки константы.

Ассемблер автоматически использует генератор констант, если любая из шести указанных констант служит в качестве непосредственного операнда источника. Если регистры R2 и R3 используются в режиме генерации констант, их нельзя адресовать явно — они выступают только в качестве источников.

26

3.2.5. Регистры общего назначения R4…R15

Двенадцать регистров с R4 по R15 являются регистрами общего назначения.

Любой из этих регистров может использоваться в качестве регистра данных,

указателя или индексного значения. Все эти регистры доступны для команд,

работающих как с однобайтными, так и с двухбайтными операндами (рис. 3.5).

Рисунок 3.5 – Операции «регистр — байт» и «байт — регистр»

3.3.Режимы адресации

ЦПУ поддерживает семь режимов адресации для операндов источников и четыре режима — для операндов приёмников. Эти режимы позволяют адресовать любые ячейки в пределах адресного пространства. В табл. 3.3 приводятся значения битов режима As (для операнда источника) и Ad (для операнда приёмника),

соответствующие тому или иному режиму адресации.

Таблица 3.3 – Режимы адресации операндов

As/Ad

Режим

Синтаксис

Описание

 

 

 

 

адресации

 

 

 

 

 

00/0

Регистровый

Rn

Содержимое регистра является операндом

01/1

Индексный

X(Rn)

(Rn + X) указывает на операнд. Значение X

 

 

 

содержится в следующем слове

 

01/1

Относитель-

ADDR

(PC + X) указывает на операнд. Значение X

 

ный

 

содержится

в

следующем

слове.

 

 

 

Используется индексный режим адресации X

 

 

 

(PC)

 

 

 

01/1

Абсолютный

&ADDR

Слово, следующее за командой, содержит

 

 

 

абсолютный адрес. Значение X содержится в

 

 

 

следующем слове. Используется индексный

 

 

 

27

 

 

 

As/Ad

Режим

Синтаксис

Описание

 

 

 

 

адресации

 

 

 

 

 

 

 

 

режим адресации X (SR)

 

 

10/

Косвенный

@Rn

Rn используется в качестве указателя на

 

регистровый

 

операнд

 

 

 

11/

Косвенный

@Rn+

Rn используется в качестве указателя на

 

регистровый с

 

операнд. После выполнения операции

 

автоинкре-

 

значение регистра Rn увеличивается на 1 для

 

ментом

 

команд с однобайтными операндами (.B) и

 

 

 

на 2 для команд с двухбайтными операндами

 

 

 

(.W)

 

 

 

11/

Непосред-

#N

Слово, следующее за командой, содержит

 

ственный

 

значение

константы

N. Используется

 

 

 

косвенный

режим

адресации

с

 

 

 

автоинкрементом @PC+

 

 

28

4 МОДУЛЬ СИНХРОНИЗАЦИИ BASIC CLOCK MODULE+

4.1. Введение

Модуль синхронизации Basic Clock Module+ позволяет снизить стоимость конечной системы и обеспечивает сверхнизкое потребление устройства. Используя один из трёх тактовых сигналов, формируемых модулем, пользователь может добиться оптимального соотношения производительности и энергопотребления.

Модуль синхронизации может быть программно сконфигурирован для работы без использования дополнительных внешних элементов, с одним внешним резистором,

с одним или двумя внешними кварцевыми или керамическими резона торами.

Модуль синхронизации содержит три или четыре источника тактового сигнала:

-LFXT1CLK — низкочастотный/высокочастотный генератор, который может работать с «часовым» кварцевым резонатором или внешним сигналом частотой 32 768 Гц или же с обычными кварцевыми/керамическими резонаторами или внешним сигналом синхронизации частотой от 400 кГц до 16 МГц.

-XT2CLK — опциональный высокочастотный генератор, который может работать с обычными кварцевыми/керамическими резонаторами или внешним сигналом синхронизации частотой от 400 кГц до 16 МГц.

-DCOCLK — встроенный генератор с цифровым управлением (DCO).

-VLOCLK — встроенный низкочастотный генератор с очень низким потреблением, работающий на частоте 12 кГц.

Модуль синхронизации формирует три тактовых сигнала:

- ACLK — вспомогательный тактовый сигнал. Источник выбирается программно: LFXT1CLK или VLOCLK. Посредством делителя частота сигнала от выбранного источника уменьшается в 1, 2, 4 или 8 раз. Сигнал ACLK может программно назначаться для отдельных периферийных модулей.

MCLK — основной тактовый сигнал. Источник выбирается программно: LFXT1CLK, VLOCLK, XT2CLK (если имеется в конкретной модели) или

DCOCLK. Посредством делителя частота сигнала от выбранного источника уменьшается в 1, 2, 4 или 8 раз. Сигнал MCLK используется для тактирования ЦПУ и системы.

SMCLK — дополнительный тактовый сигнал. Источник выбирается программно: LFXT1CLK, VLOCLK, XT2CLK (если имеется в конкретной модели)

или DCOCLK. Посредством делителя частота сигнала от выбранного источника уменьшается в 1, 2, 4 или 8 раз. Сигнал SMCLK может программно назначаться для отдельных периферийных модулей.

Блок схема модуля синхронизации приведена на рис. 4.1.

29

Рисунок 4.1 – Блок схема модуля синхронизации Basic Clock Module+

4.2.Функционирование модуля синхронизации

После сигнала PUC (очистка при включении питания) тактовые сигналы

MCLK и SMCLK формируются из DCOCLK, имеющем частоту около 1.1 МГц

(точное значение приводится в документации на конкретные модели). Сигнал

ACLK формируется из LFXT1CLK, при этом генератор LFXT1 работает в режиме

LF с использованием встроенных конденсаторов (нагрузочная ёмкость — 6 пФ).

Биты управления SCG0, SCG1, OSCOFF и CPUOFF регистра состояния определяют режимы работы ядра MSP430 и включают или отключают отдельные узлы модуля синхронизации. Конфигурирование модуля осуществляется с помощью регистров DCOCTL, BCSCTL1, BCSCTL2 и BCSCTL3.

Изменение конфигурации модуля Base Clock Module+ может быть выполнено программно в любой момент времени.

30