Руководство 01: Приступая к работе

Поразительно, но для работы с микроконтроллерами необходимо лишь несколько компонентов. Для использования MSP430 потребуется: отладочная плата с чипом, программатор, компилятор, и источник питания. Питание может браться от пары пальчиковых батареек, или поступать напрямую от компьютера. Есть несколько компиляторов(некоторые из которых бесплатны), и отладочная плата может быть изготовлена вручную(при необходимости). Однако вплоть до недавнего времени было мало программаторов, лучшие из которых были довольно дорогими. Но недавний выпуск TI LaunchPad изменил эту ситуацию. Давайте рассмотрим подробнее каждый из перечисленных выше компонентов необходимый для работы с MSP430.

Отладочная плата

MSP430 может быть запрограммирована как внутри окончательной схемы, так и за её пределами при помощи его подключения к отладочной плате. Данный вид плат сделан таким образом: что бы можно было временно поместить в неё микроконтроллер, затем запрограммировать, и потом использовать его в конечном устройстве. Хорошо изготовленная отладочная плата делает возможным конструирование прототипов, или подключение к внешней схеме, в то время как микроконтроллер будет установлен в своей отладочной плате. TI делает хорошие отладочные платы нескольких форм-факторов, для работы со своими MSP430, например MSP-TS430PW28. Не смотря на то что немного дороговата, на самом деле большая часть цены уходит на примочки вроде ZIF разъёма для установки чипа. Отладочные платы не слишком сложны для разработки(потом мы рассмотрим как это сделать).

Любительским типом плат являются экспериментальные платы(также называемые платами разработки). Эта плата может быть похожа на отладочную плату и использовать разъём, что бы временно размещать чип, или же микроконтроллер может быть припаян. В комплект платы разработки входят и другие компоненты такие как: светодиоды, кнопки, динамик, последовательный или Ethernet-порты и другие приспособления. TI делает некоторые из них, такие как MSP-EXP430F5438. Также изготавливаются и другими производителями, например Olimex кстати по более низкой цене, а иногда и со старшими микроконтроллерами из семейства MSP430.
LaunchPad

Если вы переходили по ссылкам указанным выше то наверняка решили что цена слишком завышена, тогда давайте обратим внимание на LaunchPad! Эта отладочная плата для 14 и 20 контактных DIP компонентов со встроенным программатором(см. ниже). Лучшей её особенностью является её цена, которая составляет 4.30$! Хоть это и новый продукт, сообщество уже начало развиваться вокруг этой платформы, и LaunchPad может оказаться самым простым способом начала работы с MSP430, особенно для не имеющих опыта работы микроконтроллерами. В статьях руководства будет использоваться LaunchPad, что бы научить вас основным понятиям и особеннстям MSP430.

Программаторы

Отладчик/программатор MSP430 официально называется Flash Emulation Tool(FET). Отладчик/программатор служит двум целям: он записывает программу в MSP430, а также может использоваться для ручного контролирования чипа, необходимого для отладки программы(см. описание отладки в разделе Компилятор).

У TI есть два вида подключения программаторов. Вы можете использовать 4-х проводной JTAG, которому необходимо четыре контакта MSP430 для записи программ в память чипа, или же можно использовать 2-проводной (Spy-bi-wire, или SBW), которому необходимо 2 контакта. 4-проводной JTAG совместим с любыми MSP430, но SBW подходит только к некоторым из них. Возможно вы подумали что SBW подходит только некоторым маленьким и слабеньким чипам, на самом деле TI встраивает поддержку SBW в новые и мощные чипы, например MSP430x5xx. (Список поддерживаемых чипов можно найти в slau157s. Загляните в Table 2-1.) Реальным недостатком использования SBW является только скорость программирования; SBW работает примерно в десять раз медленней чем JTAG. Тем не менее, программы для MSP430 как правило очень маленькие, зачастую меньше 2кб в размере. Если вам действительно важно время то скорость программирования и отладки не должны сильно повлиять на процесс разработки.

Стандартный TI FET подключается посредством USB, также доступен и старенький последовательный порт. Этот программатор/отладчик может программировать посредством JTAG или SBW используя 14 (2x7) контактный разъём. Другие компании иногда делают клоны программатора от TI, частенько по более низкой цене.

Если вас устраивает SBW, тогда есть более дешёвые вариант. Система TI eZ430 имеет FET интерфейс в форм-факторе USB-стик USB-стик (фото здесь). К сожалению контакты подключения очень близки к компьютеру, так что отлаживаемая плата должна находится поблизости или же вы может придумать удлинитель. (На заметку, SBW подкючается по 2 проводам, но MSP430 помимо этого нужно питание, и главное программатор/отладчик может давать энергию. Таким образом необходимо ещё два контакта для питания. Вот мы и емеем минимум, который для JTAG составляет 6 контактов.)

LaunchPad поставляется с встроенным Spy-bi-wire программатором. Также данная плата может быть использована для внешнего программирования MSP430, имеется 6 контактов необходимых для этого — это питание, SBW и ещё 2 дополнительных контакта для подключения USB.

Компилятор

Два профессиональных компилятора для MSP430 также доступны их бесплатные версии;IAR Systems и Code Composer Studio. В бесплатных версиях ограничивается только максимально возможный размер кода(4кб для IAR, 16кб для CCS), но для большинства микроконтроллеров и этого будет достаточно. Для программ побольше можно приобрести полную версию или же воспользоваться mspgcc компилятором с открытым исходным кодом. Но для целей урока мы будем использовать Code Composer Studio. Те кто предпочитают компилятор IAR могут пользоваться им без особых трудностей.

Одним из наиболее важных инструментов для разработки является интерфейс работы с отладчиком. IAR и CSS поставляются со встроенным отладчиком, но пользователям mspgcc понадобится для отладки mspdbg. Функция отладки позволит вам постепенно выполнять код и посмотреть какие изменения происходят в настройках и конфигурации MSP430 в конкретный момент времени, а также отладчик подскажет правильно ли работает устройство и покажет содержимое памяти и регистров. Вскоре мы рассмотрим подробнее эффективное использование отладчика.

Питание

LaunchPad питается через USB; это же питание доступно при использовании внутрисхемного отладчика/программатора(FET). Если вы захотите что бы ваше устройство работало автономно, тогда вам нужно задуматься над самостоятельным источником питания.

MSP430 устройство с ультра-низким энергопотреблением, и поэтому его можно запитать от обычных батареек. MSP430 будет хорошо работать в диапазоне напряжений от 1.8V до 3.6V, однако для выполнения перепрограммирования необходимо напряжении выше 2.2V. Помните, что скорость работы чипа также зависит от напряжения питания: несмотря на то что предельная частота составляет 16 MHz, но при напряжении в 1.8V — MSP430F2001 не сможет работать быстрее 6MHz. Следующий рисунок выдержка из даташита на MSP430F2001, показывает влияние напряжения питания на частоту работы.

power-vs-freq
Посмотрите даташит на ваш микроконтроллер, что бы узнать частоту работы при выбранном вами источники питания.

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

Вернёмся к Руководству

Это руководство будет использовать TI LaunchPad совместно со встроенным в него SBW, для того что бы объяснить особенности работы с MSP430 и его эффективное использование. Примеры будут запускаться при помощи среды разработки CCS v4. Если у вас есть эти два компонента(общей ценой в 4.30$!), тогда вы уже имеете все необходимое для начала. Если вы счастливый обладатель другого инструмента программирования или отладочной/экспериментальной платы, не стесняйтесь использовать и его, всё что будет в руководстве будет легко модифицироваться под любую платформу основанную на MSP430. Когда же мы вылезем за пределы LaunchPad, мы несколько неплохих идей как это осуществить дёшево и чисто. Зная основы, вы должны быть в состоянии спроектировать любые системы, в которые вы сможете поместить и запрограммировать микроконтроллер MSP430.

Данный текст является моим переводом Tutorial 01: Getting Started. Пишите коментарии и замечания по переводу, а также замеченные ошибки. Спасибо _YS_
  • 0
  • 27 сентября 2011, 11:40
  • Akay

Комментарии (51)

RSS свернуть / развернуть
Данный текст является моим переводом

Я понял, что это перевод, ко второму абзацу, что не есть хорошо. Хороший перевод читается как оригинал…
0
  • avatar
  • _YS_
  • 27 сентября 2011, 12:14
Сейчас гляну оригинал. Походу, там есть фактические ошибки.
0
Пиши, подправлю
0
Да не, вроде там все ОК на первый взгляд.
0
Энергия
LaunchPad получает энергию через USB интерфейс, и также при использование FET доступна данная возможность. Если вы захотите реализовать свой проект в автономной системе, вам понадобится питание схемы.

ПРОМТ детектед.

Я бы перевел так:

Питание

LaunchPad питается от USB; питание от USB всегда доступно
при использовании внутрисхемного отладчика/программатора.
При создании же готового устройства задачу питания придется решать
отдельно. MSP430 — маломощное устройство, и поэтому его вполне можно питать от обычных батареек. Контроллер будет работать в
диапазоне напряжений от 1.8В до 3.6В, однако программирование возможно только при напряжении питания выше 2.2В. Помните, что максимальная рабочая частота также зависит от напряжения питания: несмотря на то, что предельная частота составляет 16МГц, при напряжении 1.8В контролер сможет работать на частотах не выше 6МГц. Следующая картинка — выдержка из даташита на MSP430F2001, показывающая зависимость рабочей частоты от напряжния питания:

[]

Подобные графики приводятся в документации на каждый МК серии MSP430.

Кроме батарейного питания, также возможно питание конструкции от бытовой сети через трансформатор и стабилизатор (о стабилизаторе будет сказано далее). Возможно, вас заинтересует питание конструкций от солнечных батарей или других нестандартных источников.


Feel the diference.
0
  • avatar
  • _YS_
  • 27 сентября 2011, 12:36
Переводил на скорую руку, поэтому тавтологию не убрал. Но идея, надюсь, ясна.
0
извините за оффтоп, но промт рулит:) переводил как-то раз документацию к DS18B20:
Иллюстрация 1 показывает схеме управления власти паразита DS18B20’s, которая «захватывает» власть от шины С 1 проводом через способный к глубокой вытяжке штырек, когда шина высока. Захваченные степени обвинения, которые DS18B20, в то время как шина высока, и часть обвинения, сохранен на конденсаторе власти паразита (CPP), чтобы обеспечить власти, когда шина низка.
+2
Аааа! пацталом :))
0
«захватывает» власть от шины С 1 проводом через способный к глубокой вытяжке штырек

Сурово… xDDDDDD
0
Хохохо, копипаста машинных переводов неисчерпаема.)
И всё равно всегда вспоминаются эпичные «гуртовщики мыши».)
0
Не-не. Ударьте мышке по левой почке! Дважды.
+1
  • avatar
  • Vga
  • 27 сентября 2011, 23:49
Отработайте двойной быстрый удар… Ну вы понели.) Боян жутчайший, но может кто не видел.)
0
наш бложик оживляется… это хорошо
0
Кстати, сам оригинал не айс — там используют CCS, это тормозное г-но.
0
  • avatar
  • _YS_
  • 27 сентября 2011, 12:41
а мне IAR не нравится наоборот… на вкус и цвет…
0
Просто CCS у меня жутчайше тормозит. А так да, на вкус и цвет…
0
Тормозит — это да, но там есть Grace! Ради такой фичи, можно с чем угодно смириться :)
0
А, точно. Это еще одна причина моей нелюбви к этой среде.
0
Ну я тоже против того, чтобы офисный планктон занимался нашим нелегким делом, однако Grace позволяет лучше понять, что происходит при установке того или иного бита. При изучении новой архитектуры это ИМХО очень важно.
0
Да, читается очень тяжело. Как будто слушаешь американского шпиона из старого советского фильма. Только акцента не хватает.
0
  • avatar
  • mzw
  • 27 сентября 2011, 12:42
Похоже на немного поправленный руками машинный перевод.
0
Ну меня никто английскому особо не учил(за спиной только школьная программа). Вот моя попытка перевести что-нибудь полезное для окружающий. Конечно пользоавался немного ABBY Lingvo, немного Google переводчик, трудновато перевести когда даже на русском некоторых слов не встречал. Итог вы сами видете. Постепенно попытаюсь обтисать, да и выложил на данном моменте потому что нетерпелось услышать что скажут другие.
0
Ну меня никто английскому особо не учил(за спиной только школьная программа).

Меня, кстати, тоже. :) Практика, практика…

Постепенно попытаюсь обтисать

Для этого есть черновики.

нетерпелось услышать что скажут другие.

Для этого есть личные блоги.

Не в обиду, но, похоже, в отношении русской речи Вам тоже есть, куда расти (впрочем, как и мне). Или Вы очень торопитесь. :)

видите, обтесать, на данном этапе, не_терпелось
+1
видете, вроде правильно
обтесать — отесать, делать что либо гладким по всей поверхности
ну на счёт нетерпелось почти уверен что написано правильно.

Ну на счёт торопливости Вы правы
0
видеть — глагол-исключение II спряжения.

www.wikiznanie.ru/ru-wz/index.php/Спряжение

«обтесать» — таки через «е». Сами же так и написали сейчас. :)

не терпелось — «не» с глаголами пишется раздельно. :)
+1
Ну на счёт торопливости Вы правы

В этом контексте — «насчет». :D
0
Огогой, Спасибо большое, так может и русский выучу
0
Дерзайте. :) Что правда, то правда, перед тем, как заниматься переводами, неплохо бы осилить тот язык, на который собираетесь переводить… :)
0
Вот, причесал свой вариант:

Питание

LaunchPad питается от USB; питание от USB всегда доступно
при использовании внутрисхемного отладчика/программатора.
При создании же готового устройства эту задачу придется решать
отдельно. MSP430 — маломощная микросхема, и поэтому его вполне можно подключать к обычным батарейкам. Контроллер будет работать в
диапазоне напряжений от 1.8В до 3.6В, однако программирование возможно только при напряжениях выше 2.2В. Помните, что скорость работы также зависит от напряжения питания: несмотря на то, что предельная частота МК составляет 16МГц, при работе от 1.8В максимальная частота составит 6МГц. Следующая картинка — выдержка из даташита на MSP430F2001, показывающая зависимость рабочей частоты от напряжения питания:

[]

Подобные графики приводятся в документации на каждый МК серии MSP430.

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


Ну и так далее.
0
  • avatar
  • _YS_
  • 27 сентября 2011, 12:56
Как кстати Target Board по русски будет?
0
  • avatar
  • Akay
  • 27 сентября 2011, 13:35
Вообще — отладочная плата. А так — к каждому слову в каждом конкретном случае надо подбирать наиболее подходящий эквивалент по контексту, ибо структура английского предложения совсем другая, и то, что по-английски звучит отлично, по-русски может не звучать совсем.
0
Заметили бешеную тавтологию в первом варианте моего перевода? Это оттого, что я в спешке переводил слишком близко к тексту. И как я ее разрулил (не до конца, правда) во втором? Действуйте.
0
Можете, кстати, допилить мой вариант (в конце про питание немного), там немного осталось до читаемости. :)
0
А я бы перевел как «целевая плата». То есть та, для которой пишется прошивка и т.п. Слово «отладочная» не всегда подходит
0
Ну я и говорю, перевод зависит от контекста.

Т.е., нормальный перевод делается так: из исходного текста создается образ в голове, а из образа уже генерируется текст на нужном языке. Не надо привязываться к структуре предложения и конкретным словам, надо передавать смысл.
0
Не ну здесь, вроде, можно отладочной назвать, т.к. упоминается что может быть подключена к внешней цепи. А под внешней цепью как мне кажется и подразумевается конечное устройство
0
Уиии, а я часики Chronos только сегодня получил ))))
4 кб IAR мало вот по какой причине. Если использовать прекомпилированные дрова — то 4 кб достаточно. А если нужно свое что-нить допилить(например, вызов из обработчика прерывания таймера своей функции) — то с бесплатным иаром придется извращаться: встраивать вызов своей функции в функцию, вызываемую из таймера(например, clock_tick)
0
Ну с лоунчпадом эти косяки не всплывают
0
Ну вот подправил некоторые косяки
0
  • avatar
  • Akay
  • 27 сентября 2011, 16:59
О, да, прогресс заметен. :)
0
а я считаю даже плохой перевод лучше чем никакой. Чем больше инфы, тем лучше! Так что автор — молодец!
0
Вот нет. Плохой перевод запутывает. Он разбавляет информацию бредом. Падает процентное отношение ценная информация/бред, что усложняет поиск адекватных материалов; в этом заключается вред кривого перевода.

Я бы еще понял, если бы оригинал был на китайском или финском. Но английский — де-факто стандарт электроники. Электронщик, не знающий английского хотя бы на уровне чтения документации — нонсенс. Гуманитарий может знать английский, электронщик английского не знать не может.

В одном я только рад за автора — он учит язык. Заодно и русский. :D
0
Стоит еще ответить, неграмотные переводчики нередко материал перевирают. Взять хоть недавний перевод статьи о взломе фьюз-бит на пике с хабра.

А то бывает как на дельфимастере — начитаются чайники Архангельского и валят на форум с вопросами «а почему не работает?», «а почему моя многопоточная прога падает и работает на двухядернике медленнее, чем однопоточная?» и т.п.
0
  • avatar
  • Vga
  • 27 сентября 2011, 22:41
я так тоже посчитал, да вот здесь не одобрили
0
На плате криво припаян miniUSB
0
Так я думаю паял не автор=) =) ;) Хотя юморно!
0
Не я на свою только кварц криво припаял, а эту фотку я с оригинала взял
0
Или его тоже стоит подправить?
0
Гляжу, перевод правится. :) Сейчас гораздо лучше, так держать. :)
0
  • avatar
  • _YS_
  • 27 сентября 2011, 22:37
Ну потихоньку, потихоньку. Завтра вторую часть выложу, на всеобщее обозрение
0
0
  • avatar
  • Akay
  • 29 сентября 2011, 12:55
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.