芯查查logo
  • 物料选型
  • 数据服务
    1. 新产品
    2. 查替代
    3. 丝印反查
    4. 查品牌
    5. PCN/PDN
    6. 查方案
    7. 查代理
    8. 数据合作
  • SaaS/方案
      SaaS产品
    1. 供应链波动监测预警
    2. 半导体产业链地图
    3. BOM管理
    4. 解决方案
    5. 汽车电子
    6. 政府机构
    7. 数据API
  • 商城
  • 行业资讯
    1. 资讯
    2. 直播
  • 论坛社区
    1. 论坛
    2. 学习
    3. 测评中心
    4. 活动中心
    5. 积分商城
  • 查一下
【技术专栏】泰凌微电子BLE单连接SDK(二):B85m_sample 例程使用演示
原创 发布时间:2022/07/27 15:55
版块:
泰凌微电子
简介:在泰凌Wiki网站上提供了多种应用场景的软件SDK,供客户选择使用。本系列的几篇文章主要讲述"Bluetooth LE Single Connection",此SDK是单连接应用的SDK,所谓的单连接

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

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

1

 ble_sample例程说明

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

ble_sample例程是简单的slave demo,具有广播和连接功能。在BLE服务有HID服务,连接后可以枚举为HID设备,可以控制音量和输入数字等功能。

2

开发板选择

以TLSR8258芯片为例子,常用的有两种开发板,一种是TLSR8258 Development Board(型号C1T139A30_V1.2),如下图所示:

另一种是TLSR8258 Dongle板(型号C1T139A3_V2.0A),如下图所示:

同样,TLSR8278芯片也有上述两种类型的开发板,此处不再赘述。

3

使用演示

1、代码中默认使能了电流测试(禁止了按键等操作),先禁止电流测试。在ble_sample/app_config.h文件中,修改后如下:

#define TEST_CONN_CURRENT_ENABLE       0

2、根据使用的开发板类型,代码中使能的宏定义不同,在ble_sample/app_config.h文件中,修改的宏定义如下:

使用TLSR8258 Development Board

#define BOARD_SELECT       BOARD_825X_EVK_C1T139A30

此时默认使能了UI_KEYBOARD_ENABLE宏,即使用2行2列的按键矩阵,对应开发板的SW2 ~ SW5这4个按键。

使用TLSR8258 Dongle

#define BOARD_SELECT        BOARD_825X_DONGLE_C1T139A3

此时默认使能了UI_BUTTON_ENABLE宏,即使用2个按键,对应TLSR8258 Dongle的SW1和SW2按键。

3、clean工程,然后rebuild编译,并把生成的固件download到开发板中,重新上电或者reset一次。

4、在手机-->设置-->蓝牙 页面,扫描到“VHID”,点击建立连接并选择配对。

5、点击开发板上的按键,手机上会有对应的显示。

在TLSR8258 Development Board上:

按SW2按键,手机的音量增加;

按SW4按键,手机的音量减小;

按SW3按键,在手机的文字输入页面,输入文字“1”;

按SW5按键,在手机的文字输入页面,输入文字“2”;

在TLSR8258 Dongle Board上:

按SW1按键,手机的音量增加;

按SW2按键,手机的音量减小;

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

4

电流测试

ble_sample例程默认是开启了电流测试功能,禁止了按键和LED的显示。

#define TEST_CONN_CURRENT_ENABLE    1

如果开发者需要测试各种广播间隔或者连接间隔的低功耗的数据,主要修改的参数有如下几个:

1、发射功率

发射功率越大,RF发射时的瞬时电流就越高。宏定义如下:

#define   MY_RF_POWER_INDEX        RF_POWER_P0dBm

2、广播间隔

广播间隔越小,RF发送数据就越频繁,功耗就越高。宏定义如下:

#define         MY_ADV_INTERVAL_MIN              ADV_INTERVAL_1S

#define         MY_ADV_INTERVAL_MAX             ADV_INTERVAL_1S

最大值和最小值最好设置一样,或者相差5ms。如果设置的最大值远大于最小值,SDK中默认选择使用最大值。

3、广播channel

广播channel总共有3个,当选择3个channel时,每次广播都会在3个channel各发送一次。宏定义如下:

#define     MY_APP_ADV_CHANNEL         BLT_ENABLE_ADV_ALL

4、广播内容

广播数据和扫描回复数据,设置的数据长度越大(最大31bytes),每次广播发送的耗时就越久,功耗也就越高。tbl_advData[ ]数组是广播内容数据;tbl_scanRsp[ ]数组是扫描回复数据。


5、连接间隔

建立连接后,从机可以主动更改连接参数,使用的API函数是:

bls_l2cap_requestConnParamUpdate();

具体的函数说明,请在handbook的文档中搜索。


设置好上述几点之后,就可以重新编译ble_sample例程,下载到开发板中,使用电流分析仪等设备做功耗测试。

*注意:测试功耗时,TLSR8258 Development Board开发板上的J29和J35跳线帽需要拔掉。TLSR8258 Dongle Board开发板上的J8跳线帽需要拔掉。

5

低功耗注意点

1、ble_sample例程默认使能了低功耗功能,宏定义为:

#define BLE_APP_PM_ENABLE                              1

#define PM_DEEPSLEEP_RETENTION_ENABLE     1

2、ble_sample例程,广播超过60s会自动进入深睡眠(deepsleep模式)而停止广播。建立连接,60s内无按键事件,会断开连接并进入deepsleep模式。代码如下图所示,在blt_pm_proc()中,开发者可以根据需要做修改。


关 于 泰 凌

泰凌微电子致力于为客户提供一站式的低功耗高性能无线连接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 15:55
  • 举报
😁😂😃😄😅😆😉😊😋😌😍😏😒😓😔😖😘😚😜😝😞😠😡😢😣😤😥😨😩😪😫😭😰😱😲😳😵😷😸😹😺😻😼😽😾😿🙀🙅🙆🙇🙈🙉🙊🙋🙌🙍🙎🙏✂✅✈✉✊✋✌✏✒✔✖✨✳✴❄❇❌❎❓❔❕❗❤➕➖➗➡➰🚀🚃🚄🚅🚇🚉🚌🚏🚑🚒🚓🚕🚗🚙🚚🚢🚤🚥🚧🚨🚩🚪🚫🚬🚭🚲🚶🚹🚺🚻🚼🚽🚾🛀Ⓜ🅰🅱🅾🅿🆎🆑🆒🆓🆔🆕
@好友

全部评论

加载中
游客登录通知
已选择 0 人
自定义圈子
移动
发布帖子
发布动态
发布问答
发布者
泰凌微电子
最新帖子
【开源项目】DIY智能手表Monica:极客的腕上科技艺术品【星允派 NEBULA PI】09:USB虚拟CDC与串口1【星允派 NEBULA PI】15:高级定时器输出PWM【星允派 NEBULA PI】14:使用DMA方式读取ADC获奖名单-【有奖话题35期】硬件比软件难,为何待遇不如软件?
热门版块
查看更多
问型号
问技术
问行情
汽车电子工程师论坛
工业电子专区
新手入门指南
单片机/MCU论坛
PCB设计
开源项目
电子DIY

10

收藏

分享

微信扫码
分享给好友

评论