低功耗蓝牙(BLE)模块及协议
低功耗蓝牙(BLE)模块及协议
协议版本:V1.0
深圳市智汉科技有限公司
更新日期:2019 年 07 月 18 日
前言
如何快速低成本地开发智能手机新外设
―论低功耗蓝牙技术在智能移动设备中的应用―
USB协议的产生,让个人电脑的外设如雨后春笋般地涌现。同样,做为智能手机最新开放的低功耗蓝牙(BLE)无线应用技术,也有异曲同工之妙。BLE技术给电子产品桥接智能手机提供了可能。相对 Wi-Fi,Bluetooth 2.0等无线技术,有着能耗低、连接迅速、通讯距离更远等优势,让智能手机的外围电子设备有了更开阔的发展前景。
RSBRS02ABR、RSBRS02ABRI这两款模块做为智能手机外设的桥梁,使得主机端应用开发异常简单。在透明传输模式下(串口),用户的现有产品或者方案配合此透传模块,能十分方便地和移动设备(需支持蓝牙 4.0以上)相互通讯,实现超强的智能化控制和管理。
智汉低功耗蓝牙模块 RSBRS02ABR、RSBRS02ABRI,采用 MXD的RS02A1-B芯片作为核心处理器。模块运行在 2.4 GHz ISM band,GFSK调制方式(xx频移键控),40频道 2 MHz的通道间隙,3个固定的广播通道,37个自适应自动跳频数据通道,物理层可以和经典蓝牙RF组合成双模设备,2 MHz间隙能更好地防止相邻频道的干扰。
此模块的设计目的是迅速桥接电子产品和智能移动设备,可广泛应用于有此需求的各种电子设备,如仪器仪表、物流跟踪、健康医疗、智能家居、运动计量、汽车电子、休闲玩具等。随着xx 4.3 智能设备对 BLE 技术的集成,智能手机标配 BLE 必将成为时尚,手机外设的市场需求将成级数倍增。用户可借此模块,以最短的开发周期整合现有方案或产品,以最快的速度占领市场,同时为企业的发展注入崭新的技术力量。
RSBRS02ABR RSBRS02ABRI
注:文档会不定期优化更新,在使用此文档前,请确保是最新版本。
版本更新记录
版本号 | 文档日期 | 更新内容 |
V1.0 | 2019/07/08 | ✓ 第一次发布; |
V1.0 | 2019/07/18 | ✓ 增加设备信息服务 UUID 通道描述; |
目录
目录
⚫ 概述
模块可以工作在桥接模式(透明传输模式)。
模块启动广播后,已打开特定 APP 的手机会对其进行扫描和对接,成功之后便可以通过 BLE 协议对其进行监控。
桥接模式下,用户 CPU 可以通过模块的通用串口和移动设备进行双向通讯,用户也可以通过特定的串口 AT指令,对某些通讯参数进行管理控制。用户数据的具体含义由上层应用程序自行定义。移动设备可以通过 APP 对模块进行写操作,写入的数据将通过串口发送给用户的 CPU。模块收到来自用户 CPU 串口的数据包后,将自动转发给移动设备。此模式下的开发,用户必须负责主 CPU 的代码设计,以及智能移动设备端 APP 代码设计。
1、使用简单,无需任何蓝牙协议栈应用经验;
2、用户接口使用通用串口设计,全双工双向通讯,最低xx率支持 4800bps;
3、默认 20ms 连接间隔,连接快速,并且 Android 与 IOS 的兼容性好;
4、支持 AT 指令软件复位模块;
5、获取 MAC 地址,支持 AT 指令修改 MAC 地址(需要重新复位后生效);
6、支持 AT 指令调整蓝牙连接间隔,控制不同的转发速率;(动态功耗调整)
7、支持 AT 指令调整发射功率,修改广播间隔,自定义设备识别码,修改串口xx率,修改模块名,详情请查看 AT 指令表;
8、串口数据包长度,可以是 500Byte 以下(含 500)的任意长度(大包自动分发);
9、高速透传转发,最快可达 8.2K/S,可稳定工作在 5K/S;
10、支持移动设备 APP 修改模块名称,修改串口xx率,产品识别码,自定义广播内容,广播周期;
11、支持移动设备 APP 对模块进行远程复位,设置发射功率;
12、支持移动设备 APP 调节蓝牙连接间隔(动态功耗调整);
13、支持防劫持密码设置、修改和恢复,防止第三方恶意连接。也可不使用。独立的密码操作结果通知,方便 APP 编程;
14、支持单脚位下地(长按)5S 恢复默认密码、下地(长按)20S 出厂恢复设置,APP 远程恢复出厂设置;
15、广播内容提示模块实时系统状态,包括 MAC 地址、连接间隙、广播周期、数据延迟时间、串口xx率、自定义设备识别码与防劫持密码使能等设置信息;
16、支持浅恢复和深度恢复模式,灵活恢复用户数据,而保留产品必须配置;
17、极低功耗的待机模式,RS02A1 芯片睡眠电流 1.7uA,模块实测功耗如下:
事件 | 平均电流 (打开 EN 内部上拉) | 平均电流 (关闭 EN 内部上拉) | 持续时间 | 测试条件/备注 |
模块睡眠功耗 | 3.62uA | 3.62uA | - | EN 拉高 |
广播 | 244.30uA | 161.93uA | 3.85ms | 广播周期 200ms |
广播 | 124.40uA | 39.87uA | 3.85ms | 广播周期 1000ms |
连接事件 | 360.33uA | 266.84uA | 2.25ms | 连接周期 30ms |
连接事件 | 162.52 | 86.22 | 2.25ms | 连接周期 100ms |
*注:使用 6 位半台式万用表测试方式:用直流 20mA 量程、0.006S 采样频率进行统计测量。
以上数据为智汉模块 RSBRS02ABR 抽样实测数据,仅供参考。如果希望得到更低功耗,可适当增大连接间隔或者广播周期,详见《模块参数设置》和《串口 AT 指令》相关章节。
⚫ 工作模式示意图
模块桥接模式和直驱模式示意图
注意:为避免用户 CPU 的 IO 和模块 IO 的输出电平差异导致大电流,建议在模块的输出信号线 TX,BCTS 上串入一小额隔离电阻。
⚫ 封装尺寸及脚位定义
RSBRS02ABR、RSBRS02ABRI两款模块尺寸及脚位定义完全一样,可以互相兼容。
RSBRS02ABR模块尺寸图
RSBRS02ABRI模块尺寸图
模块尺寸
模块脚位序号 | 模块脚位名称 | 芯片脚位名称 | 输入/输出 | 说明 |
Pin1 | GND | GND | - | 模块地 GND |
Pin2 | VCC | VCC | - | 模块电源 1.6 ~ 3.6V |
Pin3 | IO7 | P02 | O | 输出口(可定时翻转)/睡眠状态指示 |
Pin4 | IO6 | P03 | O | ⮚ 连接状态指示 0:蓝牙已连接 1:蓝牙未连接 |
Pin5 | RST | RST | I | 复位输入脚,低电平有效,无内部上拉 |
Pin6 | EN | P04 | - | 模块使能控制线(低电平有效) 0:模块开始广播,直到连接到移动设备 1:无论模块当前状态,立即进入完全睡眠状态 |
Pin7 | SWD | SWD | - | JTAG 数据脚 |
Pin8 | SWC | SWC | - | JTAG 时钟脚 |
Pin9 | NC | - | O | - |
Pin10 | RESTORE / IO3 | P05 | I | ⮚ 保持此引脚低电平 5s ,系统会恢复部分参数 (浅恢复),若保持 20s 以上则将会恢复全部参数( 深度恢复)( 见《系统复位与恢复》章节) |
Pin11 | IO2 | P08 | O | - |
Pin12 | IO1 | P10 | O | - |
Pin13 | NC | - | O | - |
Pin14 | BRTS | P21 | I | 作为数据发送请求(用来唤醒模块) 0:主机有数据发送,模块将等待接收来自主机的数据,此时模块不睡眠 1:主机无数据发送,或主机数据发送完毕之后, 应该将此信号线置 1 |
Pin15 | BCTS | P22 | O | 数据输入信号(用来唤醒主机,可选) 0:模块有数据发送到主机,主机接收模块数据 1:模块无数据发送到主机,或模块数据发送完毕之后,会将此信号置 1 |
Pin16 | TX | P24 | O | 模块串口发送端 |
Pin17 | RX | P23 | I | 模块串口接收端 |
Pin18 | ADC | - | O | - |
⚫ 串口透传协议说明(桥接模式)
模块的桥接模式是指,通过通用串口和用户 CPU 相连,建立用户 CPU 和移动设备之间的双向通讯。用户可以通过串口,使用指定的 AT 指令对串口xx率,BLE 连接间隔进行重设置(详见后面《串口 AT 指令》章节)。针对不同的串口xx率以及 BLE 连接间隔, 以及不同的发包间隔,模块将会有不同的数据吞吐能力。模块默认xx率为 115200bps。
模块 BLE 连接间隔为 20 ms,串口xx率为 115200 bps 时,模块具有最高理论转发能力(8.2K/S)。这里就在电平使能模式下,这种配置为例,对透传协议做详细介绍。
模块可以可以根据获取到的已连接设备的 MTU 自定义串口包,模块会根据数据包大小自动分包发送,每个无线包最大载荷为 MTU 减去 3 个字节(例如:模块和xx手机连接,获取 MTU 为 251,则模块发送数据给手机每个最大的包为 248 个字节)。移动设备方发往模块的数据包,必须自行分包(每包 1 个字节到(MTU-3)个字节之间)发送。模块收到无线包后,会依次转发到主机串口接收端。
1、串口硬件协议:115200bps,8,无校验位,1 停止位 。
2、EN 为高电平,蓝牙模块处于完全睡眠状态。EN 置低时,模块会以默认 200ms 的间隔开始广播,直到和手机对接成功。当 EN 从低到高跳变,不论模块状态,会立即进入睡眠。
3、连接成功之后,主机(MCU)如有数据发送至 BLE 模块,需将 BRTS 拉低,主机可在约 100us 后开始发送数据。发送完毕之后主机应主动抬高 BRTS,让模块退出串口接收模式。要注意的是,抬高 BRTS 之前请确认串口数据完全发送完毕,否则会出现数据截尾现象。
4、当模块有数据上传请求时,模块会置低 BCTS,最快会在 500us 之后开始发送,直到数据发送完毕。数据发送完毕,模块会将 BCTS 置高。
5、如若主机的 BRTS 一直保持低电平,则蓝牙模块会一直处于串口接收模式,会有较高的功耗。
6、在模块连接成功后,会从 TX 给出 "TTM:CONNECTED\r\n" 字串,可以根据此字串来确定是否可以进行正常转发操作。也可以通过手机发送一个特定的确认字串到模块,主机收到后即可确认已经连接。 当连接被 APP 端主动断开后, 会从 TX 给出 “TTM: DISCONNET\r\ n ”字串提示。
7、模块的蓝牙默认连接间隔为 20 ms,如果需要节省功耗采用低速转发模式,需通过 AT
指令调整连接间隔(最长连接间隔 2000ms),每个连接间隔最多传输 248 个字节,连接间隔为 T(单位:ms),那么每秒最高转发速率 V(单位 byte/s)为:
V = 248*1000/T (V 和T 有关)
如果模块的蓝牙连接间隔为 20ms,而每个间隔最多传输 248 byte 有效数据,因此理论最高传输能力(转发速率)为 248*1000/20= 12.4K Byte/s。测试表明,转发速率在 5K/s 以
下,在信号较好时,基本上无漏包情况。安全起见,无论是低速或者高速转发应用,都建议在上层做校验重传处理。
注:Android 的 MTU 为 251 字节,IOS 的为 185 字节,发送时每包大小为 MTU-3 个
字节。
8、串口数据包的大小可以不定长,长度可以是 1k 字节以下的任意值,同样满足以上条件即可。但为最大效率地使用通讯的有效载荷,同时又避免通讯满负荷运行,推荐使用 20,80,248 字节长度的串口数据包,包间间隔取大于 20ms。
注 : 经 测 试 , 在 IOS 中 , 调 用 对 Characteristic 的 写 函 数 使 用
CBCharacteristicWriteWithResponse 参数,使用带回应写模式,这种模式会降低部分转 发 效 率 , 但 可 保 证 单 个 数 据 包 的 正 确 性 , 而 使 用 CBCharacteristicWriteWithoutResponse 参数,使用不带回应写模式,这种模式会有利于提高转发效率,但数据包的正确性需要APP 上层去校验。
⚫ 串口 AT 指令:
以"TTM"开头的字串会当成 AT 指令进行解析并执行,并从串口原样返回,之后会追加输出执行结果,"TTM:OK\r\n\0"或 "TTM:ERP\r\n\0"等。向串口 RX 输入的所有字串均为 ASCII 码格式。不以“TTM”开头的串口数据包,将被视为透传数据。
⮚ 连接间隔设定
向串口 RX 输入以下字串,设定 BLE 连接间隔:
"TTM:CIT-Xms"
其中 X="20","30","50","100","200","300","400","500","1000","1500",
"2000",单位 ms(以上数据格式都为 ASCII 码)。如“TTM:CIT-20ms”表示设定连接间隔为 20ms。在执行完此指令之后,会从串口 TX 得到以下确认:
"TTM:OK\r\n\0" 表示更改成功,正以新的连接间隔在运行;
这个连接间隔设定的成功与否取决于移动设备对连接间隔的限制,不同的 IOS 版本最大连接间隔也有不同。使用 iPhone (IOS 8 及以上系统)中测试,最快支持 20ms,最慢 支持 2s,另外,由于 BLE 协议内部机制,不同的连接间隔下此指令会有不同的执行效率。在IOS 8 及以上系统中,从当前连接间隔为 2000ms 的情况下(最长 2000ms),改变到其他连接间隔,可能最长需要等待约 100s 左右,而在其他高频度连接间隔(如:100ms)下执行此 AT 指令,会有很快的执行效率。
⮚ 获取模块名称
向串口 RX 输入以下字串:
"TTM:NAM-?"
会从 TX 收到:
" TTM:NAM-xxxxxxxxxxxx\r\n\0"
字串后面"xxxxxxxxxxxx"为蓝牙模块名称。
⮚ 模块重命名
向串口 RX 输入以下字串,- 以后为模块名称,长度为 16 个字节以内,ASCII 码格式,
" TTM:REN-" + Name
如“TTM:REN-ABC123”表示将模块重命名为“ABC123”。
同样会从 TX 收到 "TTM:OK\r\n\0" 确认,如果指令格式不对,则会返回:
"TTM:ERP\r\n\0"
测试表明,由于 IOS 版本关系,设备名称修改在 IOS6 以上版本中可立即变更,在 IOS5
中无法立即变更。
⮚ 获取xx率
向串口 RX 输入以下字串,设定xx率:
"TTM:BPS-?"
会从 TX 收到:
"TTM:BPS-X"
其中 X="4800","9600","19200","38400","57600","115200",(以上数据格式
都为 ASCII 码)。
⮚ xx率设定
向串口 RX 输入以下字串,设定xx率:
"TTM:BPS-X"
其中 X="4800","9600","19200","38400","57600","115200","256000"(以上数
据格式都为 ASCII 码)。如“TTM:BPS-115200”表示设定xx率为 115200bps。在执行完此指令之后,会从串口 TX 得到以下确认:
之后会从 TX 收到 "TTM:BPS SET AFTER 2S..." 确认,如果设置值不在选项中,或者指令格式不对,则返回:
"TTM:ERP\r\n\0"
⮚ 获取物理地址MAC
向串口 RX 输入以下字串:
"TTM:MAC-?"
会从 TX 收到:
" TTM:MAC-xxxxxxxxxxxx\r\n\0"
字串后面"xxxxxxxxxxxx"为 6 字节模块蓝牙地址。
⮚ 设置模块MAC 地址
向串口 RX 输入以下字串:
"TTM:MAC-xxxxxxxxxxxx"
会从 TX 脚收到 "TTM:OK\r\n\0" 确认,如果指令格式不对,则会返回:
"TTM:ERP\r\n\0"
设定掉电保存,重启模块后,模块将按照新的 MAC 地址进行工作。
⮚ 获取模块版本号
向串口 RX 输入以下字串:
"TTM:VER-?"
会从 TX 脚收到 "TTM:VER-XXXXXX" ,X 为模块的版本号,如果指令格式不对,则会返回:
"TTM:ERP\r\n\0
⮚ 获取模块连接密码
向串口 RX 输入以下字串:
"TTM:PWD-?"
会从 TX 脚收到 "TTM:PWD-XXXXXX" ,X为 6 个字节的连接密码,如果指令格式不对,则会返回:
"TTM:ERP\r\n\0"
⮚ 设置模块连接密码
向串口 RX 输入以下字串,可以设置或者更改模块的连接密码,长度为 6 个字节的数字格式。
"TTM:PWD-xxxxxx"
会从 TX 脚收到 "TTM:OK\r\n\0" 确认,如果指令格式不对,则会返回:
"TTM:ERP\r\n\0"
⮚ 模块复位
向串口 RX 输入以下字串:
"TTM:RST-SYSTEMRESET"
会迫使模块软复位一次。
⮚ 深度恢复
向串口 RX 输入以下字串:
"TTM:RST-RESET"
会迫使模块深度复位一次,恢复所有参数为出厂设定值。
⮚ 恢复出厂密码
向串口 RX 输入以下字串:
"TTM:RST-RSTPWD"
会迫使模块浅复位一次,恢复密码参数为出厂默认值(清除密码)。
⮚ 广播周期设定
向串口 RX 输入以下字串,设置模块的广播周期,T = X * 100ms "TTM:ADP-(X)"
其中 X = "2","5","10","15","20","25","30","40","50"之一(以上数据格式都为 ASCII
码)。如“TTM:ADP-(2)”表示设定广播周期为 200ms。会从 TX 脚收到 "TTM:OK\r\n\0"
确认,如果指令格式不对,则会返回:
"TTM:ERP\r\n\0"
广播周期设定掉电保存,重启模块后,模块将按照新的广播周期进行广播。
⮚ 附加自定义广播内容
向串口 RX 输入以下字串,自定义广播内容,
"TTM:ADD-"+ Data
其中 Data 为准备附加的广播的数据,长度 0< L <= 16,以 ASCII 码格式输入。例如向串口 RX 输入“TTM:ADD-Advertisement!”,会从 TX 脚收到 "TTM:OK\r\n\0" 确认,如果指令格式不对,则会返回:
"TTM:ERP\r\n\0"
此指令设置后立即生效,可以通过此功能广播一些自定义内容。如果设置为 16 个全
0 数据,则认为不使用自定义广播数据,而是使用默认广播内容。
⮚ 定义产品识别码
向串口 RX 输入以下字串,自定义产品识别码,
"TTM:PID-"+ Data
其中 Data 为两个字节的产品识别码,范围 0x0000~0xFFFF ( L = 2 ),每个字符以 ASCII 码格式向串口 RX 输入。例如向串口 RX 输入“TTM:PID-RS”(“RS 对应的十六进制为 0x5253”),会从 TX 脚收到 "TTM:OK\r\n\0" 确认,如果指令格式不对,则会返回:
"TTM:ERP\r\n\0"
此识别码会出现在广播中,可以以此来过滤设备或判断是否是特定的产品。
⮚ 发射功率设定
向串口 RX 输入以下字串,设置相应的发射功率,单位 dBm。 "TTM:TPL-(X)"
其中 Xx"0","0","-5","-21"(以上数据格式都为 ASCII 码)* 。如“TTM:TPL-(0)”表
示设定发射功率为 0dBm。之后会从 TX 脚收到 "TTM:OK\r\n\0" 确认,并且模块立即使用新的发射功率进行通讯,如果指令格式不对,则会返回:
"TTM:ERP\r\n\0"
⮚ RSSI 信号强度输出
向串口 RX 输入以下字串,设置开启 RSSI 信号强度定时打印,间隔时间 1 秒。
"TTM:RSI-ON"
向串口 RX 输入以下字串,设置关闭 RSSI 信号强度定时打印。
"TTM:RSI-OFF"
设置成功后 TX 脚收到 "TTM:OK\r\n\0" 确认,如果指令格式不对,则会返回:
"TTM:ERP\r\n\0"
如果已开启RSSI 打印功能,则每间隔 1 秒钟时间打印一次 RSSI 信号强度字符串,
"TTM:RSI-xx\r\n\0"(例如:RSSI 为-63dBm 则打印字符为"TTM:RSI-63\r\n\0")注:此参数掉电不保存,并且连接断开后自动关闭 RSSI 输出。
⮚ EN 脚内部使能
向串口 RX 输入以下字串,设置 EN 脚开启内部上拉,默认状态。
"TTM:EUP-ON"
向串口RX 输入以下字串,设置关闭 EN 脚开启内部上拉,EN 脚拉低使能广播时,能节省 40 多 uA 电流。
"TTM:EUP-OFF"
设置成功后 TX 脚收到 "TTM:OK\r\n\0" 确认,如果指令格式不对,则会返回:
"TTM:ERP\r\n\0"
⮚ RTC 设定与获取
向串口 RX 输入以下字串,设置 RTC 时间,格式为年 4 位,月、日、时、分、秒各
2 位。
"TTM:RTC-xxxxxxxxxxxxxx"
比 如 设 定 2017 年 1 月 2 日 3 时 4 分 5 秒 则 需 输 入 的 字 符 为
"TTM:RTC-20170102030405"
设置成功后 TX 脚收到 "TTM:OK\r\n\0" 确认,如果指令格式不对,则会返回:
"TTM:ERP\r\n\0"
向串口 RX 输入以下字串,设置获取当前系统时间。
"TTM:RTC-?"
设置成功后 TX 脚收到 "TTM:RTC-xxxxxxxxxxxxxx\r\n\0",格式与设定 RTC 格式相同;如果指令格式不对,则会返回:"TTM:ERP\r\n\0"
注:此参数掉电不保存,并且模块重新上电后 RTC 需要重新设定。
⮚ 数据延时设定
向串口 RX 输入以下字串,设置 BCTS 输出低到串口 TX 输出数据之间的延时,单位
ms。
"TTM:CDL-Xms"
其中 X="0","2","5","10","15","20","25" 之一( 以上数据格式都为 ASCII 码)。如 “TTM:CDL-2ms” 表 示 设 定 x 时 为 2ms , 如 果 指 令 无 误 , 会 从 TX 收 到 "TTM:OK\r\n\0" 确认,如果指令格式不对,则会返回:
"TTM:ERP\r\n\0"
为让用户 CPU 有足够的时间从睡眠中唤醒,到准备接收,模块提供了这个延时(X)设定,在模块串口有数据发出之前会置低 BCTS,而 BCTS 输出低到模块 TX 输出数据之间的延时由此参数设定。可以保证最小延时不小于 X,实际延时会是 T = ( X +Y ) ms,其中 500us<Y<1ms。此参数掉电保存。
BCTS
串口数据提醒信号
TX_DATA
模块串口输出数据
T= X+Y
模块串口输出数据延时设定示意图
AT 指令表
AT 指令格式 | 掉电保存 | 参数说明 | 可能的回应 | 含义 |
"TTM:CIT-Xms" (连接成功后才有效) | 否 | X="20","30","50","100", "200","300","400","500", "1000","1500","2000" 设 置相应的 BLE 连接间隔,单位 ms | "TTM:TIMEOUT\r\n\0" "XXX:XX\x\x\0" "TTM:ERP\r\n\0" | 设置超时设置成功错误参数 |
"TTM:NAM-?" | 是 | 获取模块名称 | TTM:NAM-xxxxxxxxxx xx,"xxxxxxxxxxxx" 为模块名称 | 返回模块名称 |
"TTM:REN-"+ Name | 是 | Name,新模块名,长度为 16 字节以内的任意字串。 | "TTM:OK\r\n\0" "TTM:ERP\r\n\0" | 设置成功错误参数 |
"TTM:BPS-?" | - | 获取xx率 | TTM:BPS-X, "X" 为x x率 | 返回xx率 |
"TTM:BPS-X" | 是 | X="4800" , "9600" , "19200","38400","57600", "000000","256000" 设置相应的xx率 | "TTM:BPS SET AFTER 2S ...\r\n\0" "TTM:ERP\r\n\0" | 设置成功,会在两秒后使用新的xx率 错误参数 |
"TTM:MAC-?" | - | 获取 MAC 地址 | "TTM:MAC-xxxxxxxxx xxx" xxxxxxxxxxxx 为 模块 MAC 地址 | 返回 MAC 地址 |
"TTM:MAC-X" | 是 | X 为 12 位 MAC 字符,比如 123456789ABC | "TTM:OK\r\n\0" "TTM:ERP\r\n\0" | 设置成功错误参数 |
TTM:VER-? | _ | 获取版本号 | "TTM:VER-XXXXXXX 为模块版本号 | 返回版本号 |
"TTM:PWD-?" | _ | 获取连接密码 | "TTM:PWD-xxxxxx"为模块的连接密码 "TTM:ERP\r\n\0" | 返回模块的连接密码(防劫持秘钥) 错误参数 |
"TTM:PWD-xxxx xx" | 是 | X 为 6 位纯数字, 比如 123456 | "TTM:OK\r\n\0" "TTM:ERP\r\n\0" | 设置成功错误参数 |
"TTM:RST-SYST EMRESET" | - | 复位模块系统 | 无 | 复位模块 |
TTM:RST-RSTP WD | — | 恢复出厂密码 | Module is working! | 恢复出厂密码 |
TTM:RST-RESET | — | 深度恢复 | Module is working! | 恢复所有参数 |
TTM:ADP-(X) | 是 | X = "2","5","10","15","20", "25","30","40","50" 设置相应的广播周期,T = X * 100ms | TTM:OK\r\n\0 TTM:ERP\r\n\0 | 设置广播周期,如设置为"5",则为 500ms |
"TTM:ADD-" + Data | 是 | Data 为自定义广播数据,数据长度 L <= 16; | "TTM:OK\r\n\0" "TTM:ERP\r\n\0" | 设置成功错误参数 |
"TTM:PID-" + Data | 是 | Data 为自定义产品识别码,数据长度 L = 2 ,默认为"RS"; | "TTM:OK\r\n\0" "TTM:ERP\r\n\0" | 设置成功错误参数 |
"TTM:TPL-(X)" | 否 | X="5","0","-5","-21" 设置相应的发射功率,单位 dBm | "TTM:OK\r\n\0" "TTM:ERP\r\n\0" | 设置成功错误参数 |
TTM:RSI-ON | — | 开启定时 1 秒获取RSSI 信号功能 | TTM:OK\r\n\0 TTM:ERP\r\n\0 | 定时获取 RSSI 信号值 |
TTM:RSI-OFF | — | 关闭获取 RSSI 信号功能 | TTM:OK\r\n\0 TTM:ERP\r\n\0 | 关闭获取 RSSI 信号值 |
"TTM:EUP-ON" | 是 | 开启 EN 脚上拉使能 | TTM:OK\r\n\0 TTM:ERP\r\n\0 | EN 脚内部上拉开启 |
"TTM:EUP-OFF" | 是 | 关闭 EN 脚上拉使能 | TTM:OK\r\n\0 TTM:ERP\r\n\0 | EN 脚内部上拉关闭 |
TTM:RTC-? | — | 获取 RTC 时间 | TTM:RTC-xxxxxxxxxxx xxx , "xxxxxxxxxxxxxx"为年、月、日、时、分 秒 | 获取 RTC 时间 |
TTM:RTC-X | — | X 为年、月、日、时、分秒 | TTM:OK\r\n\0 TTM:ERP\r\n\0 | 设置 RTC 时间 |
"TTM:CDL-Xms" | 是 | X="0","2","5","10","15", "20","25" 设置 BCTS 输出低到串口输出数据之间的延时,单位 ms | "TTM:OK\r\n\0" "TTM:ERP\r\n\0" | 最小延时不于 X,实际延时会是 X+Y ms , 500us<Y<1ms. |
* 注:芯片发射功率硬件支持-21dBm~+5dBm,此版透传设置范围在-21dBm~5dBm。
⚫ BLE 协议说明(APP 接口)
⮚ 蓝牙数据通道【服务 UUID:0xFFE5】
特征值 UUID | 可执行的操作 | 字节数 | 默认值 | 备注 |
FFE9 | Write | MTU-3 | 无 | 写入的数据将会从串口 TX 输出 |
说明:蓝牙输入转发到串口输出。APP 通过 BLE API 接口向此通道写操作后,数据将会从串口 TX 输出。详细操作规则见《串口透传协议说明(桥接模式)》章节。
⮚ 串口数据通道【服务UUID:0xFFE0】
特征值 UUID | 可执行的操作 | 字节数 | 默认值 | 备注 |
FFE4 | Notify | MTU-3 | 无 | 从串口 RX 输入的数据将会在此通道产生通知发给移 动设备 |
说明:串口输入转发到蓝牙输出。如果打开了 FFE4 通道的通知使能开关,主 CPU 通过串口向模块 RX 发送的合法数据后,将会在此通道产生一个 notify 通知事件,APP 可以直接在回调函数中进行处理和使用。详细操作规则见《串口透传协议说明(桥接模式)》章节。
注:MTU 指 最大传输单元(Maximum Transmission Unit,MTU),通信协议所能通过的最大数据包大小(以字节为单位)。
⮚ 防劫持密钥【服务 UUID:0xFFC0】
模块支持防劫持加密,此服务可以有效防止被非授权移动设备(手机)连接到此模块。模块的初始密码为 000000 (ASCII),此情况下 APP 无需提交密码,视为不使用密码,任何安装指定 APP 的移动设备可以对其发起连接。
新密码(非全 0)的设置和备份保存由 APP 完成,如果设置了新密码(非全 0),开始启用防劫持密码。在 APP 对此模块进行连接后,必须在蓝牙连接后的 20 秒内向模块提交一次曾经设置的连接密码,否则模块会断开连接。在 APP 提交正确密码到模块之前,无法对服务通道进行任何除提交密码之外的写操作。
如果想恢复密码,需拉低 RESTORE 脚位(见脚位定义表),并保持 5 秒,模块密码会被恢复出厂设置。为了安全起见,模块不提供密码读操作,密码的记忆由APP 来负责。
协议提供了密码通道来实现密码的提交、修改和取消密码服务。同样也提供了密码事件通知服务来通知 APP 对密码操作的结果,其中包括密码正确、密码错误、密码修改成功、取消使用密码四个事件。
特征值 UUID | 可执 行的操作 | 字 节数 | 举例 | 备注 |
FFC1 (handle: 0x0022) | write (掉电 保存) | 12 | “123456123456”(ASCII) | 提交当前密码 123456,新密码和旧密码必须一致 |
“123456888888”(ASCII) | 把旧密码 123456 修改为新密码 888888,旧密码必须正确 | |||
“888888000000”(ASCII) | 取消密码, 新密码修改为 000000,旧密码必须正确 | |||
FFC2 (handle: 0x0024) | notify | 1 | 0(PWD_RIGHT_EVENT) | 提交密码正确 |
1(PWD_ERROR_EVENT) | 提交密码错误 | |||
2(PWD_UPDATED_EVENT) | 密码修改成功 | |||
3(PWD_CANCEL_EVENT) | 取消密码 |
1、密码结构为 12 字节 ASCII 码,红色部分为当前密码,蓝色部分为新密码;
2、当前密码在被 APP 修改之前,默认为“000000”;
3、通过打开通道 FFC2 的通知使能,将会在此通道产生有关密码操作的执行结果通知。
4、当 APP 提交密码“123456123456” ,新密码和当前密码相同,APP 会在 FFC2 通道得到通知 notify:0( PWD_ RIGHT _EVENT),表示提交密码正确;
5、当 APP 提交密码(红色部分)和当前密码不一致,如:“123455xxxxxx” ,x 部分不论是何值,APP 会在 FFC2 通道得到通知 notify:1(PWD_ ERROR _EVENT ),表示密码提交错误;
6、当 APP 提交密码“123456888888” ,新密码为“888888” ,当前密码为“123456” ,APP会在 FFC2 通道得到通知 notify:2(PWD_ UPDATED _EVENT),表示密码修改成功;
7、当 APP 提交密码“888888000000” ,新密码被修改为全 0,则表示取消使用密码,APP
会在 FFC2 通道得到通知 notify:3(PWD_ CANCEL _EVENT)。
说明:模块信息读取通道。
2A26 为模块软件版本获取通道,可以通过对此通道进行读操作,来获取此模块软件版本信息。格式如 Tv5.10u_xxxxxx_EP,其中 xxxxxx 部分为软件的生成日期,如 190628表示 2019 年 6 月 28 日。
⮚ 设备信息【服务 UUID:0x180A】
特征值 UUID | 可执行的操作 | 字节数 | 默认值 | 备注 |
2A23 | Read | 8 | 0x0000000000000000 (Hex) | 系统 ID |
2A26 | Read | 17 | Tv5.10u_xxxxxx_EP (ASCII) | 模块软件版本号 xxxxxx 为软件生成日期 |
2A27 | Read | 9 | RSBRS02ABR (ASCII) | 模块硬件版本号 |
2A29 | Read | 8 | RF Crazy (ASCII) | 生产商名称 |
⮚ 模块参数设置【服务UUID:0xFF90】
特征值 UUID | 可执行的操作 | 字 节数 | 默认值 | 备注 |
FF91 (handle: 0x0028) | Read/Write | 16 | Tv510u-xxxxxxx x(带结束符的 ASCII 字串) | 设备名称, xxxxxxxx 为物理地址的后四个字节 |
FF92 (handle: 0x002A) | Read/Write | 1 | 3 | 蓝牙通讯连接间隔: 0 : 20ms 1 : 30ms 2 : 50ms 3:100ms 4:200ms 5:300ms 6:400ms 7:500ms 8:1000ms 9:1500ms A:2000ms |
FF93 (handle: 0x002C) | Read/Write | 1 | 5 | 设定串口xx率: 0:4800 bps 1: 9600 bps 2:19200 bps 3:38400 bps 4:57600 bps 5: 115200 bps 6:256000bps |
FF94 (handle: 0x002E) | Write | 1 | 无 | 远程复位恢复控制通道: ⮚ 远程复位控制,写入 0x55 对模块进行复位 ⮚ 远程浅恢复控制,写入 0x35对模块进行浅恢复(仅仅恢复用户设定密码),并复位 ⮚ 远程深度恢复控制, 写入 0x36 对模块进行深度恢复 (让模块所有参数回到出厂设置),并复位 |
FF95 (handle: | Read/Write | 1 | 3 | 设定广播周期: 0:200 ms, |
0x0030) | 1:500 ms, 2:1000 ms, 3:1500 ms, 4:2000 ms, 5:2500 ms, 6:3000 ms, 7:4000 ms, 8:5000 ms | |||
FF96 (handle: 0x0032) | Read/Write | 2 | 0x5253 | 设定产品识别码 |
FF97 (handle: 0x0034) | Read/Write | 1 | 1 | 设定发射功率: 0:5dBm 1:0 dBm 2:-5dBm 3:-21dBm |
FF98 (handle: 0x0036) | Read/Write | 16 | 默认广播内容 (详见《广播数据设置》章节) | 设定自定义广播数据 自定义广播数据,0 < n <= 16 |
说明:模块信息配置通道。
FF91 为设备名称设置通道。可以通过对此通道进行读写操作,来获取和设定模块名称。设置的名称长度 L, 必须满足 0<L<17 , 建议以结束符结尾(‘\0’) 。默认为 “Tv5vvv-xxxxxxxx\0”(16 byte),vvv 为固件版本号,xxxxxxxx 为 MAC 地址后四个字节。
FF92 为模块连接间隔设置通道。可以通过对此通道进行写操作,来设定移动设备和模块之间的连接间隔,借此可以灵活控制设备功耗,以及数据吞吐量。测试表明,使用 iPhone(IOS 8 及以上系统)从连接间隔为 500ms 修改为其他连接间隔,需要大约 30s 的等待时间。相反从高频度的连接间隔(如 30ms)进行变更,会有很高的执行效率(BLE 协议导致)。
FF93 为模块串口xx率设置通道。可以通过对此通道进行读写操作,来设定模块通用串口xx率,两秒后开始启用新的xx率。出厂设置默认为 5(115200 bps)。
FF94 为远程复位恢复控制通道,通过写入不同值,可以实现不同的控制功能。
1、对此通道写入 0x55,对模块进行软件复位。
2、对此通道写入 0x35,对模块进行浅恢复,所有用户密码将恢复到出厂设置控制,之后会复位模块。
3、对此通道写入 0x36,对模块进行深度恢复,所有系统参数将恢复到出厂设置控制,之
后会复位模块。
FF95 为模块广播周期设置通道。可以通过对此通道进行读写操作,来设定模块广播周期。出厂设置默认为 3(200ms)。
FF97 为模块发射功率设置通道。可以通过对此通道进行写操作,来设定模块发射功率。出厂设置默认为 1(0 dBm)。
FF98 为模块广播内容设置通道。可以通过对此通道进行写操作,来自定义模块的广播数据。当数据为全 0(16 byte)时,认为不使用自定义广播数据,而使用默认的广播数据,详见《广播数据设置》章节。
FF96 为模块产品识别码设置通道。可以通过对此通道进行读写操作,来设定模块识别码,APP 端可以通过此识别码来进行过滤和连接指定的产品类型。出厂设置默认为 0x5253。
⚫ 广播数据设置
默认广播数据:当模块的 EN 脚被置低后,模块将会进行间隔为默认 200ms 的广播,在广播数据中的 GAP_ADTYPE_MANUFACTURER_SPECIFIC(IOS 编程中官方xxx)
域中包含了以下内容,默认广播内容为 16 个字节:
0x52,0x53, 自定义设备类型编码,默认为“RS”,可由 AT 指令及 APP 进行设
定;
0x19,0x16, 模块固件生成日期,默认为 0x19,0x16,为 19 年 16 周生成;
0x00,0x00,0x00,0x00,0x00,0x00, 模块 MAC 地址;
0x05, 模块 BPS 参数,默认为 5,为 115200bps;
0x05, 模块 CTS 参数,默认为 10,为 CTS 拉低 5ms 后发送数据;
0x00, 模块广播间隙参数,默认为 200mS;
0x01, 模块发射功能参数,默认为 0dBm;
0x00, 模块连接间隙参数,默认为 20ms;
0x00, 模块防劫持密码超时使能,默认 0 表示未开启。
}
广播中的数据为首次编译后的初始设定值,并不会通过 AT 指令或 APP 设定新参数后进行改变。
自定义广播数据:如果使用 AT 指令自定义了广播内容,最大长度为 16 字节(蓝色部分),在广播数据中的 GAP_ADTYPE_MANUFACTURER_SPECIFIC 域中将包含了以下内容,长度为 2+n 个字节:
0x00,0x00, 自定义设备类型编码,默认为 00 00 ,可由 AT 指令进行设定;
Data [n], 自定义广播数据,n <= 16 ;
}
注:自定义广播数据可通过 AT 指令修改,并且掉电保存。重新上电后,将会使用最后自定义的广播数据。如果自定义广播数据为全 0 (16 byte),则认为不使用自定义广播,而使用系统默认的广播内容。
为避免广播数据过长带来多余的功耗,也可以通过设置自定义广播数据为 1 字节的任意值。
⚫ IOS APP 编程参考
模块总是以从模式进行广播,等待智能移动设备做为主设备进行扫描,以及连接。这个扫描以及连接通常是由APP 来完成,由于 BLE 协议的特殊性,在系统设置中的扫描蓝牙连接没有现实意义。智能设备必须负责对BLE 从设备的连接,通讯,断开等管理事宜,而这一切通常是在 APP 中实现。
有关 BLE 在 IOS 下的编程,最关键的就是对特征值(Characteristic,本文叫通道)的读,写,以及开启通知开关。通过对通道的读写即可实现对模块直驱功能的直接控制,无需额外的 CPU。典型函数说明摘抄如下:
/*!
* @method writeValue:forCharacteristic:withResponse:
* @param data The value to write.
* @param characteristic The characteristic on which to perform the write operation.
* @param type The type of write to be executed.
* @discussion Write the value of a characteristic.
* The passed data is copied and can be disposed of after the call finishes.
* The relevant delegate callback will then be invoked with the status of the request.
* @see peripheral:didWriteValueForCharacteristic:error:
*/
- (void)writeValue:(NSData *)data forCharacteristic:(CBCharacteristic *)characteristic type:(C BCharacteristicWriteType)type;
说明:对某个特征值进行写操作。
NSData *d = [[NSData alloc] initWithBytes:&data length:mdata.length]; [p writeValue:d
forCharacteristic:c
type:CBCharacteristicWriteWithoutResponse];
/*!
* @method readValueForCharacteristic:
* @param characteristic The characteristic for which the value needs to be read.
* @discussion Fetch the value of a characteristic.
* The relevant delegate callback will then be invoked with the status of the request.
* @see peripheral:didUpdateValueForCharacteristic:error:
*/
- (void)readValueForCharacteristic:(CBCharacteristic *)characteristic;
说明:读取某个特征值。
[p readValueForCharacteristic:c];
/*!
* @method setNotifyValue:forCharacteristic:
* @param notifyValue The value to set the client configuration descriptor to.
* @param characteristic The characteristic containing the client configuration.
* @discussion Ask to start/stop receiving notifications for a characteristic.
* The relevant delegate callback will then be invoked with the status of the request.
* @see peripheral:didUpdateNotificationStateForCharacteristic:error:
*/
- (void)setNotifyValue:(BOOL)notifyValue forCharacteristic:(CBCharacteristic *)characteristi c;
说明:打开特征值通知使能开关。
[self setNotifyValue:YES forCharacteristic:c];//打开通知使能开关[self setNotifyValue:NO forCharacteristic:c]; //关闭通知使能开关
/*
* @method didUpdateValueForCharacteristic
* @param peripheral Pheripheral that got updated
* @param characteristic Characteristic that got updated
* @error error Error message if something went wrong
* @discussion didUpdateValueForCharacteristic is called when CoreBluetooth has updated a
* characteristic for a peripheral. All reads and notifications come here to be processed.
*
*/
- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteri stic *)characteristic error:(NSError *)error
说明:每次执行完读取操作后,会执行到这个回调函数。应用层在此函数内保存读取到的数据。
有关设备的扫描,连接以及其他通讯细节,可以参考智汉科技提供的基于 IOS 的透传模块测试 APP 源码。里面实现了对 FFE9 和FFE4 转发蓝牙数据到串口,转发串口数据到蓝牙两个通道(特征值)的操作(通知和写操作),都是通过对某个通道(特征值)的读写来实现。只是通道 UUID 以及读写字节数不同。(相关源码请向业务索取)
⚫ 主机参考代码(透传)
逻辑关系:模块间是用 BCTS, BRTS 两个 IO 口进行发送接收的通知和控制。
这两个 IO 常态高位,置低触发,如果模块有数据要发,置低 BCTS 通知单片机接收,如果单片机有数据要发,置低 BRTS 通知模块接收。示意性代码如下:
void main(void)
{
EN = 0 ; //使能 EN,开始广播
while(!BLEMoudleAck("TTM:OK\r\n\0")); //等待手机端扫描,连接
//等待连接成功,也可加入限时等待
//也可判断连接提示信号线的电平
BRTS = 0; //BRTS 置低通知 RSBRS02AX 模块准备接收
halMcuWaitMs(2); //延迟 2ms
UARTWrite( HAL_UART_PORT_0, "TTM:CIT-100ms", 14);
//修改连接间隔,从串口得到确认:
halMcuWaitMs(5); //延迟 5ms,确保数据已经发出
BRTS = 1; //RTS 置高,发送完毕
while(!BLEMoudleAck("TTM:OK\r\n\0")); //等待设置成功,也可加入限时等待
while(1){ //循环收发测试
while(1){
if(BCTS == 0){ //检测,若BCTS 置低则准备接收 while(BCTS==0); //等待发送完毕,也可限时等待 if(UARTRead(uartBuffer) == SUCCESS) //串口读取数据
{... ...} //使用数据
}
BRTS = 0; //RTS 置低通知 RSBRS02AX 模块准备接收
halMcuWaitMs(2); //延迟 2ms
send_TX("1234567890"); //发送任意数据(200byte 以内)
halMcuWaitMs(5); //延迟 5ms,确保数据已经发出
BRTS = 1; //RTS 置高,发送完毕
halMcuWaitMs(20); //延迟再发下一个包,延时视包大小而定
}
}
}
}
⚫ 推荐操作条件
注意:
1、操作温度受晶体频率的变化限制;
2、为了确保无线射频性能,电源上纹波必须小于300mV。
功能操作在以下表格中各条件参数值的极限之外不能保证其性能,长期在这个极限之外操作或多或少会影响模块的可靠性。
标识 | 条件 | 最小值 | 典型值 | 最大值 | 单位 |
电源与 IO | 电池模式 | 1.6 | 3.3 | 3.6 | V |
操作温度 | / | -40 | 25 | 85 | ℃ |
环境热摆 | -20 | 20 | ℃/分钟 |
⚫ 回流焊条件
1、加热方法:常规对流或 IR 对流;
2、允许回流焊次数:2 次,基于以下回流焊(条件)(见下图);
3、温度曲线:回流焊应按照下列温度曲线(见下图);
4、最高温度:245°C。
部件的焊接耐热性温度曲线(焊接点)图
⚫ 静电放电警示
模块会因静电释放而被损坏,RF CRAZY 建议所有模块应在以下 3 个预防措施下处理: 1、必须遵循防静电措施,不可以裸手拿模块。
2、模块必须放置在能够预防静电的放置区。
3、在产品设计时应该考虑高电压输入或者高频输入处的防静电电路。
静电可能导致的结果为细微的性能下降到整个设备的故障。由于非常小的参数变化都可能导致设备不符合其认证要求的值限,从而模块会更容易受到损害。
Shenzhen RF Crazy Technology
Co.,Ltd.
⚫ 联系我们
深圳市智汉科技有限公司
SHENZHEN RFCRAZY TECHNOLOGY CO.,LTD.
Tel:0000- 0000 0000 Web: xxx.xxxxxxx.xxx E-mail:xxxxx@xxxxxxx.xxx
Add:Floor 4, bxxxxxxx X0, Xxxxxxxx Xxxxxxxxxx Xxxx, Xxxxxxx Xxxx, Xxx'xx Xxxxxxxx, Xxxxxxxx 000000,X.X.China
地址:深圳市宝安区洲石路恒丰工业城 C2 栋四层
附录A:BLE模块应用方案提示
计数采集(计步器,弹跳球,心率计),86盒插座改造,遥控开关,调光照明,环境渲染背景光,医疗检测〔血压,血氧,体温〕,互动遥控玩具〔开关量,模拟量,输入,输出〕,机器人,直升飞机,玩具车,防丢寻物,电量采集,充电管理,外置gps,温湿度计,蓝牙手表,飞镖机,保龄球等娱乐设备新接口,(智能设备)遥控接口,报警器,门禁考勤(蓝牙锁),巡逻寻根器,反控(智能设备)应用(紧急拨号,遥控拍摄),蓝牙打印,空调控制器,机顶盒控制器,物流统计管理,胎压检测,汽车自动锁,遥控按摩器,车位记录,户外点阵广告,运动计量〔跑步,自行车,高尔夫〕,定时开关,宠物监管,婴儿儿童护理(实时体温检测,防丢失),运动健身玩具(手机配合),距离感应触发应用,调速应用,智能家居(遥控类),仪器仪表无线接口,设备无线配置接口,景点定位,区域软禁控制,定量计时,可穿戴设备,蓝 牙 读 卡 器 , 便 携 仪 表 , 设 备 固 件 远 程 升 级 接 口 … …
* 部分可以利用模块透传功能进行开发,部分直接使用直驱功能即可完成设计。
附录 B:模块射频参数测试报告
一、发射性能参数
VBW=300K,Sweep Time 为 100ms。
1、频率范围
频率范围
2402-2480MHz
2、发射功率
除特别说明外,以下参数测试的默认条件为:VDD=3.3V,TA = 25°C,RBW=100K,
发送功率(dBm) | 允许误差(dBm) | 结果 | |
2402 | -0.19 | 0dBm(±2dBm) | PASS |
2404 | -0.17 | PASS | |
2406 | -0.13 | PASS | |
2408 | -0.08 | PASS | |
2410 | -0.05 | PASS | |
2412 | 0.00 | PASS | |
2414 | 0.04 | PASS | |
2416 | 0.07 | PASS | |
2418 | 0.12 | PASS | |
2420 | 0.16 | PASS | |
2422 | 0.19 | PASS | |
2424 | 0.23 | PASS | |
2426 | 0.27 | PASS | |
2428 | 0.29 | PASS | |
2430 | 0.33 | PASS | |
2432 | 0.35 | PASS | |
2434 | 0.37 | PASS | |
2436 | 0.39 | PASS | |
2438 | 0.41 | PASS | |
2440 | 0.41 | PASS | |
2442 | 0.42 | PASS |
2444 | 0.44 | PASS | |
2446 | 0.44 | PASS | |
2448 | 0.46 | PASS | |
2450 | 0.46 | PASS | |
2452 | 0.46 | PASS | |
2454 | 0.45 | PASS | |
2456 | 0.44 | PASS | |
2458 | 0.43 | PASS | |
2460 | 0.40 | PASS | |
2462 | 0.39 | PASS | |
2464 | 0.37 | PASS | |
2466 | 0.34 | PASS | |
2468 | 0.31 | PASS | |
2470 | 0.28 | PASS | |
2472 | 0.25 | PASS | |
2474 | 0.22 | PASS | |
2476 | 0.17 | PASS | |
2478 | 0.13 | PASS | |
2480 | 0.09 | PASS |
中心频率(MHz) | 频率偏移(KHz) | FCC 允许偏移范围(KHz) | 结果 |
2402 | 2.334 | ±40KHz | PASS |
2404 | 2.167 | PASS | |
2406 | 2.168 | PASS | |
2408 | 2.334 | PASS | |
2410 | 2.167 | PASS | |
2412 | 2.168 | PASS | |
2414 | 2.226 | PASS | |
2416 | 2.168 | PASS |
3、频率误差
波形输出=CW。
2418 | 2.35 | PASS | |
2420 | 2.334 | PASS | |
2422 | 2.54 | PASS | |
2424 | 2.342 | PASS | |
2426 | 2.325 | PASS | |
2428 | 2.167 | PASS | |
2430 | 2.334 | PASS | |
2432 | 2.223 | PASS | |
2434 | 2.334 | PASS | |
2436 | 2.167 | PASS | |
2438 | 2.168 | PASS | |
2440 | 3.666 | PASS | |
2442 | 2.168 | PASS | |
2444 | 2.35 | PASS | |
2446 | 2.334 | PASS | |
2448 | 2.54 | PASS | |
2450 | 2.334 | PASS | |
2452 | 2.35 | PASS | |
2454 | 2.334 | PASS | |
2456 | 2.54 | PASS | |
2458 | 2.334 | PASS | |
2460 | 2.334 | PASS | |
2462 | 2.167 | PASS | |
2464 | 2.168 | PASS | |
2466 | 2.334 | PASS | |
2468 | 2.167 | PASS | |
2470 | 2.168 | PASS | |
2472 | 2.54 | PASS | |
2474 | 2.334 | PASS | |
2476 | 2.233 | PASS | |
2478 | 2.242 | PASS | |
2480 | 2.167 | PASS |
测试条件:PTX=0dBm。
中心频率(MHz) | 实际数据(dBm) | RF-PHY.TS.4.2.2 标准 参考范围(dBm) | 结果 |
2402±2MHz | -43.21 | ≤-20dBm | PASS |
2440±2MHz | -42.88 | ||
2480±2MHz | -43.32 |
中心频率(MHz) | 实际数据(dBm) | RF-PHY.TS.4.2.2 标准 参考范围(dBm) | 结果 |
2402±3MHz | -47.24 | ≤-30dBm | PASS |
2440±3MHz | -46.25 | ||
2480±3MHz | -47.38 | ||
中心频率(MHz) | 实际数据(dBm) | RF-PHY.TS.4.2.2 标准 | 结果 |
参考范围(dBm) | |||
2402±5MHz | -43.04 | ≤-30dBm | PASS |
2440±5MHz | -42.3 | ||
2480±5MHz | -42.57 | ||
5、带外杂散
· CE 传导谐波带外杂散限值
测试条件:PTX=0dBm。测试依据 CE 标准 EN300328V1.8.1。
Band | 频率(MHz) | 电平(dBm) | 标准(standard) | Unit | 结果 |
Record(Xxx) | level /dBm | EN300 328 Spec | RBW/VBW | ||
30MHz~47MHz | 32 | -80 | -36 | 100k/300k | PASS |
47MHz~74MHz | 64 | -69.5 | -54 | 100k/300k | PASS |
74MHz~87.5MHz | 75 | -70.39 | -36 | 100k/300k | PASS |
87.5MHz~118MHz | 96 | -71 | -54 | 100k/300k | PASS |
118MHz~174MHz | 128 | -65 | -36 | 100k/300k | PASS |
230MHz~470MHz | 256 | -59 | -36 | 100k/300k | PASS |
470MHz~862MHz | 480 | -71 | -54 | 100k/300k | PASS |
862MHz~1GMHz | 864 | -69 | -36 | 100k/300k | PASS |
1GHz~2.36GHz | 2.30 | -48.6 | -30 | 1M/3M | PASS |
2.5235GHz~12.75GHz | 2.523 | -41.66 | -30 | 1M/3M | PASS |
载波频率(MHz) | 谐波频率(MHz) | FCC 要求: < -41.2dBm | 结果 | |
实测(dBm) | 余量(dB) | |||
2402 | 4810 | -42 | 0.8 | PASS |
7215 | -65 | 23.8 | PASS | |
2440 | 4880 | -42.3 | 1.1 | PASS |
7320 | -64 | 22.8 | PASS | |
2480 | 4960 | -43.5 | 2.3 | PASS |
7440 | -64.12 | 22.92 | PASS | |
· FCC 传导谐波带外杂散限值
测试依据 FCC 标准 PART 15.247。
二、接收性能参数
除特别说明外,以下参数默认的测试条件为:VDD=3.3V,TA = 25°C,RBW=100K, VBW=300K。
中心频率(MHz) | 接收灵敏度(dBm) | RS02A 数据手册 灵敏度范围(dBm | 结果 |
2402 | -93.5 | -94dBm | PASS |
2404 | -93.5 | PASS | |
2406 | -93.4 | PASS | |
2408 | -93.3 | PASS | |
2410 | -93.6 | PASS | |
2412 | -93.8 | PASS | |
2414 | -93.8 | PASS | |
2416 | -93.4 | PASS | |
2418 | -93.6 | PASS | |
2420 | -93.1 | PASS | |
2422 | -93.8 | PASS | |
2424 | -93.8 | PASS | |
2426 | -93.6 | PASS | |
2428 | -93.5 | PASS | |
2430 | -93.7 | PASS | |
2432 | -93.5 | PASS | |
2434 | -93.3 | PASS | |
2436 | -93.5 | PASS | |
2438 | -93.2 | PASS | |
2440 | -93.4 | PASS | |
2442 | -93.5 | PASS | |
2444 | -93.4 | PASS | |
2446 | -93.4 | PASS | |
2448 | -93.3 | PASS | |
2450 | -93.1 | PASS | |
2452 | -93.4 | PASS | |
2454 | -93.4 | PASS | |
2456 | -93.2 | PASS | |
2458 | -93.5 | PASS | |
2460 | -93.3 | PASS | |
2462 | -93.5 | PASS | |
2464 | -93.5 | PASS | |
2466 | -93.5 | PASS | |
2468 | -93.6 | PASS |
2470 | -93.4 | PASS | |
2472 | -93.4 | PASS | |
2474 | -93.6 | PASS | |
2476 | -93.4 | PASS | |
2478 | -93.6 | PASS | |
2480 | -93.4 | PASS |
输入电平(dBm) | 偏移频率(MHz) | CI 电平(dB) | |
2402 | -67 | -3 | -33 |
-67 | -2 | -23 | |
-67 | -1 | -5 | |
-67 | 0 | 5 | |
-67 | 1 | -5 | |
-67 | 2 | -34 | |
-67 | 3 | -46 | |
2440 | -67 | -3 | -33 |
-67 | -2 | -24 | |
-67 | -1 | -4 | |
-67 | 0 | 5 | |
-67 | 1 | -5 | |
-67 | 2 | -38 | |
2480 | -67 | -3 | -46 |
-67 | -2 | -23 | |
-67 | -1 | -4 | |
-67 | 0 | 5 | |
-67 | 1 | -5 | |
-67 | 2 | -35 | |
-67 | 3 | -46 |
2、C/I 阻塞性能