В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

  • Оптоэлектроника
  • Аналоговые компоненты
  • Интерфейсы
  • Источники питания
  • Средства
    разработки
  • Микроконтроллеры
  • Память
  • Датчики
  • LCD
  • Печатные платы
  • Промышленные контроллеры
  • ПЛИС
  • Компоненты фирмы IR
  • Силовая электроника
  • Транзисторы
  • Телекоммуникация и связь
  • Анонсы, пресс-релизы выставок
  • Освещение
  • Разное
  • Электронный журнал RB
  •  
    Пересюхтюмя


    13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





    Выставка Передовые Технологии Автоматизации





    Главная страница > Статьи > Микроконтроллеры
    Пересюхтюмя


    13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





    Выставка Передовые Технологии Автоматизации


    Микроконтроллеры MSP430 компании Texas Instruments c Flash-памятью.

        MSP430F11xx - это 16 -разрядный, RISC-архитектуры микроконтроллер со сверхнизким энергопотреблением и Flash-памятью программ.

    Семейство измерительных микроконтроллеров MSP430, компании Texas Instruments, наконец-то пополнилось микроконтроллерами с Flash-памятью программ. И здесь компания Texas Instruments оказалась впереди других компаний. Микроконтроллеры с Flash-памятью программ, компании Texas Instruments, имеют самое низкое энергопотребление в сравнении с микроконтроллерами других компаний. Благодаря применению Flash-памяти, появилась возможность модифицировать память программ, не снимая микроконтроллер с рабочей платы. Кроме того, микроконтроллеры с Flash-памятью значительно дешевле микроконтроллеров с EPROM-памятью программ. В таьлице 1 представлена таблица с основными характеристиками семейства микроконтроллеров MSP430F11xx. Как видно из таблицы микроконтроллеры семейства отличаются между собой объемом памяти данных и памяти программ. Есть некоторые различия в характеристиках таймера.

        Таблица 1. Основные характеристики семейства MSP430F11xx

    Микроконтроллер Память
    программ
    Flash(байт)
    Память
    данных
    (байт)
    АЦП Аналоговый компаратор UART Таймер
    MSP430F1121 4096 256 токовый + программный 1
    MSP430F112 4096 256 токовый - программный 1
    MSP430F1101 1024 128 токовый + программный 1
    MSP430F110 1024 128 токовый - программный 1

        Архитектура микроконтроллеров семейства MSP430F11xx

    Мощный 16-разрядный RISC-архитектуры процессор (CPU) выполняет инструкции за 1-2 машинных цикла. Шестнадцать 16-разрядных регистров располагаются в CPU, обеспечивая сокращенное время выполнения инструкций. Это уменьшает время выполнения операции регистр-регистр в одном цикле процессора. Четыре регистра (R0…R3) резервируются для использования в качестве счетчика команд, указателя вершины стека, регистра статуса и генератора констант. Остальные двенадцать регистров (R4…R15 ) - регистры общего назначения. Периферийные устройства подключаются к CPU, использующему шины адресов, данных и шины управления, и могут работать со всеми инструкциями для обработки памяти.

    Архитектура MSP430F11xx

        Рис.2 Архитектура MSP430F11xx

    Система команд обеспечивается мощным и легким в использования ассемблером. Система команд состоит из 51 инструкции с тремя форматами и семью адресными режимами. Рассмотрим назначение отдельных модулей, входящих в микроконтроллер MSP430F11xx.

    Модуль System Clock & Oscillator . Модуль SCO генерирует три частоты, используемые в микроконтроллере:

    • базовая частота MCLK, необходимая для работы CPU
    • вспомогательная базовая частота SMCLK для периферийных модулей
    • вспомогательная частота ACLK

    Модуль претерпел значительные изменения в сравнении с прежними микроконтроллерами MSP430. Внешний резонатор, подключаемый к выводам Xin и Xout ( генератор LFXT1), может иметь частоту резонанса от 32.768 kHz до 8 MHz. Вспомогательная частота ACLK получается делением частоты генератора LFXT1 на /1, /2, /4, /8 делителем DIVA. Делитель DIVA управляется программно. В состав модуля SCO введен генератор DC. Частота этого генератора задается либо внешним резистором, подключаемым к выводу P2.5, либо внутренними резисторами микроконтроллера, управляемыми программно. Диапазон частот генератора DC : от 100 kHz до 5 MHz. Импульсы генератора DC поступают на вход синтезатора частот ( DCO), управляемого программно. Импульсы с выхода синтезатора частот поступают на вход делителя частоты DIVM (режимы /1, /2, /4, /8, Off) . Импульсы с выхода делителя DIVM (управляемого программно) и есть MCLK. Аналогично формируется частотная последовательность SMCLK , но при помощи делителя DIVS. Благодаря перечисленным изменениям, возросла устойчивость системы и гибкость управления производительностью системы и режимами энергосбережения.

    Память данных (RAM) имеет объем 128-256 байт. Используется для хранения переменных и для организации стека. Программная память (FLASH) организована в виде сегментов объемом 512 байт. Число сегментов, 2 или 8, зависит от типа микроконтроллера. Сегменты могут модифицироваться индивидуально или всем блоком. В состав памяти входят два сегмента, называемых информационными. Модификация информационных сегментов аналогична основным. Модификация Flash-памяти осуществляется по протоколу JTAG. JTAG - это комплекс аппаратных и программных средств, благодаря которому осуществляется чтение, стирание и запись информации в программную Flash-память микроконтроллера. Для этого процесса используются выводы TDO(P1.7), TDI(P1.6), TMS(P1.5) и TCK(P1.4).

    Первичная функция модуля сторожевого таймера Watchdog (WDT) - выполнить управляемый системный перезапуск после того, как возник программный сбой. Если выбранный интервал времени истекает, WDT генерирует системный сброс. Если функция сторожевого таймера не нужна в приложении, модуль может работать как таймер интервала, который генерирует прерывание после истечении выбранного интервала времени. Счетчик сторожевого таймера (WDTCNT) 16-битовый, непосредственно не доступен из программы. WDTCNT управляется через управляющий регистр сторожевого таймера (WDTCTL), который является 16-битовым регистром. Запись в WDTCNT-регистр возможна при использовании правильного пароля в старшем байте. Младший байт загружает данные записанные в WDTCTL-регистре. Старший байт должен быть паролем - 05Ah. Если в старший байт WDTCTL-регистра будет записан байт отличный от 05Ah , то система сгенерирует программный перезапуск.

    Модуль Timer_A представляет собой 16-разрядный таймер/счетчик с тремя регистрами слежения/сравнения.
    В режиме счетчика Timer_A подсчитывает импульсы, поступающие от внешнего источника через вывод P1.0 или P2.1. В режиме таймера Timer_A подсчитывает импульсы, поступающие от одного из двух внутренних источников: ACLK или SMCLK. Входные импульсы можно делить на один, два, четыре, или восемь. Таймер полностью управляется программно, его можно останавливать, запускать, читать, и модифицировать.
    Три регистра слежения/сравнение конфигурируются программно, чтобы выполнять функции слежения за состоянием входа или сравнить значение счетчика с заданным значением в регистре. Режим слежения используется для контроля за изменением состоянием сигнала на внешнем входе, т. е. реализуется режим GATE. Эта функция применима к выводам P1.1-P1.3 и P2.3-P2.3, причем, работать в этом режиме могут одновременно три входа. Режим слежения может запускаться и останавливаться программно.
    Режим сравнения используется, чтобы сгенерировать синхронизацию для программных или прикладных аппаратных средств, или сгенерировать импульсный модулирующий сигнал для различных целей. Модулем Timer_A используются два вектора прерывания. Один вектор присваивается первому блоку слежения/сравнения, и один общий вектор прерывания используется для таймера и двух оставшихся блоков слежения/сравнения. Три события прерывания, использующие один и тот же вектор, идентифицируются по содержимому регистра прерывания.

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

    Модуль I/O Port P1 - 8 линий вход/выход и модуль I/O Port P2 - 6 линий вход/выход, т. е. в распоряжении пользователя имеется 14 линий ввод/вывод для работы с внешними устройствами. Все линии программно перестраиваются в режим вход или выход. Каждый порт имеет свой вектор прерывания. Режимы работы всех линий I/O программируются независимо друг от друга. Установку режимов работы цифровых линий портов I/O осуществляют, используя семь служебных регистров:

    • Входной регистр порта - содержит входную информацию.
    • Выходной регистр порта - содержит выходную информацию.
    • Регистр направления порта - изменяет направление линии (вход/выход).
    • Регистр типа входного сигнала порта - задает фронт, спад или уровень сигнала на линии, необходимый для возникновения события прерывания.
    • Регистр флагов порта - контролирует наступление события прерывания.
    • Регистр прерываний порта - разрешает/запрещает прерывание.
    • Регистр маски порта - позволяет установить маску для запрета прерывания.

    Идентификация сработавшего вектора прерывания осуществляется программно, чтением данных соответствующего регистра флагов порта.

    Идентификация сработавшего вектора прерывания осуществляется программно, чтением данных соответствующего регистра флагов порта.

    Модуль Comparator_A (только в микроконтроллерах MSP430F1101, MSP430F1121) значительно расширяет возможности микроконтроллера. Теперь модуль имеет два источника опорного напряжения - внутренний и внешний. При использовании внутреннего источника опорного напряжения, Uref выбирается из ряда 0 Vcc, 0.25 Vcc, 0.5 Vcc и Vcc, где Vcc - напряжение питания микроконтроллера. При использовании внешнего Uref , значение опорного напряжения определяет пользователь в диапазоне 0...Vcc. Появилась возможность работать практически со всеми типами датчиков. Напряжение, ток, резистивные или емкостные датчики - основная сфера применения модуля Comparator_A.

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

    Для отладки программного обеспечения микроконтроллеров семейства MSP430F11xx компания Texas Instruments выпускает комплект MSP-FET430x11x.

        В комплект MSP-FET430x110 входят :

    • Документация ( 1 книга )
    • CD-ROM с программным обеспечением и полным описанием микроконтроллеров семейства MSP430F11xx
    • Два микроконтроллера MSP430F1121
    • Макетная плата комплекта MSP-FET430X110, размер платы -70 х 50 мм

    На рисунке 4 показан внешний вид макетной платы комплекта MSP-FET430X110

    На рисунке 5 - расположение элементов на плате.

    Макетная плата MSP-FET430X110

        Рис.3 Макетная плата MSP-FET430X110

    Расположение компонентов на плате

        Рис.4 Расположение компонентов на плате

        На макетной плате MSP-FET430x110 установлены следующие компоненты :

    • Разъем для подключения платы к LPT-порту компьютера
    • Разъем ZIF для микроконтроллера MSP430F11xx
    • Компоненты, необходимые для работы макетной платы
    • Светодиод, индицирующий работу макетной платы
    • Компоненты, необходимые для реализации протокола JTAG
    • Контактные площадки, на которые выведены все активные линии микроконтроллера

    Программное обеспечение KickStart, входящее в комплект MSP-FET430x110, разработано компанией IAR Systems. Программный пакет состоит из ассемблера, линкера (компоновщик), симулятора-отладчика, компилятора языка Си (ограниченная версия, длина скомпилированного файла не более 1KB). Пакет KickStart поддерживает протокол JTAG для записи программ в Flash-память микроконтроллера. KickStart позволяет создавать программы для микроконтроллеров MSP430 на ассемблере, Си или комбинации этих языков. Компилятор Си (ограниченная версия) не поддерживает математику с плавающей точкой компании Texas Instruments. На ассемблер эти ограничения не распространяются. На рисунке 8 показано окно симулятора-отладчика, служащего для написания и отладки программ на языке ассемблер. Программный пакет KickStart работает в среде Win95, Win98, WinNT.

    Окно симулятора-отладчика из программного пакета  KickStart

        Рис.5 Окно симулятора-отладчика из программного пакета KickStart

    Эффективное использование описанного набора для макетирования устройств на микроконтроллерах семейства MSP430F11xx предполагает:

    • Знание языков программирования ассемблер и/или Си
    • Архитектуры и системы команд семейства MSP430

    Документация к пакету KickStart содержит подробное описание всех программ, входящих в пакет, множество примеров программ на ассемблере и Си, описание семейства микроконтроллеров MSP430F11xx в формате PDF. Это значительно облегчает использование пакета в практических приложениях. Программный пакет KickStart доступен для свободного использования (free) на сайте компании Texas Instruments : www.ti.com (размер файла 17MB).

        Краткие технические характеристики микроконтроллера MSP430F11xx:

    • Напряжение питания от 1.8 до 3.6 V
    • Низкое потребление - 1.2 мкА на частоте 32kHz и 160мкА на частоте 1MHz при Vcc=2.2 V
    • Потребление в "спящем" режиме до 0.8мкА (0.1мкА в режиме отключения ОЗУ)
    • Пять режимов пониженного потребления
    • Выход из "спящего" режима за 6мкс
    • 16-разрядная RISC архитектура, время выполнения инструкции - 125 nS
    • Программируемый блок генератора тактовой частоты с возможностью установки частоты генерации при помощи:
          -переменного внутреннего резистора
          -внешнего резистора
          -32 kHz кварцевого или керамического резонатора
          -высокочастотного резонатора, до 8 MHz
          -внешнего тактового сигнала
    • 16-разрядный таймер с тремя регистрами слежения/сравнения
    • Возможность построения токового АЦП с внешними RC цепями
    • Компаратор аналоговых сигналов (только для MSP430F1101 и MSP430F1121)
    • Программирование в устройстве через JTAG порт

        Семейство состоит из следующих микроконтроллеров:

    • MSP430F110: 1KB + 128B Flash-память программ, 128B память данных
    • MSP430F112: 4KB + 256B Flash-память программ, 256B память данных
    • MSP430F1101: 1KB + 128B Flash-память программ, 128B память данных
    • MSP430F1121: 4KB + 256B Flash-память программ, 256B память данных

    На рисунках 6 и 7 показано назначение выводов новых микроконтроллеров семейства MSP430F11xx с Flash-памятью. Кристалл микроконтроллера размещен в пластмассовом корпусе ( 20 выводов) с шагом выводов 1,27 мм (SOWB) или 0,625 мм (TSSOP), тип монтажного исполнения - SMD.

    Микроконтроллер MSP430F11x

        Рис.6 Микроконтроллер MSP430F11x

    Микроконтроллер MSP430F11xx

        Рис.7 Микроконтроллер MSP430F11xx

        Пример использования микроконтроллера MSP430F11xx.

    На рисунке 8 показана схема регулятора оборотов электрической дрели, в которой использован микроконтроллер MSP430x111x. Вполне возможно применение микроконтроллера MSP430F1121, необходимо только снизить напряжение питания микроконтроллера до 3,6 вольт.

    Регулятор оборотов однофазной дрели

        Рис.8 Регулятор оборотов однофазной дрели

    Алгоритм работы программы прост. По входу P1.3 микроконтроллер определяет момент перехода синусоиды через "0", используя регистр слежения/сравнения. Компоненты R8, R9 и C5 используются для реализации токового АЦП. Программа, манипулируя зарядом и разрядом конденсатора C5 при помощи выводов микроконтроллера P2.0, P2.1, P1.0 и резисторов R8 и R9, определяет положение движка резистора R8. Это и есть информация о необходимой частоте вращения двигателя дрели в данный момент. Имея информацию о переходе переменного напряжения через "0", а также информацию о позиции движка потенциометра R8, совсем просто рассчитать момент включения тиристора Т1 (вывод микроконтроллера P2.4) при частоте сети 50 Hz. Для генерации задержки на включения тиристора используется Timer_A.