收藏 分销(赏)

蓝牙模块串口透传协议说明(桥接模式).doc

上传人:xrp****65 文档编号:7216210 上传时间:2024-12-28 格式:DOC 页数:4 大小:44KB 下载积分:10 金币
下载 相关 举报
蓝牙模块串口透传协议说明(桥接模式).doc_第1页
第1页 / 共4页
蓝牙模块串口透传协议说明(桥接模式).doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
信驰达官网 串口透传协议说明(桥接模式) 模块的桥接模式是指,通过通用串口和用户CPU相连,建立用户CPU和移动设备之间的双向通讯。用户可以通过串口,使用指定的AT指令对串口波特率,BLE连接间隔进行重设置(详见后面《串口AT指令》章节)。针对不同的串口波特率以及BLE连接间隔,以及不同的发包间隔,模块将会有不同的数据吞吐能力。为协调低速CPU的使用,默认波特率为9600bps,在有大数据量传输,或者高实时性需求的应用中,建议设定为高速串口波特率115200bps,支持掉电保存。 模块BLE连接间隔为20 ms,串口波特率为115200 bps时,模块具有最高理论转发能力(4K/S)。这里就在电平使能模式下,这种配置为例,对透传协议做详细介绍。 模块可以从串口一次性最多传输200字节数据包,模块会根据数据包大小自动分包发送,每个无线包最大载荷为20个字节。移动设备方发往模块的数据包,必须自行分包(1-20字节/包)发送。模块收到无线包后,会依次转发到主机串口接收端。 1. 串口硬件协议:115200 bps , 8, 无校验位,1停止位 。 2. EN为高电平,蓝牙模块处于完全睡眠状态。EN置低时,模块会以200ms的间隔开始广播,直到和手机对接成功。当EN从低到高跳变,不论模块状态,会立即进入睡眠。 3. 连接成功之后,主机(MCU)如有数据发送至BLE模块,需将BRTS拉低,主机可在约100us后开始发送数据。发送完毕之后主机应主动抬高BRTS,让模块退出串口接收模式。要注意的是,抬高BRTS之前请确认串口数据完全发送完毕,否则会出现数据截尾现象。 4. 当模块有数据上传请求时,模块会置低BCTS,最快会在 500us之后开始发送,直到数据发送完毕。这个延时可以通过AT指令进行配置,见《串口AT指令》章节。数据发送完毕,模块会将BCTS置高。 5. 如若主机的BRTS一直保持低电平,则蓝牙模块会一直处于串口接收模式,会有较高的功耗。 6. 在模块连接成功后,会从TX给出 "TTM:OK\r\n\0" 字串,可以根据此字串来确定是否可以进行正常转发操作。当然也可以使用连接状态提示脚,也可以通过手机发送一个特定的确认字串到模块,主机收到后即可确认已经连接。当连接被APP端主动断开后,会从TX给出“TTM:DISCONNET\r\n\0”字串提示,如果是非正常断开,会从TX给出“TTM:DISCONNET FOR TIMEOUT\r\n\0”字串提示。 7. 模块的蓝牙默认连接间隔为20 ms,如果需要节省功耗采用低速转发模式,需通过AT指令调整连接间隔(最长连接间隔2000ms),每个连接间隔最多传输80个字节,连接间隔为T(单位:ms),那么每秒最高转发速率V(单位byte/s)为: V = 80*1000/T (V只和T有关) 如果模块的蓝牙连接间隔为20ms,而每个间隔最多传输80 byte,因此理论最高传输能力(转发速率)为80*50 = 4K byte/s。测试表明,转发速率在2 K/s 以下,漏包机率很低。安全起见,无论是低速或者高速转发应用,都建议在上层做校验重传处理。 8. 以下是就20ms连接间隔的通讯模式举例,也可以自行配置。转发速率V0越低,丢包率越低: 通讯参考 模式 BLE 连接 间隔 T (ms) 理论最高 转发能力 V (byte/s) V = 80*1000/T 串口 包长度 L (byte) 串口发包间隔 TS (ms) 当L<80时,TS >= T 当80<L<160时,TS >= T*2 当160<L<200时,TS >= T*3 实际转发速率 V0 (byte/s) V0 = L*1000/TS 备注 1 20 4K 80 TS >= T即可,若取TS=20ms 80*1000/20 = 4K TS偏小,不推荐 2 20 4K 200 TS >= T*3即可,若取TS=70ms 200*1000/70 = 2.8K 3 20 4K 200 TS >= T*3即可,若取TS=80ms 200*1000/80 = 2.5K 4 20 4K 80 TS >= T即可,若取TS=35ms 80*1000/30 = 2.6K 5 20 4K 70 TS >= T即可,若取TS=30ms 70*1000/30 =2.3K 6 20 4K 60 TS >= T即可,若取TS=30ms 60*1000/30 = 2K 7 20 4K 40 TS >= T即可,若取TS=30ms 40*1000/30 = 1.3K 8 20 4K 20 TS >= T即可,若取TS=30ms 20*1000/30 = 666byte 注:可以根据实际应用设计特定的通讯模式,串口包的长度可以设计在80byte < L < 200byte之间(大包传输),根据BLE协议有以下关系: 当取L<80时,TS >= T; 当取80<L<160时,TS >= T*2; 当取160<L<200时,TS >= T*3; 满足以上条件的转发模式都是相对安全的,其中取TS=T,TS=T*2,TS=T*3,可用但不推荐,丢包率相对较高,必须加入校验重发机制。也就是说,当串口包采用80byte < L < 200byte的大包时,串口数据可以一次性传递给模块,但需要预留模块通过蓝牙发送数据的时间,否则会出现追尾现象。如:在连接间隔设置为T=20ms时,如串口数据包长度选择L=200,则TS必须大于T*3 = 60ms,取TS=70ms是比较合理的选择。 9. 串口数据包的大小可以不定长,长度可以是200字节以下的任意值,同样满足以上条件即可。但为最大效率地使用通讯的有效载荷,同时又避免通讯满负荷运行,推荐使用20,40,60字节长度的串口数据包,包间间隔取大于20ms。 注:经测试,在IOS中,调用对Characteristic的写函数使用CBCharacteristicWriteWithResponse 参数,使用带回应写模式,这种模式会降低部分转发效率,但可保证单个数据包的正确性,而使用CBCharacteristicWriteWithoutResponse 参数,使用不带回应写模式,这种模式会有利于提高转发效率,但数据包的正确性需要APP上层去校验。 深圳市信驰达科技(RFStar)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服