
属性: Doc-9A2E3T,doc格式,正文2425字。质优实惠,欢迎下载!
适用: 作为内容写作的参考文案,解决如何写作、正确编写文案格式、内容摘取等相关工作。
模块的桥接模式是指,通过通用串口和用户CPU相连,建立用户CPU和移动设备之间的双向通讯。用户可以通过串口,使用指定的AT指令对串口波特率,BLE连接间隔进行重设置(详见后面《串口AT指令》章节)。针对不同的串口波特率以及BLE连接间隔,以及不同的发包间隔,模块将会有不同的数据吞吐能力。为协调低速CPU的使用,默认波特率为9600bps,在有大数据量传输,或者高实时性需求的应用中,建议设定为高速串口波特率115200bps,支持掉电保存。
模块BLE连接间隔为20ms,串口波特率为115200bps时,模块具有最高理论转发能力(4K)。这里就在电平使能模式下,这种配置为例,对透传协议做详细介绍。
模块可以从串口一次性最多传输200字节数据包,模块会根据数据包大小自动分包发送,每个无线个字节。移动设备方发往模块的数据包,必须自行分包(1-20字节/包)发送。模块收到无线包后,会依次转发到主机串口接收端。
为高电平,蓝牙模块处于完全睡眠状态。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:DISCONNETFORTIMEOUT\r\n\0”字串提示。
7.模块的蓝牙默认连接间隔为20ms,如果需要节省功耗采用低速转发模式,需通过AT指令调整连接间隔(最长连接间隔2000ms),每个连接间隔最多传输80个字节,连接间隔为T(单位:ms),那么每秒最高转发速率V(单位byte)为:
V=80*1000/T(V只和T有关)如果模块的蓝牙连接间隔为20ms,而每个间隔最多传输80byte,因此理论最高传输能力(转发速率)为80*50=4Kbyte。测试表明,转发速率在2K以下,漏包机率很低。安全起见,无论是低速或者高速转发应用,都建议在上层做校验重传处理。
8.以下是就20ms连接间隔的通讯模式举例,也可以自行配置。转发速率V0越低,丢包率越低:
注:可以根据实际应用设计特定的通讯模式,串口包的长度可以设计在80byte
满足以上条件的转发模式都是相对安全的,其中取TS=T,TS=T*2,TS=T*3,可用但不推荐,丢包率相对较高,必须加入校验重发机制。也就是说,当串口包采用80byte
的大包时,串口数据可以一次性传递给模块,但需要预留模块通过蓝牙发送数据的时间,否
则会出现追尾现象。如:在连接间隔设置为T=20ms时,如串口数据包长度选择L=200,则
9.串口数据包的大小可以不定长,长度可以是200字节以下的任意值,同样满足以上条件
即可。但为最大效率地使用通讯的有效载荷,同时又避免通讯满负荷运行,推荐使用20,40,60字节长度的串口数据包,包间间隔取大于20ms。
发效率,但可保证单个数据包的正确性,而使用CBCharacteristicWriteWithoutRespoe参数,使用不带回应写模式,这种模式会有利于提高转发效率,但数据包的正确性需要APP
为提高学习交流,本文整理了相关的实用应用文有:《串行通信波特率》、《串口通信协议程序》、《串口通讯通信协议》、《串口通信波特率》、《系统串口通讯协议》,读者可以在平台上搜索。