Кто-то работал с Bluetooth/Zigbee module BL702?

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

Всем привет

Китайцы выпустили платки на SOC BL702 с встроенным Buetooth/Zigbee на Risc-V

https://aliexpress.ru/item/1005003691983973.html

Есть для них SDK с примерами. Даже два:

https://github.com/bouffalolab/bl_iot_sdk

https://github.com/bouffalolab/bl_mcu_sdk

Есть довольно куцая документация:

https://dev.bouffalolab.com/media/doc/702/open/datasheet/en/html/content/Functional.html

https://dev.bouffalolab.com/media/doc/702/open/reference_manual/en/html/index.html

Кто-то работал с такими? В первую очередь интересуют режимы энергопотребления. Сколько в каком потребляет и как с ними работать?

 

 

 

 

 

 

Delicates
Offline
Зарегистрирован: 25.03.2015

В режиме сна можно хранить до 64 Кбайт в OCRAM (On-Chip RAM) четырьмя блоками по 16 Кбайт на выбор: 0-16, 16-32, 32-48 и 48-64 Кбайт. Но в режиме максимальной экономии энергии (гибернации) у BL70x сохранение данных возможно только в части ОЗУ размером всего лишь 4 Кбайта, под названием RETRAM (RETention RAM).

Ещё одна засада из документации чипа BL70x и модуля XT-ZB1: Минимальное рабочее напряжение модуля 2.5В, и зависит от упакованной с BL702C-10 в одном корпусе чипа Flash-памяти объёмом 1 Мбайт, у которой минимальное напряжение питания составляет судя по всему 2.3В. То есть при просадках напряжения на литиевом элементе CR2032 вся система может как сбоить, так и полностью стопориться. Можно конечно использовать костыль в виде повышающего DC-DC преобразователя и включать его в моменты просадок напряжения ниже 2.7В. Короче сэкономили китайцы на качестве чипа Flash-памяти, поэтому цена BL702C-10 намного ниже конкурентов, у которых минимальное рабочее напряжение обычно составляет 1.7-1.8В. Хотя для стационарных и аккумуляторных устройств такое низкое рабочее напряжение не требуется.

--------------------------------------------------------------------------------------

Немного информации с https://esp8266.ru/forum/threads/bl602-risc-v-wifi-i-bluetooth-5-0-le-soc.5508/post-83579

1) BL706C-10 c 31 gpio стоит дешевле чем мелкий расширитель I/O от TI и прочих :) В "нагрузку" в нём идёт BLE и ZigBee, который отключается.

2) Рабочего варианта либ и/или правильного ld-скрипта к BL702 для BLE с низким потреблением нет. И пока в LowPower полная неопределенность, по которой данный чип не имеет никакой конкуренции в сфере батарейного питания (CR2032 и т.д.) с другими аналогичными BLE чипами. Минималка необходимого для BLE/Zigbee режима sleep по докам у BL70x - 10 мкА, а сама система и прочее ПО пока не адаптирована даже для такого использования. Но и 10 мкА - это уже много - на рынке толпа более дешёвых SoC с лучшими показателями. Это учитывая по выборке наличие в чипе USB, поддержку BLE/MESH/Zigbee и т.д. Т.е. Bouffalo тормозит. Если так и останется - их текущие чипы не пойдут в массовое серийное производство и будут дороги...

3) Не для CR2032. В случае с BT пики RX/TX RF поменьше чем у ESP32C3. Наверно технология в нанах поменьше, но не сильно. Нет поддержки удержания нормального объёма памяти в режимах deep-sleep. Предоставлен малый кусок RETRAM в который не лезут данные, необходимые для поддержки быстрого просыпания в BLE (без развёртывания из малого куска). В итоге не конкурент типовым BLE чипам.

4) В примерах https://github.com/bouffalolab/bl_mcu_sdk даны демки для режимов sleep и deep-sleep:

        examples\pm\hbn_mode_wakeup
        examples\pm\pds_mode_wakeup
        examples\ble\ble_pds

--------------------------------------------------------------------------------------

Документация на официальном сайте Buffalo Lab: https://dev.bouffalolab.com/document

Документация PDF на BL70x в SDK: https://github.com/bouffalolab/bl_mcu_sdk/tree/master/docs/chipSpecification/bl70x_docs

Онлайн Datasheet на BL70x: https://dev.bouffalolab.com/media/doc/702/datasheet/en/html/
Онлайн Reference Manual на BL70x: https://dev.bouffalolab.com/media/doc/702/reference_manual/en/html/

Библиотека обращения к регистрам BL70x на языке Rust: https://github.com/andelf/bl702-pac
Документация, созданная из её кода: https://docs.rs/bl702-pac/latest/bl702_pac/
В ней имеются адреса регистров радиомодуля (RF), которыми производитель не делится, используя готовые библиотеки в бинарном виде: https://github.com/bouffalolab/bl_mcu_sdk/tree/master/components/ble/bl702_rf/lib

Инструменты разработчика: https://dev.bouffalolab.com/download

Форум разработчиков: https://bbs.bouffalolab.com/

-------------------------------------------------------------------------------------

Официальная (?) документация на модули XT-ZB1 и XT-ZB2: http://www.bl602.fun/2497738

--------------------------------------------------------------------------------------

User Manual PDF на модуль XT-ZB1, исправлена распиновка: https://cloud.mail.ru/public/ttTM/WMLuPrZ4o

User Manual PDF на модуль XT-ZB2, удалены водяные знаки: https://cloud.mail.ru/public/Zjq1/EPG1PsAWX

Datasheet PDF на BL70x версии 2.5, исправлены обнаруженные ошибки: https://cloud.mail.ru/public/AmST/crF1Qvn8M

Reference Manual PDF на BL70x версии 1.2, исправлены обнаруженные ошибки: https://cloud.mail.ru/public/ZkL2/diDv2wwfQ

Раздел Power Consumption из Datasheet PDF на BL70x версии 2.0, наиболее полный, но неизвестно насколько достоверный: https://cloud.mail.ru/public/7Gn5/q41ZJWRqT

--------------------------------------------------------------------------------------

Приобрёл пять модулей XT-ZB1: https://aliexpress.ru/item/1005003692006494.html

Там же в наличии есть XT-ZB2: https://aliexpress.ru/item/1005003691950877.html

С одного из них снял экран и обнаружил на плате детектор падения напряжения (судя по маркировке AFAA это может быть MAX809R или CN809R на 2.63В) в цепи сброса (EN и PU_CHIP) BL702C-10, который необходим для предотвращения запуска процессора раньше Flash-памяти. Катушка индуктивности для импульсного DC-DC преобразователя напряжения отсутствует. Кварцевого резонатора 32.768 кГц для часов реального времени тоже нет. А это значит, что схема устройства предельно удешевлена и нацелена на стационарное применение, так как ток потребления у неё в 1.5-3 раза выше, чем требуется для достижения оптимальной продолжительности автономной работы от элемента CR2032. Но что могут предложить конкуренты за те же 80 рублей?

Распиновка модуля XT-ZB1 на обратной стороне платы правильная, в отличие от User Manual http://download.bl602.fun/XT-ZB1_User_Manual.pdf, поэтому пользуйтесь редакцией этого файла, ссылка на которую опубликована выше.

Delicates
Offline
Зарегистрирован: 25.03.2015

Правильная распиновка модуля XT-ZB1 на чипе BL702C-10:

XT-ZB1 - Pinout

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ЕСТЬ RMII значит можно сетевой модуль приаттачить

Delicates
Offline
Зарегистрирован: 25.03.2015

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

Если при попытке скачать PDF документ на странице https://dev.bouffalolab.com/document сайт выдаёт "Sorry, the page is not found", то нужно выйти через "logout", который появляется при нажатии "guest" в правом верхнем углу, затем войти снова, нажав "Guest Portal", и перейти в раздел "Document". Ссылки заработают, но все они ведут на обрезанные версии документации, в которых нет разделов "LowPower" и "Power Consumption". Поэтому заходим по адресам без поддиректории "open":

https://dev.bouffalolab.com/media/doc/702/datasheet/en/html/

https://dev.bouffalolab.com/media/doc/702/reference_manual/en/html/

То же самое проделываем со ссылками на PDF документацию. Дополнительно пробуем менять версию документов.

Delicates
Offline
Зарегистрирован: 25.03.2015

Ethernet подсистема имеется только в чипах BL704 и BL706. В модулях XT-ZB1 и XT-ZB2 установлены чипы BL702С-10-Q2H.

BL706C-10-Q2I можно купить тут: https://lcsc.com/product-detail/C2874060.html

Но у BL706C-10-Q2I корпус имеет аж целых 48 ног, а у BL702С-10-Q2H всего-то 32 ноги, поэтому просто заменить один на другой не получится.

Delicates
Offline
Зарегистрирован: 25.03.2015

Обсуждение XT-ZB1 (Devkit) на чипе BL702C-10: https://esp8266.ru/forum/threads/xt-zb1-devkit-bl702c.6305/