Руководство пользователя MSP430 (1041606), страница 2
Текст из файла (страница 2)
RISC-архитектура
RISC(Reduced Instruction Set Computer) - архитектура процессора с сокращенным набором команд. Наиболее важные отличительные особенности RISC архитектуры: архитектура регистр-регистр, простые способы адресации, простые команды и большой регистровый файл. Микроконтроллер MSP430 имеет 27 основных инструкций и 24 дополнительных инструкции, что значительно упрощает процесс генерации команд. Отсутствуют специальные команды обращения к аккумулятору, памяти или к периферийным устройствам. Это существенно повышает эффективность работы процессора. Ядро процессора - 16-битовое RISC ALU и шестнадцать 16-битовых регистров. Четыре регистра выполняют функции программного счетчика (PC), регистра статуса (SR), указателя стека (SP) и регистра констант (CG). Остальные двенадцать 16-битовых регистра - полностью в распоряжении пользователя. Регистры общего назначения используются для хранения переменных, указателей и для операций с данными. Процессор обращается к этим регистрам непосредственно, что содействует высокой эффективности работы микроконтроллера MSP430. Время выполнения команд 1-4 машинных цикла (1-4 mkS).
Режимы энергосбережения
Для эффективного использования энергии батареи семейство микроконтроллеров MSP430 использует пять режимов энергосбережения: LPM0, LPM1, LPM2, LPM3 и LMP4. На рисунке 2 показаны три основных режима энергосбережения LPM из пяти(Low Power Mode).
Рис.2
Ток, потребляемый микроконтроллером MSP430, в нормальном (рабочем) режиме составляет 250 - 400 mkA. Процессор (CPU) и все встроенные периферийные устройства работают в обычном режиме. Основная особенность семейства микроконтроллеров MSP430 заключается в том, что периферия ( модуль ЖКИ, АЦП, таймеры, порты I/O ) может работать автономно, т.е. независимо от процессора. Поэтому, если в течение некоторого промежутка времени CPU не используется, его выключают командой "CPU Off". Потребляемый от батареи ток снижается до 30 mkA (режим LPM0). Допустим, что отпала необходимость в системной частоте (MCLK), которая используется для CPU, АЦП и таймеров. Включаем режим LPM3 - ток, потребляемый от батареи, снижается до 0,8 mkA. Возврат из энергосберегающих режимов LPM0-LPM3 в рабочий режим происходит по внутреннему прерыванию, которое генерируют периферийные модули. Возврат из режима LPM4 (все выключено) возможен только по внешнему прерыванию. Режимы управления потребляемой мощностью переключаются программно. Переходы из любого режима энергосбережения (LPM0-4) в рабочий режим происходят за 6 mkS. Развитая система прерываний ( 15 векторов ) позволяет оперативно управлять работой микроконтроллера, минимизируя время "холостой" работы CPU. Все периферийные устройства имеют индивидуальные вектора прерывания.
Системный генератор
Еще одна особенность, присущая семейству микроконтроллеров MSP430, это генератор с цифровым контролем (DCO). Для работы микроконтроллера достаточно внешнего кварцевого резонатора с частотой резонанса 32 kHz ( частота ACLK ). Генератор DCO формирует системную частоту MCLK, умножая частоту ACLK на множитель из ряда 1,2,3...32. Значение множителя задается программно, при этом частота MCLK принимает значения от 32 kHz до 1 MHz. Системная частота MCLK необходима для CPU, АЦП и таймеров. Программист должен сам выбрать значение MCLK, руководствуясь оптимальным соотношением производительности микроконтроллера и энергосбережения.
Библиотека FPP ( Floating Point Package )
Это приятное дополнение к программному обеспечению микроконтроллеров семейства MSP430 - библиотека математики с плавающей точкой. Библиотека FPP подключается к рабочей программе, занимая в программной памяти 1 килобайт. Библиотека работает с числами в диапазоне от -1.099.1012 до +1.099.1012 . При помощи библиотеки можно выполнять операции сложения, вычитания, умножения, деления, вычисления квадратного корня, вычисления тригонометрических функций и операции сравнения чисел. В состав библиотеки входят конвертеры, преобразующие числа в формат float и обратно. Разработчик получает возможность производить сложные вычисления с большой точностью.
Отладочные средства
Компания Texas Instrument сопровождает все микроконтроллеры семейства MSP430 отладочными устройствами. Эти устройства значительно ускоряют процесс адаптации разработчика к новому для него семейству микроконтроллеров. В таблице 2 показана сводная таблица отладочных устройств, выпускаемых компанией Texas Instruments.
Таблица 2
Микроконтроллер | Симулятор | Программатор | Набор |
MSP430P112 | KickStart | MSP-PRGS430 | MSP-EVK430S110 |
MSP430F11x1 | KickStart | MSP-PRGS430 | MSP-FET430x110 |
MSP430F13x | KickStart | MSP-PRGS430 | MSP-FET430P140 |
MSP430F14x | KickStart | MSP-PRGS430 | MSP-FET430P140 |
MSP430P315 | KickStart | MSP-PRGS430 | MSP-EVK430S330 |
MSP430P325 | KickStart | MSP-PRGS430 | MSP-EVK430S320 |
MSP430P337 | KickStart | MSP-PRGS430 | MSP-EVK430S330 |
Как видно из таблицы, каждой серии микроконтроллеров семейства MSP430 соответствует свой отладочный набор. Микроконтроллеры серии MSP430Pxxx имеют однократно программируемую программную память. Для отработки программного обеспечения необходимо иметь отладочный кристалл серии PMS430Exxx, в котором программная память типа EPROM, т.е. многократно программируемая. В микроконтроллерах серии MSP430Fxxx программная память типа FLASH, поэтому отладочный кристалл для этой серии не нужен. В состав каждого отладочного набора входят: полноценная документация, программное обеспечение, программатор, макетная печатная плата, один или два микроконтроллера ( в зависимости от серии микроконтроллера).
| | Семейство MSP430: опыт применения |
Раздел 1. Архитектура MSP430
Введение
В этом разделе описывается архитектура MSP430
1.1 Архитектура
Микроконтроллеры семейства MSP430 содержат 16-разрядное RISC CPU, периферийные модули и гибкую систему тактирования, соединенные через фон-Неймановскую общую адресную шину (MAB) памяти и шину памяти данных (MDB). Объединяя современное CPU с отображаемыми в памяти аналоговыми и цифровыми периферийными устройствами, семейство MSP430 предлагает решения для приложений со смешанными сигналами.
Семейство MSP430 обладает следующими ключевыми особенностями:
-
Архитектура с ультранизким потреблением, увеличивающая время работы при питании от батарей:
- для сохранности содержимого ОЗУ необходим ток не более 0,1 мкА;
- модуль тактирования реального времени потребляет 0,8 мкА;
- ток потребления при максимальной производительности составляет 250 мкА; -
Высококачественная аналоговая периферия для выполнения точных измерений:
- встроенные модули 12-разрядного или 10-разрядного АЦП скоростью 200 ksps;
- имеется температурный датчик и источник опорного напряжения VRef;
- сдвоенный 12-разрядный ЦАП;
- таймеры, управляемые компаратором для измерения резистивных элементов;
- схема слежения (супервизор) за напряжением питания; -
16-разрядное RISC CPU, допускающее новые приложения к фрагментам кода:
- большой регистровый файл снимает проблему «узкого файлового горлышка»ii;
- компактное ядро имеет пониженное энергопотребление и стоимость;
- оптимизировано для современного высокоуровневого программирования;
- набор команд состоит из 27 инструкций, поддерживается семь режимов адресации;
- расширенные возможности векторных прерываний;
Возможность внутрисхемного программирования Flash-памяти позволяет гибко изменять и обновлять программный код, производить регистрацию данных.
1.2 Гибкая система тактирования
Система тактирования разработана специально для использования в приложениях с питанием от батарей. Вспомогательная низкочастотная система тактирования (ACLK) работает непосредственно от обычного 32 кГц часового кристалла. Модуль ACLK может использоваться в качестве фоновой системы реального времени с функцией самостоятельного «пробуждения». Интегрированный высокоскоростной осциллятор с цифровым управлением (DCO) может быть источником основного тактирования (MCLK) для ЦПУ и высокоскоростных периферийных устройств. Модуль DCO становится активным и стабильным менее чем через 6 мкС после запуска. Решения на основе архитектуры MSP430 позволяют эффективно использовать высокопроизводительное 16-разрядное RISC CPU в очень малые промежутки времени:
-
низкочастотная вспомогательная система тактирования обеспечивает работу микроконтроллера в режиме ультранизкого потребления мощности;
-
активизация основного высокоскоростного модуля тактирования позволяет выполнить быструю обработку сигналов.
Рис.1-1 Архитектура MSP430
1.3 Встроенная эмуляция
Специальная встроенная логическая подсистема эмуляции находится непосредственно в устройстве и доступна через JTAGiii без использования дополнительных системных ресурсов.
Выгоды встроенной эмуляции состоят в следующем:
-
возможна фоновая разработка и отладка на полной рабочей скорости выполнения программы;
-
поддерживается использование контрольных точек и пошаговое выполнение программы;
-
объект внутрисхемной разработки имеет те же характеристики, что и в конечном устройстве;
-
сохраняется целостность смешанных сигналов, на которую не влияют помехи кабельной разводки.
1.4 Адресное пространство
Семейство MSP430 имеет фон-Ньюмановскую архитектуру с единым адресным пространством для регистров специального назначения (SFR), периферии, ОЗУ и Flash-памяти программ, в соответствии с рис.1.2. Конкретное распределение памяти можно узнать из справочных данных на интересующее устройство. Доступ к программному коду выполняется всегда по четным адресам. Данные могут быть доступны как байты или как слова.
Общий объем адресуемой памяти составляет 64 кБ, с учетом предполагаемого расширения.
1.4.1 Flash-память программ
Начальный адрес Flash-памяти зависит от объема имеющейся памяти и различается для разных устройств. Конечный адрес Flash-памяти всегда 0FFFFh. Flash - память может использоваться как для программного кода, так и для данных. Байты или слова таблиц данных могут сохраняться и использоваться непосредственно в Flash-памяти, что исключает необходимость копировать эти таблицы в ОЗУ перед дальнейшим использованием.
Таблица векторов прерываний занимает верхние 16 слов адресного пространства Flash-памяти, при этом вектор прерывания с наивысшим приоритетом находится в самом верхнем адресном слове Flash-памяти (0FFFEh).
1.4.2 ОЗУ
ОЗУ начинается с адреса 0200h. Конечный адрес ОЗУ зависит от объема представленной памяти и различается для каждого конкретного устройства. ОЗУ может использоваться как для программного кода, так и для данных.
1.4.3 Периферийные модули
Периферийные модули отображены в адресном пространстве. Адреса с 0100 до 01FFh зарезервированы для 16-разрядных периферийных модулей. Они будут доступны с помощью команд-слов. Если используются однобайтные команды, допустимы только четные адреса, при этом старший байт результата всегда будет содержать «0».
Адресное пространство с 010h по 0FFh зарезервировано для 8-разрядных периферийных модулей. Эти модули доступны с помощью однобайтных команд. Чтение байтов модулей с помощью команд-слов приведет к появлению в старшем байте непредсказуемого содержимого. Если в байт модуля будут записываться данные в виде слова, то в регистре периферийного модуля сохранится только младший байт этого слова, старший будет проигнорирован.
1.4.4 Регистры специального назначения (SFRs)