Перейти к содержанию

Spy-Bi-Wire

Spy-Bi-Wire — двухпроводной интерфейс программирования и отладки MSP430. Он передаёт те же команды JTAG, но занимает всего два вывода, совмещённых с TEST и сбросом, — поэтому им пользуются даже маленькие микроконтроллеры.

Обновлено Редакция GAW

Spy-Bi-Wire (SBW) — двухпроводной интерфейс отладки и программирования микроконтроллеров TI MSP430. Он даёт доступ к той же отладочной логике на кристалле, что и стандартный четырёхпроводной JTAG, но сигналы передаются по двум линиям:

СигналВыводНазначение
SBWTCKTESTтактовый сигнал от программатора
SBWTDIORST/NMIданные в обе стороны
DVCC, DVSSпитание и общий проводобщая земля и опорный уровень

Оба сигнальных вывода совмещены со служебными функциями — TEST и сбросом, — поэтому отладка не отнимает ни одной линии ввода-вывода. У MSP430G2553 в корпусе DIP-20 это выводы 17 и 16, у MSP430FR2433 TI описывает те же сигналы в разделе 6.7 даташита. Через SBW программатор записывает флеш-память или FRAM, ставит точки останова и выполняет программу по шагам.

На схеме платы важна цепь сброса: вывод RST в режиме SBW становится линией данных. Для семейства 2xx TI рекомендует подтяжку RST к питанию резистором 47 кОм и конденсатор на общий провод — 10 нФ, а при работе со Spy-Bi-Wire не больше 2,2 нФ, иначе он искажает сигнал данных.

Похожие идеи есть у других производителей: двухпроводной SWD у ARM Cortex-M и однопроводной UPDI у новых AVR. В отличие от внутрисхемного программирования ISP классических AVR, такие интерфейсы дают не только прошивку, но и полноценную отладку. Обзор семейств и способов прошивки MSP430 — в разделе «MSP430».

Частые вопросы

Чем Spy-Bi-Wire отличается от JTAG?

Числом проводов. Четырёхпроводной JTAG использует TDI, TDO, TMS и TCK, а Spy-Bi-Wire передаёт те же операции по двум линиям — тактовой SBWTCK и двунаправленной SBWTDIO. Выводы при этом совмещены с TEST и RST, так что под отладку не приходится отдавать линии ввода-вывода.

Почему не работает прошивка MSP430 через Spy-Bi-Wire?

Частая причина — цепь сброса. Вывод RST одновременно служит линией данных SBWTDIO, и большой конденсатор на нём искажает сигнал: TI ограничивает его 2,2 нФ для MSP430 серии 2xx. Также нужно соединить общий провод и питание программатора с платой.

Какие выводы нужны для подключения Spy-Bi-Wire?

Четыре: SBWTCK — вывод TEST, SBWTDIO — вывод RST/NMI, питание DVCC и общий DVSS. У MSP430G2553 в корпусе DIP-20 это выводы 17, 16, 1 и 20.

Источники

  1. Texas Instruments. MSP430FR2433 Mixed-Signal Microcontroller (SLASE59F, revised December 2019) — разд. 6.7, табл. 6-6: двухпроводной интерфейс SBW — TEST/SBWTCK (тактовый вход) и RST/NMI/SBWTDIO (данные в обе стороны), плюс питание и общий провод; применяется для средств разработки и программаторов
  2. Texas Instruments. MSP430G2x53, MSP430G2x13 Mixed Signal Microcontroller (SLAS735J, revised May 2013) — выводы TEST/SBWTCK (17) и RST/NMI/SBWTDIO (16) в корпусах N20 и PW20; отладочная логика на кристалле с интерфейсом Spy-Bi-Wire
  3. Texas Instruments. MSP430F2xx, MSP430G2xx Family User's Guide (SLAU144K, revised August 2022) — разд. 2.5: конденсатор на выводе RST/NMI не больше 2,2 нФ при работе с Spy-Bi-Wire и средствами TI

Нашли ошибку?