Bluetooth-модуль четвертого покоління - як розробити свій перший додаток?

  1. Модуль BlueGiga BLE113
  2. висновок
  3. література
  4. СС2541 - малопотребляющій трансивер Bluetooth Smart для періферійніх прістроїв
  5. Про компанію Bluegiga Technologies

Мініатюрний

Мініатюрний. Зі зниженою споживаною потужністю. З гнучким розподілом сигналів периферії по окремим висновків. Може працювати як в якості незалежного контролера, так і під управлінням хост-контролера. Призначений для вбудованих бездротових систем і окремих датчиків, що працюють в стандарті Bluetooth Low Energy. Все це - новий модуль BLE113 від Bluegiga Technologies.

Технологія Bluetooth Low Energy (BLE) - Bluetooth 4.0 є технологією бездротового зв'язку для ближніх комунікацій, розробленої групою Bluetooth Special Interest Group (SIG). Стандарт BLE з самого початку орієнтований на застосування в системах збору даних, моніторингу з автономним живленням. Основні топології мереж, підтримуваних Bluetooth Low Energy - «точка-точка» і «зірка», як правило, це т.зв. мережі Personal Area Network (PAN). Основними областями застосування BLE є пристрої забезпечення безпеки, управління електроприладами і відображення показань, датчики на батарейках, домашні медичні прилади, спортивні тренажери [1-3].

Фінська компанія Bluegiga Technologies однією з перших почала впроваджувати технологію Bluetooth Low Energy в своїх пристроях [4,5]. Однорежимні пристрої (single-mode) випускаються з 2010 року, а з 2011 року - дворежимні (dual-mode).

На даний момент Bluegiga пропонує кілька серій BLE-пристроїв - модуль BT111 Bluetooth Smart Ready HCI Module, USB-пристрій BLED112 Bluetooth low energy dongle, модуль BLE112 Bluetooth low energy module, а також новий модуль сімейства Bluetooth Smart - BLE113 [6]. У порівнянні з попередньою моделлю сімейства (BLE112) у BLE113 на 30% знижена пікова споживана потужність, і розмір також зменшений на 30%.

Модуль BlueGiga BLE113

BlueGiga BLE113 призначений для використання в зв'язці з малопотужними сенсорами і периферією. BLE113 може виступати в якості хост-вузла для призначених для користувача додатків, не вимагаючи наявності додаткового зовнішнього мікроконтролера [4,6]. В якості елемента живлення модуля може використовуватися звичайна батарейка-монета з напругою 3 В або пара батарейок типу AAA. Широкий діапазон напруг живлення дозволяє працювати навіть при досить сильно розрядженому джерелі автономного живлення. Реалізовано кілька режимів зниженого енергоспоживання. У режимі сну модуль споживає всього 500 нА, час пробудження становить кілька сотень мікросекунд.

Можливості модуля розширені інтерфейсом I2C, що дозволяє іспользовть різноманітні цифрові датчики, обладнані даним інтерфейсом.

Структурна схема модуля представлена ​​на малюнку 1.

Структурна схема модуля представлена ​​на малюнку 1

Мал. 1. Структурна схема модуля BLE113

В основі BLE113 - однокристальна система СС2541 від Texas Instruments. На модулі інтегровані 32 МГц і 32.678 кГц кварцові резонатори, що погоджує антенний фільтр і фільтр нижніх частот.

Модуль відповідає специфікації Bluetooth 4.0, підтримує режими ведучого і веденого, до восьми з'єднань, GAP, GATT, L2CAP і SMP. Передавач BLE113 характеризується потужністю від 0 до -23 дБм, приймач - чутливістю -93 дБм. У режимі передачі споживаний струм становить 18,2 мА (0 дБм), прийому - 14,3 мА. У сплячому режимі струм падає до 0,4 мкА. Список периферійних блоків, якими оснащений модуль, включає UART, SPI, I2C, PWM і GPIO, а також 12-розрядний АЦП. Габарити модуля рівні 9,15 × 15,75 × 1,9 мм.

Основні технічні характеристики:

  • приймач з підтримкою технологиии Bluetooth 4.0 low energy radio (частоти 2402 ... 2480 МГц, GFSK модуляція);
  • вихідна потужність: до +0 дБм (1 мВт);
  • чутливість приймача: -93 дБм;
  • вбудована керамічна чіп-антена;
  • максимальний струм при передачі: 18,2 мА (при вих. потужності 0 дБм);
  • енергоспоживання в режимі сну: 0,4 мкА;
  • мікроконтролер на базі високопродуктивного однотактного ядра 8051;
  • 8 Кбайт RAM (доступно близько 3 ... 4 Кбайт);
  • 128 Кбайт флеш-пам'яті (не рахуючи стека протоколів, для призначених для користувача додатків доступно близько 40 ... 50 Кбайт);
  • напруга живлення: 2,0 ... 3,6 В
  • робоча температура: -40 ... 85 ° C
  • розміри: 15,75 × 9,15 × 2,1 мм.

BLE113 володіє багатим набором периферійних пристроїв:

  • хост-інтерфейс UART;
  • інтерфейси для підключення периферійних пристроїв - SPI, I2C, до чотирьох ШІМ-каналів, UART (до 1 біт / с), GPIO (до 11 ліній, в залежності від задіяних периферійних пристроїв);
  • сім АЦП з настроюваної розрядністю від 7 до 12 біт (продуктивність АЦП від 4 до 30 тисяч вибірок в секунду), вбудований датчик температури, монітор розряду батареї.

Типова схема включення BLE113 представлена ​​на малюнку 2.

Типова схема включення BLE113 представлена ​​на малюнку 2

Мал. 2. Типова схема включення модуля BLE113

Лінії введення-виведення можуть працювати в якості вхідних з підтягуванням до рівня нуля або харчування (крім ліній 0 і 1 порту 1), як виходи з навантажувальною здатністю до 4 мА. Також лініях портів вводу-виводу можуть бути призначені альтернативні функції периферійних пристроїв. Сигнали периферійних пристроїв можуть бути відображені на лінії портів введення-виведення (див. Таблицю 1).

Таблиця 1. Способи відображення сигналів периферійних пристроїв на вихідні порти модуля BLE113

периферійне
пристрійПорт P0Порт P1Порт P27654321076543210210АЦП

A7 A6 A5 A4 A3 A2 A1 A0 SPI0 в.1 C SS MO MI в.2 MO MI C SS UART0 в.1 RT CT TX RX в.2 TX RX RT CT SPI1 в.1 MI MO C SS в.2 MI MO C SS UART1 в.1 RX TX RT CT в.2 RX TX RT CT Timer 1 в.1 4 3 2 1 0 в.2 3 4 0 1 2 Timer 3 в.1 1 0 в.2 1 0 Timer 4 в.1 1 0 в.2 0 DEBUG DC DD OBSSEL 5 4 3 2 1 0

Налагодження програм і прошивка флеш-пам'яті здійснюється по двопровідному послідовному інтерфейсу.

Кожен чіп CC2541 має власний унікальний 48-бітову адресу, який може бути використаний в якості Bluetooth-адреси пристрою. Контролер переривань обробляє до 18 джерел переривань. При цьому переривання від ліній введення-виведення і sleep-таймера обслуговуються навіть в режимах зниженого енергоспоживання (режими 1 і 2), переводячи CC2145 в активний режим.

Ефективність вбудованої антени в залежності від конкретних особливостей друкованої плати, на якій вона встановлена, досягає 25 ... 35%. Максимальне посилення 0,5 dBi. Діаграма спрямованості антени представлена ​​на малюнку 3.

Діаграма спрямованості антени представлена ​​на малюнку 3

Мал. 3. Діаграма спрямованості антени модуля BLE113 в площині установки

Хвильовий опір антени оптимізовано для застосування з текстолітовими платами товщиною від 1 до 2 мм.

Підтримувані особливості Bluetooth:

  • підтримка Bluetooth Smart (low energy);
  • L2CAP, ATT, GATT, GAP і Security Manager;
  • профілі Bluetooth Smart;
  • режими Client і Master;
  • підтримка до восьми з'єднань Master;
  • швидкість передачі даних 100 Кб / с;
  • оновлення прошивки «по повітрю».

До інших достоїнств модуля BLE113 відноситься можливість виконання написаних для нього додатків (для створення додатків використовується мова скриптів Bluegiga BGScript і набір розробника ПЗ Bluegiga Bluetooth Smart SDK) [4]. Крім того, за допомогою набору Bluegiga Profile Toolkit можна створювати профілі Bluetooth Smart.

BlueGiga надає ряд інструментів і середовищ для розробки BLE-додатків, а також для налаштування модулів і налагодження програмно-апаратних засобів.

Bluetooth Smart Software від Bluegiga дозволяє розробляти додатки без глибокого знання технології Bluetooth Smart.

Програмне забезпечення включає в себе наступні частини:

  • вбудований стек Bluegiga Bluetooth Smart;
  • Bluetooth Smart SDK:
    • хост-протокол BGAPI;
    • кошти Bluegiga Profile Toolkit для розробки - Bluetooth Smart profiles.

Bluetooth Smart SDK підтримує кілька моделей розробки додатків - вона дозволяє створювати додатки для керуючих зовнішніх хост-контролерів і для виконання безпосередньо на BLE-модулях. Також до складу середовища входить технічна документація, засоби для компіляції прошивки модуля і її завантаження і кілька прикладів, які можуть служити шаблонами для розробки власних додатків.

Загальна архітектура програмного забезпечення модулів BLE113 представлена ​​на малюнку 4.

Мал. 4. Структурна схема програмного забезпечення BlueGiga

Програмний інтерфейс BGAPI ™ спільно з бібліотекою BGLib ™ C-library дозволяє зовнішньому хост-контролера досить легко і ефективно використовувати ресурси модулів BlueGiga. Як правило, протокол BGAPI застосовується для управління модулем BLE113 за допомогою зовнішнього контролера, характеризується низькими вимогами до пам'яті і обчислювальних ресурсів контролера.

BGLib є яку переносять бібліотекою на мові С, що реалізує протокол управління модулями BGAPI. Існують варіанти бібліотеки для архітектур ARM Cortex, PIC і ряду інших.

Програмний пакет Profile Toolkit ™ дозволяє виробляти розробку і налагодження користувальницьких додатків для BLE-модулів.

BGScript ™ призначений для швидкої розробки додатків без глибоких знань особливостей роботи стека протоколів, для налагодження і тестування логіки роботи додатків. Додатки на BGScript ™ можуть розроблятися і для хост-контролера, і для самих модулів.

BGScript ™ являє собою простий BASIC-подібний скриптова мова, що дозволяє створювати додатки, що виконуються безпосередньо на модулях BLE11х без застосування зовнішнього контролера.

Зазвичай додатки Bluetooth Low Energy мають архітектуру або клієнта, або сервера. Сервер в даному випадку надає один або кілька сервісів підключеним до нього клієнтам - наприклад, надає інформацію з деяких датчиків. Сервер може надавати один або більше сервісів, а самі сервіси надають дані в вигляді характеристик.

Клієнтський пристрій зазвичай отримує дані від одного або декількох серверів для подальшого їх відображення або передачі. Як клієнтських вузлів BLE зазвичай виступають пристрої, що мають інтерфейс з людиною - мобільні телефони, планшети, персональні комп'ютери.

Профілі пристроїв [8] описують певні класи пристроїв, набори сервісів і формати даних. Сервіс в свою чергу може включати в себе кілька сервісів. Наприклад, специфікація сервісу вимірювача серцевого пульсу вимагає реалізації сервісів:

  • Heart Rate Service - вимірювач пульсу;
  • Device Information Service - сервіс інформації про пристрій.

У профілі також можуть бути описані такі параметри, як необхідні сервіси безпеки, інтервали опитування пристрою або обміну інформацією, параметри з'єднання.

Сервіси [9] описують, які дані і яким чином запитуються або виходять від пристрою. Самі дані описуються через т.зв. Характеристики. У сервісі можуть бути присутні кілька характеристик даних, частина з яких можуть бути обов'язковими за стандартом, а частина тільки рекомендованими.

Виділяють два типи сервісів. Первинний сервіс, що забезпечує основну функціональність пристрою, може бути використаний іншою сервісом.

Вторинний сервіс є сервісом, підлеглим іншому вторинному сервісу або первинного сервісу. Вторинний сервіс доступний тільки за допомогою первинного сервісу.

Характеристики [10] використовуються для опису даних і є величиною, асоційованої з певним типом даних (UINT8, UINT16, UTF-8 та ін.). Як і профілі, і сервіси, характеристики мають унікальний ідентифікатор (UUID).

Взаємозв'язок між профілями, сервісами і характеристиками представлена ​​на малюнку 5.

Мал. 5. Взаємозв'язок між профілями, сервісами і характеристиками в BLE

Один з найпростіших способів створення додатка для BLE-пристроїв Bluegiga - це створення його на скриптовій мовою BGScript. Зазвичай додатки на BGScript містять всього від десятка до сотні-другої рядків коду, прості для розробки і реалізації і містять багато прикладів.

Інструментарій містить компілятор, що перетворює документ XML в двійковий формат і генерує API для доступу до значень характеристик.

Реалізація програми на BGScript складається з декількох етапів:

  1. установка інструментарію (якщо ще не був встановлений);
  2. створення проекту;
  3. визначення та опис апаратної конфігурації;
  4. опис бази даних GATT сервісу за допомогою інструментарію опису профілів;
  5. опис функціональності проекту на BGScript;
  6. компіляція GATT бази даних і BGScript проекту в двійковий вигляд і формування образу прошивки;
  7. установка прошивки в кінцеве пристрій;
  8. тестування програми.

Установка інструментарію мало чим відрізняється від установки будь-який інший програми для Windows. Створення проекту починається зі створення основного файлу проекту, який є простим XML-документом і описує всі файли, що входять в проект:

<? Xml version = "1.0" encoding = "UTF-8"?>

<Project>

<Gatt in = "gatt.xml" />

<Hardware in = "hardware.xml" />

<Script in = "bgdemo.bgs" />

<Usb_main in = "cdc.xml" />

<Image out = "BLE113.hex" />

<Device type = "ble113" />

<Boot fw = "bootuart" />

</ Project>

В даному простому прикладі конфігурація проекту описується в межах тегів <project>:

  • <Gatt> - теги, що описують XML файл, що містять базу даних GATT;
  • <Hardware> - опис конфігурації апаратного забезпечення;
  • <Script> - BGS-файл, який містить BGScript код;
  • <Usb_main> - тег опису наявності USB інтерфейсу;
  • <Image> - визначення імені вихідного файлу для бінарного образу проекту;
  • <Device type> - цільової модуль;
  • <Boot fw> - тип інтерфейсу для оновлення прошивки - у випадку з BLE113 це UART.

Далі послідовно описуються конфігурація апаратного забезпечення, база даних GATT і функціональність програми.

Конфігурація апаратного забезпечення описується в XML-файлі hardware.xml.

&lt;? Xml version = "1.0" encoding = "UTF-8"?>

<Hardware>

<Sleeposc ppm = "30" enable = "true" />

<Usb enable = "false" />

<Txpower bias = "5" power = "15" />

<Script enable = "true" />

<Pmux regulator_pin = "7" />

</ Hardware>

  • <Sleeposc> - дозволяє перехід модуля в режим зниженого енергоспоживання. Значення ppm визначає точність осцилятора і не повинно змінюватися.
  • <Usb> - дозволяє або забороняє роботу USB інтерфейсу (BLE113 не має USB).
  • <Txpower> - визначає рівень вихідної потужності, всього доступно 15 різних рівнів. Значення 15 відповідає максимальному рівню.
  • <Script enable> - вказує на наявність скрипта для виконання.
  • <Slow clock> - дозволяє знижувати робочу частоту контролера при роботі приймача для зменшення сумарного енергоспоживання.
  • <Pmux regulator_pin> - визначає висновок, який буде використаний для управління зовнішнім DC / DC-перетворювачем.

У файлі gatt.xml описуються сервіси, що надаються пристроєм, і характеристики даних, що використовуються даними сервісами.

&lt;? Xml version = "1.0" encoding = "UTF-8"?>

<Configuration>

<Service uuid = "1800">

<Description> Generic Access Profile </ description>

<Characteristic uuid = "2a00">

<Properties read = "true" const = "true" />

<Value> Bluegiga Demo Device </ value>

</ Characteristic>

<Characteristic uuid = "2a01">

<Properties read = "true" const = "true" />

<Value type = "hex"> 0832 </ value>

</ Characteristic>

</ Service>

....

</ Configuration>

Описуються сервіс профілю пристрою - GAP, сервіс ідентифікації пристрою Device ID, специфічні для даного пристрою сервіси.

Основна функціональність програми описується в скрипті на мові BGscript. Базовий підхід до програмування при цьому - подієво-орієнтоване програмування. Додаток в даному випадку будується як набір обробників певних подій, пов'язаних з роботою стека протоколів і станом пристрою в мережі Bluetooth. Можливості BGScript були розширені здатністю визначати і викликати власні функції. Розробник визначає набір call-back-процедур, які буде обробляти додаток:

dim addr (6)

#Boot Event listener

event system_boot (major, minor, patch, build, ll_version, protocol_version, hw)

#Get local BT address

call system_address_get () (addr (0: 6))

#Write BT address to DI service serial number string

call attributes_write (xgatt_dis_2a25,0,6, addr (0: 5))

#set to advertising mode

call gap_set_mode (gap_general_discoverable, gap_undirected_connectable)

#set bondable mode

call sm_set_bondable_mode (1)

end

#Disconnection event listener

event connection_disconnected (handle, result)

#connection disconnected, continue advertising

call gap_set_mode (gap_general_discoverable, gap_undirected_connectable)

end

Як мінімум, програма має обробляти події, пов'язані з ініціалізацією модуля (скидання або включення харчування), а також події пов'язані з роботою в мережі - підключення клієнтів, втрата зв'язку з клієнтом або сервером.

В даному випадку після ініціалізації модуль отримує мережеву адресу, записує його в оперативну пам'ять, переходить в режим готовності до з'єднання і стає видимим (доступним) для інших пристроїв Bluetooth-мережі. При розриві з'єднання пристрій повертається в стан очікування з'єднання.

Функції BGScript і оброблювані події детально описані в документі Bluetooth Smart Software API Reference.

висновок

Bluetooth Smart-модуль BLE113 виробництва Bluegiga Technologies являє собою компактний модуль для вбудованих бездротових систем і окремих датчиків, що працюють за технологією Bluetooth Low Energy. Сигнали периферійних пристроїв самого модуля можуть бути гнучко розподілені по його зовнішніх висновків, що спрощує розведення друкованої плати вироби. Модулі BLE113 можуть працювати як незалежні контролери, самостійно виконують певні дії і працюють з периферійними пристроями, так і в якості ведених пристроїв під управлінням хост-контролера.

Розробнику надаються кошти розробки, що дозволяють створювати додатки для BLE113 з використанням власної мови BGScript, а також з використанням мови С.

При створенні програми для Bluetooth Smart-модулів досить описати апаратну конфігурацію, сервіси пристрою, а також реакцію пристрою на зовнішні події і події Bluetooth-стека протоколів.

література

  1. Bluetooth® low energy technology >>>
  2. Carles Gomez, Joaquim Oller and Josep Paradells. Overview and Evaluation of Bluetooth Low Energy: An Emerging Low-Power Wireless Technology >>>
  3. Flavia Martelli. Bluetooth® low energy >>>
  4. Bluegiga - Bluetooth_Modules >>>
  5. Віктор Алексєєв. Нові модулі Bluetooth 4.0 серії BLE виробництва Bluegiga.//Беспроводние технології. 2011. №2. С. 16 - 22.
  6. BLE113-A-v1 Bluegiga Technologies - Приймально-передавач загального призначення >>>
  7. 2.4GHz Bluetooth® low energy System-on-Chip >>>
  8. Profiles Bluetooth Development Portal >>>
  9. Services Bluetooth Development Portal >>>
  10. Characteristics Bluetooth Development Portal >>>.

Отримання технічної інформації, замовлення зразків, поставка - e-mail: [email protected]

СС2541 - малопотребляющій трансивер Bluetooth Smart для періферійніх прістроїв

Мережеві процесори CC2541F128RHAT и CC2541F256RHAT від компанії Texas Instruments прізначені для создания періферійніх прістроїв Bluetooth Smart, здатно рокамі працювати від одного дискового елемента живлення. Додаток користувача может буті завантажено безпосередно в мікросхему або Виконувати на зовнішньому микроконтроллере. На мережевому процесорі можна реалізувати два радіоканалу - при необхідності передачі даних з великими швидкостями, ніж передбачено стандартом Bluetooth Low Energy, можна скористатися додатковим фірмовим режимом передачі зі швидкістю до 2 Мб / с.

Для розробки додатків Texas Instruments пропонує безкоштовний стек Bluetooth Low Energy з великою кількістю прикладів додатків і готових профілів. Стек оптимізований під знижене енергоспоживання і включає ПО рівнів controller і host. У стеці реалізовані ролі всіх можливих пристроїв: центральне, периферійне, об'явітель і спостерігач. На базі стека TI можливе створення як клієнта, так і сервера на рівні GATT. Менеджер безпеки включає криптографію за методом AES 128 біт.

В якості апаратної платформи розробки можна використовувати універсальний пристрій CC2541DK-SENSOR. Воно являє собою закінчений бездротової датчик, що включає в себе мережевий процесор СС2541F256RHAT і шість сенсорів - акселерометр, температурний датчик, магнетометр, датчик вологості, гіроскоп і датчик тиску. CC2541DK-SENSOR дозволяє почати роботу з Bluetooth Smart в лічені хвилини - досить завантажити в смартфон безкоштовний додаток і спостерігати на екрані надходять по бездротовому каналу дані з сенсорів в реальному часі. Інформацію можна відображати у вигляді шкал, графіків і зберігати в файл для подальшої обробки.

Про компанію Bluegiga Technologies

Bluegiga Technologies світовий лідер у виробництві Bluetooth модулів і серверів доступу на базі Bluetooth Bluegiga Technologies світовий лідер у виробництві Bluetooth модулів і серверів доступу на базі Bluetooth. Заснована в 2000 році зі штаб-квартирою в Фінляндії і офісом продажів в Бостоні, штат Массачусетс, США, компанія позиціонує себе, як глобального постачальника Bluetooth рішень виробникам електроніки, операторам і системним інтеграторам за допомогою великої мережі авторизованих дистриб'юторів по всьому світу. ... Читати далі

Encoding = "UTF-8"?
Lt;?
Encoding = "UTF-8"?
Lt;?
Encoding = "UTF-8"?