16-РАЗРЯДНЫЕ МИКРОКОНТРОЛЛЕРЫ MSP430F

16.06.2023 |

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

Микроконтроллеры MSP430F обладают всеми достоинствами, присущими выпущенным ранее микро- контроллерам семейства MSP430 [1-7]. С появлением понятия “система на кристалле” (System on a Chip – SoC) фирма Texas Instruments причислила микроконтроллеры семейства MSP430F к SoC-подобным изделиям [1, 5], хотя следует отметить, что по степени интеграции периферийных устройств они и уступают, к примеру, микроконтроллерам 68HC908 компании Motorola, которые имеют более широкий набор встроенных устройств для связи с “внешним миром” (CAN, j1850, USB и другие).

Все микроконтроллеры MSP430F реализованы на базе модульной архитектуры, что дает возможность сравнительно просто модифицировать их путем добавления новых периферийных устройств и улучшения параметров уже существующих. Процессорное ядро, память и периферийные устройства объединены шинами данных MDB и адреса MAD.

Микроконтроллеры семейства MSP430F различаются между собой объемом встроенной флэш-памяти (от 1 кбайт в MSP430F1101 до 60 кбайт в MSP430F149/1491/449) и RAM-памяти (от 128 байт в MSP430F1101/1111 до 10240 или 5120 байт в MSP430F1611/10/12), а также набором периферийных устройств. В таблице приведены основные параметры микроконтроллеров MSP430F [1]. Как и во всех микроконтроллерах с закрытой архитектурой, в MSP430F не реализованы шины для обмена данными с внешней памятью. Все микроконтроллеры MSP430F реализованы на базе 16-разрядного процессорного ядра с RISC-архитектурой, работают при напряжении питания от 1.8 до 3.6 В, имеют 16- разрядный “сторожевой” таймер и предназначены для работы в диапазоне температур от -40 до 85 °С.

В некоторых микроконтроллерах семейства MSP430F имеется встроенный аппаратный умножитель (см. таб- лицу). Максимальная производительность всех приведенных в таблице микроконтроллеров составляет 8 MIPS (при напряжении питания 3.6 В и тактовой частоте процессорного ядра 8 МГц). На рис. 1 приведен график зависимости тактовой частоты процессорного ядра от напряжения питания [3, 4]. В микроконтроллерах MSP430F11х2/12х2 реализован контроллер DTC (Direct Transfer Controller), выполняющий пересылки данных из АЦП во встроенную память, что позволяет при цифровой обработке сигналов увеличить производительность этих микроконтроллеров по сравнению с аналогичными примерно в 50 раз.

В MSP430F1122/1132 имеется 10-разрядный пятиканальный АЦП и встроенный температурный дат- чик. В MSP430FE412/13 также содержится температурный датчик, а, кроме того, реализовано два 16- разрядных сигма-дельта АЦП [1]. Новые микроконтроллеры MSP430F1610/11/12 отличаются большим объемом памяти и имеют встроенный многоканальный 12-разрядный АЦП с максимальной частотой преобразования 200 кГц, два 12-разрядных ЦАП, аппаратный умножитель, два последовательных пор- та, встроенный температурный датчик, контроллер прямого доступа к памяти, 10-канальный генератор ШИМ-сигнала, а также поддерживают интерфейс I2 C [1, 5].

Рис. 1. График зависимости тактовой частоты MSP430F13х/14х от напряжения питания

При рассмотрении микроконтроллеров семейства MSP430F нельзя обойти вниманием и микросхему радиочастотного приемопередатчика TRF6900A фирмы Texas Instruments, которая, хотя и не входит в состав семейства микроконтроллеров MSP430F, предназначена для непосредственного подключения к ним [6].

Микросхема TRF6900A применяется в распределенных системах сбора данных для организации радиосвязи в диапазоне частот от 850 до 950 МГц в пределах ограниченной территории. Режим работы приемопередатчиков полудуплексный, применяемая модуляция – частотная.

Основные параметры микроконтроллеров семейства MSP430F

Тип MSP430F Память, байт Умно­житель Кон­трол­лер DMA Коли­чество линий ввода/ вывода АЦП ЦАП 16-разр. таймеры Драй­вер ЖКИ, сег­менты Количество выводов и тип корпуса
флэш RAM А В
1101А 1 К 128 14 интегри­рующий + 20 DGV^DW, PW, 24 HgE
1111А 20 DGVlDW, PW, 24 hGE
1121А 256 20 DGV, DW, PW, 24 RGE
1122 5 каналов, 10-раз­рядов 20 DW, PW, 32RHB
1132 20 DW, PW, 32RHB
1232 22 28 DW, PW, 32RHB
147 32 К 1 К + 48 8 каналов, 12 раз­рядов + 64 PM, RTD, PAG
148 48 К 64 PM, RTD, PAG
149 60 К 64 PM, RTD, PAG
1471 32 К 1 К интегри­рующий 64 PM, RTD
1481 48 К 64 PM, RTD
1491 60 К 64 PM, RTD
155 16 К 512 + 8 каналов, 12 раз­рядов 1我品- рядных 64 PM
157 32 К 1 К 64 PM
168 48 К + 64 PM
169 60 К 64 PM
1610 32 К 5120 64 PM
1611 48 К 10 240 64 PM
1612 50 К 5120 64 PM
423 8 К 256 14 1 ^раз­рядник сигма- дельта 128 64 PM
425 16 К 512 64 PM
447 32 К 1 К + 48 8 каналов, 12 раз­рядов + 160 100 PZ
448 48 К 100 PZ
449 60 К 100 PZ

Архитектура микроконтроллеров семейства MSP430F включает: 16-разрядное центральное процессорное устройство (CPU); память хранения программ типа флэш и хранения данных – RAM; JTAG-порт; системные модули; широкий набор периферийных устройств. Микроконтроллеры MSP430F отличаются меж- ду собой объемом встроенной памяти, набором периферийных устройств и типом корпуса (см. таблицу).

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

Системные модули:

  • базовый модуль формирования тактовых сигналов (Base Clock Module – BCM), в составе которо- го имеются два генератора и формирователь так- товых сигналов
  • JTAG-порт
  • “сторожевой” таймер (Watchdog Timer) • модуль перезапуска (Power on Reset – POR).

Периферийные устройства:

  • таймер А (Timer A) • таймер B (Timer B) • АЦП (ADC)
  • ЦАП (DAC)
  • компаратор (Comparator A) • USART-порт • порты ввода/вывода (I/O Port) • драйвер ЖКИ (LCD).

Структурная схема микроконтроллеров типа MSP430F14х приведена на рис. 2.

Рис. 2. Структурная схема микроконтроллеров типа MSP430F14х

Режимы работы. Микроконтроллеры MSP430F предназначены для использования в портативных устройствах, работающих от встроенных элементов питания. Поэтому при разработке микроконтроллеров MSP430F особое внимание было уделено минимизации энергопотребления, что, в свою очередь, позволяет продлить срок службы элементов питания. Ток потребления зависит от частоты тактового сигнала и напряжения питания, причем, как известно, ток потребления и тактовая частота связаны прямой пропорциональной зависимостью [3]. Поэтому, зная ток потребления при конкретной величине тактовой частоты, можно определить ток потребления микроконтроллера на любой другой частоте. Например, ток потребления микроконтроллеров MSP430F13х/14х при тактовой частоте fMCLK=fSMCLK=1 МГц, fACLK=32 768 Гц в диапазоне температур -40…85 °С и напряжении питания 2.2 В составляет 280 мкА (типовое значение) [3].

Кроме того, фирма Texas Instruments в документации на микроконтроллеры MSP430F13х/14х приводит следующую расчетную формулу для определения то- ка потребления в активном режиме (Active Mode – AM) в зависимости от напряжения питания: IAM(Eпит)=IAM(3 B)+(Eпит-3 B)×175 мкА/В [3].

В микроконтроллерах MSP430F заложены широкие возможности по управлению энергопотреблением, которые реализуются за счет отключения тактового сигнала процессорного ядра (MCLK) и периферийных устройств (SMCLK), а также за счет уменьшения частоты соответствующих тактовых сигналов. Поэтому у разработчиков всегда имеется возможность выбора наиболее оптимального режима работы микро- контроллера. Во-первых, всегда можно установить такую тактовую частоту процессорного ядра, которая обеспечит наиболее оптимальную производительность для решения каждой конкретной задачи. Во- вторых, можно минимизировать ток потребления периферийных устройств за счет уменьшения частоты тактового сигнала или его отключения. В-третьих, можно ограничить время работы микроконтроллера в активном режиме, то есть после выполнения необходимых вычислений микроконтроллер следует переключать в один из пяти энергосберегающих режимов.

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

В микроконтроллерах MSP430F заложены шесть режимов работы: активный (AM) и пять энергосберегающих LPM0…LPM4 (Lower Power Mode). Выбор режимов работы микроконтроллера осуществляется программно (разряды CPUOff, OSCOff, SCG0, SCG1 в регистре состояния процессорного ядра). На рис. 3 приведена диаграмма зависимости тока потребления микроконтроллеров MSP430F13х/14х от режима работы и напряжения питания [4].

Рис. 3. Диаграмма зависимости тока потребления MSP430F13х/14х от режима работы и напряжения питания

Генерация и формирование тактовых сигналов, за счет изменения частоты которых осуществляется управление электропотреблением микроконтроллеров MSP430F, выполняются в базовом модуле формирования тактовых сигналов. В микроконтроллерах MSP430F1хх и MSP430F4хх реализованы разные структуры этого модуля. Базовый модуль формирования тактовых сигналов микроконтроллеров MSP430F1хх содержит: два генератора ХТ1 и ХТ2; формирователь тактовых сигналов и RC-генератор, управляемый кодом (Digitally-Controlled Oscillator – DCO). Модуль генерирует и формирует тактовые сигналы для работы процессорного ядра (MCLK) и периферийных устройств (SMLK), а также вспомогательный тактовый сигнал ACLK, который также может использоваться для периферийных устройств. Сверхэкономичный генератор ХТ1 предназначен для подключения “часового” (32 768 Гц) кварцевого резонатора, а также керамического (частота от 450 до 8000 кГц) или кварцевого (частота от 1000 до 8000 кГц) резонатора. При подключении “часового” резонатора обеспечивается минимальный ток потребления. Генератор ХТ2 предназначен только для работы с высокочастотными керамическими или кварцевыми резонаторами (частота от 450 до 8000 кГц). Для подключения “часового” кварца не требуются дополнительные внешние компоненты. Все тактовые сигналы (ACLK, MCLK, SMCLK) через соответствующие выходы портов ввода/вывода могут использоваться внешними по отношению к микроконтроллеру устройствами. Встроенный DCO генерирует фиксированный набор частот и обеспечивает возможность работы микроконтроллера и без использования внешних резонаторов. Однако DCO присущи все те недостатки, которыми отличаются RC-генераторы – зависимость генерируемой частоты от напряжения питания и температуры. Поэтому для получения стабильной частоты тактирования микроконтроллеров MSP430F1хх необходимо использовать внешние кварцевые резонаторы. Хотя DCO генерирует фиксированный набор частот, среднее значение частоты на выходе DCO на длительном интервале времени может быть выбрано любым, т. е. отличаться от фиксированных частот из набора DCO, что достигается за счет поочередной коммутации на выход DCO сигналов двух соседних частот из набора в любом заданном соотношении длительности подключения. Переключение частот осуществляется специальным устройством – модулятором, а управление его работой – программно. В отличие от генераторов с кварцевыми резонаторами, которые имеют сравнительно большое время выхода на рабочий режим после включения питания (примерно несколько миллисекунд), время выхода на рабочий режим DCO составляет всего 4 мкс. Таким образом, гарантированное время перехода микроконтроллеров MSP430 из энергосберегающих режимов в активный (AM) составляет 6 мкс.

Процессорное ядро. RISC-подобное фон-неймановское процессорное ядро содержит шестнадцать 16-разрядных регистров, из которых четыре составляют: программный счетчик, указатель стека, регистр состояния и регистр формирования констант. Другие двенадцать регистров можно использовать в качестве регистров общего назначения, в том числе и как аккумуляторы, адресные регистры (для косвенной адресации), регистры для хранения операндов. Процессорное ядро выполняет набор инструкций (27 основных RISC-подробных и 24 дополнительных), совместимых с инструкциями, реализованными в других микроконтроллерах семейства MSP430. Во всех типах инструкций могут быть реализованы семь способов адресации. Отдельный аппаратный умножитель позволяет увеличить производительность процессорного ядра при выполнении операций цифровой обработки сигналов. Умножитель выполняет знаковые и беззнаковые операции умножения (16×16, 16×8, 8×16 или 8×8 разрядов), а также умножение с накоплением.

Память. В микроконтроллерах MSP430F имеется память типа флэш и RAM. Сверхэкономичная флэш- память включает основной блок, состоящий из сегментов объемом по 512 байт, и дополнительную (информационную) память, которая состоит из сегментов А и В, по 128 байт каждый. Стирание и запись в основную память могут выполняться одновременно во всех сегментах или отдельно в каждом из них. Для выполнения операций стирания/записи во флэш-память не требуется специальный внешний источник напряжения. В процессе операции стирания/записи не допускается выполнение программы, размещенной во флэш-памяти, при этом все прерывания должны быть запрещены. Если в процессе стирания/записи необходимо выполнять программу, программный код должен быть размещен в памяти типа RAM или Boot-ROM. Если в программный счетчик будет загружен адрес области флэш-памяти, до тех пор, пока не завершатся операции стирания/записи флэш-памяти, инициируется выполнение холостых циклов.

Таймер А содержит 16-разрядный счетчик и три регистра захвата/сравнения. Источником тактового сиг- нала для счетчика могут служить внутренние тактовые сигналы ACLK, SMCLK или один из двух внешних сигналов. Частота тактового сигнала на входе счетчика может быть равна частоте указанных сигналов, а также в два, четыре или восемь раз меньше. Выбор источника тактирования и коэффициента деления осуществляется программно. Предусмотрено несколько режимов работы счетчика: счет на увеличение или уменьшение, останов, непрерывный счет и другие. Каждый из трех каналов захвата/сравнения может работать в режиме входного захвата или выходного сравнения. Режимы работы определяются пользователем.

Режим входного захвата чаще всего используется для измерения временного интервала между “внутренними” или “внешними” событиями. Каждый из трех регистров захвата может иметь несколько источников сигнала захвата. Это могут быть внешние сигналы (порты Р1.1, Р1.2, Р1.3, Р2.2) или внутренние (тактовый сигнал ACLK или сигнал с выхода аналогового компаратора). Выполнение входного захвата по сигналу аналогового компаратора дает возможность на базе компаратора реализовать интегрирующий АЦП, косвенно измерять величину тока и напряжения [3, 4]. Захват может осуществляться при любом изменении сигнала на входе блока захвата (нарастающим или спадающим фронтом сигнала или комбинацией этих сигналов).

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

Для таймера А выделено два вектора прерывания.

Таймер В может содержать семь регистров захвата/сравнения (например, MSP430F14x) или три регистра (MSP430F13x). Работа таймера В во многом аналогична работе таймера А. 16-разрядный счетчик может быть конфигурирован как 8-, 10- 12- или 16-разрядный. В канале выходного сравнения между регистром сравнения и компаратором введен еще один дополнительный буферный регистр, данные в который перезагружаются из регистра сравнения. Запись данных в буферный регистр осуществляется по внутреннему сигналу, который формируется в результате выполнения определенных условий. Кроме того, данные в буферный регистр можно загружать программно.

В каналах выходного сравнения таймера В предусмотрено два выхода на АЦП. Как и для таймера А, для таймера В выделено два вектора прерывания. “Сторожевой” таймер формирует сигнал сброса, если в течение заданного времени счетчик не будет обнулен. Если не требуется использовать “сторожевой” таймер по прямому назначению, его можно применять для формирования сигналов прерывания через заданные временные интервалы. “Сторожевой” таймер реализован на базе 15-/16-разрядного счетчика. Управление таймером осуществляется программно.

АЦП организован как 12-разрядный АЦП последовательного приближения со встроенной схемой вы- борки/хранения и источниками эталонного напряжения (1.5 или 2.5 В). Кроме того, в составе АЦП имеется температурный датчик на базе диода и RC-генератор (частота от 3.7 до 6.3 МГц). Типовой ток потребления АЦП при напряжении питания 3 В, внешнем источнике эталонного напряжения и тактовой частоте 5 МГц составляет 0.5 мА. Максимальное время преобразования составляет 3.5 мкс при частоте встроенного тактового генератора (ADC12OSC) 6.3 МГц. В качестве входов АЦП используются входы порта Р6. Источниками тактового сигнала для АЦП могут быть сигналы ACLK, MCLK, SMCLK или сигнал генератора ADC12OSC. Начало преобразования можно инициировать программно или по сигналам от таймера А или В. Схема управления АЦП позволяет реализовывать несколько режимов работы: последовательный опрос входных каналов, опрос группы каналов, опрос каналов в любой заданной последовательности и другие.

Источник эталонного напряжения выбирается отдельно для каждого из каналов. Данные преобразования автоматически пересылаются в буферные 16-разрядные регистры. В некоторых микроконтроллерах MSP430F реализован восьмиканальный 10-разрядный АЦП, который по структуре и параметрам аналогичен 12-разрядному.

Порты ввода/вывода. Количество линий портов ввода/вывода в модификациях микроконтроллеров определяется количеством выводов корпуса (см. таблицу). В MSP430F14x имеются шесть 8-разрядных портов ввода/вывода. Входы портов Р1 и Р2 можно использовать для подключения внешних сигналов прерывания.

Входы порта Р6 используются в качестве входных каналов АЦП. Для управления портами Р1 и Р2 имеется семь регистров управления/контроля, для управления портами Р3…Р7 – четыре регистра. Для каждого из портов Р1 и Р2 выделен один вектор прерывания.

USART-порты. В микроконтроллерах MSP430F имеется один или два USART-порта (USART0 и USART1), через которые выполняется обмен данными в последовательном формате со стандартными внешними устройствами. USART-порты могут поддерживать синхронный (SPI) или асинхронный (UART) режим обмена данными. USART-порты в режиме UART имеют режим со сниженным энергопотреблением. Для каждого из US- ART-портов выделено два вектора прерывания.

Компаратор. В составе прецизионного компаратора имеются: входной мультиплексор, осуществляющий подключение входов компаратора; два источника эталонного напряжения (0.25Епит и 0.5Епит), реализованные на резистивных делителях; программно подключаемый RC-фильтр. Выход компаратора может подсоединяться к каналу входного захвата таймера А или на выход микроконтроллера. Если входы компаратора не используются, они должны были подключены к шине питания или к общему проводу. В противном случае могут инициироваться непредсказуемые запросы на прерывание, а, кроме того, может увеличиться ток потребления. Включение и выключение компаратора осуществляется программно и если он не используется для уменьшения тока потребления, его следует отключать. Компаратор позволяет косвенно измерять сопротивление, ток, напряжение, контролировать напряжение элементов питания, а также измерять время заряда и разряда конденсаторов.