蓝牙rfcomm协议增速方法

文档序号:7612272阅读:796来源:国知局
专利名称:蓝牙rfcomm协议增速方法
技术领域
本发明涉及蓝牙无线通讯技术领域,具体地涉及蓝牙所有基于RFCOMM协议的应用。
背景技术
蓝牙(Bluetooth)是一种短距离无线射频通信技术,它工作在2.4GHz的ISM(Industrial Scientific Medical)频段。按照蓝牙特别兴趣小组(Special Interest Group,简称SIG)制定的蓝牙规范,蓝牙的基本网络结构是由一个主控设备和最多七个从属设备组成的微微网(Piconet),主控设备和从属设备之间采用时分多址(TDMA)的方式进行通信。通过集成蓝牙通讯模块,各种设备可以低成本连接起来。蓝牙设备之间通过全球唯一的蓝牙设备地址(Bluetooth DeviceAddress)建立蓝牙的异步连接(Asynchronous Connection-Less Link)和同步连接(Synchronous Connection-Oriented Link)以传输字符数据和语音数据。一个设备的功能以蓝牙服务的方式提供给另一个设备。一个设备可同时提供多个服务。用户可根据需要选择其中的服务进行连接。
典型的蓝牙RFCOMM协议的通信过程是设备A和设备B建立蓝牙RFCOMM链路,设备A会从设备B得到传输信用数Credit的初始值(<=7),设备A向设备B传送数据包,每传送一个数据包,设备A保存的传输信用数Credit就会减一,当设备A的传输信用数Credit耗尽时,设备A向B的RFCOMM链路被阻塞,设备A将不能向设备B传送数据包;设备B在收到A传送的数据包后,会向设备A传送控制包,增加A的传输信用数Credit,设备A在获得新的Credit后,继续向设备B传输数据。
为了提高蓝牙的传输速率,SIG制定了蓝牙的EDR(Enhanced DataRate)规范,蓝牙的无线射频信号的传输速率由原来的1兆位/秒增加到了3兆位/秒。由于底层的传输速率提高,基于RFCOMM协议的蓝牙上层应用的传输速率受到其制约的现象也更加突出。本发明的目的即提高RFCOMM的传输能力,最大限度的利用蓝牙的EDR传输能力。

发明内容
本发明的目的在于提高蓝牙RFCOMM传输速率,具体为根据系统自身接收能力,在蓝牙建立RFCOMM连接后增加对方的传输信用数Credit,使对方能够连续传输的数据包的数目增加;同时在接受到对方传来的数据后,累计需要为对方恢复的传输信用数Credit,当达到相应标准时在通知对方,减少通信开销和处理开销。
将上述方法应用于设备B后,设备A和设备B间蓝牙的RFCOMM通信过程如下(a)设备A和设备B建立蓝牙RFCOMM链路,设备A会从建链信息中得到传输信用数Credit的初始值(<=7);(b)设备B根据方法F1,增加设备A的传输信用数(如100)。
(c)设备A开始向设备B传送数据包,每个数据包都要消耗一个传输信用数Credit,直到耗尽其传输信用数Credit。
(d)设备B接受到数据包后,累计对方所消耗的传输信用数Credit,根据方法F2,增加设备A的传输信用数。
(e)重复步骤(c)和步骤(d),直到设备A将所有数据传送至设备B。
本发明的范围包括蓝牙规范中的所有直接或间接建立在蓝牙RFCOMM协议之上的所有应用,例如拨号网络(Dial-up NetworkingProfile),蓝牙传真(Fax Profile),蓝牙串行端口(Serial Port Profile),蓝牙文件传输协议(File Transfer Profile),蓝牙对象推送应用(ObjectPush Profile),蓝牙同步应用(Synchronization Profile)。
该方法能够有效的提高所有基于RFCOMM协议的应用的传输速率。
通过借助优选实施例附图详细描述本发明的流程,将有助于理解本发明的目的和优点。其中

图1是常规的蓝牙RFCOMM协议的通信过程;图2解释根据本发明的优选实施例的蓝牙RFCOMM协议的通信过程;图3是常规的RFCOMM协议在接受数据时的处理流程图4是应用本发明后的RFCOMM协议在接受数据时的处理流程。
具体实施例图1是常规的蓝牙RFCOMM协议的通信过程;设备A和设备B首先建立RFCOMM连接110,设备A从设备B获得传输信用数(Credit=7),由于传输信用数在连接建立信息中是用3个数据位表示的,所以传输信用数的最大值为7;在连接建立后,设备A向设备B传送RFCOMM数据包120,同时将自身的传输信用数减一;当传送的数据量较大,设备A向设备B连续的传送数据包,直到自身的传输信用数耗尽为止(Credit=0)130,设备B每收到一个RFCOMM数据包,向设备A发送一个流控包,增加设备A的传输信用数140,150。设备A和设备B将重复上述过程,直到将全部数据传送完毕。
图2解释根据本发明的优选实施例的蓝牙RFCOMM协议的通信过程。
设备A和设备B首先建立RFCOMM连接210,设备A从设备B获得传输信用数(Credit=7);在连接建立后,设备B根据自身的接受能力,通知设备A增加100个传输信用数(Credit=107)220,此时设备A的传输信用数的未曾消耗,即当前额外增加了传输信用数;设备A开始向设备B连续传输数据,每发送一个RFCOMM数据包,都会减收一个自身的传输信用数230;同时设备B每收到一个RFCOMM数据包,会累计需要为设备A增加的传输信用值Credit,当设备B累计的传输信用值达到设备A信用值总数的一半或者定时器超时240,设备B发送流量控制包,通知对方增加传输信用值Credit+53(250)。设备A和设备B将重复上述过程,直到将全部数据传送完毕。设备B发送的流量控制包为设备A向设备B传送的数据包总数的1/53。
图3是常规的RFCOMM协议在接受数据时的处理流程在RFCOMM连接成功建立后310,RFCOMM协议会检查是否存在需要处理的RFCOMM数据包320,如果存在该数据包,进行协议的解析和处理330,同时为对方恢复消耗的信用数。
图4是应用本发明后的RFCOMM协议在接受数据时的处理流程。
在RFCOMM连接成功建立后410,RFCOMM协议会根据方法F1增加对方的传输信用数420,然后检查是否存在需要处理的RFCOMM数据包430,如果存在该数据包,进行协议的解析和处理440,同时累计对方消耗的传输信用数450,使用方法F2来判断是否应该为对方恢复传输信用数460,如果条件成立则为对方恢复信用数470。
虽然本发明是参考其优选实施例示出和描述的,但本领域的普通技术人员应该理解,在不脱离附属的权利要求书所限定的本发明的精神和范围的情况下,可以进行形式和细节的各种改变。
权利要求
1.一种提高蓝牙RFCOMM协议以及所有建立在其上的应用的传输数据速率的方法,将本方法应用于设备B,包括如下步骤(a)设备A和设备B建立蓝牙RFCOMM链路,设备A会从建链信息中得到传输信用数Credit的初始值(<=7);(b)设备B根据方法F1,增加设备A的传输信用数(如100)。(c)设备A开始向设备B传送数据包,每个数据包都要消耗一个传输信用数Credit,直到耗尽其传输信用数Credit。(d)设备B接受到数据包后,累计对方所消耗的传输信用数Credit,根据方法F2,增加设备A的传输信用数。(e)重复步骤(c)和步骤(d),直到设备A将所有数据传送至设备B。
2.根据权利要求1的方法,其特征在于设备B在RFCOMM链路建立成功后,通知设备A额外增加传输信用数。
3.根据权利要求1或2的方法F1,其特征在于设备B根据当前系统资源计算可额外分配的接收缓冲区的数目,并且分配额外的接受缓冲区。
4.根据权利要求1的方法,其特征在于设备B会累计需要通知设备A增加的传输信用数,达到特定的标准后,再一次性的通知设备A累计增加的传输信用数,而不是频繁的通知设备A增加一个的传输信用数。
5.根据权利要求1或4的方法F2,其特征在于设备B根据当前累计的对方消耗掉的传输信用数的数值与对方拥有的传输信用数的总量之间的比例关系,判断是否应当发送控制包以恢复设备A的传输信用数。
6.根据权利要求1的方法,其特征在于传输信用数Credit是RFCOMM协议的一种通用的流控机制,是发送方在无需接受方确认的情况下,可以连续发送的数据包的个数。
全文摘要
本发明公开了一种提高RFCOMM协议以及所有建立在其上的应用的传输数据速率的方法,包括增加蓝牙RFCOMM协议中允许对方发送的数据包的信用数值(Credit),以及减少RFCOMM协议中用来传递信用数值的控制数据包的数目,减少通信开销的方法。该方法的优点是在传输数据数量不变的情况下,减少RFCOMM协议通信信息中的控制包的数目,从而减少了通信数据的总量和串口协议的处理开销,以及增加连续传输的数据包的数目,减少系统在接受和发送数据之间频繁切换引起的开销,提高传输速率。
文档编号H04B5/00GK1812404SQ20051001124
公开日2006年8月2日 申请日期2005年1月24日 优先权日2005年1月24日
发明者张鑫, 田丹 申请人:艾威梯软件技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1