Не так давно TI выложили в паблик новую отладочную плату из серии Launchpad (если судить по http://www.ti.com/ww/en/launchpad/overview_head.html эта плата идет как замена первого launchpad).
Буквально сегодня это устройство попало ко мне в руки, соответственно в честь этого события был написан дальнейший иллюстрированный обзор.
Характеристики:
- Частота ядра 25MHz
- Память: 128KB флеша, 8kB RAM
- 16-ти канальный 12-bit ADC
- компаратор
- четыре 16 битных таймера
- 2 I2C, 4 SPI, 2 UART, USB (подключенный через USB hub)
- 40 пиновый коннектор для BoosterPack-ов (как на TivaC/Stellaris launchpad)
- MSP430-F5529 — один из старших микроконтролеров в 5x серии
Что выделяет эту плату на фоне других? Главным образом наличие встроенного контролера USB, что позволяет использовать ее как основу для разнообразных устройств USB периферии для PC/Mac. В msp430f5529 уже зашита демка с реализацией HID клавиатуры и Mass Strorage накопителя. Конечно, также очень хорошо, что на ней стоит микроконтроллер из относительно новой 5x серии, в котором в отличии от 2x серии присутствует много интересной периферии, например DMA, Port Mapping Controller.
Комплектация (в отличии от «первого» Launchpad эта плата идет полностью собранной, т.е тут нет необходимости припаивать довольно мелкий кристалл и разъемы):
- плата
- micro usb шнур
- красивая брошюрка с иллюстрацией распиновки платы и ориентирами на инструменты документацию.
Также очень интересным моментом в этой плате является наличие нового программатора/эмулятора/дебагерра eZ-FET lite, который позиционируется как опенсурс.
У eZ-Fet lite есть собственная страница на сайте TI
http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSP430_ezFETLite/latest/
на которой можно получить прошивку, схемы, исходники и руководство.
(скорее всего он не является настоящим опенсурсом т.к для работы необходима закрытая MSP430.DLL)
Характеристики eZ-Fet lite 1.10:
- USB отладка, прошивка
- коммуникация по UART со скоростью до 1MBaud
- возможность обновления прошивки
- поддержка всех микроконтролеров архитектуры MSP430
- софт — MSP430.DLL версии 3.3.0.6 или старше, Code Composer Studio версии 5.4 или старше, IAR Embedded Workbench версии 5.50 или старше
Еще фото:
Быстрый старт:
С недавних пор TI стала для каждой из своих плат оформлять некий «Project 0» который должен позволить быстро окунутся в разработку, данная плата также имеет такой проект. Стартовая страница «Нулевого» проекта http://processors.wiki.ti.com/index.php/MSP430F5529_LaunchPad — на этой странице собраны все ссылки необходимые для старта.
Если кратко пересказать Project 0 то вот, что нужно сделать:
- скачать Code Composer Studio
(CCS) c сайта TI (это наверное самое сложное) — чтобы сделать это заходим на http://processors.wiki.ti.com/index.php/Download_CCS
и нажимаем на кнопку под «Download the latest CCS», далее подтребуется заполнить анкету о том, что мы не планируем использовать этот софт в военных целях и только после этого нам позволят получить бесплатную версию CSS лимитированную 16kB кода. - После того как мы получили CCS следует ее установить обычным инсталятором
- Далее нужно ее запустить и создать проект File > New > CCS Project, в визарте указать в качестве device MSP430F5529, выбрать Empty Project (with main.c).
- После создания проекта можно вставить в него код:
#include <msp430.h> unsigned int i = 0; // Initialize variables. This will keep count of how many cycles between LED toggles void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer. This line of code is needed at the beginning of most MSP430 projects. // This line of code turns off the watchdog timer, which can reset the device after a certain period of time. P1DIR |= 0x01; // P1DIR is a register that configures the direction (DIR) of a port pin as an output or an input. // To set a specific pin as output or input, we write a '1' or '0' on the appropriate bit of the register. // P1DIR = <PIN7><PIN6><PIN5><PIN4><PIN3><PIN2><PIN1><PIN0> // Since we want to blink the on-board red LED, we want to set the direction of Port 1, Pin 0 (P1.0) as an output // We do that by writing a 1 on the PIN0 bit of the P1DIR register // P1DIR = <PIN7><PIN6><PIN5><PIN4><PIN3><PIN2><PIN1><PIN0> // P1DIR = 0000 0001 // P1DIR = 0x01 <-- this is the hexadecimal conversion of 0000 0001 for (;;) // This empty for-loop will cause the lines of code within to loop infinitely { P1OUT ^= 0x01; // Toggle P1.0 using exclusive-OR operation (^=) // P1OUT is another register which holds the status of the LED. // '1' specifies that it's ON or HIGH, while '0' specifies that it's OFF or LOW // Since our LED is tied to P1.0, we will toggle the 0 bit of the P1OUT register for(i=0; i< 20000; i++); // Delay between LED toggles. This for-loop will run until the condition is met. //In this case, it will loop until the variable i increments to 20000. } }
и нажать кнопку Debug (F11), после чего, если все подключено и настроено правильно, мы попадем в отладчик (где можем ходить по коду и рассматривать регистры) в котором мы просто нажмем Resume (F8) и насладимся миганием светодиода (еще CCS может предложить обновить прошивку eZ-Fet lite).
Также как вариант предполагается возможность воспользоваться Energia, чтобы использовать данную плату по аналогии с arduino.
На мой взгляд плата получилась очень удачная и без сильных сложностей позволяет собрать какое-нибудь usb устройство.
(Для тех кто сталкивается с подобными платами впервые, хочется отметить, что она как и другие launchpad-ы, по сути является дешевым Spy-by-Wire программатором/отладчиком для практически любых MSP430 контролеров, т.е с помощью пары проводов ее можно подключить к внешнему устройству и прошивать/отлаживать его из CCS и других IDE (причем в отличии от дорогого JTAG MSP430-FET UIF можно подключатся напрямую к ножкам контролеров)).
Автор: strobegen