芯查查logo
  • 数据服务
    1. 新产品
    2. 物料选型
    3. 查替代
    4. 丝印反查
    5. 查品牌
    6. PCN/PDN
    7. 查方案
    8. 查代理
    9. 数据合作
  • SaaS/方案
      SaaS产品
    1. 供应链波动监控
    2. 半导体产业链地图
    3. BOM管理
    4. 解决方案
    5. 汽车电子
    6. 政府机构
    7. 数据API
  • 商城
  • 行业资讯
    1. 资讯
    2. 直播
  • 论坛社区
    1. 论坛
    2. 学习
    3. 测评中心
    4. 活动中心
    5. 积分商城
  • 查一下
  • 开通会员
【技术专栏】泰凌微电子BLE单连接SDK(三):B85m_ble_remote例程使用演示
原创 发布时间:2022/07/27 16:16
版块:
泰凌微电子
简介:本篇文章详细讲述SDK中的B85m_ble_remote例程的使用及注意事项,以便客户尽快熟悉起来,加快项目开发进度。

在泰凌Wiki网站上提供了多种应用场景的软件SDK,供客户选择使用。本系列的几篇文章主要讲述"Bluetooth LE Single Connection",此SDK是单连接应用的SDK,所谓的单连接就是蓝牙芯片做从机跟主机(一般是手机)建立点对点连接,或者蓝牙芯片做主机跟其他的从机建立点对点连接的应用场景。

本篇文章详细讲述此SDK中的B85m_ble_remote例程的使用及注意事项,以便客户尽快熟悉起来,加快项目开发进度。

1

 ble_remote例程说明

单连接SDK中B85m_ble_remote适用825x芯片和827x芯片,所以编译选项中又分为了825x_ble_remote和827x_ble_remote(下文统称ble_remote)。

ble_remote例程是较复杂的从机例程,是蓝牙语音遥控器的源码例程。

Telink具有多种语音遥控器的方案,详情链接:

http://wiki.telink-semi.cn/wiki/solution/RCU/

该例程主要功能:蓝牙连接并枚举为HID设备,矩阵按键扫描,语音采集并BLE传输,IR功能,电池电量检测,低功耗,OTA升级等。

2

开发板选择

基于TLSR825x和TLSR827x芯片的遥控器的相关资源(软件SDK,硬件参考设计等),请通过以下链接下载:

http://wiki.telink-semi.cn/wiki/solution/RCU/Generic-Bluetooth-LE-RCU/

基于TLSR825x和TLSR827x的语音遥控器Audio RCU如下图所示:

3

使用演示

Audio RCU有两种使用方式,一种是直接跟智能电视进行蓝牙连接,并控制电视。另一种是配合kma master dongle一起使用(在kma master dongle的文章中进行演示说明)。下面主要讲述第一种使用方式,并用手机替代智能电视。

编译ble_remote例程,并把生成的固件download到Audio RCU板中,重新上电或者reset一次。

在手机-->设置-->蓝牙 页面,扫描到“VHID”,点击连接并选择配对。蓝牙连接后,手机上会显示“VRemote”的名称。

点击Audio RCU上的按键,手机上会有相应的显示。比如按“音量+”,手机界面会弹出音量增加的提示。

注意1:ble_sample例程是HID设备,不需要在手机app中使用。如果使用手机app连接,是看不到上面的按键的效果。

注意2:RCU上的部分按键,手机不一定支持。因为RCU是蓝牙语音遥控器,可以蓝牙连接智能电视,机顶盒等设备,当作遥控器使用。手机和智能电视上对一些按键的解析不同导致的。

4

主要功能

在ble_remote的app_config.h文件中,有主要功能的宏定义开关。

1、低功耗

默认使能了低功耗功能,宏定义为:

#define BLE_REMOTE_PM_ENABLE             1

#definePM_DEEPSLEEP_RETENTION_ENABLE       1

另外,针对遥控器闲置的情况做功耗优化,广播超过60s会自动进入深睡眠(deepsleep模式)而停止广播。建立连接,60s内无按键事件,会断开连接并进入deepsleep模式。代码如下图所示,在blt_pm_proc()中代码如下图所示。

注意:当蓝牙处于连接状态时,必须先主动断开连接并收到对方的ack后,再进入低功耗模式。

2、按键扫描

遥控器有较多的按键,Telink提供了行列式扫描按键的代码,此部分请用户根据handbook的“按键扫描”章节以及例程代码来理解,本文不再赘述。

3、语音采集和语音传输

语音采集支持16K和32K的采样率,语音传输是使用BLE的方式来传输压缩的语音。实现原理和机制请用户参考handbook的“Audio”章节,本文不再赘述。宏定义开关为:

#define BLE_AUDIO_ENABLE              1

另外例程支持多种语音流的压缩格式,可使用宏定义选择:

#define TL_AUDIO_MODE        TL_AUDIO_RCU_ADPCM_GATT_TLEINK

4、低电量检测

使用ADC采集电池电量,是较为常用的应用场景。该例程有提供了代码实现,原理和使用的说明,请用户参考handbook的“低电检测”章节。宏定义开关为:

#define BATT_CHECK_ENABLE             1

5、红外遥控

该例程也支持红外遥控器的功能,实现原理和机制请用户参考handbook的“IR”章节。默认没有使能,宏定义的开关为:

#define REMOTE_IR_ENABLE               0

6、OTA升级

默认支持OTA升级,OTA升级的原理和机制,请用户参考handbook的“OTA”章节。宏定义开关为:

#define BLE_REMOTE_OTA_ENABLE           1

7、固件检查

firmware check有两种,一种是通过CRC32校验的方式来确认firmware是否完整。在firmware的末尾有CRC32校验值,在初始化的时候从flash中读取frimware固件计算CRC32并比较。如不一致,则认为firmware损坏。详情请参考handbook的“14.4 Firmware完整性自检”章节的说明。

宏定义开关为:

#define FIRMWARE_CHECK_ENABLE            0

另一种是,基于UID的firmware check,实现机制是:在量产时,量产工具获取芯片端的16字节的uid明文加密得到一段密文,并烧录到flash的固定地址。在程序代码中,初始化时也会根据芯片本身的uid进行加密得到密文,并跟flash中烧录的密文对比,一致则认为ok继续运行,否则停止运行。详情请参考handbook的“14.3 Firmware数字签名”章节的说明。

宏定义开关为:

#define FIRMWARES_SIGNATURE_ENABLE          0

注意,打开FIRMWARES_SIGNATURE_ENABLE宏定义后,编译会报错,提示firmware_encrypt_based_on_uid未定义,如下图所示:

解决方法:在proj_lib文件夹中有“libfirmware_encrypt.a”库文件,但是工程没有包含该库文件。具体操作为:点击project --> Properties-->C/C++ Build-->Setting-->Tool Setting的Libraries页面,点击“+”,在窗口输入“firmware_encrypt”,并点击OK。

注意:添加库文件包含的名称不要写错了,库文件名称“libfirmware_encrypt.a”需要去头去尾(即把lib和.a去掉)。

添加完成的效果如下图,clean后再rebuild即可编译成功。


关 于 泰 凌

泰凌微电子致力于为客户提供一站式的低功耗高性能无线连接SoC芯片解决方案,包括经典蓝牙,蓝牙低功耗,蓝牙Mesh,Zigbee,Thread,Matter,Apple HomeKit,Apple“查找(Find My)”,和私有协议等低功耗2.4GHz多协议无线连接系统级芯片和丰富的固件协议栈。公司产品广泛应用于智能照明,智能家居/楼宇,智能遥控,无线外设,智能零售,穿戴设备,无线音频,智能玩具,物流追踪,智慧城市等各类消费和商业应用场景中。


联系我们

官网:www.telink-semi.com

微信公众号:telink-semi

QQ技术讨论群:498183667

泰凌开发者论坛:

https://developers.telink-semi.cn/

销售接洽:

+86-21-20281118-8213

telinksales@telink-semi.com

智能家居 Soc 物联网 蓝牙 泰凌微电子
2022/07/27 16:16
  • 举报
😁😂😃😄😅😆😉😊😋😌😍😏😒😓😔😖😘😚😜😝😞😠😡😢😣😤😥😨😩😪😫😭😰😱😲😳😵😷😸😹😺😻😼😽😾😿🙀🙅🙆🙇🙈🙉🙊🙋🙌🙍🙎🙏✂✅✈✉✊✋✌✏✒✔✖✨✳✴❄❇❌❎❓❔❕❗❤➕➖➗➡➰🚀🚃🚄🚅🚇🚉🚌🚏🚑🚒🚓🚕🚗🚙🚚🚢🚤🚥🚧🚨🚩🚪🚫🚬🚭🚲🚶🚹🚺🚻🚼🚽🚾🛀Ⓜ🅰🅱🅾🅿🆎🆑🆒🆓🆔🆕
@好友

全部评论

加载中
游客登录通知
已选择 0 人
自定义圈子
移动
发布帖子
发布动态
发布问答
发布者
泰凌微电子
最新帖子
LDO串联或并联二极管有什么用?电路保护与特殊应用解析缝纫机伺服0.3秒启停稳如磐石:三招驯服“针位漂移”顽疾伺服电机过载预警:从电流纹波揪出轴承暗伤的猎杀方案芯片丝印反查求助树莓派pico 2测评 - 串口
热门版块
查看更多
电子元器件
问型号
问技术
问行情
专家问答
麦博大学堂
维修技术
丝印反查
汽车电子工程师论坛
工业电子专区

17

收藏

分享

微信扫码
分享给好友

评论