Реле Tianbo - ресурс 10 млн переключений
РадиоЛоцман - Все об электронике

Интерфейс начального загрузчика для MSP430 на основе LaunchPad, использующего протокол UART

Texas Instruments MSP430

Журнал Компоненты TI , Выпуск 1, 2015 г

В статье описывается реализация недорогого интерфейса начального загрузчика (BSL) для микроконтроллера MSP430 на основе LaunchPad, использующего протокол UART. Целью этой разработки является внедрение устройств MSP430 Value Line, имеющих менее двух модулей последовательного интерфейса, в качестве моста между программным инструментом начальной загрузки BSL Scripter и устройством MSP430, куда осуществляется загрузка. Дополнительные материалы по проекту и исходный код программы, относящиеся к данной статье, можно загрузить с сайта.

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Введение

Начальный загрузчик MSP430

Начальный загрузчик (BSL) микроконтроллера MSP430 — это программа, которая встроена в устройства MSP430 для считывания и изменения содержимого памяти MSP430, и которую можно использовать для изменения встроенного программного обеспечения. Большинство устройств MSP430 имеют возможность доступа к UART BSL через интерфейс UART. Исключение составляют устройства MSP430 с интерфейсом USB, которые имеют встроенную программу USB BSL [1].

UART BSL

Программу UART BSL можно вызвать, подав специальную входную последовательность сигналов BSL на контакты RST и TEST (в случае устройств, в которых контакты интерфейса JTAG объединены с другими контактами) или на контакт TCK (в случае устройств, имеющих отдельные контакты JTAG). Входная последовательность сигналов BSL будет разной для устройств MSP430, в которых контакты JTAG объединены с контактами другого назначения, и устройств, имеющих специально выделенные контакты JTAG. Отличие входных последовательностей сигналов BSL для этих двух типов устройств отражены на Рисунках 1 и 2.

Интерфейс начального загрузчика для MSP430 на основе LaunchPad,использующего протокол UART
Рисунок 1. Входная последовательность сигналов BSL для устройств с
контактами JTAG, объединёнными с другими контактами.

Кадры данных протокола UART BSL принципиально различны в случае BSL на основе ПЗУ и BSL на основе flash-памяти. Программа BSL на основе ПЗУ доступна в устройствах 1xx, 2xx, и 4xx, а BSL на основе flash-памяти имеется в устройствах 5xx и 6xx. Подробнее о протоколе BSL обоих типов программного обеспечения BSL в [2].

Интерфейс начального загрузчика для MSP430 на основе LaunchPad,использующего протокол UART
Рисунок 2. Входная последовательность сигналов BSL для устройств
со специально выделенными контактами JTAG
.

Универсальный асинхронный приёмопередатчик (UART)

Универсальный асинхронный приёмопередатчик (UART) — это стандарт последовательной связи, который широко используется во встроенных системах. Поскольку данные передаются последовательно и асинхронно (без всякого тактового сигнала), и приёмная, и передающая стороны вынуждены использовать одинаковые настройки скорости передачи данных (обычно она определяется как скорость передачи в бодах), количества битов данных и использования бита чётности. Стандартный кадр UART показан на Рисунке 3.

Интерфейс начального загрузчика для MSP430 на основе LaunchPad,использующего протокол UART
Рисунок 3. Кадр UART.

По умолчанию линия связи UART находится в состоянии отсутствия передачи, имея логический уровень «ВЫСОКИЙ». Обычно сигналом СТАРТОВОГО бита является первый переход из состояния «ВЫСОКОГО» логического уровня в состояние «НИЗКОГО» логического уровня. После передачи СТАРТОВОГО бита передаются биты данных. В большинстве систем данные отправляются в формате с прямым порядком байтов (первым следует младший байт), а битов данных может быть 7 или 8. Перед СТОПОВЫМ битом может, при необходимости, отправляться бит чётности для проверки кадра. Наконец, СТОПОВЫЙ бит обозначает конец кадра UART, представляя собой переход из состояния «НИЗКОГО» логического уровня в состояние «ВЫСОКОГО» логического уровня.

Комплект разработчика MSP-EXP430G2 Launchpad

Комплект разработчика MSPEXP430G2, известный под названием «Launchpad» — это недорогой комплект разработчика устройств MSP430G2xxx Value Line. Комплект разработчика имеет встроенный эмулятор интерфейса USB, который также можно использовать в качестве интерфейса UART (COM-ПОРТА) со скоростью передачи данных 9600 бод.

Реализация

В статье рассматривается микроконтроллер MSP430G2231 на плате MSP-EXP430G2 Launchpad и микроконтроллер MSP430F5438A, версии E, имеющий ошибку SYS10 (время между импульсами на контактах TEST и TCK должно быть менее 15 мкс), в качестве устройства MSP430 в комплекте разработчика MSP-TS430PZ5x100, куда осуществляется загрузка. На Рисунке 4 показана испытательная установка, представляющая собой соединение плат Launchpad и MSP-TS430PZ5x100.

Интерфейс начального загрузчика для MSP430 на основе LaunchPad,использующего протокол UART
Рисунок 4. Испытательная установка для интерфейса UART BSL
на основе Launchpad
.

Аппаратная реализация

Подключение аппаратного обеспечения

На Рис. 5 показано типовое аппаратное соединение между ПК, на котором работает программа BSL Scripter, платой MSP- EXP430G2 Launchpad и устройством MSP430, куда осуществляется начальная загрузка; в данном случае это MSP430F5438A на плате MSP- TS430PZ5x100.

Интерфейс начального загрузчика для MSP430 на основе LaunchPad,использующего протокол UART
Рисунок 5. Типовое аппаратное подключение интерфейса BSL на основе Launchpad.

Назначение контактов

Эта реализация системы требует использования всех контактов порта 1 (P1) микроконтроллера MSP430G2231. Помимо шести контактов, показанных на Рисунке 5, в Launchpad есть два других контакта, которые нужны для реализации интерфейса BSL. Один контакт используется для определения типа устройства MSP430, куда осуществляется загрузка, указывая, является ли оно устройством, в котором контакты JTAG объединены с другими контактами, или же устройством со специально выделенными контактами JTAG. Другой контакт, который подключается к кнопочному выключателю на плате, используется в качестве входа для формирования входной последовательности BSL. Изначально программа BSL Scripter использовала контакты DTR и RTS для формирования входной последовательности BSL в устройстве MSP430, куда осуществляется загрузка. Но эти контакты не доступны в UART- соединении комплекта разработчика MSP-EXP430G2 Launchpad, поэтому необходимо использовать другой вход, чтобы заставить MSP430G2231 на плате Launchpad формировать входную последовательность BSL для устройства MSP430, в которое осуществляется загрузка. В Таблице 1 указано назначение контактов ввода/ вывода общего назначения (GPIO) MSP430G2231.

Таблица 1. Назначение контактов MSP430G2231.
Контакт GPIO
Назначение
P1.0
Входной контакт для типа входной последовательности BSL. Высокий логический уровень
на входе означает, что устройство, куда осуществляется загрузка, имеет контакты JTAG,
объединённые с другими контактами, низкий логический уровень означает устройство
со специально выделенными контактами JTAG.
P1.1
Контакт передачи UART в ПК (подключается к контакту UART RX (приём) в ПК)
P1.2
Контакт приема UART от ПК (подключается к контакту UART TX (передача) в ПК)
P1.3
Вход кнопки для формирования входной последовательности BSL.
P1.4
Подключение контакта RST к устройству MSP430, куда осуществляется загрузка, для
формирования входной последовательности BSL
P1.5
Подключение контакта TEST и TCK к устройству MSP430, куда осуществляется загрузка,
для формирования входной последовательности BSL
P1.6
Контакт приёма UART от устройства MSP430, куда осуществляется загрузка (подключается
к контакту BSL TX (передача) в устройстве MSP430, куда осуществляется загрузка)
P1.7
Контакт передачи UART в устройство MSP430, куда осуществляется загрузка (подключается
к контакту BSL RX (приём) в устройстве MSP430, куда осуществляется загрузка)

Программное обеспечение

Технология мостового соединения

Как указано в аннотации, цель данной работы заключается в реализации интерфейса BSL, которые служит мостом между интерфейсом UART ПК, на котором работает программный инструмент BSL Scripter, и устройством MSP430, куда осуществляется загрузка, при этом устройство MSP430 имеет менее двух последовательных интерфейсов.

Поэтому в данном случае не используется механизм передачи с промежуточным накоплением, когда MSP430 на плате Launchpad принимает данные байт за байтом, а затем отправляет их на противоположную сторону. Вместо этого используется механизм прерываний GPIO, когда приёмные контакты настраиваются как входные с прерыванием для управления соответствующими контактами передачи, настроенными как выходные, в соответствии с логическим состоянием входного контакта. Чтобы лучше понять этот механизм, смотрите следующий раздел, где показана блок-схема реализации программного обеспечения.

Блок-схема

Реализация программного обеспечения интерфейса BSL на основе Launchpad показана на Рисунке 6.

Интерфейс начального загрузчика для MSP430 на основе LaunchPad,использующего протокол UART
Рисунок 6. Блок-схема реализации программного обеспечения интерфейса
BSL на основе Launchpad.

Использование интерфейса BSL на основе Launchpad

При использовании интерфейса BSL на основе Launchpad необходимо учитывать несколько аспектов:

  • Для правильной работы необходимо снять перемычки J5, соединяющие контакты P1.0 и P1.6 со встроенными светодиодами платы.
     
  • По умолчанию программный инструмент BSL Scripter использует линии DTR и RTS для формирования входной последовательности BSL. В UART-соединении MSPEXP430G2 эти линии не предусмотрены, поэтому необходимо нажать переключатель S2 перед запуском программы BSL Scripter, чтобы сформировать входную последовательность BSL.
     
  • UART-соединение MSP-EXP430G2 работает только со скоростью передачи данных 9600 бод. Поэтому невозможно запустить BSL Scripter со скоростями передачи данных, отличающимися от 9600 бод.

Литература

  1. wiki-страница BSL (MSP430): BSL (MSP430) wiki.
  2. Руководство пользователя по программированию MSP430 с помощью начального загрузчика (SLAU319).
  3. Руководство пользователя по семейству MSP430x5xx/MSP430x6xx (SLAU208).
53 предложений от 31 поставщиков
Макетная плата, микроконтроллер MSP430F5510, ЖКД, зона макетирования, разъем Micro SD карты
ЭК ЗИП
Россия
MSP430F413IPM QFP-64
от 124 ₽
Элитан
Россия
MSP430-PIR
Olimex
136 ₽
ЗУМ-СМД
Россия
MSP430-H2274
Olimex
728 ₽
EIS Components
Весь мир
MSP430-CCRFLCD
Olimex
2 003 ₽
Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя