Bluetooth设备之间如何建立连接

如下定义来自bluetooth.org

Connectable device:

A Bluetooth device in range that periodically listens on its page scan physical channel and will respond to a page on that channel

Discoverable device:

A Bluetooth device in range that periodically listens on an inquiry scan physical channel and will respond to an inquiry on that channel. Discoverable device are normally
also connectable.

Paging device:

A Bluetooth device that is carrying out the page procedure.

 

Inquiry:

A procedure where a Bluetooth device transmits inquiry messages and listens for responses in order to discover the other Bluetooth devices that are within the coverage area

Inquiry scan:

A procedure where a Bluetooth device listens for inquiry messages received on its inquiry scan physical channel

Page:

The initial phase of the connection procedure where a device transmits a train of page messages until a response is received from the target device or a timeout occurs.

Page Scan:

A procedure where a device listens for page messages received on its page scan physical channel.

 

-----------

如下内容转自http://blog.163.com/hancker_31/blog/static/3558736120114651834842/

 

Bluetooth设备之间如何建立连接  

2011-05-06 17:18:34|  分类:Bluetooth |  标签:bluetooth  蓝牙   |字号大中小 订阅

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

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

请参考摘抄的文章:
=================================================================
对于蓝牙的无线接入过程控制器主要分为StandbyConnection两大状态。在这两大状态下又分为传呼(Page)、传呼扫描(Page Scan)、询呼(Inquiry)、与询呼扫描(Inquiry Scan)四大子状态;另外,传呼下有主机响应(Master Response)子状志,传呼扫描下有服务机响应(Slave Response)子状态,询呼扫描下有询呼响应(Inquiry Response)子状态。如图1所示,蓝牙组件可离开Standby状态而进入PagePage ScanInquiryInquiry_Scan状态,然后在进入Connection状态。在一蓝牙Piconet中,Master运用Page InquirySlave建立连接的链路。若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)。此搜寻时间将持续至16FH频率的范围。若某一激活的(Wake-UpSlave蓝牙组件可辨识Inquiry信息,它则进入 Inquiry Response状态。在Standby状态时的蓝牙组件可利用其所有的资源来搜寻其它Inquiry Access Code;而在Connection状态时的蓝牙组件则可将其现有的资料链路连接处于省能模式以便来搜寻其它Inquiry Access Code。以上的Inquiry Scan程序可能会被预留的SCO时段所中断。

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



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

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

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

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

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

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

——1.Slave Response
状态:

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

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

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

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

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

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

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

——2.Master Response
状态

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

——
2Master运用此选取的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组件可停留在ActiveSniffHold、与Park 4个模式。以下分别说明之。

——1.Active
模式

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

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

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

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

——2.Sniff
模式

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

——
2Master可经由链路管理(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)在一PiconetParkSave将在规则性的时段后醒来活动以便再与Master保持同步。

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

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

 

 

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值