
蓝牙模块串口透传协议说明(桥接模式).doc
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
也就是说,当串口包采用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)。












