Jump to content

    
Sign in to follow this  
sergeus

Выбор микроконтроллера с Bluetooth 4.0 (BLE) на борту

Recommended Posts

Касательно скорости передачи nRF51822:

https://www.nordicsemi.com/eng/nordic/Produ.../S110-SDS/20338 - см. 12 BLE data throughput

https://devzone.nordicsemi.com/question/344...for-a-ble-link/

Я бы посоветовал nRF51822, на него куча готовых примеров и хорошая поддержка на том же devzone.nordicsemi.com.

Share this post


Link to post
Share on other sites

Подтверждаю информацию из последнего сообщения.

Реально достигнуть скорости не больше 4-х килобайт в секунду. Я для теста использую простенький телефон LG на 4.4 Андройде, он принимает максимум 200 20-ти байтных пакетов в секунду (в режиме Notification).

Перед началом разработки, после прочтения спецификации, в которой для уровня GATT указан максимальный размер значения характеристики 512 байт, я думал, что большие значения будут передаваться живее, на деле все равно большие переменные читаются кусками по 18 байт, причем на каждый кусок нужно давать подтверждение, которое может быть отправлено только в свой Connection Event.

 

Ну и насколько я понял, ни андройд, ни iOs в текущей версии не поддерживают BLE 4.1, не говоря уже про 4.2, который вышел 3 месяца назад.

 

С самой микросхемой nRF51822 стартовать относительно легко, особенно если Keil не вызывает отторжения. Форум у нордика очень вменяемый, отвечают быстро и качественно. Единственное, надо покупать DK, из Европы не везут, купили в итоге в Ультране.

Share this post


Link to post
Share on other sites
У китайцев в продаже появились недорогие KIT-ы для Нордик.

http://ru.aliexpress.com/wholesale?catId=0...xt=NRF51822+kit

И с доступностью ПО Nordic сейчас нет проблем.

С такими платами можно только пощупать немного. Если нужно именно для разработки, то лучше брать кит от самого Нордика, т.к. Нордик недавно выпустил новую ревизию чипов и вместе с ней и новую отладочную плату, а старые чипы, которые ставят китайцы, не поддерживают новые SDK и softdevice. По совместимости можно посмотреть здесь:

https://www.nordicsemi.com/eng/nordic/downl...1924/6/53404490

Share this post


Link to post
Share on other sites

Обратите внимание еще, что на некоторых китайских платах может не стоять 32khz кварц, соответственно тестирование будет неполным.

Share this post


Link to post
Share on other sites
Ну и насколько я понял, ни андройд, ни iOs в текущей версии не поддерживают BLE 4.1, не говоря уже про 4.2, который вышел 3 месяца назад.

iOs BLE 4.1 поддерживает, проверено. По чипу - CC2650 is a wireless MCU targeting Bluetooth Smart, ZigBee and 6LoWPAN, and ZigBee RF4CE remote control applications. По моему весьма перспективный, на ARM Cortex-M3, много периферии. Документация и поддержка как всегда хорошие. Есть свободный BT- стек, если с СС серией работали, освоите быстро.

Edited by lsc

Share this post


Link to post
Share on other sites
По чипу - CC2650 is a wireless MCU targeting Bluetooth Smart, ZigBee and 6LoWPAN, and ZigBee RF4CE remote control applications. По моему весьма перспективный, на ARM Cortex-M3, много периферии.

Кто нибудь пробовал этот чип и какую максимальную скорость получил?

4 кбит не устраивает совершенно.

Share this post


Link to post
Share on other sites
Первый правда на 8051 архитектуре, второй на 32-bit ARM M0.

Если не интересует нормальный отладчик/программатор, то без разницы. Иначе второй вариант, намаялся я CC-debugger'ом ихним и расширеным адресным пространством i8051.

А вообще лучше NRF52, давеча пришел этот кит, всё запустилось с полпинка, порадовали 5 вложенных сэмплов чипа.

UPD: упс, тема то прошлогодняя..

Share this post


Link to post
Share on other sites
А вообще лучше NRF52

А чем он лучше Техаса? Есть ли опыт сравнения или отзыв основан опыте использвания одного кита, который сразу заработал.

Кстати какой максимальной скорости добились. Заявлено 1-2 Mbps , но думается мне что для BLE4.1 это нереально.

Интересует связь устройства с телефоном, и желательно не суперновым, т.е. протокол ble 4.1, а не 4.2

Share this post


Link to post
Share on other sites
А чем он лучше Техаса?

Для меня лучшесть в удобстве отладки, а так без разницы, о чём и написал выше. Скорость не мерял некритично для меня.

Есть ли опыт сравнения..

Блютуз чипы от TI не использовал, но есть опыт с ихним ZigBee (СС253x), одного поля ягоды...

 

Share this post


Link to post
Share on other sites
А чем он лучше Техаса? Есть ли опыт сравнения

Сначала пробовали и СС2640 (128 кБайт ROM и 8 кБайт RAM), и даже выпустили несолько прототипов на них. Проблемы возникли сразу. Сначала долго разбирались, как прошивать свои платы, потом при некотором стечении обстоятельств окирпичили несколько штук, пока не нашли зависимость и вроде приловчились. Потом вышла очередная версия IARа, которая сама стала кирпичить ЦЦхи, но и тут нашли как выкручиваться.

Потом дело дошло до того, что мы уперлись в потолок по памяти, главным образом по ОЗУ. Если следовать рекомендациям по распределению памяти от самих же TI, то для работы с iOS там требуется очень большой кусок в оперативе для heap, тогда там мало чего остается для нашего приложения. Но у каждого свои потребности. Программатор-отладчик жутко тормозит, что в заливке, что в пошаговой отладке, пока он там каждую новую инструкцию переваривает, проходит много времени.

 

Поэтому было принято решение перейти на nRF52832, у нее памяти намного хватит (512 кБайт ROM, 64 кБайт RAM). Тут все практически здорово. Получили отладку, несколько дополнительных сэмплов чипов, открываем проект, компилим, все компилится СРАЗУ, а не как у ТИ через одно место пока не пролезешь.

Собрали на макетке свой референс, все шьется, работает СРАЗУ. С периферией и все, что необходимо по для запуска BLE разобрались за три дня. Все устраивает. Есть одна нерешенная проблема - в отладке IAR невозможно тормозить в точке останова, если включен блютус стек, иначе вываливается в hard fault, приходится либо использовать UART, либо косвенными методами, либо кусками отлаживать.

Сейчас собрали уже несколько вариантов устройств и все работает нормально.

 

Да, еще понравилось у nRF, что можно залит программу и все. Хочешь дальше отлаживай, хочешь сразу запускай, а у СС для отладки надо один бит выставлять, и переключение из релиза в дебаг и обратно требует постоянной перезаливки прошивки полностью.

 

Документация и у тех и у других хромает, есть много пробелов или непонятностей.

Правда, есть очень хорошие форумы поддержки, на которых либо уже эти проблемы решены, либо, помогут решить их специалисты или коллеги, попавшие в такую же яму. Хотя было несколько раз, что "спасение утопающего..." сам на свои же вопросы и отвечаешь.

 

Кстати какой максимальной скорости добились. Заявлено 1-2 Mbps , но думается мне что для BLE4.1 это нереально.

На ЦЦ, читали на их сайте, что можно добиться до 300кбит/с, но это максимум по определенному алгоритму. Реально не проверяли, но думаю, со служебной информацией будет все на порядок ниже. Да и новый BLE stack вышел недавно, может что-то изменилось.

На nRF до недавнего времени было что-то типа 150кбит/с достижимо, опять же при определенных условиях SD v2.0 страницы 79-80. Заливали обновление прошивки их стандартными средствами (т.е. вагон служебной информации, необходимые запросы-ответы, алгоритмы по сохранению и пр.) ~100кБайт секунд за 30 льется. Но совсем недавно вышла новая версия SoftDevice v3.0 страницы 81-83, говорят, что скорость повысилась до 700-800 кбит/с. Проверить увеличение скорости пока не удалось, руки не дошли.

 

Интересует связь устройства с телефоном, и желательно не суперновым, т.е. протокол ble 4.1, а не 4.2

Испытывалось на sumsung glaxy s3 и iphone 5c.

 

:bb-offtopic: Нарекания есть только к iOS, как к слишком замороченной/засекреченной оси. Ни чихнуть, ни плюнуть там нельзя толком, для обычного пользователя может хорошо, что минимум разрешенного, но для разработчика руки и ноги связываются конкретно. Но это в большей степени относится к части приложения, а не к железке.

Share this post


Link to post
Share on other sites
С периферией и все, что необходимо по для запуска BLE разобрались за три дня.

 

Есть задача сделать связку CC2650 с приложением на Андроиде через Bluetooth. Для работы с СС2650 использую платку СС2650 LAUNCHPADXL. Через встроенный XDS110 работать нормально не получилось - работает, но дикие тормоза. Делаю просто выходной hex(CodeComposer) и шью его JetLink-ом.

 

Подскажите пж-ста, откуда начать копать(инфу,ссылки....) чтобы не убиваясь запустить на СС2650 c TI-RTOS техасовский Bluetooth. (раньше с голубым зубом не приходилось сталкиваться..)

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this