Bluetooth设备之间如何建立连接

首先要明白几个概念:Page, Page Scan; Inquiry, Inquiry Scan。
Page:传呼
Page Scan:传呼扫描
Page是指,发起连接的设备(主设备)知道要连接设备的地址。所以可以直接传呼。(想想传呼机,要知道号码才行)。
Page Scan是指该设备正处于等待传呼的状态中。通常是指和Page对应从设备(等待被连接的设备)。

Inquiry:查询(询呼)
Inquiry Scan:查询(询呼)扫描
Inquiry,是不知道周围有什么设备,要去查询(调查),类似于广播(吆喝)。处于Inquiry Scan的设备可以回应这个查询。再经过必要的协商之后,它们就可以进行连接了。
PS:Inquiry之后,不需要进入Page就可以连接上设备。

请参考摘抄的文章:
=================================================================
对于蓝牙的无线接入过程控制器主要分为Standby与Connection两大状态。在这两大状态下又分为传呼(Page)、传呼扫描(Page Scan)、询呼(Inquiry)、与询呼扫描(Inquiry Scan)四大子状态;另外,传呼下有主机响应(Master Response)子状志,传呼扫描下有服务机响应(Slave Response)子状态,询呼扫描下有询呼响应(Inquiry Response)子状态。如图1所示,蓝牙组件可离开Standby状态而进入Page、Page Scan、Inquiry或Inquiry_Scan状态,然后在进入Connection状态。在一蓝牙Piconet中,Master运用Page或 Inquiry与Slave建立连接的链路。若Master不知欲连接的Slave组件地址,便开始Inquiry程序来寻找Piconet中的 Slave组件地址与其时钟;但若Master己知欲连接的Slave组件地址,则开启Page程序来寻找其它的Slave。



——在以下各节中将说明无线接入的程序,连接模式与接入控制。

二、接入(Access)程序

——在开始建立一连接的无线链路时,Master需要知道Slave的蓝牙组件地址。因此当Master蓝牙组件在Inquiry状态时,它运用 Inquiry信息指示哪些蓝牙组件需要响应Inquiry,并收集所有响应Slave的蓝牙组件地址与时钟,在Inquiry状态的Master蓝牙组 件继续在不同的FH频率传送Inquiry信息以寻找其它的Slave蓝牙组件。

——而一旦被发现的Slave蓝牙组件则规则性的进入Inquiry Scan状态以响应Inquiry信息。而其接收机则运用一匹配相关器(Matching Correlator)来搜寻Inquiry接入码(Access Code)。此搜寻时间将持续至16个FH频率的范围。若某一激活的(Wake-Up)Slave蓝牙组件可辨识Inquiry信息,它则进入 Inquiry Response状态。在Standby状态时的蓝牙组件可利用其所有的资源来搜寻其它Inquiry Access Code;而在Connection状态时的蓝牙组件则可将其现有的资料链路连接处于省能模式以便来搜寻其它Inquiry Access Code。以上的Inquiry Scan程序可能会被预留的SCO时段所中断。

——在已知欲连接Slave的Device Access Code(DAC)时,Master则开启Page程序来寻找此Slave。在Page程序中,Master重复的用不同的FH频率来传送Slave的 DAC以尝试连接(请参见图2)。Page程序的步骤如下。



——先以Slave的DAC来决定Page信号的FH频率序列。

——Master以预估的Slave时钟来预测Slave的Wake-Up时间与FH频率。

——在每一传送时段,Master顺序地发射两个不同的频率。

——在每一接续的接收时段,Slave的接收机,依据Page Scan使用的跳频频率,顺序的侦测两个相对应的接收频率。

——Page程序可能会被预留的SCO时段所中断。当Slave组件成功的接收了Master的Page信息,Master与Slave便展开一例行的响 应来互换信息。而Master与Slave间成功的连接,在于使用由蓝牙组件地址(BD_ADDR)导出的同一频率接入码与同一FH频率,且Master 与Slave的时钟需同步。

——以下描述响应状态各程序中的步骤。

——1.Slave Response状态:

——(1)Slave在接到来自Master的DAC后,则以Page Response所用的FH频率响应此DAC作为确认。

——(2)在传送响应信息后,Slave的接收机即开启并等待来自Master的FH同步(FHS)封包。

——(3)若Slave正确的接到此FHS封包,Slave便以Page Response所用的FH频率传回其DAC以作为确认。

——(4)Slave可自此FHS封包的内容来得知Slave时钟与Master时钟的差异。

——(5)Slave在修正此时钟差异后,即可进入Connection状态。

——(6)若Slave在进入Connection状态前,上述建立连接的步骤失败的话,则Slave回到Page Scan状态。

——在进入Connection状态后,由Master先传送一个POLL封包。若Slave未成功的接到此POLL封包,Master与Slave便分别各自回到Page与Page Scan的状态。

——2.Master Response状态

——(1)Master在接到Slave传回的响应信息后,即固定其现有的时钟,并且将其输入至Page FH频率选取方案中。

——(2)Master运用此选取的Page FH频率来传送FHS封包。此FHS封包含有所有建构频道接入码所需的信息。

——(3)在Master传送FHS封包后,即等待Slave的确认。

——(4)若没有收到Slave的确认,Master将以更新的时钟再送FHS封包。

——(5)若收到Slave的确认,Master则进入Connection状态,并且运用BD_ADDR来与Slave交换使用的FH序列。

——(6)在进入Connection状态后,Master开始传送一个POLL封包。

三、Connection模式

——在Connection状态中,Slave组件可停留在Active、Sniff、Hold、与Park 4个模式。以下分别说明之。

——1.Active模式

——(1)Active Slave侦测Master传向Slave的时段上有无封包。

——(2)为了保持Master与Slave间的同步,即使无信息需要传输,Master亦需要周期性的传送封包至Slave。

——(3)若Active Slave未被Master寻址,它可睡眠至下一个新的Master传向Slave的时段。

——(4)Active Slave可导出Master预定传向Slave的时段数目。

——2.Sniff模式

——(1)在此省能模式中,为了节省能源,Slave可减少侦测(Master传向Slave时段)活动的任务时间(DutyCycle)。

——(2)Master可经由链路管理(LM)协议发出一Sniff指令。此Sniff指令包含Sniff的长度与开始时钟差异。

——(3)若Slave正使用ACL链路连接,则Slave组件必须侦测每一Master传向Slave的时段。

——3.Hoid模式

——(1)使用ACL链路的Slave可被置于Hold模式。

——(2)在此Hold模式下运作的Slave仍保有其Active Member组件地址(AM_ADDR)。

——(3)在此模式下,Slave不提供ACL链路服务,但仍提供SCO链路服务。

——(4)因此释放出的能量可让Slave进行Paging Inquiring或加入另一Piconet。

——4.Park模式

——(1)在Park模式运作的Slave仍与Master保持同步。

——(2)在此模式下,Slave已放弃其AM_ADDR,而接受一Park Member组件地址(PM_ADDR)与一Access Request组件地址(AR_ADDR)。

——(3)在一Piconet中Park的Save将在规则性的时段后醒来活动以便再与Master保持同步。

——(4)Park的Slave规则性的后醒来活动,将查询Master使用的引导(Beacon)频道中是否有广播信息。

——上述的Park模式下的Beacon频道是由一个周期性传输的Beacon时段或一列周期性传输且等距的Beacon时段所构成,如图3所示。而其周 期与时段数等参数则由Master经LM协议指令传至Park模式下的Slave。Beacon频道有下列的目的:经Beacon频道,Master可传 输Slave与其同步所需的封包;Beacon频道可载送改变Beacon时段参数所需的信息;Beacon频道可载送Master的广播信息; Master可利用Beacon频道来重新激活Park模式下的Slave。

你可能感兴趣的:(Bluetooth设备之间如何建立连接)