CN1777321A - 蓝牙接入点的链路管理方法 - Google Patents
蓝牙接入点的链路管理方法 Download PDFInfo
- Publication number
- CN1777321A CN1777321A CN 200410088674 CN200410088674A CN1777321A CN 1777321 A CN1777321 A CN 1777321A CN 200410088674 CN200410088674 CN 200410088674 CN 200410088674 A CN200410088674 A CN 200410088674A CN 1777321 A CN1777321 A CN 1777321A
- Authority
- CN
- China
- Prior art keywords
- bluetooth
- link
- service
- accessing point
- chip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明公开了一种蓝牙接入点的链路管理方法包括:外部蓝牙设备同蓝牙接入点中的一个蓝牙芯片之间建立异步无连接链路;通过扩展服务发现协议确定该蓝牙接入点支持的服务类型有:同步业务和支持多个蓝牙芯片服务;外部蓝牙设备向蓝牙接入点请求同步业务;蓝牙接入点判断当前蓝牙芯片用于承载同步业务的同步面向连接链路是否饱和,如果不饱和,则进入同步业务流程;如果饱和,蓝牙接入点通知该外部蓝牙设备具有空闲同步面向连接链路和异步无连接链路的蓝牙芯片地址及断开与当前蓝牙芯片建立的异步无连接链路;外部蓝牙设备与具有空闲同步面向连接链路和异步无连接链路的一个蓝牙芯片建立同步面向连接链路和异步无连接链路,进入同步业务流程。
Description
技术领域
本发明涉及通信领域,特别是涉及一种蓝牙接入点的链路管理方法。
背景技术
目前,蓝牙技术作为一种开放性无线通信规范,使用2.4GHzISM(IndustryScience and Medicine)微波频段,用于各种固定与移动数字化硬件设备之间的无线通信。蓝牙技术以低成本的短距离无线连接为基础,支持点对点连接和点对多点连接,同时支持数据和话音业务。尤其需要指出的是,蓝牙技术在话音通讯方面的应用是无线语音接入业务中的一个亮点。
为了实现蓝牙系统中各个蓝牙设备之间的通信,需要在蓝牙系统中设置蓝牙接入点(蓝牙AP)。所谓蓝牙接入点也称为蓝牙网关,用于翻译不同设备的通信协议,以将蓝牙协议承载的数据转换为IP网络报文,从而实现蓝牙设备和固网终端之间的通信。
通常,蓝牙接入点中设置有蓝牙芯片以实现无线语音接入业务。在实际应用中,一块蓝牙芯片可同时允许建立7条ACL(Asynchronous ConnectionlessLink,异步无连接链路)和3条SCO(Synchronous Connection Oriented link,同步面向连接链路)。所述ACL链路可以用于短信等不要求实时的数据交互;而象语音则需要通过SCO链路符合实时数据交互,在建立SCO链路之前先建立ACL链路。
现有的链路管理方法只能够实现对单个蓝牙芯片的链路管理。蓝牙芯片的每一个ACL链路和SCO链路都具有其相应的索引,并且现有的ACL链路索引和SCO链路索引只对应同一个蓝牙芯片。这样,当一个蓝牙接入点中设置多个蓝牙芯片时,现有的链路管理方法中的ACL链路索引和SCO链路索引将会在不同蓝牙芯片之间引起索引冲突。因而,现有的链路管理方法不支持多个蓝牙芯片的链路管理。
发明内容
本发明解决的技术问题在于:提供一种蓝牙接入点的链路管理方法,能够支持多个蓝牙芯片的链路管理。
为此,本发明解决技术问题的技术方案是:一种蓝牙接入点的链路管理方法包括:(1)外部蓝牙设备同蓝牙接入点中的一个蓝牙芯片之间建立异步无连接链路;(2)通过扩展服务发现协议确定该蓝牙接入点支持的服务类型有:同步业务和支持多个蓝牙芯片服务;(3)外部蓝牙设备向蓝牙接入点请求同步业务;(4)蓝牙接入点判断当前蓝牙芯片用于承载同步业务的同步面向连接链路是否饱和,如果不饱和,则进入同步业务流程;如果饱和,执行步骤(5);(5)蓝牙接入点通知该外部蓝牙设备具有空闲同步面向连接链路和异步无连接链路的蓝牙芯片地址及断开与当前蓝牙芯片建立的异步无连接链路;(6)外部蓝牙设备与具有空闲同步面向连接链路和异步无连接链路的一个蓝牙芯片建立同步面向连接链路和异步无连接链路,进入同步业务流程。
步骤(2)进一步包括:创建承载扩展服务发现协议的逻辑链路控制和适配协议链路;外部蓝牙设备向蓝牙接入点发送服务发现请求消息;蓝牙接入点查询所支持的业务,确定是服务属性是否同步业务和支持多个蓝牙芯片服务;如果是,则返回携带服务属性的响应消息,并执行步骤(3)。
所述扩展服务发现协议包括如下服务属性:
服务记录句柄,用于唯一标识发现服务协议服务器内每一服务记录;
服务类列表,用于指定每一服务类的唯一服务类标识符;
服务记录状态,用于缓存服务属性;
协议发现列表,可用于访问由服务记录所描述服务的一个或多个协议栈;
服务可用性,用于表示服务是否具有接受其他客户的相关能力。
步骤(4)、(5)及(6)基于多个蓝牙芯片服务协议,该协议为私有协议包括以下消息字:
{NSBDADDR,BDADDR},其中NSBDADDR表示蓝牙芯片地址的通知消息,而BDADDR表示蓝牙芯片地址;
{SASBH,BDADDR},SASBH表示外部蓝牙设备为主叫时的重新连接消息,BDADDR表示重新连接的蓝牙芯片地址;
{SASBA,BDADDR},SASBH表示蓝牙接入点为主叫时的重新连接消息,BDADDR表示重新连接的蓝牙芯片地址;
{ANOSCO},ANOSCO表示没有空闲同步面向连接链路的通知消息。
步骤(2)、(3)之间包括:创建多个蓝牙芯片服务协议的逻辑链路控制和适配协议链路;蓝牙接入点发送蓝牙芯片地址通知消息,通知外部蓝牙设备该蓝牙接入点中未与其连接的蓝牙芯片地址。
步骤(4)进一步包括:根据所述蓝牙接入点中各个蓝牙芯片的同步面向连接链路占用时向该蓝牙接入点返回占用标识及相应的蓝牙芯片地址,判断当前蓝牙芯片同步面向连接链路是否饱和;如果饱和,则返回没有空闲同步面向连接链路通知消息,并执行步骤(5);如果不饱和,则进入同步业务流程。
步骤(5)进一步包括:根据该蓝牙接入点中各个蓝牙芯片的异步无连接链路和同步面向连接链路占用时向蓝牙接入点返回占用标识及相应的蓝牙芯片地址,判断蓝牙芯片链路空闲状况;蓝牙接入点发送重新连接消息通知该外部蓝牙设备具有空闲同步面向连接链路和异步无连接链路的蓝牙芯片地址并要求断开与当前蓝牙芯片建立的异步无连接链路。
所述蓝牙接入点中蓝牙芯片具有相同的蓝牙名称及用于区分各个蓝牙芯片的蓝牙芯片地址。所述外部蓝牙设备是蓝牙手机或蓝牙便携机。所述同步业务指无绳电话业务和/或无线上网服务。
相对于现有技术,本发明的有益效果是:
本发明提供蓝牙接入点的链路管理方法中,同一个蓝牙接入点中全部蓝牙芯片的异步无连接链路和同步面向连接链路可以共享,也就是,当外部蓝牙设备请求建立同步业务服务连接时,蓝牙接入点的检查到已建立异步无连接链路的蓝牙芯片上的同步面向连接链路数饱和后,可以通知外部蓝牙设备断开同当前蓝牙芯片之间的链路,并创建同蓝牙接入点中其他蓝牙芯片之间的链路,从而实现不同蓝牙芯片的链路共享。因此,本发明提供的蓝牙接入点的链路管理方法可以实现对同一个蓝牙接入点中多个蓝牙芯片所创建链路的管理。
附图说明
图1是本发明蓝牙接入点的链路管理方法的流程示意图;
图2是本发明蓝牙接入点的链路管理方法的较佳实施例流程示意图。
具体实施方式
本发明提供的蓝牙接入点的链路管理方法,用于支持多个蓝牙芯片中的链路管理,以实现蓝牙接入点的扩容。其中,蓝牙接入点包括CPU和至少两个蓝牙芯片。蓝牙接入点中设置的两个或两个以上的蓝牙芯片具有相同的蓝牙名称,以及不同的蓝牙地址。并且,同一个蓝牙接入点中全部蓝牙芯片的异步无连接链路和同步面向连接链路共享。
请参阅图1,本发明提供的蓝牙接入点的链路管理方法具体包括下述步骤:
步骤100,外部蓝牙设备同蓝牙接入点中一个蓝牙芯片之间建立异步无连接链路。外部蓝牙设备搜索蓝牙接入点中的蓝牙芯片,当搜索到一个蓝牙芯片后,即与该蓝牙芯片建立异步无连接链路。
步骤110,通过扩展服务发现协议(SDP,Service Discovery Protocol)确定该蓝牙接入点支持的服务类型有:同步业务和支持多个蓝牙芯片服务,所述同步业务是指通过同步面向连接链路进行交互的业务,例如无绳电话业务(CTP,Cordless Telephony Profile)和无线上网服务。
步骤120,通知外部蓝牙设备未与该外部蓝牙设备建立链路连接的蓝牙芯片地址。其中,蓝牙接入点中未同外部蓝牙设备建立异步无连接链路的蓝牙芯片地址包含在蓝牙接入点发送的消息中。在此,外部蓝牙设备获得该蓝牙接入点的其他蓝牙芯片地址,为了切换到另一蓝牙接入点时避免切换到同蓝牙接入点的其他蓝牙芯片,而造成切换失败。例如,蓝牙接入点A包括蓝牙芯片A1、A2及A3,外部蓝牙设备与蓝牙芯片A1建立连接,切换至另外一个蓝牙接入点B时,若事先不知道蓝牙芯片A2及A3地址,则很可能切换到蓝牙接入点A的蓝牙芯片A2或A3,造成切换蓝牙接入点B失败。
步骤130,外部蓝牙设备向蓝牙接入点请求同步业务时,例如,外部蓝牙设备需要进行无绳电话服务或无线上网服务的业务连接,向蓝牙接入点发起业务请求。在实际应用中,若外部蓝牙设备并不立即进入业务,则先进入停等状态。当需要进入业务时,则激活外部蓝牙设备和蓝牙接入点之间的链路,并继续步骤130,向蓝牙接入点发起业务请求。
步骤140,蓝牙接入点判断当前蓝牙芯片用于承载同步业务的同步面向连接链路是否饱和,如果不饱和,执行步骤170,如果饱和,执行步骤150。
步骤150,蓝牙接入点通知该外部蓝牙设备具有空闲同步面向连接链路和异步无连接链路的蓝牙芯片地址及断开与当前蓝牙芯片建立的异步无连接链路。
步骤160,外部蓝牙设备与具有空闲同步面向连接链路和异步无连接链路的一个蓝牙芯片建立同步面向连接链路和异步无连接链路,执行步骤170。
步骤170,进入同步业务流程。
所述步骤110进一步包括如下步骤:
创建承载扩展服务发现协议的逻辑链路控制和适配协议(L2CAP)链路;
外部蓝牙设备向蓝牙接入点发送服务发现请求消息;
蓝牙接入点查询所支持的业务,确定服务属性是否支持同步业务和支持多个蓝牙芯片服务,如果不支持则退出;
如果是,则返回的响应消息,该响应消息携带的服务属性信息,并执行步骤120。
所述扩展服务发现协议包括服务属性有:服务记录句柄(ServiceRecordHandle)、服务类列表(ServiceClassIDList)、服务记录状态(ServiceRecordState)、协议发现列表(ProtocolDescriptorList)及服务可用性(ServiceAvailability),通过上述服务属性定义私有服务类,例如本发明中多个蓝牙芯片服务协议。
服务记录句柄(ServiceRecordHandle),用于唯一标识发现服务协议服务器内每一服务记录的32位的值。每个句柄在每个SDP服务器内都是唯一的。如果SDP服务器S1和SDP服务器S2同时包含同一服务记录(代表同一服务),用于引用该相同服务记录的服务记录句柄则是完全独立的。
服务类列表(ServiceClassIDList),用于指定每一服务类的唯一服务类标识符该服务类标识符包含于ServiceClassIDList属性的属性值,并表示为通用唯一标识符(UUID,universally unique identifier)。服务记录中的某些属性的格式和含义依赖于服务记录的服务类。
UUID,可以分布的方式独立创建,而且不需要指定UUID的中心注册机构,UUID值长度为128位。
为了减少存储压力,并便于128位UUID值的转换,UUID值段已经进行预先分配。在已分配段的第一个UUID作为蓝牙基UUID,具有来自蓝牙号码分配文件的值00000000-0000-10000-7007-00805F9B34FB。在已分配段的UUID值都具有16位或32位的别名。这些别名常被称为16位或32位UUID。但每一别名实际上都代表一个128位UUID。
可以通过一个简单的数学运算计算16位或32位UUID的全部128位值。
128位值=16位值×(1<<96)+蓝牙基UUID
128位值=32位值×(1<<96)+蓝牙基UUID
通过对16位值进行零扩展,将16位UUID转换成为32位UUID格式。另外一个转换方法是将16位值加到所有位都为0的32位UUID。
服务记录状态(ServiceRecordState),用于缓存服务属性,为32位的整数,如果该属性包含于一条服务记录,那么在该服务记录中增删或改变其他属性值时,该值也一定会改变。如果该值从上次检查后就一直没有发生变化,客户就可以推知服务记录的其他属性值也没有发生变化。
协议发现列表(ProtocolDescriptorList(L2CAP,PSM=VAPPP)),可用于访问由服务记录所描述服务的一个或多个协议栈,其中PSM表示由L2CAP协议承载的高层协议的协议类型值,这需要新定义一个可以和其他协议类型相区别的,并且是唯一的一个值。
服务可用性(ServiceAvailability),用于表示服务是否具有接受其他客户的相关能力,该属性为一个8位低精度整数,值0xff表示服务现在没有在使用中并完全可用,而值0x00则意味着服务现在不能接受新的客户。对于支持多个并发客户的服务,中间值表示服务的相关线性利用率。
步骤120、140、150、160基于多个蓝牙芯片服务协议,该协议为私有协议包括以下消息字:
{NSBDADDR,BDADDR},其中NSBDADDR表示蓝牙芯片地址的通知消息,而BDADDR表示蓝牙芯片地址;
{SASBH,BDADDR},SASBH表示外部蓝牙设备为主叫时的重新连接消息,BDADDR表示重新连接的蓝牙芯片地址;
{SASBA,BDADDR},SASBH表示蓝牙接入点为主叫时的重新连接消息,BDADDR表示重新连接的蓝牙芯片地址;
{ANOSCO},ANOSCO表示没有空闲同步面向连接链路的通知消息。
所述步骤120包括如下步骤:
创建多个蓝牙芯片服务协议的逻辑链路控制和适配协议链路;
蓝牙接入点发送蓝牙芯片地址通知消息,通知外部蓝牙设备该蓝牙接入点中未与其连接的蓝牙芯片地址。
步骤140进一步包括:
根据该蓝牙接入点中各个蓝牙芯片的同步面向连接链路占用时向蓝牙接入点返回占用标识及相应的蓝牙芯片地址,判断当前蓝牙芯片同步面向连接链路是否饱和;
如果饱和,则返回没有空闲同步面向连接链路通知消息并执行步骤150;
如果不饱和,则执行步骤170。
所述步骤150进一步包括:根据该蓝牙接入点中各个蓝牙芯片的异步无连接链路和同步面向连接链路占用时向蓝牙接入点返回占用标识及相应的蓝牙芯片地址,判断蓝牙芯片链路空闲状况即判断其他蓝牙芯片中哪个蓝牙芯片既有空闲同步面向连接链路又有空闲的异步无连接链路;如果有,则蓝牙接入点发送重新连接消息通知该外部蓝牙设备具有空闲同步面向连接链路和异步无连接链路的蓝牙芯片地址并要求断开与当前蓝牙芯片建立的异步无连接链路;如果没有,则终止同步业务。在实际应用中,可以根据蓝牙地址判断同外部蓝牙设备建立异步无连接链路的蓝牙芯片是蓝牙接入点中哪一块蓝牙芯片;并通知外部蓝牙设备断开同该蓝牙芯片的异步无连接链路,并创建同蓝牙接入点中链路数未饱和的蓝牙芯片的异步无连接链路。
所述步骤170进一步包括:创建可承载业务协议的逻辑链路控制和适配协议链路;外部蓝牙设备进入业务流程,在创建可承载业务协议的逻辑链路控制和适配协议链路后,外部蓝牙设备进入无绳电话服务和/或无线上网服务等业务流程。
需要指出的是,在步骤100之前还包括预设步骤。也就是,在蓝牙接入点设置一个CPU和至少两个蓝牙芯片;在蓝牙接入点的服务数据库中添加私有服务类即多个蓝牙芯片服务类;再蓝牙协议栈中定义私有服务协议即多个蓝牙芯片服务协议。
所述蓝牙接入点中蓝牙芯片具有相同的蓝牙名称及用于区分各个蓝牙芯片的蓝牙芯片地址。所述外部蓝牙设备是蓝牙手机或蓝牙便携机。
下面以蓝牙手机同蓝牙接入点的通信为例来具体说明蓝牙接入点的链路管理方法。
请参阅图2,是本发明蓝牙接入点的链路管理方法的较佳实施例流程示意图。其中,蓝牙接入点中设置一个CPU、两块蓝牙芯片,即芯片A和芯片B。
首先,手机同蓝牙接入点中一个蓝牙芯片即芯片A建立异步无连接链路。
之后,在手机和蓝牙接入点的CPU之间创建可承载服务发现协议的逻辑链路控制和适配协议链路。
之后,判断蓝牙接入点是否支持多个蓝牙芯片服务;如果是,则进入步骤120;如果否,则转入退出步骤。在实际应用中,手机通过查询服务发现协议的服务数据库来判断蓝牙接入点是否支持多个蓝牙芯片服务。
之后,手机和蓝牙接入点的CPU之间创建承载多个蓝牙芯片服务协议的逻辑链路控制和适配协议链路。
之后,通知手机芯片B的蓝牙地址。蓝牙接入点的CPU向外部蓝牙设备发送消息,告知蓝牙接入点中未同手机建立异步无连接链路的蓝牙芯片的地址,即芯片B的地址。
之后,手机进入停等(PARK)状态,暂不呼叫。
之后,手机欲呼叫,先激活(UNPARK)异步无连接链路,并发出无绳电话(CTP,Cordless Telephony Profile)协议的发起(SETUP)消息,请求建立CTP呼叫连接。
之后,蓝牙接入点的CPU检查芯片A的异步无连接链路数是否饱和,即链路数是否达到7;
如果是,则蓝牙接入点的CPU通知手机断开同芯片A的异步无连接链路,并创建同芯片B的异步无连接链路;在手机断开和芯片A的异步无连接链路,建立同芯片B的异步无连接链路,并创建可承载无绳电话协议的逻辑链路控制和适配协议链路,之后进入普通的蓝牙CTP呼叫过程,完成普通的蓝牙CTP呼叫服务后结束操作。
如果否,则在手机和蓝牙接入点的CPU之间直接创建可承载无绳电话协议的逻辑链路控制和适配协议链路,并且进入普通的蓝牙CTP呼叫过程,完成普通的蓝牙CTP呼叫服务后结束操作。
这样,蓝牙接入点的链路管理方法的完整流程结束。
在实际应用中,蓝牙接入点和手机之间承载多个蓝牙芯片服务协议的L2CAP链路上的消息字和消息格式如下:
1.蓝牙接入点的第二块蓝牙芯片(芯片B)的蓝牙地址的通知消息为:{NSBDADDR(2),BDADDR(6)}。在实际应用中,通过本消息来通知外部蓝牙设备:蓝牙接入点中第二块蓝牙芯片(芯片B)的蓝牙地址。
2.通知手机断开和芯片A的连接,建立和芯片B的连接,然后手机重新发起呼叫的消息为:{SASBH(2),BDADDR(6)}。在实际应用中,当手机为主叫时,手机采用本消息来向蓝牙接入点发起呼叫。
3.通知手机断开和芯片A的连接,建立和芯片B的连接,然后蓝牙接入点重新发起呼叫的消息为:{SASBA(2),BDADDR(6)}。在实际应用中,当手机为被叫时,蓝牙接入点采用本消息来向手机发起呼叫。
4.通知手机蓝牙接入点没有空闲SCO链路的消息为:{ANOSCO(2)}。在实际应用,当蓝牙接入点中的芯片A和芯片B都没有空闲SCO链路时,蓝牙接入点采用本消息通知手机。
进一步需要指出的是,在整个流程之前,需要预先在一个蓝牙接入点中捆绑两片蓝牙芯片。所谓捆绑指的是,在一个蓝牙接入点中设置或集成两片蓝牙芯片,并且该蓝牙接入点对外只表现为一个蓝牙接入设备即一个蓝牙芯片。也就是,在内部实现上蓝牙接入点有两个蓝牙地址(BD-ADDRESS),但是当外部蓝牙设备访问蓝牙接入点时只看到一个地址,也就是蓝牙接入点中任一个蓝牙芯片的地址。由于每片蓝牙芯片提供3路SCO语音通道,捆绑有两片蓝牙芯片的蓝牙接入点就可提供6路SCO语音通道。这样,就可以同6部手机进行通信了。
在实际应用中,一个蓝牙接入点中设置两个蓝牙芯片,需要做到以下几点:
其一,两块芯片的BD-ADDRESS不同,但需要设置相同的蓝牙名称。其中,BD-ADDRESS就是用来唯一标识一个蓝牙芯片的通讯地址。而蓝牙名称相当于BD-ADDRESS的助记符,一般用于人机界面上。这样设置对手机用户来说就可以屏蔽了两个芯片的情况。也就是,手机认为这两个芯片是在同一个蓝牙AP上的,实际上是一个蓝牙接入点。在实际应用中,手机可以通过BD-ADDRESS来识别其是与芯片A建立了连接还是与芯片B建立了连接。其中,SETUP消息是CTP协议中的一个信息单元类型,表明现在手机要发起一个电话呼叫。
其二,对于附着的手机,可以通过蓝牙接入点内的蓝牙芯片的DB-ADDRESS区分手机来区分手机附着在哪块芯片上。在此,所谓附着指的是手机和蓝牙接入点建立了ACL链路。
其三,由于蓝牙接入点中两块蓝牙芯片共用一个CPU,所以两块蓝牙芯片的ACL控制信道和SCO语音信道资源共享。也就是,由一个CPU来控制同在一个蓝牙接入点中的两块蓝牙芯片的ACL控制链路和SCO语音链路的建立与断开。
其四,在实际应用中,手机识别蓝牙接入点中蓝牙芯片的情况可以具体分为只搜索到一个蓝牙芯片,同时搜索到两个蓝牙芯片两种情况。
手机只搜索到蓝牙接入点内的一个蓝牙芯片,并通过蓝牙芯片提供的主机控制接口(HCI,HOST CONTROL INTERFACE)命令直接和该蓝牙芯片建立ACL连接。如果连接命令返回失败,表示连接不上,则放弃。
手机搜索到两个相同名称的蓝牙芯片,可以通过蓝牙芯片提供的搜索命令的返回信息,可以初步判断搜索到两个蓝牙芯片属于同一个蓝牙接入点;然后随意选择一个蓝牙芯片建立ACL连接。如果连接命令返回失败,表示连接不上,则转而与另一个蓝牙芯片建立ACL连接,如果连接命令仍返回失败,表示连接不上,则放弃。
以上两种情况下,建立ACL连接后,就可以通过SDP协议查询蓝牙接入点支持的服务了。对于支持多个蓝牙芯片服务的蓝牙接入点,这时应该可以查询到两种服务信息:CTP服务和多个蓝牙芯片服务。所谓CTP是一种基于蓝牙协议的无绳电话控制协议,用于实现无绳电话的功能。所谓多个蓝牙芯片服务是本发明所提供和支持的协议,用于支持多个蓝牙芯片服务。其中,通过多个蓝牙芯片服务协议,手机可以和蓝牙接入点建立一个承载多个蓝牙芯片服务信息的逻辑链路控制和适配协议L2CAP链路。当逻辑链路控制和适配协议L2CAP链路建立成功,蓝牙接入点将立即发送一个消息通知手机蓝牙接入点中的另一个蓝牙芯片的蓝牙地址。在此,发送另一个蓝牙芯片的蓝牙地址的作用是当手机断开与当前蓝牙芯片的ACL链路而需要和另一个蓝牙芯片创建ACL连接时,可以通过该地址与另一个蓝牙芯片建立ACL连接。
本发明中,通过设定PSM(Protocol/Service Multiplexer多协议、服务承载标记)值来在蓝牙接入点和手机之间建立一条逻辑链路控制和适配协议L2CAP链路承载私有协议。其中,PSM值唯一定义一条蓝牙芯片同手机之间的L2CAP链路。该逻辑链路控制和适配协议(L2CAP)用于实现控制手机在两个蓝牙芯片之间的链路切换的任务。
在实际应用中,为了考虑通用性,需要新定义一个SDP服务。在此,通用性是指在蓝牙协议规定的范围之内通用的做法。在此,定义一个SDP服务使得其他外部蓝牙设备可以通过SDP协议查询该蓝牙接入点是否支持这种新定义的服务,这是本发明所特有的协议。
该SDP协议可使手机实现SDP client功能。其中,SDP client是指发起SDP查询的外部蓝牙设备。通过SDP协议确认蓝牙接入点是否支持该私有协议,如果不支持,则蓝牙接入点只可以提供3条SCO链路,否则可以提供6条SCO链路。在此,所谓确认指的是,通过查看SDP服务器(也就是蓝牙接入点)返回的消息中是否表明该蓝牙接入点支持该私有协议。
支持私有协议后,手机在两块芯片A和B之间的切换对手机来说是透明,也就是手机可以直接控制切换。具体说明如下:
情况一,手机作为主叫。
当芯片A和芯片B都有空闲SCO时,手机在任何一个蓝牙芯片上进行呼叫都是一样的,其过程与单芯片情况相同。
当芯片A和芯片B都没有空闲SCO时,若手机已与芯片A或芯片B建立ACL连接,蓝牙接入点应向手机发送消息,告知没有SCO资源可用。并不断开已经建立起来的ACL链路,继续保持其与手机的连接,而不会让手机改与另一芯片连接。
当芯片A没有空闲SCO而芯片B有空闲SCO时,若手机在呼叫之前已经附着在芯片A上,手机发起呼叫,蓝牙接入点收到呼叫请求的发起SETUP消息后,向手机发送消息,要求手机断开调用HCI命令断开手机和蓝牙接入点内芯片A之间的链路,转而与芯片B相连,然后重新发起呼叫。
情况二,手机作为被叫。
当芯片A没有空闲SCO资源,而芯片B有,手机已经同蓝牙接入点的芯片A连接,蓝牙接入点应向手机发送消息,要求手机断开与芯片A的连接,转而与芯片B相连,重新发起呼叫。
当芯片A和芯片B都没有空闲的SCO资源,且手机已经与蓝牙接入点的芯片A建立连接,则蓝牙接入点应向蓝牙接入点控制器发送消息,告知没有SCO资源,并终止呼叫,此时手机无法进行蓝牙呼叫。如果是GSM和蓝牙的双模手机,可以转而进行GSM呼叫。
在实际应用中,当手机附着上蓝牙接入点之后也可以不立即呼叫,而进入停等PARK状态。此时,不占用蓝牙接入点的物理通道资源。当手机需要呼叫的时候,将手机和蓝牙接入点之间的链路执行激活UNPARK操作。如果激活UNPARK操作成功,则进入上面所述过程。如果激活UNPARK操作失败,说明ACL资源不足,也就是手机此时所附着的蓝牙芯片A的ACL资源不足,这时应该通过蓝牙芯片提供的HCI命令和蓝牙接入点的另一个蓝牙芯片B建立ACL连接,然后再发起呼叫。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种蓝牙接入点的链路管理方法,所述蓝牙接入点支持多个蓝牙芯片,其特征在于,包括步骤:
(1)外部蓝牙设备同蓝牙接入点中的一个蓝牙芯片之间建立异步无连接链路;
(2)通过扩展服务发现协议确定该蓝牙接入点支持的服务类型有:同步业务和支持多个蓝牙芯片服务;
(3)外部蓝牙设备向蓝牙接入点请求同步业务;
(4)蓝牙接入点判断当前蓝牙芯片用于承载同步业务的同步面向连接链路是否饱和,如果不饱和,则直接进入同步业务流程,如果饱和,执行步骤(5);
(5)蓝牙接入点通知该外部蓝牙设备具有空闲同步面向连接链路和异步无连接链路的蓝牙芯片地址及断开与当前蓝牙芯片建立的异步无连接链路;
(6)外部蓝牙设备与具有空闲同步面向连接链路和异步无连接链路的一个蓝牙芯片建立同步面向连接链路和异步无连接链路,进入同步业务流程。
2.如权利要求1所述的蓝牙接入点的链路管理方法,其特征在于,步骤(2)进一步包括:
创建承载扩展服务发现协议的逻辑链路控制和适配协议链路;
外部蓝牙设备向蓝牙接入点发送服务发现请求消息;
蓝牙接入点查询所支持的业务,确定是服务属性是否同步业务和支持多个蓝牙芯片服务;
如果是,则返回携带服务属性的响应消息,并执行步骤(3)。
3.如权利要求2所述的蓝牙接入点的链路管理方法,其特征在于,所述扩展服务发现协议包括如下服务属性:
服务记录句柄,用于唯一标识发现服务协议服务器内每一服务记录;
服务类列表,用于指定每一服务类的唯一服务类标识符;
服务记录状态,用于缓存服务属性;
协议发现列表,可用于访问由服务记录所描述服务的一个或多个协议栈;
服务可用性,用于表示服务是否具有接受其他客户的相关能力。
4.如权利要求1至3任意一项所述的蓝牙接入点的链路管理方法,其特征在于,步骤(4)、(5)及(6)基于多个蓝牙芯片服务协议,该协议为私有协议包括以下消息字:
{NSBDADDR,BDADDR},其中NSBDADDR表示蓝牙芯片地址的通知消息,而BDADDR表示蓝牙芯片地址;
{SASBH,BDADDR},SASBH表示外部蓝牙设备为主叫时的重新连接消息,BDADDR表示重新连接的蓝牙芯片地址;
{SASBA,BDADDR},SASBH表示蓝牙接入点为主叫时的重新连接消息,BDADDR表示重新连接的蓝牙芯片地址;
{ANOSCO},ANOSCO表示没有空闲同步面向连接链路的通知消息。
5.如权利要求4所述的蓝牙接入点的链路管理方法,其特征在于,步骤(2)、(3)之间包括:
创建多个蓝牙芯片服务协议的逻辑链路控制和适配协议链路;
蓝牙接入点发送蓝牙芯片地址通知消息,通知外部蓝牙设备该蓝牙接入点中未与其连接的蓝牙芯片地址。
6.如权利要求4所述的蓝牙接入点的链路管理方法,其特征在于,步骤(4)进一步包括:
根据所述蓝牙接入点中各个蓝牙芯片的同步面向连接链路占用时向该蓝牙接入点返回占用标识及相应的蓝牙芯片地址,判断当前蓝牙芯片同步面向连接链路是否饱和;如果饱和,则返回没有空闲同步面向连接链路通知消息,并执行步骤(5);
如果不饱和,则进入同步业务流程。
7.如权利要求6所述的蓝牙接入点的链路管理方法,其特征在于,步骤(5)进一步包括:
根据该蓝牙接入点中各个蓝牙芯片的异步无连接链路和同步面向连接链路占用时向蓝牙接入点返回占用标识及相应的蓝牙芯片地址,判断蓝牙芯片链路空闲状况;
蓝牙接入点发送重新连接消息通知该外部蓝牙设备具有空闲同步面向连接链路和异步无连接链路的蓝牙芯片地址并要求断开与当前蓝牙芯片建立的异步无连接链路。
8.如权利要求1所述的蓝牙接入点的链路管理方法,其特征在于,所述蓝牙接入点中蓝牙芯片具有相同的蓝牙名称及用于区分各个蓝牙芯片的蓝牙芯片地址。
9.如权利要求1所述的蓝牙接入点的链路管理方法,其特征在于,所述外部蓝牙设备是蓝牙手机或蓝牙便携机。
10.如权利要求1所述的蓝牙接入点的链路管理方法,其特征在于,所述同步业务指无绳电话业务和/或无线上网服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100886748A CN100442908C (zh) | 2004-11-15 | 2004-11-15 | 蓝牙接入点的链路管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100886748A CN100442908C (zh) | 2004-11-15 | 2004-11-15 | 蓝牙接入点的链路管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1777321A true CN1777321A (zh) | 2006-05-24 |
CN100442908C CN100442908C (zh) | 2008-12-10 |
Family
ID=36766563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100886748A Expired - Fee Related CN100442908C (zh) | 2004-11-15 | 2004-11-15 | 蓝牙接入点的链路管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100442908C (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101754421A (zh) * | 2009-12-23 | 2010-06-23 | 宇龙计算机通信科技(深圳)有限公司 | 一种基于蓝牙传输协议的文件传输方法、系统及移动终端 |
CN101159451B (zh) * | 2007-10-22 | 2011-03-02 | 中兴通讯股份有限公司 | 蓝牙认证中音频设备的连接方法 |
CN101197595B (zh) * | 2006-12-05 | 2012-07-18 | 中国电信股份有限公司 | 在蓝牙无绳电话系统中获取外线状态的方法 |
CN101076188B (zh) * | 2007-03-20 | 2013-01-16 | 中兴通讯股份有限公司 | 一种基于tcs的异常中止呼叫方法 |
WO2014063514A1 (zh) * | 2012-10-23 | 2014-05-01 | 中兴通讯股份有限公司 | 一种通过蓝牙广播数据的方法及蓝牙设备 |
CN105516906A (zh) * | 2015-12-31 | 2016-04-20 | 田雪松 | 一种蓝牙设备 |
CN107835238A (zh) * | 2017-10-31 | 2018-03-23 | 乐鑫信息科技(上海)有限公司 | 一种解决属性数据库重复发现的方法 |
CN112073768A (zh) * | 2019-06-10 | 2020-12-11 | 海信视像科技股份有限公司 | 蓝牙通信方法及显示设备 |
CN112469013A (zh) * | 2019-09-06 | 2021-03-09 | 华为技术有限公司 | 一种蓝牙连接方法及相关装置 |
WO2021092839A1 (zh) * | 2019-11-14 | 2021-05-20 | 深圳市汇顶科技股份有限公司 | 数据传输方法、电子设备、系统及存储介质 |
-
2004
- 2004-11-15 CN CNB2004100886748A patent/CN100442908C/zh not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197595B (zh) * | 2006-12-05 | 2012-07-18 | 中国电信股份有限公司 | 在蓝牙无绳电话系统中获取外线状态的方法 |
CN101076188B (zh) * | 2007-03-20 | 2013-01-16 | 中兴通讯股份有限公司 | 一种基于tcs的异常中止呼叫方法 |
CN101159451B (zh) * | 2007-10-22 | 2011-03-02 | 中兴通讯股份有限公司 | 蓝牙认证中音频设备的连接方法 |
CN101754421A (zh) * | 2009-12-23 | 2010-06-23 | 宇龙计算机通信科技(深圳)有限公司 | 一种基于蓝牙传输协议的文件传输方法、系统及移动终端 |
WO2014063514A1 (zh) * | 2012-10-23 | 2014-05-01 | 中兴通讯股份有限公司 | 一种通过蓝牙广播数据的方法及蓝牙设备 |
CN103780285A (zh) * | 2012-10-23 | 2014-05-07 | 中兴通讯股份有限公司 | 一种通过蓝牙广播数据的方法及蓝牙设备 |
CN105516906A (zh) * | 2015-12-31 | 2016-04-20 | 田雪松 | 一种蓝牙设备 |
CN107835238A (zh) * | 2017-10-31 | 2018-03-23 | 乐鑫信息科技(上海)有限公司 | 一种解决属性数据库重复发现的方法 |
CN107835238B (zh) * | 2017-10-31 | 2021-05-18 | 乐鑫信息科技(上海)股份有限公司 | 一种解决属性数据库重复发现的方法 |
CN112073768A (zh) * | 2019-06-10 | 2020-12-11 | 海信视像科技股份有限公司 | 蓝牙通信方法及显示设备 |
CN112073768B (zh) * | 2019-06-10 | 2023-03-21 | 海信视像科技股份有限公司 | 蓝牙通信方法及显示设备 |
CN112469013A (zh) * | 2019-09-06 | 2021-03-09 | 华为技术有限公司 | 一种蓝牙连接方法及相关装置 |
WO2021092839A1 (zh) * | 2019-11-14 | 2021-05-20 | 深圳市汇顶科技股份有限公司 | 数据传输方法、电子设备、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100442908C (zh) | 2008-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101946555B (zh) | 经由多个移动平台提供网络接入的技术 | |
CN1764213A (zh) | 蓝牙通信装置、短程无线通信装置和程序 | |
CN101040463A (zh) | 用于连接移动通信系统和无线网络的双模式移动的切换系统和方法 | |
CN1599337A (zh) | 用于在无线广域网与无线局域网之间进行切换的通信方法和装置 | |
CN1751495A (zh) | 用于由端对端应用协议辅助的不同网络之间的软越区切换的方法、用户代理、应用网关及程序 | |
CN1612570A (zh) | 支持移动终端的移动的方法和系统 | |
CN1993961A (zh) | 混合电信网络中用于会话控制的方法和装置 | |
CN1992736A (zh) | Ip地址分配方法及其应用 | |
KR20100021647A (ko) | 애플리케이션 요구조건들 및 선호도들에 기초한 시스템 선택 | |
CN101068196A (zh) | 一种蓝牙手机接入蓝牙网关的业务接入控制方法 | |
EP2064905A2 (en) | Method for establishing voice communications using a mobile handset | |
CN101047950A (zh) | 在3gpp演进网络中配置默认承载的方法 | |
CN1662096A (zh) | 通过移动设备选择无线信道的方法和系统 | |
CN101080098A (zh) | 一种通信方法和系统 | |
CN1787656A (zh) | 通信系统中的时效处理设备和方法 | |
CN1777321A (zh) | 蓝牙接入点的链路管理方法 | |
EP2713632A1 (en) | Configuring a wireless communications device in a mobile communications system | |
CN1685700A (zh) | 在电话与数据网络之间提供连接的电话终端 | |
CN101032130A (zh) | 通信终端装置、电器设备、以及通信方法 | |
CN1747449A (zh) | 移动通信系统以及移动通信终端 | |
CN101047914A (zh) | 移动通信终端的协同处理系统及其方法 | |
CN1175636C (zh) | 移动通信系统与网关交换器选择服务器以及网关交换器选择方法 | |
CN1635713A (zh) | 蓝牙网络结构及蓝牙终端在不同蓝牙接入点切换的方法 | |
KR20100095503A (ko) | 최대수의 ip 세션이 설정되었는지를 판정하는 시스템 및 방법 | |
CN1543235A (zh) | 共享公共网络数据位置寄存器的专用ev-do系统及服务方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081210 Termination date: 20151115 |
|
CF01 | Termination of patent right due to non-payment of annual fee |