新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 低功耗藍(lán)牙開(kāi)發(fā)技術(shù)概述——基本概念和體系結(jié)構(gòu)

低功耗藍(lán)牙開(kāi)發(fā)技術(shù)概述——基本概念和體系結(jié)構(gòu)

作者: 時(shí)間:2017-10-20 來(lái)源:網(wǎng)絡(luò) 收藏

  

本文引用地址:http://2s4d.com/article/201710/366775.htm

  1、術(shù)語(yǔ)

  在方面工作的人們都使用他們自己的術(shù)語(yǔ)來(lái)描述一些技術(shù)特征和規(guī)范,下面介紹幾個(gè)相關(guān)術(shù)語(yǔ):

  自適應(yīng)跳頻(Adaptive Frequency Hopping, AFH):一種使用某個(gè)頻率子集的技術(shù),使設(shè)備可以避免其他非自適應(yīng)技術(shù)使用該頻率(比如Wi-Fi接入點(diǎn))。

  體系結(jié)構(gòu)(architecture):的設(shè)計(jì)方案。

  頻段(band):參看無(wú)線頻段(radio band)。

  跳頻(frequency hopping):兩個(gè)設(shè)備之間使用多個(gè)頻率通信。某一時(shí)刻只用一個(gè)頻率,各頻率按照確定的順序依次使用。

  層(layer):系統(tǒng)中實(shí)現(xiàn)一個(gè)具體功能的部分,例如物理層負(fù)責(zé)無(wú)線電操作。系統(tǒng)中每一層是根據(jù)上層或下層抽象而來(lái)的。鏈路層并不需要知道有關(guān)無(wú)線電功能的所有細(xì)節(jié);邏輯鏈路控制層和適配層(L2CAP)不需要知道關(guān)于鏈路層如何工作的所有細(xì)節(jié)。這一抽象概念對(duì)于管理復(fù)雜系統(tǒng)而言至關(guān)重要。

  主設(shè)備(master):微微網(wǎng)中協(xié)調(diào)與其他設(shè)備的操作的一臺(tái)復(fù)雜設(shè)備。

  微微網(wǎng)(piconet):?jiǎn)卧~pico和network兩個(gè)單詞的縮寫,表示非常微小的網(wǎng)絡(luò),一個(gè)微微網(wǎng)包括唯一的一個(gè)主設(shè)備以及一個(gè)或多個(gè)從設(shè)備,之設(shè)備負(fù)責(zé)協(xié)調(diào)與本微微網(wǎng)中的所有其他從設(shè)備的操作。

  無(wú)線頻段(radio band):無(wú)線電波通過(guò)頻率或波長(zhǎng)進(jìn)行劃分。不同的無(wú)線電波具有不同的規(guī)則和使用方法。

  從設(shè)備(slave):與主設(shè)備一起工作的簡(jiǎn)單設(shè)備。

  Wi-Fi:一種為高傳輸率而設(shè)計(jì)的補(bǔ)充無(wú)線技術(shù),用于計(jì)算機(jī)等復(fù)雜設(shè)備的互聯(lián)網(wǎng)接入。

  2、非對(duì)稱性設(shè)計(jì)

  所有的體系結(jié)構(gòu)的設(shè)計(jì)都是非對(duì)稱的,目的是為了讓能源更少的設(shè)備負(fù)擔(dān)更少的事情。

  對(duì)《低功耗藍(lán)牙開(kāi)發(fā)權(quán)威指南》的個(gè)人理解,畫(huà)了如下的低功耗藍(lán)牙體系層析結(jié)構(gòu)圖

  

  3、客戶端——服務(wù)器架構(gòu)

  采用純客戶端——服務(wù)器架構(gòu),服務(wù)器僅僅作為數(shù)據(jù)存儲(chǔ),并不關(guān)心客戶端是誰(shuí)??蛻舳丝梢灾苯渔溄拥椒?wù)器,或者可以從地球的另一側(cè)通過(guò)互聯(lián)網(wǎng)網(wǎng)關(guān)鏈接??蛻舳?mdash;—服務(wù)器網(wǎng)關(guān)模式也可以用于支持從客戶端到網(wǎng)關(guān)的互聯(lián)網(wǎng)安全,網(wǎng)關(guān)可執(zhí)行訪問(wèn)控制、防火墻和客戶端授權(quán)等操作,之后再向客戶端授予網(wǎng)關(guān)外部的訪問(wèn)權(quán)限。

  客戶端——服務(wù)器架構(gòu)的主要優(yōu)點(diǎn)是將客戶端和服務(wù)器二者劃分開(kāi),當(dāng)系統(tǒng)的不同部分位于不同的設(shè)備上時(shí),這種劃分必不可少,就愛(ài)那個(gè)其中一部分作為服務(wù)器,另一部分作為客戶端,系統(tǒng)中二者之間的關(guān)系隨之確定下來(lái)。

  4、面向服務(wù)的架構(gòu)

  客戶端——服務(wù)器架構(gòu)之上進(jìn)一步抽象是面向服務(wù)器的范式。這是一種將服務(wù)器中的信息組織成服務(wù)的模型。該服務(wù)ikeyi被發(fā)現(xiàn)、進(jìn)行交互或用做已知語(yǔ)義,這意味著該服務(wù)具有確定的行為,在給定形同的條件時(shí),總會(huì)產(chǎn)生相同的結(jié)果。

  這種范式最成功的互聯(lián)網(wǎng)系統(tǒng)的基礎(chǔ),如SOAP、REST、COBRA、RPC、Web服務(wù)等。

 ?。?)、正式合約

  一個(gè)服務(wù)之所以被視為服務(wù)。是因?yàn)槠湓诠_(kāi)的功能以及如何工作兩個(gè)方畫(huà)提供了正規(guī)的描述。正式合約的一個(gè)好處在于, 一個(gè)服務(wù)的實(shí)例很容易被另一個(gè)服務(wù)的實(shí)例所代替。只要兩個(gè)服務(wù)的實(shí)例具有相同的功能和行為,這種情況就有可能發(fā)生。在低功耗藍(lán)牙中。這些正式合釣位手服務(wù)規(guī)范之中。并為藍(lán)牙SIG所來(lái)用。這些規(guī)范也有相應(yīng)的測(cè)試規(guī)范。以確保實(shí)施行為的有效性。

  (2)、松耦合

  在面向?qū)ο蟮能浖校瑔为?dú)的系統(tǒng)組件是指被設(shè)計(jì)成邊界效應(yīng)的獨(dú)立對(duì)象。那些發(fā)生在組件之間的相互作用可以被明地定義和測(cè)試。將依賴關(guān)系減少最低限度,使修改服務(wù)的實(shí)現(xiàn)時(shí)不會(huì)帶來(lái)意想不到的邊界效應(yīng)。從而降低風(fēng)險(xiǎn)。

 ?。?)、抽象化

  服務(wù)抽象是十分重要的設(shè)計(jì)原則,如果違背該原理可能造成嚴(yán)重的后果。假如不利用抽象化,而讓客戶端掌握服務(wù)的所有實(shí)現(xiàn)細(xì)節(jié)。那么客戶端使用該服務(wù)的方式將會(huì)嚴(yán)重制約服務(wù)的演化。

  (4)、可重用性

  可重用性的概念多年來(lái)一直是面向?qū)ο蠓椒ㄋ谕脑O(shè)計(jì)目標(biāo)。但是,真正意義上的可重用性是令服務(wù)適用于多種不同應(yīng)用的一種能力。如果未經(jīng)認(rèn)真思考, 設(shè)計(jì)的服務(wù)往往僅能完成某一種工作。而在良好的設(shè)計(jì)方案中,服務(wù)可以與具體的實(shí)現(xiàn)過(guò)程相互獨(dú)立。這意味著該服務(wù)能夠在其他應(yīng)用程序中快速、輕松地獲得重用。藍(lán)牙技術(shù)聯(lián)盟為應(yīng)對(duì)這一姚戰(zhàn)設(shè)立了一個(gè)工作組,該工作組的唯一工作就是找尋通用的功能,對(duì)其需求進(jìn)行抽象以實(shí)現(xiàn)有效的重用。

  (5)、無(wú)狀態(tài)

  為了讓眾多客戶端支持服務(wù)擴(kuò)展。服務(wù)器不能保存任何客戶端的狀態(tài)數(shù)據(jù)。服務(wù)器或許可以定義一個(gè)服務(wù)用來(lái)記住客戶端已經(jīng)告訴它們的所有信息。使客戶端在后續(xù)請(qǐng)求時(shí)不必重復(fù)這些信息。但該方法的同題在于,這些信息占用了大量的內(nèi)存。且依賴于客戶端和服務(wù)器二者之間同步的共享狀態(tài)信息。這將導(dǎo)致服務(wù)器完全依賴客戶端的正確操作,而這樣的假設(shè)無(wú)疑站不住腳。

  因此,狀態(tài)信息存儲(chǔ)在服務(wù)器上。但是它們均為服務(wù)器狀態(tài),而非客戶端狀態(tài)。這意味著,無(wú)論任無(wú)狀態(tài)的設(shè)計(jì)目標(biāo)是刪除客戶端和服務(wù)器之間所有交互狀態(tài)。

 ?。?)、可組合性

  這一沒(méi)計(jì)目標(biāo)鼓勵(lì)服務(wù)器之間相互組合。

 ?。?)、自治

  自治的情況可以單獨(dú)執(zhí)行任務(wù),而不用去管周邊發(fā)生的事情。

 ?。?)、可發(fā)現(xiàn)性

  想要使用服務(wù)就必須能夠發(fā)現(xiàn)服務(wù),可發(fā)現(xiàn)性通常是通過(guò)一個(gè)單獨(dú)的、與服務(wù)交互的協(xié)議來(lái)實(shí)現(xiàn)的。低功耗藍(lán)牙采用不同的方法:使用同一協(xié)議實(shí)現(xiàn)發(fā)現(xiàn)以及服務(wù)交互,該協(xié)議稱為”屬性協(xié)議“。

  5、低功耗藍(lán)牙的體系結(jié)構(gòu)

  它分成三個(gè)基本部分:控制器、主機(jī)和應(yīng)用程序。

  控制器:通常是一個(gè)物理設(shè)備,能夠發(fā)送和接受無(wú)線電信號(hào),病懂得如何就這些信號(hào)翻譯成攜帶信息的數(shù)據(jù)包。

  主機(jī):通常是一個(gè)軟件棧,管理兩臺(tái)或多臺(tái)設(shè)備之間如何通信及如何利用無(wú)線電同時(shí)提供幾種不同的服務(wù)。

  應(yīng)用程序:則使用軟件堆棧,進(jìn)而是控制器來(lái)實(shí)現(xiàn)用戶實(shí)例。

  低功耗藍(lán)牙體系機(jī)構(gòu)圖如下所示:

  

  在控制器內(nèi)既有物理層和鏈路層,又有直接測(cè)試模式和主機(jī)控制器接口(HCI)層的下半部。在主機(jī)內(nèi)包含了三個(gè)協(xié)議:邏輯鏈路控制和適配協(xié)議(L2CAP)屬性協(xié)議(Attribute Protocol)和安全管理器協(xié)議(Security Manager Protocol),此處還包括通用屬性規(guī)范(GATT)、通用訪問(wèn)規(guī)范(GAP)和模式(MODE)。

 ?。?)、控制器:

  控制器與外界通過(guò)天線相連,與主機(jī)通過(guò)主機(jī)控制接口(HCI)相連。

  控制器中的物理層:采用2.4G無(wú)線電,輸出0和1的信號(hào)。

  控制器中的直接測(cè)試模式:直接測(cè)試模式允許測(cè)試者讓控制器的物理層發(fā)送一系列的數(shù)據(jù)包和接收一系列的數(shù)據(jù)包,直接測(cè)試模式不經(jīng)能量化測(cè)試,還能用于執(zhí)行線性測(cè)試和校準(zhǔn)無(wú)線電。

  控制器中的鏈路層:它是的低功耗藍(lán)牙體系中最復(fù)雜的一部分,負(fù)責(zé)廣播、掃描、建立和維護(hù)鏈接,以及確保數(shù)據(jù)包按照正確的方式組織。鏈路層的信道分為兩種,廣播信道和數(shù)據(jù)信道。

  主機(jī)控制接口下半部:提供了一個(gè)與控制器通信的標(biāo)準(zhǔn)接口,由60%以上的藍(lán)牙控制器能使用HCI接口它允許主機(jī)將命令和數(shù)據(jù)包發(fā)送給控制器。已經(jīng)定義的物理接口有USB、SDIO、兩個(gè)UART的變種

 ?。?)主機(jī):

  主機(jī)做的事情比較多,主機(jī)構(gòu)建了主機(jī)控制器接口的上層部分。

  主機(jī)中的邏輯鏈路層和適配協(xié)議:L2CAP是低功耗藍(lán)牙的復(fù)用層。定義了兩個(gè)基本的概念,L2CAP信道和L2CAP信令。信道是一個(gè)雙向數(shù)據(jù)通道,沒(méi)喲個(gè)信道都是獨(dú)立的。在低功耗藍(lán)牙中只使用固定信道,一個(gè)用于信令信道,一個(gè)用于安全管理器,還有一個(gè)用于屬性協(xié)議。

  主機(jī)中的安全管理協(xié)議:定義了一個(gè)簡(jiǎn)單的配對(duì)和密匙分發(fā)協(xié)議,配對(duì)是一個(gè)獲得對(duì)方信任的過(guò)程采用認(rèn)證的方式實(shí)現(xiàn),當(dāng)兩臺(tái)設(shè)備在未來(lái)的某一時(shí)刻重連時(shí),他們可以享用先前分發(fā)的密匙進(jìn)行加密,從而迅速認(rèn)證彼此的身份。

  主機(jī)中的屬性協(xié)議:定義了訪問(wèn)對(duì)端設(shè)備上的數(shù)據(jù)的一組規(guī)則。

  主機(jī)中的通用屬性規(guī)范:定義了屬性的類型及其使用方法。

  主機(jī)中的通用訪問(wèn)規(guī)范:定義了設(shè)備如何發(fā)現(xiàn)、鏈接,以及為用戶提供有用信息,它還定義了設(shè)備之間如何建立長(zhǎng)久的關(guān)系——綁定。

  (3、應(yīng)用層:

  定義了上種類型:特性(characterustic)、服務(wù)(service)和規(guī)范(profile)。

  應(yīng)用層中的特性:采用已知格式、以通用唯一識(shí)別碼(UUID)作為表示的一個(gè)小塊數(shù)據(jù),由于特征要求能夠重復(fù)使用,因而設(shè)計(jì)時(shí)沒(méi)有涉及行為,特性被定義為計(jì)算機(jī)的可讀格式。

  應(yīng)用層中的服務(wù):服務(wù)是人類可讀的一組特征及其相關(guān)的行為規(guī)范,只定義了位于服務(wù)器上的相關(guān)特性和行為,而不定義客戶端的行為。服務(wù)有兩種類型,首要服務(wù)和次要服務(wù),一個(gè)服務(wù)是首要服務(wù)還是次要服務(wù)取決于服務(wù)的定義,首要服務(wù)表征一個(gè)給定的設(shè)備主要做些什么。正是通過(guò)這些服務(wù),用戶才了解到該設(shè)備是做什么的。次要服務(wù)是那些協(xié)助主要業(yè)務(wù)或其他次要服務(wù)的服務(wù)。

  應(yīng)用層中的規(guī)范:是用例或應(yīng)用懂得最終體現(xiàn)。規(guī)范是藐視一個(gè)或多個(gè)設(shè)備的說(shuō)明,每一個(gè)設(shè)備提供一個(gè)或多個(gè)服務(wù),規(guī)范描述了如何發(fā)現(xiàn)和鏈接設(shè)備,從而微微每個(gè)設(shè)備確定了拓展結(jié)構(gòu),規(guī)范還描述的客戶端的行為,用于發(fā)現(xiàn)服務(wù)和服務(wù)特性,規(guī)范和服務(wù)之間是一種多對(duì)多的映射關(guān)系。



關(guān)鍵詞: 低功耗藍(lán)牙

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉