С огромной благодарностью Дежану Петровику за объективную статью о платах TiTAN и TiTAN-I.

Проект TiTAN — относительно молодая компания, решившая множество задач, которые многие не решали ранее. Текущие события в мире – это особая история.

TiTAN — это плата для разработки, которая позволяет использовать микроконтроллеры Texas Instruments в среде разработки Arduino. Были попытки и раньше, например, Panstamp. Надеемся, что TiTAN не постигнет та же участь, особенно в свете текущих событий. Хотя Panstamp закончился бесславно, он заложил основы, которые признали инженеры проекта TiTAN и построили на них отладочные платы, которые мы представляем вам в этом выпуске.

Титан

TiTAN — это макетная плата, максимально повторяющая форму Uno. Учитывая не такие уж и маленькие различия в архитектуре, сходство очевидное. TiTAN следует рассматривать как плату, состоящую из двух блоков, программатора/отладчика и микроконтроллера. Это то, что является стандартным для плат разработки Texas Instruments, про Launchpad вы сможете узнать  в одном из следующих выпусков. Часть программатора/отладчика основана на микроконтроллере M430F5528, роль которого заключается в загрузке пользовательского ПО в целевой микроконтроллер, а также в использовании его в качестве отладчика. Когда мы говорим целевой микроконтроллер, мы имеем в виду не только тот, который уже есть на плате, но и на любой другой плате. Мы можем рассматривать эту часть платы как встроенный программатор/отладчик, который можно использовать для всех остальных микроконтроллеров MSP430. Плата четко разделена разъемом 2×10 JTAG, который устанавливает связь между программатором/отладчиком и микроконтроллером. Перемычками выбираются линии, которые необходимы в данный момент времени. В частности, на плате TiTAN установлены только линии TST и RST. Это линии интерфейса Spy-Bi-Wire. Программатор/отладчик тоже имеет свой интерфейс JTAG 2х5, которым он прошивается. Программатор/отладчик представляется как eZ-FET Light где одним из отличий от не-Light версии является отсутствие функции EnergyTrace.

Сердцем системы является (MSP) микроконтроллер SoC CC430F5137 от Texas Instruments. Это очень интересный микроконтроллер, поскольку он поставляется с радиочастотным ядром (MSP430 и CC1101). Другими словами, его можно использовать для радиосвязи. MSP430 — семейство микроконтроллеров, работающих при напряжении от 3,6 до 1,8 вольт и являющееся довольно небольшим потребителем. MCU основан на 16-битной RISC-архитектуре. Если не ошибаемся, это первый 16-битный микроконтроллер, который мы имели возможность представить вам на этом сайте. Для сравнения, 8-битный микроконтроллер может использовать только восемь бит данных на инструкцию, а 16-битный — в два раза больше. Затем 8-битный диапазон идет от 0-255, а 16-битный имеет тот же диапазон 0-65535 всего за один цикл. Тактовая частота MSP430 может быть увеличена до 20 мегагерц. С радиочастотным ядром, работающим на частоте 26 МГц. Микроконтроллер имеет 32 КБ флэш-памяти и 4 КБ ОЗУ. Из интерфейсов есть I2C, UART, SPI, IrDA, 12-битный АЦП, 16-битные таймеры, RTC и прочее. Наша модель по понятным причинам работает на частоте 433 МГц, и отметим, что антенны в комплекте с TiTAN не идут. Плата поставляется с соответствующей схемой, а также полосой пропускания. Без антенны повредить чип невозможно. Вместе с платой вы получаете u.Fl на кабеле SMA. Для частоты 433 МГц длина радиоволны составляет 0,69 метра, и в зависимости от проекта можно использовать обычный провод соответствующей длины (1/2, 1/4 и т. д.). Мы много раз писали о длине проводов для радиоантенн. Обычными проводами мы не можем просто подключиться ни к разъему u.Fl, ни к SMA, да и на платах они не предусмотрены, так что лучше приобрести правильные антенны. Согласно имеющимся данным, дальность до 500 метров может быть достигнута за счет доступных модуляций FSK, GFSK и MSK.

В качестве макетной платы TiTAN в основном работает при напряжении от 5 до 7 вольт. Запитать его можно через разъем micro USB, через который уже установлена ​​связь с компьютером. Для напряжения выше 5 вольт есть разъем постоянного тока или контакт VIN. Рядом с портом постоянного тока находится трехконтактный разъем для выбора входов питания, к сожалению, без маркировки. Боковые заголовки отмечены портами, но не в отображении Arduino. Плата имеет встроенный светодиод на контакте P1.0, а также пользовательскую кнопку на контакте P1.7. Незаполненная часть платы TiTAN была превращена в поверхность прототипа PTH.

TiTAN-I 

TiTAN-I — это, по сути, голый TiTAN. Формат платы что-то вроде Pro Mini и работает она исключительно на 3,3 вольта. Он содержит тот же MCU, что и более крупный TiTAN, с радиочастотной схемой и разъемом u.Fl. Два боковых 12-контактных разъема и один 2×5 разделяют контакты микроконтроллера и имеют четкую маркировку. Для программирования этого TiTAN можно использовать программатор/отладчик от большего, поэтому уберем перемычки и подключим к нему GND, 3V3, TST и RST. TiTAN-I можно рассматривать как узел в более крупной системе радиоблоков.

Для программирования TiTAN можно использовать Code Composer Studio (CCS), Keil MDK, IAR Embedded Workbench и Arduino IDE. Мы использовали CCS и более близкую нам Arduino IDE.

Code Composer Studio

При подключении TiTAN к компьютеру он будет отображаться под двумя портами, но без дополнительных надписей. В таком состоянии невозможно использовать TiTAN независимо от среды разработки, потому что программное обеспечение не распознает его. Драйверы поставляются с CCS, и после установки мы можем различать порты MSP Application UART1 и MSP Debug Interface. CCS можно использовать в облачной версии и версии для ПК. Если правильная модель MCU не распознается, необходимо установить меньший инструмент, решающий эту проблему или обновить прошивку программатора/отладчика как предложит CCS. CCS визуально не отличается от аналогичных инструментов и построен на основе Eclipse. В верхней части есть две панели с меню и инструментами. Редактор занимает центральное место, а Консоль и Проблемы находятся ниже. CCS также предлагает отладчик, и мы можем смело сказать, что это программное обеспечение является отличным выбором для работы с микроконтроллерами MSP430 (в общем, TI MCU, это их программное обеспечение).

После открытия нового проекта CCS мы сначала получаем выбор семейства MCU, а затем точную модель. Назвав проект, мы можем приступить к программированию. Ряд примеров можно скачать с официального сайта проекта www.titan-project.com, там есть блог с пояснениями по каждому из проектов. В список входят I2C LCD, DHT11, RTC, SPI TFT, а также многие другие. Конечно, связь RF433 подразумевается. Конечно, помимо нового проекта в CCS, мы можем напрямую открыть некоторые из предложенных примеров.

main.c

Приведенный пример https://titan-project.com/wp-content/uploads/2020/01/TiTAN_example_01_simply_led_blink.zip представляет собой простой Blink в терминологии Arduino. Если вы посмотрите на структуру чуть получше, то увидите, что сначала нужно отключить сторожевой таймер. Затем необходимо определить тактовую частоту MCU, в нашем случае это 20МГц. Объявив светодиод как OUTPUT в цикле while, мы включаем и выключаем светодиод. Определение тактовой частоты, а также макросы светодиодов находятся в добавленных файлах. Весь пример, как и многие другие, можно скачать в разделе Программное обеспечение на официальном сайте. Программирование TiTAN в CCS выполняется на уровне регистров. В настоящее время нет специализированных библиотек. Таким образом, с другой стороны, был получен полный доступ и контроль над регистрами и периферийными устройствами. 

Ардуино IDE

TiTAN также можно запрограммировать через Arduino IDE, добавив пакеты: http://panstamp.org/arduino/package_panstamp_index.json через Preferences и Boards Manager, а также друг для друга. Здесь видно, что в основном использовалось ядро ​​проекта Panstamp. После установки панелей необходимо дополнить программаторы, текстовые файлы платформы, а также pins.h в папке с вариантами. Весь процесс очень подробно описан в разделе «Блог» на официальном сайте TiTAN https://titan-project.com/is-it-possible-to-connect-arduino-ide-and-titan-boards-based-on-msp430/. Далее необходимо установить консольную программу MSP430-Flasher, которая будет работать с программатором/отладчиком eZ-FET. Если все сделать правильно, выбрав TiTAN 1.0 под Panstamp в Boards и eZ-FET в качестве Programmer, то один скетч Blink можно прошить без проблем. Вот мы и подошли к мелким проблемам. TiTAN не отображается в классическом отображении Arduino. Более того, pins.h включает сопоставление выводов для Panstamp. В основном их можно использовать, поэтому, скажем, третий контакт в последовательности после UART P3.1 обозначается как (D) 17. Точно так же для I2C заявлены выводы P1.4 и P1.5, а на TiTAN они заявлены как P1.2 и P1.3. Некоторые контакты вообще не имеют отображения Arduino, и доступ к ним возможен только через регистры даже в Arduino IDE. При этом некоторые пины вообще не выполняются. Система портмаппинга (PORTMAP) позволяет переназначать функции практически на каждый пин, что очень удобно, если нам просто не нужны какие-то предустановленные функции.

Не стоит ожидать, что в Arduino IDE все будет работать «из коробки», наоборот. Различия в архитектуре существенны. Titan-Project — молодая компания, открытая для любой помощи желающим присоединиться, так как сами они больше не планируют обновлять экосистему Arduino. Arduino имеет серьезные ограничения по сравнению с CCS и прямым доступом к реестрам. Согласно миссии TiTAN, TiTAN – это плата для тех, кому не хватает того, что предлагает Arduino. Мы думаем одинаково.

Не подумайте, что мы пренебрегли радиокомпонентом. SmartRF Studio можно загрузить с официального сайта Texas Instruments, которую можно использовать для создания ВЧ-генератора из TiTAN. Радио может быть отправлено через одно из предусмотренных для этого устройств, например, осциллограф. Инструмент должен распознавать CC430 как беспроводной MCU с частотой менее 1 ГГц. Остается только выбрать частоту и размер пакета. На страницах TiTAN есть страницы блога и программного обеспечения, где есть примеры и пояснения относительно связи между двумя TiTAN. Помимо этого, примеры охватывают I2C, SPI, PWM, различные датчики, экраны и тому подобное.

Titan-project предлагает нам комплексное радиорешение в 16-битной версии. Цены доступные, примеров очень много и будут еще. Мы искренне надеемся, что текущая ситуация не замедлит работу проекта.