【Sipeed 博流BL808全能板】BL808&BL602蓝牙/WIFI无线子系统
[复制链接]
本帖最后由 单笑寒 于 2023-1-13 10:07 编辑
评测三 BL808&BL602蓝牙/WIFI无线子系统
之前买过一个BL602,趁着这波它的升级版BL808的到来,简单来波对比:
芯片
|
Core
|
存储
|
无线
|
BL602
|
RISC-V@192MHz
|
276K SRAM
128K ROM
|
WiFi 802.11 b/g/n
BLE 5.0
|
BL808
|
T-Head C906@480MHz/
T-Head E907@320MHz/
T-Head E902@160MHz
|
224K RAM@M0
16K XRAM
64M PSAM
544K RAM@D0
64M Flash
|
Wi-Fi 802.11 b/g/n
Bluetooth® 5.x Dual-mode (BT+BLE)
Zigbee / IEEE 802.15.4
|
射频性能有空再对比(上表如有错误,欢迎指出)。蓝牙&WiFi 2.4G无线子系统PK开始。
一、环境
由于我是Ubuntu22.04+Win10 22H2双系统,之前老是Ubuntu下编译,这次切回win10下,搭建方法类似该评测系列文章第一篇,不同之处在于工具链要下载windows mingw版本,解压文件夹由原先的Linux_x86_64改为现在的MSYS_x86_64,借助msys2去编译。注意:不要开启msys2_64,不然工具链会提示找不到。
图1 工具链设置
BL602:bl_iot_sdk\customer_app\bl602_demo_event
BL808:M1s_BL808_example\e907_app\firmware
二、烧录测试
自家的产品当然一脉相承,烧录方法都一样,我手头的创易栈DT-BL10板子(BL602)是长按D8按键,然后点击EN按键,再松开D8按键,手头矽速科技M1s_dock (BL808)是长按BOOT按键,然后点击RST按键,再松开BOOT按键,烧录完成后BL602串口输出:
图2 BL602烧录并启动成功
- 蓝牙
命令行依次敲击:
#stack_ble
#ble_init
#ble_tp_start 1
#ble_start_adv 0 0 0x80 0x80
做过蓝牙开发的都知道蓝牙有两个重要的时钟,其中一个是计算评估功耗的主时钟0.625ms(另一个是时分复用实现皮克网piconet和散射网scatternet的),上述最后一行命令就是设置蓝牙射频的发射间隔即0.625ms*0x80=80ms,手机安卓系统出于功耗设计不能同步心跳扫描到,故有点误差:
图3 BL602蓝牙广播
BL808工程没有开启蓝牙功能,需要修改配置项以及加入一系列ble文件和函数,暂时未移植成功。蓝牙设备名称可敲击ble_set_device_name设置,可敲击ble_get_device_name获取。
图4 工程配置
- WiFi
图5 WiFi STA
同样依次敲击命令:
#stack_wifi
#wifi_sta_connect xiaomi6 12345678
就能开启WiFi 2.4G频段和TCP/IP协议栈(内部用的LWIP)获取到IP地址。我同时打开BL602和BL808的STA站点功能,路由器看到这2个智能设备。
如果只敲击第二条命令会出现错误”WiFi Mgmr NOT start up!Start it first!”,
图6 WiFi管理器启动失败
不论BL602还是BL808都可以敲击help查看注册的shell命令,具体可以查看M1s_BL808_SDK\components\network\wifi_manager\bl60x_wifi_driver\ wifi_mgmr_cli.c文件cmds_user数组,在熟悉的情况下可以添加注册自定义命令:
图7 注册shell命令列表
三、总结
由于新出的BL808生态没有出了一阵子的旧芯片BL602多(其实也不丰富,和ESP-IDF相比的话),但可以像《增广贤文》里说的“观今宜鉴古”,可以参考BL602的写法摸索出BL808的写法,可能过程要花很多时间,蓝牙以及mesh没有评测到位,看后续能否补上。
|