Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
метод1_MSP430.DOC
Скачиваний:
18
Добавлен:
12.03.2015
Размер:
950.27 Кб
Скачать

Приложение б

(справочное)

Архитектура микроконтроллера msp430f2013

На рисунке Б.1 приведена общая структурная схема микроконтроллеров семейства MSP430 [4]. Отдельные устройства подчиняются общим архитектурным принципам и отличаются лишь составом встроенной периферии. Структурно-функциональная схема MSP430F2013 представлена на рисунке Б.2 [3].

Краткий перечень основных характеристик микроконтроллера MSP430F2013:

  • напряжение питания от 1,8 до 3,6 В;

  • сверхнизкое энергопотребление (в активном режиме (Active Mode) – 220 мкА, при частоте 1 МГц и напряжении 2,2 В, в режиме ожидания (Standby Mode) – 0,5 мкА, в режиме отключения с сохранением содержимого ОЗУ (режим сна) – 0,1 мкА);

  • пять режимов экономии энергии;

  • пробуждение из режима ожидания менее 1 мкс;

  • 16-разрядная RISC-архитектура, время машинного цикла - 62,5 нс;

  • 16-битный Таймер А с 2-мя регистрами захвата/сравнения;

  • 16-битный сигма-дельта АЦП;

  • универсальный последовательный интерфейс (USI) с поддержкой SPI и I2C;

  • защита от падения напряжения;

  • возможность программирования в целевой системе через последовательный интерфейс;

  • встроенная схема эмуляции доступна через интерфейс Spy-Bi-Wire;

  • объем памяти: 2кБ+256Б флэш, 128Б ОЗУ;

  • диапазон рабочих температур от –40 до +85 °С.

В основу микроконтроллеров положена архитектура RISC. Регистровая организация и система команд очень близки к широко известной и, в прошлом, весьма популярной архитектуре PDP11 (СМ ЭВМ, ДВК, «Электроника-60», «БК-0010», микропроцессор К1801ВМ2 и т.п.). Центральный процессор (ЦП) имеет 16 встроенных регистров, четыре из которых зарезервированы под счетчик команд (PC), указатель стека (SP), регистр состояния (SR) и генераторы констант (CG).

Генератор констант служит для получения наиболее часто используемых констант (-1, 0, 1, 2, 4, 8) и позволяет, в дополнение к 27 основным командам, эмулировать еще 24 дополнительных инструкции. То, что инструкции эмулируются, не означает снижения производительности.

Эмулируемые инструкции столь же эффективны, как и встроенные, и представляют собой лишь более наглядную нотацию частных случаев использования встроенных команд. Например, типичная однооперандная инструкция (CLR dst) эмулируется двухоперандной инструкцией той же длины (MOV R3,dst) или, что то же самое, (MOV #0,dst), где 0 заменяется ассемблером. В результате имеем однословную инструкцию, отсутствие дополнительных управляющих операций или оборудования в ЦП, регистровый режим адресации для операнда-источника без дополнительного цикла для выборки константы.

Рисунок Б.1 – Структурная схема микроконтроллеров семейства MSP430

Рисунок Б.2 – Структурная схема MSP430F2013

Для доступа к данным применяются семь способов адресации для операнда-источника, и четыре – для операнда-приемника. Большинство инструкций могут работать как с байтами, так и с двухбайтовыми словами. Команды условных переходов и вызовы подпрограмм используют те же самые способы адресации, что и другие инструкции. Скорость работы ЦП зависит от используемых форматов команд и режимов адресации и может составлять от 1 до 6 периодов MCLK на инструкцию.

Микроконтроллеры MSP430 организованы в соответствие с фон-неймановской архитектурой. Память программ, данных и периферия расположены в едином адресном пространстве. В результате для доступа к коду, данным и периферии могут использоваться одни и те же инструкции. Еще одним эффектом применения этой архитектуры является возможность выполнения кода из оперативной памяти.

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

Модуль синхронизации MSP 430F2013, показанный на рисунке Б.3 содержит три источника тактового сигнала [5]:

  • LFXT1CLK – низкочастотный/высокочастотный генератор, который может работать с «часовым» кварцевым резонатором или внешним сигналом частотой 32768Гц или же с обычными кварцевыми/керамическими резонаторами или внешним сигналом синхронизации частотой от 400 кГц до 16 МГц;

  • DCOCLK – встроенный генератор с цифровым управлением (DCO);

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

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

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

  • MCLK—основной тактовый сигнал. Источник выбирается программно: LFXT1CLK, VLOCLK, XT2CLK (отсутствует в MSP 430F2013) или DCOCLK. Посредством делителя частота сигнала от выбранного источника уменьшается в 1, 2, 4 или 8 раз. Сигнал MCLK используется для тактирования ЦПУ и системы.

  • SMCLK—дополнительный тактовый сигнал. Источник выбирается программно: LFXT1CLK, VLOCLK, XT2CLK (отсутствует в MSP 430F2013) или DCOCLK. Посредством делителя частота сигнала от выбранного источника уменьшается в 1, 2, 4 или 8 раз. Сигнал SMCLK может программно назначаться для отдельных периферийных модулей.

Рисунок Б.3 – Структурно-функциональная схема модуля синхронизации Basic Clock Module+

Помимо активного режима (АМ), когда все внутренние синхросигналы активны, поддерживаются также пять режимов, позволяющих в той или иной степени снизить потребляемую микроконтроллером мощность. Эти режимы обозначаются от LPM0 (Low Power Mode 0) до LPM4, и различаются комбинациями включения и отключения синхросигналов MCLK, SMCLK, ACLK и генератора DCO. Во всех пяти режимах центральный процессор выключен. Режим LPM4 (режим сна) является самым радикальным – приостанавливается любая активность микроконтроллера, включая системный генератор, лишь сохраняется содержимое оперативной памяти, регистров и установки портов ввода-вывода. При этом типовая величина потребляемого тока снижается до 0,1 мкА.

Возврат к активному режиму после любого из этих состояний ожидания может быть осуществлен по прерываниям от работающей периферии или от RST/NMI. Выход из режима LPM4 возможен только по разрешенным внешним прерываниям.

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

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

Флэш-память предоставляет дополнительную гибкость внутрисистемного программирования и хранения данных без значительного увеличения потребляемого устройством тока. Напряжение программирования генерируется на кристалле микроконтроллера, таким образом, снимая потребность в дополнительном питании и даже допуская перепрограммирование в системах с батарейным питанием.

Модуль флэш-памяти состоит из нескольких сегментов. Каждый сегмент может стираться и программироваться независимо от других сегментов. Различают области основной и информационной памяти. Основная память содержит сегменты по 512 байт, а информационная – один или два сегмента размером 128 байт. При выполнении операций очистки и программирования весь модуль недоступен, а соответствующий программный код должен выполняться из ОЗУ.

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

Рассматриваемый микроконтроллер MSP430F2013 имеет 2 кБ флэш-памяти и 128 Б оперативной памяти.

В состав модуля 16-битного АЦП SD16_A входит сигма-дельта АЦП, имеющий буфер с высоким входным сопротивлением, и внутренний источник опорного напряжения. Модуль имеет до восьми мультиплексированных полностью дифференциальных аналоговых каналов, включая каналы для измерения сигнала от встроенного датчика температуры и напряжения питания, АЦП реализовано на базе сигма-дельта модулятора второго порядка и децимирующего цифрового фильтра. Для децимации используется гребенчатый фильтр с программируемым коэффициентом передискретизации (до 1024). Дополнительная фильтрация может осуществляться программно.

Порты ввода-вывода общего назначения микроконтроллеров MSP430 обеспечивают максимальную гибкость их использования. Каждый из выводов порта индивидуально конфигурируется в качестве входа или выхода. Запись и чтение ввода/вывода также может осуществляться в индивидуальном порядке.

Порты Р1 и Р2 поддерживают внешние прерывания. Для каждого из выводов портов Р1 и Р2 можно индивидуально разрешить прерывание и сконфигурировать его так, чтобы оно генерировалось по нарастающему или спадающему фронту входного сигнала. Все линии ввода/вывода порта Р1 назначены одному вектору прерываний, а все линии порта Р2 – другому вектору.

Цифровые порты ввода/вывода обладают следующими возможностями:

- независимые индивидуально программируемые линии ввода/вывода;

- любые комбинации входов или выходов;

- индивидуально конфигурируемые прерывания от выводов портов Р1 и Р2;

- раздельные регистры данных для входов и выходов;

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

Микроконтроллеры MSP430F2013 имеют порты P1(8 выводов) и P2(2 вывода).

Модуль универсального последовательного интерфейса USI обеспечивает базовые функции для поддержки синхронного обмена по последовательному каналу. В наиболее упрощенном виде этот модуль представляет собой 8- или 16-битный сдвиговый регистр, который может использоваться для передачи потока битов. В сочетании с незначительным по объему программным кодом данный регистр позволяет реализовать обмен по последовательному каналу. Кроме того, в составе модуля USI имеются функциональные узлы, облегчающие организацию обмена по интерфейсам SPI и I2C. Также в модуле USI предусмотрена поддержка прерываний, что позволяет еще больше уменьшить программные издержки, необходимые для реализации последовательного обмена и, таким образом, уменьшить потребление микроконтроллера в соответствии с идеологией семейства MSP430.

Основная функция модуля сторожевого таймера WDT+ заключается в выполнении управляемого перезапуска системы при некорректном функционировании программы. При «зависании» программы на время, превышающее заданный интервал, модуль генерирует сигнал системного сброса. Если сторожевой таймер в приложении не требуется, то модуль может использоваться в качестве обычного интервального таймера, генерирующего прерывания с заданной периодичностью.

После появления сигнала PUC модуль WDT+ автоматически запускается в режиме сторожевого таймера с интервалом сброса, равным 32 768 тактам сигнала DCOCLK. Пользователь должен сконфигурировать или остановить сторожевой таймер до истечения этого интервала.

Микроконтроллеры MSP430F содержат один или два универсальных таймера (Timer_A и Timer_B) и, возможно, таймер-счетчик общего назначения, называемый в документации базовым таймером.

Timer_A – универсальный таймер, состоящий из 16-разрядного счетчика с четырьмя рабочими режимами и трех или двух регистров захвата/сравнения. Timer_A может осуществлять множественный одновременный счет, множественные операции захвата/сравнения, формирование выходных сигналов специальной формы, в частности ШИМ-сигналы, а также любые комбинации названных операций. Прерывания от таймера А могут генерироваться счетчиком по условиям переполнения, а также каждым из регистров захвата/сравнения по захвату или достижению условия сравнения. Каждый блок захвата/сравнения конфигурируется индивидуально и может производить прерывания по достижению условия сравнения, по положительному, отрицательному или обоим фронтам внешнего сигнала захвата.

В дополнение к таймеру А, микроконтроллеры F13x, F14x, F2x, F43x и F44x содержат еще один таймер аналогичного назначения, называемый Timer_B, содержащий три или семь модулей захвата/сравнения. В зависимости от числа этих модулей, таймер обозначается Timer_B3 или Timer_B7. Таймер В в основном аналогичен таймеру А, однако, по сравнению с последним, имеет некоторые усовершенствования. В частности разрядность таймера можно программно установить на 8, 10, 12 или 16 бит (таймер А всегда 16-разрядный), а использование двойной буферизации данных сравнения позволяет одновременно обновлять периоды ШИМ.

Микроконтроллеры F4xx имеют еще один таймер, называемый Basic Timer (базовый таймер). Основное назначение базового таймера заключается в предоставлении другим периферийным модулям или программному обеспечению низкочастотных управляющих сигналов. Его можно программно сконфигурировать как два независимых 8-разрядных или как один 16-разрядный таймер/счетчик. В частности базовый таймер можно использовать в качестве часов реального времени, для устранения дребезга клавиатур или формирования временных интервалов в прикладных программах.

Микроконтроллер MSP430F2013 имеет один универсальный таймер – Таймер А. Поскольку таймер имеет 2 регистра захвата/сравнения, в документации он обозначается Timer_A2.