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

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

Растет популярность микроконтроллеров семейства 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
Рис. 1. Универсальный отладочный модуль MSP-FET430PIF

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

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

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

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

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

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

Рис. 3. Отладочная плата MSP-FET430X110
Рис. 3. Отладочная плата MSP-FET430X110

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

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

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

В качестве достоинств следует отметить доступность принципиальных схем и сопутствующей документации на сайте 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 не предлагает устройств такого рода).

Рис. 4. Программатор MSP-PRGS430
Рис. 4. Программатор MSP-PRGS430

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

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

Рис. 5. Программатор 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

Рис. 6. Семейство программаторов UprogHS фирмы RK-System
Рис. 6. Семейство программаторов UprogHS фирмы RK-System

Очевидные достоинства данных программаторов — поддержка значительного количества устройств как внутри семейства 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
Рис. 7. Схема программатора-эмулятора MSP430-JTAG фирмы Olimex

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

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

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

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

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

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

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

Как видно из рисунков, схема преобразователя уровней сигналов 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 В. Других настроек схема не требует.

Рис. 9. Принципиальная схема программатора-эмулятора FUSEE
Рис. 9. Принципиальная схема программатора-эмулятора FUSEE

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

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

Следует отметить, что в линейке микроконтроллеров MSP430 присутствует 2 типа устройств с несколько отличающимся алгоритмом программирования бита защиты. У МК первого типа присутствует вывод Test интерфейса JTAG, на который подается напряжение 6,5 В при программировании бита защиты. У МК второго типа данный вывод отсутствует, напряжение программирования бита защиты подается на вывод TDI, также являющийся входом данных JTAG-интерфейса [2]. Подача напряжения программирования бита защиты в требуемый момент осуществляется управляющим микроконтроллером DD1 при помощи аналоговых коммутаторов и преобразователей уровня, собранных на элементах DD3 и VT3-VT6. Для каждого типа программируемых МК используется только один из коммутаторов, подающий напряжение либо на вывод Test, либо на вывод TDI. Распознавание типа МК и подача соответствующей команды осуществляется компьютерным ПО. Кроме этого, в задачи коммутатора входит переключение цепей сигналов TDI и TDO, так как последний используется в качестве входного при подаче команды программирования бита защиты IR_EX_BLOW [2]. Использование микросхемы коммутатора DD3 серии CD4000 (К561) недопустимо из-за высокого сопротивления ключей в открытом состоянии, следует использовать МС семейства 74HC. Диод VD11 защищает низковольтные цепи коммутатора от попадания на них напряжения программирования. Здесь следует использовать любой диод Шоттки, поскольку применение обычных диодов недопустимо ввиду повышенного падения напряжения.

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

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

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

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

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

Подключение программатора к параллельному порту ПК осуществляется при помощи кабеля, состоящего из гнезда IDC-26, плоского 26-жильного шлейфа (длиной до 2 м) с шагом 1,27 мм и вилки DI-25M. Разделка шлейфа осуществляется таким образом, чтобы вывод 1 разъема X1 на плате программатора соединялся с выводом 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. http://kurt.on.ufanet.ru
  5. http://www.olimex.com/dev/msp-jtag.html

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *