Комплект «CC2540 Mini Development Kit (CC2540DK-MINI)» предназначен для отладки оборудования, разрабатываемого на базе модулей СС2540, Bluetooth 4.0, BLE [1].
Технология Bluetooth 4.0 специально разработана для использования в батарейных устройствах, в которых требуется продолжительная автономная работа без подзарядки.
Базовый чип-сет «Texas Instrument CC2540» содержит процессорный модуль, периферийные блоки и интерфейсы, полный стек Bluetooth протоколов BLE, а также встроенные средства разработки, позволяющие создавать приложения пользователя.
Питание СС2540 может быть реализовано от стандартных батарей или аккумуляторов с напряжением 2- 3В. В чип-сете предусмотрен режим эффективного энергосбережения, при котором ток потребления составляет всего 400 нА. Для того, чтобы привести модуль в рабочее состояние требуются только десятые доли миллисекунды.
Управление модулем осуществляется через порты UART, USB, SPI
В состав отладочного комплекта «CC2540DK-MINI» входят:
• Модем CC2540-USB;
• Модуль CC2540-Keyfob с интерфейсом SPI, UART;
• Пластмассовый корпус для модуля CC2540-Keyfob;
• Программатор CC2540-debugger;
• Соединительные кабели;
• Миниатюрная батарея CR2032;
• Комплект ПО для работы с модулем CC2540.
Модем CC2540 -USB выполнен в виде полностью законченного устройства с разъемом USB. Этот модем содержит внутри себя чип-сет CC2540, периферийные блоки и полный порт USB. Он может быть подключен непосредственно к USB разъему компьютера или другого устройства, поддерживающего интерфейс USB. Внешний вид модема показан на рис.1.

Рис. 1 Модем CC2540 -USB
В составе отладочного комплекта модем будет действовать как «Ведущее устройство BLE». Для работы с модемом CC2540 –USB в компьютере должно быть предварительно установлено прилагаемое программное обеспечение. Минимальные требования, предъявляемые к компьютеру: Microsoft .NET Framework 3.5 Service Pack 1 (SP1).
Модуль CC2540 – Keyfob представляет собой полностью готовое к работе устройство, содержащее базовый чип-сет, периферию и отладочные интерфейсы. Питание модуля осуществляется от миниатюрной батареи CR2032. В составе отладочного комплекта модуль CC2540 – Keyfob будет действовать как «Ведомое устройство BLE».
На плате модуля имеются два отладочных разъема, светодиодный индикатор работы, акселерометр, зуммер, кнопка «вкл/выкл» и кнопка «перезагрузка». CC2540-Keyfob содержит трех- координатный акселерометр.
Внешний вид модуля показан на рисунке 2.

Рис. 2 Модуль CC2540 – Keyfob
Для постоянной работы модуля в комплект поставки входит пластмассовый корпус (рис.3).

Рис. 3 Пластмассовый корпус для модуля CC2540 – Keyfob
Программатор CC2540 –debugger предназначен для того, чтобы загружать программное обеспечение в модем CC2540-USB и в модуль CC2540- keyfob.
Кроме того, программатор может использоваться для отладки программного обеспечения с помощью приложений IAR.

Рис. 4 Внешний вид программатора CC2540 –debugger
Для работы с отладочным комплектом необходимо загрузить с сайта [2] бесплатное программное обеспечение: «Texas Instruments Bluetooth® low energy (BLE) software development kit».
Этот комплект разработчика программного обеспечения включает:
- объектный код со стеком протокола BLE;
- демонстрационный проект и приложения с исходным кодом;
- приложение BTool PC Windows;
- руководство пользователя.
Также, перед началом работы, нужно загрузить «SmartRF Flash Programmer» [3]. Этот комплект ПО «SmartRF Flash Programmer» может использоваться для программирования флэш-памяти в чип-сетах СС2540 Texas Instruments и для обновления встроенного программного обеспечения. Это программное обеспечение позволяет работать в стандарте SoC (Intel шестнадцатеричный файл).
Кроме того, его можно задействовать и для программирования процессора MSP430 через «MSP-FET430UIF» и «eZ430 dongle».
Комплект «SmartRF Flash Programmer» включает:
- SWRC044, SmartRF Flash Programmer 1.10.2 (v. L);
- SWRU069, User manual SmartRF Flash Programmer (v. E);
- SmartRF Flash Programmer 1.10.2 (v. L).
Приложение BTool - PC позволяет пользователю устанавливать соединение между двумя устройствами BLE. Это приложение использует для работы с CC2540 HCI (Hoct controller interface) команды. При этом, программное обеспечение модема и драйвер USB создают виртуальный последовательный порт. Приложение BTool, которое работает на компьютере, связывается с USB - модемом через этот виртуальный последовательный порт.
Дополнительная информация об интерфейсе HCI и командах, которые используются в CC2540, можно найти в [5].
При подключении к компьютеру - модем CC2540 - USB будет готов обнаружить другие устройства BLE, которые работают в этой сети. В противоположность этому, при включении питания модуля CC2540- keyfob, он не сможет сразу выходить на связь.
Для того, чтобы вывести модуль из режима ожидания достаточно просто нажать кнопку «reset». После этого модуль начинает посылать запросы на установление связи. Подробно работа модема и модуля BLE описана в [1].
Другим удобным программным средством для разработки и отладки является «Texas Instruments SmartRF ™ Studio» (TI SRFS). Программу можно бесплатно скачать на сайте производителя [8]. Это программное обеспечение представляет собой приложение Windows, которое может использоваться для настройки и конфигурирования модуля, а также для написания простых приложений пользователя.
Программа TI SRFS особенно полезна для выбора и тестирования значений параметров регистра конфигурации модуля, а также для оптимального выбора и стыковки внешних датчиков и вспомогательных устройств.
Приложение «Texas Instruments SmartRF ™ Studio» обеспечивает поддержку следующих функций:
- Тестирование канала передачи;
- Отправка и получение данных;
- Тест антенны и оценка ее параметров;
- Выбор режима Tx/Rx;
- Выбор режима энергосбережения;
- Типовые настройки для внешних датчиков и периферийных узлов;
- Подробная информация для каждого регистра;
- Загрузка/схранение файлов;
- Конфигурация внешних портов UART, USB, SPI;
- Поддержка до восьми USB - устройств на одном компьютере.
Для работы с оборудованием, изготовленным на базе чип-сета СС2540, необходима версия Studio SmartRF7 v1.4.9. Кроме того, потребуется драйвер USB для Windows x86 и x64.
Программное обеспечение «IAR Workbench® for 8051», предназначенное для работы с ядром 8051 в чип-сетах серии СС2540, поставляется фирмой IAR. На сайте этой фирмы можно скачать бесплатную 30 – дневную тестовую версию [6].
Эта программа позволяет создавать приложения на GATT уровне профиля BLE.
В заводских прошивках модуля CC2540-Keyfob и модема CC2540-USB нет запрограммированных примеров работы с конкретными приложениями.
По умолчанию поддерживаются только несколько приложений, связанных со стеком BLE.
Используя Smart RF Flash Programmer совместно с CC2540DK, можно загрузить профили для некоторых специальных приложений [9].
На сайте Texas Instruments [10] приведены примеры работы «CC2540 Mini Development Kit» для приложений, использующих различные профили BLE.
Для работы с конкретными приложениями имеется прикладное программное обеспечение «KeyFobDemo», которое поддерживает четыре базовых сервисных профиля:
- Уровень заряда батареи (Report battery level);
- Акселерометр (Report 3 axis accelerometer readings);
- Ответ на нажатую клавишу (Report key press changes);
- Изменение параметров удаленности (Report proximity changes).
Первый из отмеченных профилей позволяет постоянно контролировать остаточный процент заряда батареи модуля CC2540-keyfob.
Для того, чтобы реализовать этот процесс достаточно выбрать в окне программы «BTool» опцию «Read Using Characteristic UUID», затем «Sub-Procedure» и «Characteristic Read» (рисунок 5).

Рис. 5. Окно программы «BTool»
Профиль акселерометра CC2540-keyfob обеспечивает отправку данных о его перемещении на CC2540-USB модем. Профиль акселерометра содержит параметры, характеризующие его работу и использование. Эти параметры вводятся с помощью отмеченного выше программного обеспечения.
При отправке уведомлений о нажатиях клавиш на CC2540-keyfob, например, в окне сообщений «message window» значение «00» указывает на то, что никакая клавиша не нажата. Значение «01» соответствует тому, что левая клавиша нажата. Значение «02» показывает, что правильная клавиша нажата. Значение «03» говорит о том, что нажаты обе клавиши модуля CC2540-keyfob.
Вариант – «профиль удаленности» позволяет контролировать предельную зону удаленности между Bluetooth устройствами. При выходе за пределы определенной зоны модуль будет подавать звуковые сигналы. Этот же профиль контролирует пропадание сигнала. Если сигнал не поступает в течение некоторого заданного времени, то формируется аварийное сообщение в форме определенной последовательности срабатываний зуммера.
Все приведенные примеры подробно описаны в [1, 9,10].
Из дополнительных примеров можно отметить «The SmartRF™ Packet Sniffer».
Это приложение для компьютера фильтрует и декодирует параметры радиопакетов различных аудио устройств, поддерживающих BLE [11]. Кроме того, оно позволяет выводить на экран и сохранять аудиоинформацию в форматах двоичных файлов.
На сайте [12] поддерживается форум по CC2540, куда каждый желающий может направить свои вопросы.
На сайте поддержки TI E2E Support Community [13] можно задать вопрос по техническим вопросам относительно ZigBee, RF4CE, Bluetooth & Bluetooth Low Energy, WLAN, SimpliciTI, ISO 15693/14443, NFC х.
На сайтах [13 и 14] можно посмотреть видео клипы, иллюстрирующие различные области применения Bluetooth 4.
Дополнительная техническая документация о СС2540 размещена на сайте [14].
Информацию о законченных модулях Bluetooth 4 BLE, производства Bluegiga, можно найти на сайте [15].
Литература
1. Bluetooth® Low Energy, CC2540 Mini Development Kit User’s Guide
2. www.ti.com/blestack.
3. http://focus.ti.com/docs/toolsw/folders/print/flash-programmer.html
4. http://focus.ti.com/docs/toolsw/folders/print/smartrftm-studio.html
5. TI BLE Vendor Specific HCI Reference Guide, C:\Texas Instruments\BLE-CC2540\Documents\TI_BLE_Vendor_Specific_HCI_Guide.pdf
6. IAR Embedded Workbench® for 8051,
http://www.iar.com/website1/1.0.1.0/244/1/
7. Texas Instruments CC2540, Bluetooth® Low Energy, Software Developer’s, Guide, v1.0
8. http://focus.ti.com/docs/toolsw/folders/print/smartrftm-studio.html
9. http://processors.wiki.ti.com/index.php/Category:CC2540DK_
Flash_Programmer
10. http://processors.wiki.ti.com/index.php/Category:KeyFobDemo
11. http://focus.ti.com/docs/toolsw/folders/print/packet-sniffer.html
12. http://e2e.ti.com/support/low_power_rf/f/538.aspx?
ThreadSortBy=Subject&SortOrder=Descending&PageIndex=5&forumoptions=::11::
http://www.telemetry.spb.ru/user/login?destination=/bluegiga-bluetooth-4...
13. http://www.ti.com/ww/en/analog/bluetooth/index.htm?DCMP= BluetoothLowEnergy&HQS=NotApplicable+OT+bluetoothlowenergy
14. http://focus.ti.com/docs/prod/folders/print/cc2540.html#samples
15. http://www.bluetooth.com/Pages/Low-Energy.aspx