Программирование микроконтроллеров семейства MSP430. Часть I. аппаратные средства

Программирование микроконтроллеров семейства MSP430.

Часть I. Аппаратные средства

Александр КРАТЬКО

kratko@tut.by

Растет популярность микроконтроллеров семейства MSP430 фирмы Texas Instruments, наряду с этим возрастает и потребность в программных и аппаратных средствах разработки.

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

Начнем обзор с «фирменных» аппаратных средств Texas Instruments. Они подразделяются на программаторы-эмуляторы (Flash Emulation Tool) для микроконтроллеров с Flash-памятью, служащие в основном для целей отладки; программатор MSP-PRGS430 для мелкосерийного производства (поддерживает все типы микроконтроллеров MSP430) и программатор MSP-GANG430, позволяющий одновременно программировать до 8 микроконтроллеров с Flash-памятью и предназначенный для мелкосерийного и среднесерийного производства.

Программаторы и эмуляторы фирмы Texas Instruments

Программаторы-эмуляторы с интерфейсом LPT для микроконтроллеров с Flash-памятью Фирма Texas Instruments предлагает 7 вариантов программаторов данного класса. Первый — универсальный отладочный модуль MSP-FET430PIF (рис. 1), поддерживающий все типы микроконтроллеров семейства MSP430 с Flash-памятью.

Данный модуль предназначен исключительно для внутрисхемного программирования и отладки. Для его подсоединения к программируемому (отлаживаемому) устройству

Рис. 1. Универсальный отладочный модуль MSP-FET430PIF

используется стандартный 14-выводный разъем. Фактически, модуль представляет собой преобразователь физических уровней сигналов LPT-порта персонального компьютера в сигналы JTAG-интерфейса микроконтроллеров MSP430.

Кроме этого, предлагается 5 отладочных комплектов, каждый из которых содержит указанный универсальный отладочный модуль и плату с установленной ZIF-панелью под различные типы корпусов микроконтроллеров (рис. 2).

Рис. 2. Отладочный комплект MSP-FET430P120

В таблице 1 приведен список моделей и совместимые с ними микроконтроллеры семейства MSP430.

Несколько отличается от вышеперечисленных модель эмулятора MSP-FETX110, поддерживающая микроконтроллеры MSP430F110, MSP430F1101, MSP430F1101А, MSP430FШ1А, MSP430F112, MSP430F121 и MSP430F1121А. Конструктивно она выполнена в виде одной платы, на которой размещен как преобразователь интерфейсов, так и сама ZIF-панель (рис. 3).

Таблица 1. Наборы для отладки и программирования фирмы Texas Instruments с интерфейсом LPT

Название отладочного комплекта Тип корпуса, на который рассчитана модель Совместимые микроконтроллеры

MSP-FET430P120 28-выводный SOWB MSP430F1101A MSP430F1111A MSP430F1121A MSP430F1122 MSP430F1132 MSP430F122 MSP430F1222 MSP430F1232 MSP430F2101 MSP430F2111 MSP430F2121A MSP430F2131

MSP-FET430P140 64-выводный QFP MSP430F133 MSP430F135 MSP430F147 MSP430F1471 MSP430F148 MSP430F1481 MSP430F149 MSP430F1491 MSP430F155 MSP430F156 MSP430F157 MSP430F1610 MSP430F1611 MSP430F167 MSP430F168 MSP430F169

MSP-FET430P410 64-выводный QFP MSP430F412 MSP430F413 MSP430F415 MSP430F417 MSP430F423 MSP430F425 MSP430F427 MSP430FW423 MSP430FW425 MSP430FW427

MSP-FET430P430 80-выводный QFP MSP430FG437 MSP430FG438 MSP430FG439

MSP-FET430P440 100-выводный QFP MSP430F435 MSP430F436 MSP430F437 MSP430F447 MSP430F448 MSP430F449

Таблица 2. Наборы для отладки и программирования фирмы Texas Instruments с интерфейсом USB

Название отладочного комплекта Тип корпуса, на который рассчитана модель Совместимые микроконтроллеры

MSP-FET430U14 14-выводный TSSOP MSP430F2001 MSP430F2003 MSP430F2011 MSP430F2012 MSP430F2013

MSP-FET430U28 20-выводный SOWB 28-выводный SOWB MSP430F1101A MSP430F1111A MSP430F1121A MSP430F1122 MSP430F1132 MSP430F122 MSP430F1222 MSP430F123 MSP430F1232 MSP430F2101 MSP430F2111 MSP430F2121 MSP430F2131

MSP-FET430U48 48-выводный SOP MSP430F4250 MSP430F4260 MSP430F4270

MSP-FET430U64 64-выводный QFP MSP430F133 MSP430F135 MSP430F147 MSP430F1471 MSP430F148 MSP430F1481 MSP430F149 MSP430F1491 MSP430F155 MSP430F156 MSP430F157 MSP430F1610 MSP430F1611 MSP430F167 MSP430F168 MSP430F169 MSP430F412 MSP430F413 MSP430F415 MSP430F417 MSP430F423 MSP430F425 MSP430F427 MSP430FW423 MSP430FW427 MSP430F425 MSP430FW427

MSP-FET430U80 80-выводный QFP MSP430F435 MSP430F436 MSP430F437 MSP430FG437 MSP430FG438 MSP430FG439

MSP-FET430U100 100-выводный QFP MSP430F435 MSP430F436 MSP430F437 MSP430F447 MSP430F448 MSP430F449

Эта модель является самой дешевой в линейке фирмы TI (цена производителя составляет $49).

Все вышеописанные комплекты могут быть использованы как для отладочных целей, так и для программирования небольших партий микроконтроллеров. Однако существенным недостатком этих модулей является отсутствие возможности программирования бита защиты (security fuse).

В качестве достоинств следует отметить доступность принципиальных схем и сопутствующей документации на сайте Texas Instruments, что позволяет разработчику самостоятельно изготовить подобные устройства [3]. Программаторы-эмуляторы с интерфейсом USB для микроконтроллеров с Flash-памятью Этот класс устройств фирмы TI является развитием семейства MSP-FET, использующий более современный интерфейс USB, что позволяет повысить скорость обмена между ПК и отлаживаемым (программируемым) устройством.

Аналогично программаторам с интерфейсом LPT, данная линейка включает в себя универсальный модуль MSP-FET430UIF и 6 вариантов комплектов, содержащих адаптеры под различные корпуса. В таблице 2 приведен список моделей с интерфейсом USB и совместимых с ними микроконтроллеров семейства MSP430.

Достоинства и недостатки устройств данной линейки прямо противоположны их LPT-предшественникам. У всех USB-устройств имеется возможность программирования бита защиты, однако отсутствие полного комплекта документации исключает возможность самостоятельного повторения этих программаторов. Покупные же изделия имеют довольно значительную цену (цена производителя — $149).

Как видно из таблиц 1 и 2, линейки программаторов-эмуляторов MSP-FET430P и MSP-FET430U охватывают не все типы корпусов микроконтроллеров MSP430, из-за чего зачастую требуется самостоятельное изготовление адаптеров с ZIF-панелями при невозможности внутрисхемного программирования.

Существенным достоинством всех вышеперечисленных моделей является наличие двух режимов работы — как отладки (эмуляции), так и программирования. Программатор MSP-PRGS430 для любых микроконтроллеров семейства MSP430

В отличие от устройств, перечисленных выше, MSP-PRGS430 не поддерживает режим отладки и предназначен исключительно для программирования. До появления эмуляторов-программаторов семейства MSP-FET430U эта плата была единственным «фирменным» устройством, позволявшим программировать бит защиты. На данный момент устройство является морально устаревшим, его использование рекомендуется лишь при необходимости программирования ROM и OTP микроконтроллеров. Если же используются исключительно модели с Flash-памятью, приобретение данного программатора является нецелесообразным. Внешний вид MSP-PRGS430 приведен на рис. 4. Устройство недоступно для самостоятельного повторения ввиду

отсутствия полной документации, а цена производителя составляет $199. Следует также обратить внимание, что в комплект поставки MSP-PRGS430 не входят платы адаптеров («панельки»), их придется изготавливать самостоятельно либо приобретать отдельно (фирма TI не предлагает устройств такого рода).

Программатор MSP-GANG430 для микроконтроллеров с Flash-памятью

Основными отличиями данного программатора от рассмотренного выше MSP-PRGS430 являются возможность одновременного программирования до 8 устройств, возможность работы в режиме stand-alone (без подключения к ПК) и отсутствие поддержки OTP и ROM устройств. Область применения устройства — мелкосерийное и среднесерийное производство. Внешний вид MSP-GANG430 приведен на рис. 5. Также, как иMSP-PRGS430, MSP-GANG430 недоступен для самостоятельного повторения и не содержит адаптеров в комплекте поставки.

Рис. 5. Программатор MSP-GANG430

Программаторы и эмуляторы сторонних производителей

Аппаратные средства Фимы Softbaugh

Фирма Softbaugh была первой, предложившей на рынке программаторы-эмуляторы с интерфейсом USB. На данный момент компанией выпускаются устройства FETP и USBP, являющиеся функциональными аналогами инструментов MSP-FET430PIF и MSP-FET430UIF фирмы Texas Instruments. Адаптеры к этим устройствам поставляются отдельно (сейчас предлагаются панели адаптеров для корпусов QFN24, QFN32, TSSOP-20 и SOIC-20). Эти же адаптеры можно использовать совместно с программаторами от TI.

Кроме этого, фирмой Softbaugh выпускается ряд оригинальных изделий, в том числе программатор-эмулятор с изолированным интерфейсом LPT ISOFETP (удобный при отладке изделий с питанием без гальванической развязки от сети) и репликатор REP430, позволяющий программировать микроконтроллеры MSP430 нажатием одной кнопки без участия ПК (но требующий при этом предварительного программирования самого репликатора и имеющий ограничения на размер загружаемого кода). Также фирма предлагает две модели программаторов

(BLMSPF с интерфейсом LPT и UBSL с интерфейсом USB), использующих вместо интерфейса JTAG встроенный в МК загрузчик. Несмотря на ряд ограничений — загрузчик не позволяет производить отладку и программировать бит защиты микроконтроллера, использование этого интерфейса является единственным способом стирания и программирования МК семейства MSP430 с уже запрограммированным битом защиты.

Аппаратные средства

фирмы Elprotronic

Фирма Elprotronic предлагает 3 устройства с расширенными возможностями, то есть обладающими как интерфейсом JTAG, так и интерфейсом для использования загрузчика. Это программаторы-эмуляторы FlashPro430-PP с интерфейсом LPT и FlashPro430 с интерфейсом USB. В целом устройства идентичны MSP-FET430PIF и MSP-FET430UIF фирмы TI, но наличие дополнительного интерфейса для использования загрузчика делает их весьма удобными и универсальными инструментами для работы с микроконтроллерами семейства MSP430. Кроме этого, фирма Elprotronic предлагает программатор GangPro430, являющийся функциональным аналогом MSP-GANG430, но с возможностью эмуляции и использования загрузчика.

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

Аппаратные средства фирмы Phyton

Фирмой Phyton выпускается программатор-эмулятор PICD-430 с интерфейсом USB, в целом аналогичный устройству MSP-FET430UIF фирмы Texas Instruments. К сожалению, в документации производителя отсутствует упоминание о поддержке режима программирования бита защиты, что делает данное устройство наименее функциональным из всего ряда аналогов. Кроме этого, фирмой выпускается достаточно известная модель программатора ChipProg+, который поддерживает и линейку МК семейства MSP430 с Flash-памятью.

Аппаратные средства

фирмы IAR Systems

Программатор-эмулятор JLINK-430 фирмы IAR Systems является еще одним функциональ-

ным аналогом популярного MSP-FET430UIF. Сама фирма более известна своими программными продуктами, в том числе и для семейства микроконтроллеров MSP430, о которых пойдет речь во второй части обзора.

Аппаратные средства

фирмы RK-System

Польская фирма RK-System предлагает линейку универсальных программаторов UprogHS с поддержкой микроконтроллеров MSP430. На данный момент поддерживают МК этого семейства 5 изделий фирмы: программатор с LPT-интерфейсом UprogHS-84, его версия с одновременной поддержкой до 8 устройств UprogHS-84 GANG, а также три программатора с USB-интерфейсом — базовая модель UprogHS-48, модель с поддержкой самостоятельного режима работы (stand-alone) UprogHS-48 portable и программатор с одновременной поддержкой до 4 устройств Uprog GANG. Внешний вид изделий данной линейки приведен на рис. 6

Очевидные достоинства данных программаторов — поддержка значительного количества устройств как внутри семейства MSP430 (ни один другой программатор сторонних производителей не поддерживает линейку OTP/ROM семейства MSP430), так и вне его (общее число поддерживаемых ИС на момент написания статьи — 13 816).

Из очевидных недостатков следует отметить отсутствие режима эмуляции.

Аппаратные средства для серийного производства фирм Data I/O и BP Microsystems Ввиду высокой стоимости и специфичности данных изделий, подробное их рассмотрение не предусмотрено в этом обзоре. Предназначение этих устройств — программирование средних и больших партий микроконтроллеров и других программируемых устройств различных типов (в том числе MSP430).

Программаторы-эмуляторы микроконтроллеров семейства MSP430, доступные для самостоятельного повторения

Как упоминалось ранее, на сайте фирмы Texas Instruments содержится вся необходимая техническая информация по программаторам-эмуляторам типа MSP-FET430Pxx, что позволяет самостоятельно изготовить подобное устройство [3]. В то же время, схемотехническое решение этих устройств содержит как избыточные, так и труднодоступные компоненты. В связи с этим наибольшую популярность приобрел вариант, опубликованный фирмой Olimex (рис. 7) [5].

Рис. 7. Схема программатора-эмулятора MSP430-JTAG фирмы Olimex

Таблица 3. Краткие характеристики аппаратных средств программирования микроконтроллеров семейства MSP430

Название устройства Фирма- производитель Интерфейс ПК Отличительные особенности Наличие режима эмуляции Функция программирования бита защиты Возможность самостоятельного повторения

MSP-FET430PIF Texas Instruments LPT Да Нет Да

MSP-FET430UIF Texas Instruments USB Да Да Нет

MSP-PRGS430 Texas Instruments COM Поддержка однократно программируемых МК (OTP) Нет Да Нет

MSP-GANG430 Texas Instruments COM Одновременное программирование до 8 МК Нет Да Нет

MSP430-JTAG Olimex LPT Функциональный аналог MSP-FET430PIF Да Нет Да

FETP Softbaugh LPT Функциональный аналог MSP-FET430PIF Да Нет Нет

USBP Softbaugh USB Функциональный аналог MSP-FET430UIF Да Да Нет

ISOFETP Softbaugh LPT Гальваническая развязка интерфейса Да Нет Да

REP430 Softbaugh нет Репликатор, требует программирования, макс. объем кода ограничен Нет Да Нет

BLMSPF Softbaugh LPT Программирование по интерфейсу bootloader Нет Нет Нет

UBSL Softbaugh USB Программирование по интерфейсу bootloader Нет Нет Нет

FlashPro430-PP Elprotronic LPT Высокоскоростной функциональный аналог MSP-FET430PIF, дополнительный интерфейс bootloader Да Да Нет

FlashPro430 Elprotronic USB Высокоскоростной функциональный аналог MSP-FET430UIF, дополнительный интерфейс bootloader Да Да Нет

GangPro430 Elprotronic USB Одновременное программирование до 8 МК Да Да Нет

PICD-430 Phyton USB Да Не указано Нет

ChipProg+ Phyton LPT Нет Не указано Нет

JLINK-430 IAR Systems USB Функциональный аналог MSP-FET430UIF Да Да Нет

UprogHS-84 RK-System LPT Поддержка однократно программируемых МК (OTP) Нет Не указано Нет

UprogHS-48 RK-System USB Поддержка однократно программируемых МК (OTP) Нет Не указано Нет

UprogHS-84 GANG RK-System LPT Поддержка однократно программируемых МК (OTP) Нет Не указано Нет

Uprog GANG RK-System USB Поддержка однократно программируемых МК (OTP) Нет Не указано Нет

UprogHS-48 portable RK-System USB Поддержка однократно программируемых МК (OTP) Нет Не указано Нет

Как видно из рисунка, основная часть схемы повторяет решение фирмы TI [3] и представляет собой преобразователь уровней порта LPT в сигналы отладочного интерфейса JTAG. Схема не содержит труднодоступных компонентов, однако имеет ряд недостатков. В частности, к ним относится использование неподходящего типа ОУ U1. Данный операционный усилитель не обладает функциональностью входов Rail-To-Rail, максимальное синфазное напряжение на его входах ограничено уровнем Vdd — 1,2 В. Такое ограничение может приводить к тому, что программатор не будет функционировать на некоторых персональных компьютерах, а сам ОУ будет подвергаться воздействию напряжений, превышающих максимально допустимые. Кроме того, решение фирмы Olimex отличается от прототипа Texas Instruments отсутствием подтягивающего резистора на выходе Reset, что создаст проблемы при программировании микроконтроллеров отдельно от схемы. Общим как для прототипа, так и для рассматриваемой реализации недостатком является отсутствие возможности программирования бита защиты.

Также на сайте фирмы Texas Instruments имеется техническая информация по программаторам-эмуляторам типа MSP-FET430Uxx [3]. Однако наличие в схеме программируемого микроконтроллера и отсутствие файла

прошивки к нему исключают возможность повторения. Таким образом, ни один из программаторов с интерфейсом USB для самостоятельного изготовления не доступен.

В таблице 3 приведена информация по аппаратным средствам программирования микроконтроллеров MSP430.

Программатор FUSEE

Предлагаемый авторами вариант программатора-эмулятора с интерфейсом LPT имеет особенность, отличающую его от решений фирм TI, Olimex и др., — наличие функции

программирования бита защиты. Все перечисленные в таблице изделия с подобной функцией недоступны для самостоятельного повторения. Блок-схема программатора-эмулятора FUSEE приведена на рис. 8, а его принципиальная схема — на рис. 9.

Как видно из рисунков, схема преобразователя уровней сигналов LPT-порта компьютера в сигналы JTAG-интерфейса близка к версии фирмы Olimex, но при этом несколько упрощена. Поскольку микроконтроллеры семейства MSP430 не требуют фиксированного напряжения питания (его диапазон при программировании может составлять от 1,8 до 3,6 В, а при «прожиге» бита защиты — от 2,7 до 3,6 В), то формирователь опорного напряжения на ИС U3 (рис. 7) заменен обычным параметрическим стабилизатором R20-VD9 (рис. 9). Стабилитрон VD9 работает в области повышенных динамических сопротивлений, поэтому резистор R20 следует подобрать таким образом, чтобы напряжение на выводе 3 ИС DA1 составляло 2,8-2,9 В. Других настроек схема не требует.

Регулятором напряжения питания служит ОУ DA1, в качестве которого можно использовать любой малопотребляющий операционный усилитель с Rail-To-Rail входами и выходом и минимальным напряжением питания от 2,7 В. В качестве возможных вариантов можно перечислить TS921 фирмы ST и MC33201 фирмы OnSemi. Диоды VD1-VD6 (могут быть любого типа) обеспечивают «паразитное» питание устройства от сигналов LPT-порта. Их число больше по сравнению с версией фирмы Olimex для увеличения нагрузочной способности.

Вспомогательный импульсный источник питания 6,5 В, необходимый для программирования бита защиты, собран на элементах R28, VT2, L1, VD10, C4. Тактовая частота ИБП формируется при помощи таймера А микроконтроллера DD2. По умолчанию ИБП отключен, его включение производится непосредственно перед программированием бита защиты. Резисторами R30, R31 формируется напряжение обратной связи на входе компаратора МК.

Рис. S. Блок-схема программатора-эмулятора FUSEE

[>«= 3^[Х> пф

I I 1-І >ІИ

№-а-

*

3s w С №  flOODDDDD'O „,, '

ш * -кь

f ш ЇПҐ ЙҐ ЇЗҐ 1--------1 п

Рис. 10. Расположение элементов на печатной плате

Следует отметить, что в линейке микроконтроллеров MSP430 присутствует 2 типа устройств с несколько отличающимся алгоритмом программирования бита защиты. У МК первого типа присутствует вывод Test интерфейса JTAG, на который подается напряжение 6,5 В при программировании бита защиты. У МК второго типа данный вывод отсутствует, напряжение программирования бита защиты подается на вывод TDI, также являющийся входом данных JTAG-интерфейса [2]. Подача напряжения программирования бита защиты в требуемый момент осуществляется управляющим микроконтроллером DD1 при помощи аналоговых коммутаторов и преобразователей уровня, собранных на элемен-

Разъем для подключения к ПК

Разъем для подключения к отлаживаемому устройству

ПІ 1 П

-  j* -Лі '

1И* I г ’? ,- ШІ

. ”

У І.'. , г.-..,. , - ;±_  -

V . иінц* £/.

Рис. 11. Внешний вид программатора FUSEE

тах DD3 и VT3-VT6. Для каждого типа программируемых МК используется только один из коммутаторов, подающий напряжение либо на вывод Test, либо на вывод TDI. Распознавание типа МК и подача соответствующей команды осуществляется компьютерным ПО. Кроме этого, в задачи коммутатора входит переключение цепей сигналов TDI и TDO, так как последний используется в качестве входного при подаче команды программирования бита защиты IR_EX_BLOW [2]. Использование микросхемы коммутатора DD3 серии CD4000 (К561) недопустимо из-за высокого сопротивления ключей в открытом состоянии, следует использовать МС семейства

74НС. Диод VD11 защищает низковольтные цепи коммутатора от попадания на них напряжения программирования. Здесь следует использовать любой диод Шоттки, поскольку применение обычных диодов недопустимо ввиду повышенного падения напряжения.

Нагрузочная способность параллельных портов большинства персональных компьютеров позволяет использовать данный программатор без внешнего источника питания. В то же время, повышенный ток потребления во время программирования бита защиты может в ряде случаев быть причиной возникновения ошибок в данном процессе, в особенности при использовании портативных компьютеров (ноутбуков). Если ПО сообщает об ошибке программирования бита защиты, следует подать на схему (на конденсатор С1) внешнее напряжение питания 3,5-5 В.

Программное обеспечение микроконтроллера DD1 и другая документация на программатор доступны для скачивания [4].

Расположение элементов на печатной плате показано на рис. 10, а внешний вид собранного устройства — на рис.11.

Подключение программатора к параллельному порту ПК осуществляется при помощи кабеля, состоящего из гнезда ГОС-26, плоского 26-жильного шлейфа (длиной до 2 м) с шагом 1,27 мм и вилки DI-25M. Разделка шлейфа осуществляется таким образом, чтобы вывод 1 разъема Х1 на плате программатора соединялся с выводом 1 параллельного порта ПК.

Со стороны разъема DI-25M перед разделкой следует удалить лишний проводник шлейфа (соответствующий выводу 26 разъема X1 программатора) примерно на 3 см.

Разъем для подключения отлаживаемого (программируемого) микроконтроллера и его цоколевка стандартны и соответствуют разъему программатора MSP-FET430PIF фирмы Texas Instruments. Подробная информация о назначении контактов и корректном подключении отлаживаемого устройства содержится в документации [3].

Продолжение следует.

Литература

1. Mark Buccini. MSP430F21x1 Architecture Summary. SLAA217. Texas Instruments. October 2004.

2. Markus Koesler, Franz Graf, Zack Albus. Programming a Flash-based MSP430 Using the JTAG Interface. Application Report SLAA149A. Texas Instruments. December 2005.

3. MSP-FET430 Flash Emulation Tool (FET): User's Guide. SLAU138C. Texas Instruments. 2005.

4. ht tp: //kurt.on.ufanet.r u

5. ht tp:/ /ww w .olimex.c om/dev/msp-jtag.ht ml