正文
今天stone和大家一起來看看藍(lán)牙相關(guān)的幾個基礎(chǔ)知識,這樣大家在看具體的代碼的時候能夠做到“手里有槍,心中不慌”。 一、基本概念 微微網(wǎng)——Piconet Q1:藍(lán)牙的網(wǎng)絡(luò)結(jié)構(gòu)是怎么樣的? 藍(lán)牙是一個點(diǎn)對點(diǎn)或者點(diǎn)對多點(diǎn)的拓?fù)浣Y(jié)構(gòu),他們的交互都是基于一個物理通道(Physical Channel)上的。也就是說點(diǎn)對點(diǎn)之間有一條物理通道,點(diǎn)對多點(diǎn)共享一條物理通道。我們把這些共用一個物理通道的集合稱之為微微網(wǎng)(piconet)。 在一個微微網(wǎng)中只有一個設(shè)備能稱之為Master,其余的設(shè)備都是Slave。需要注意的是活躍的slave最多只能是7個,當(dāng)然我們可以連接更多的slave,但是在同一時間,除了7個活躍的slave外別的slave不能處于活躍的狀態(tài)。我們把他們稱之為parked的slave,也就是說他們是在睡大覺。若是piconet中活躍的設(shè)備不足7個,他們就可以隨時醒來,而且不需要再進(jìn)行任何connection建立的過程。具體的可參見下圖一,其中綠色的為Master,黑色的為Slave。
這個你不禁會要問: Q2:piconet是否有可能交叉呢?
這是一個很好的問題,是的piconet是有可能交叉的,也就是說一個piconet中的master有可能在別的piconet中它只是一個slave,反之一個piconet中的slave他有可能在另外一個piconet中扮演master的角色。當(dāng)然一個piconet中的slave也是有可能在另外一個piconet中仍然是slave,但是一個piconet中的master是不可能在另外一個piconet中扮演master的,這個道理應(yīng)該還是很簡單吧。這里我們提出一個新的概念,就是有同樣設(shè)備的piconet組成的網(wǎng)絡(luò)我們稱之為scatternet。
圖二 Scatternet示意圖
如圖二所示,每一個piconet都是只有一個master,而一個piconet中的master在另外一個piconet中可以是一個slave,如圖二中設(shè)備1,他在以2為master的piconet中就是slave。同樣的設(shè)備2在以1為master的piconet中也是slave。反過來看,一個piconet中的slave在另外一個piconet中可以為master,比如設(shè)備1和2。當(dāng)然也是可以在另外一個piconet中仍然作為slave,如設(shè)備4在以3為master的piconet中就是仍然是slave。需要注意的是,一個piconet中的master在另外一個piconet中是不能夠作為master的。否則要么出現(xiàn)一個piconet中有兩個master或者這就不是兩個piconet的問題。 傳輸速率 Q3:藍(lán)牙的傳輸速率怎么樣? 藍(lán)牙是在空氣中進(jìn)行傳輸?shù),他有兩種傳輸模式: 1、Basic Rate:它的傳輸速率是1Mbps。 2、Enhanced Data Rate:a)初級調(diào)制模式:2Mbps;b)二級調(diào)制模式:3Mbps。
下面是各個版本指標(biāo)的總結(jié),特別是傳輸速度跟范圍。
大家知道為什么2.1之后的藍(lán)牙的速度有了很大的提升嗎?給大家留一個懸念。其實(shí)之前我也有提過。
時鐘相關(guān) Q4:藍(lán)牙有內(nèi)部時鐘嗎? 答案是肯定的,藍(lán)牙內(nèi)部有native的clock。和外部的真實(shí)時間是沒有關(guān)系的。它最低能表示的單元必須是312.5μs,就是半個slot。也就是說時鐘的頻率需要是3.2kHz。有四個周期在藍(lán)牙中是很重要的,他們分別是312.5μs,625μs,1.25ms以及1.28s。他們對應(yīng)的就是我們俗稱的CLK0,CLK1,CLK2和CLK12。 Q5:藍(lán)牙能容忍的時鐘偏差是多少啊? 這是一個很好的問題。在spec上規(guī)定,正常情況下native的clock的偏差允許范圍是+/-20ppm,當(dāng)然在一些底功耗的模式下,比如park,sniff,hold等模式下,這個偏差的范圍有所擴(kuò)大,可以到+/-250ppm。 藍(lán)牙地址 Q6:藍(lán)牙地址就是我們看到的那一堆隨機(jī)數(shù)嗎? Spec中對藍(lán)牙地址的格式是有很嚴(yán)格的規(guī)定的。他主要分為兩個區(qū)域三個部分。 1、company_assigned:這個部分主要是LAP,就是Low Address Part,需要注意的是在這個部分0X9E8B00~0X9E8B3F的值是不能使用的。這部分的值是用于設(shè)備的特殊類型值的搜索的,除了這個部分,其余的值都是可以使用的。 2、company_id:包含UAP(Upper Address Part)和NAP(None significant Address Part)。他們可以使用任何的值,只不過只有UAP是有意義的,NAP是沒有意義的。 這兩者的組成部分見下圖:
圖四 工作頻段 Q7:藍(lán)牙工作的頻段是在哪個區(qū)間 這是個很好的問題,通常我們都說藍(lán)牙工作在2.4G的頻段。其實(shí)它真實(shí)的工作頻段范圍是2400~2483.5MHz。它RF通道的設(shè)置如下表一所示。
表一藍(lán)牙工作頻段
我國的藍(lán)牙頻率在2.402GHz~2.483GHz,藍(lán)牙每個頻道的寬度為1MHz,為了減少帶外輻射的干擾,保留上、下保護(hù)為3.5MHz和2MHz,79個跳頻點(diǎn)中至少75個偽隨機(jī)碼跳動,30S內(nèi)任何一個頻點(diǎn)使用時長不能超過0.4S。
Q8:藍(lán) 牙用什么技術(shù)皮面工作頻段干擾? 藍(lán)牙采用跳頻擴(kuò)譜技術(shù)主動的避免工作頻段受干擾(微波爐的工作頻率也是2.4GHz)。 那么大家知道什么是藍(lán)牙的跳頻擴(kuò)譜技術(shù)嗎?他們的工作原理是什么?
給大家留一個懸念,下次stone君給大家拔拔。
|