BlueTooth 关于蓝牙你不可不知道的几个基础常识

Posted sownchz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BlueTooth 关于蓝牙你不可不知道的几个基础常识相关的知识,希望对你有一定的参考价值。

今天晓东和大家一起来看看蓝牙相关的几个基础知识,这样大家在看具体的代码的时候能够做到“手里有枪,心中不慌”。

一、基本概念

微微网——Piconet

    Q1:蓝牙的网络结构是怎么样的?

蓝牙是一个点对点或者点对多点的拓扑结构,他们的交互都是基于一个物理通道(Physical Channel)上的。也就是说点对点之间有一条物理通道,点对多点共享一条物理通道。我们把这些共用一个物理通道的集合称之为微微网(piconet)。

在一个微微网中只有一个设备能称之为Master,其余的设备都是Slave。需要注意的是活跃的slave最多只能是7个,当然我们可以连接更多的slave,但是在同一时间,除了7个活跃的slave外别的slave不能处于活跃的状态。我们把他们称之为parkedslave,也就是说他们是在睡大觉。若是piconet中活跃的设备不足7个,他们就可以随时醒来,而且不需要再进行任何connection建立的过程。具体的可参见下图一,其中绿色的为Master,黑色的为Slave

技术分享图片

图一 piconet示意图

这个你不禁会要问:

Q2piconet是否有可能交叉呢?

这是一个很好的问题,是的piconet是有可能交叉的,也就是说一个piconet中的master有可能在别的piconet中它只是一个slave,反之一个piconet中的slave他有可能在另外一个piconet中扮演master的角色。当然一个piconet中的slave也是有可能在另外一个piconet中仍然是slave,但是一个piconet中的master是不可能在另外一个piconet中扮演master的,这个道理应该还是很简单吧。这里我们提出一个新的概念,就是有同样设备的piconet组成的网络我们称之为scatternet

技术分享图片

图二 Scatternet示意图

如图二所示,每一个piconet都是只有一个master,而一个piconet中的master在另外一个piconet中可以是一个slave,如图二中设备1,他在以2masterpiconet中就是slave。同样的设备2在以1masterpiconet中也是slave。反过来看,一个piconet中的slave在另外一个piconet中可以为master,比如设备12。当然也是可以在另外一个piconet中仍然作为slave,如设备4在以3masterpiconet中就是仍然是slave。需要注意的是,一个piconet中的master在另外一个piconet中是不能够作为master的。否则要么出现一个piconet中有两个master或者这就不是两个piconet的问题。

传输速率

Q3:蓝牙的传输速率怎么样?

蓝牙是在空气中进行传输的,他有两种传输模式:

1Basic Rate:它的传输速率是1Mbps

2Enhanced Data Ratea)初级调制模式:2Mbpsb)二级调制模式:3Mbps

时钟相关

Q4:蓝牙有内部时钟吗?

答案是肯定的,蓝牙内部有nativeclock。和外部的真实时间是没有关系的。它最低能表示的单元必须是312.5μs,就是半个slot。也就是说时钟的频率需要是3.2kHz。有四个周期在蓝牙中是很重要的,他们分别是312.5μs625μs1.25ms以及1.28s。他们对应的就是我们俗称的CLK0CLK1CLK2CLK12

Q5:蓝牙能容忍的时钟偏差是多少啊?

这是一个很好的问题。在spec上规定,正常情况下nativeclock的偏差允许范围是+/-20ppm,当然在一些底功耗的模式下,比如parksniffhold等模式下,这个偏差的范围有所扩大,可以到+/-250ppm

蓝牙地址

Q6:蓝牙地址就是我们看到的那一堆随机数吗?

Spec中对蓝牙地址的格式是有很严格的规定的。他主要分为两个区域三个部分。

1company_assigned:这个部分主要是LAP,就是Low Address Part,需要注意的是在这个部分0X9E8B00~0X9E8B3F的值是不能使用的。这部分的值是用于设备的特殊类型值的搜索的,除了这个部分,其余的值都是可以使用的。

2company_id:包含UAPUpper Address Part)和NAPNone significant Address Part)。他们可以使用任何的值,只不过只有UAP是有意义的,NAP是没有意义的。

这两者的组成部分见下图:

技术分享图片

图三 BD_ADDR的结构

工作频段

Q7:蓝牙工作的频段是在哪个区间

这是个很好的问题,通常我们都说蓝牙工作在2.4G的频段。其实它真实的工作频段范围是2400~2483.5MHz。它RF通道的设置如下表一所示。

表一蓝牙工作频段

 

频段范围

RF通道

2.400~2.4835GHz

F=2.402+k MHzk=0,….,78

 

    RF通道就是我们通常说的传输的通道,它一共有79个通道,从2.402GHz开始,每隔1MHz有一个RF通道。

 

若您还有任何关于蓝牙基础知识的疑问可以直接在下面留言,我会及时回答的,谢谢~~

http://blog.csdn.net/u011960402/article/details/17878163

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://www.cnblogs.com/captainbed


以上是关于BlueTooth 关于蓝牙你不可不知道的几个基础常识的主要内容,如果未能解决你的问题,请参考以下文章

Android-低功耗蓝牙(BLE)-客户端(主机/中心设备)和服务端(从机/外围设备)

在 Android 中手动配对蓝牙设备?

蓝牙Bluetooth技术小知识

蓝牙遐想

学习蓝牙技术应该知道的几个要点

学习蓝牙技术应该知道的几个要点