1. 程式人生 > 其它 >Core_V5.2 - (4 COMMUNICATION TOPOLOGY AND OPERATION)

Core_V5.2 - (4 COMMUNICATION TOPOLOGY AND OPERATION)

4 COMMUNICATION TOPOLOGY AND OPERATION

4.1 PICONET TOPOLOGY-微微網拓撲
4.1.1 BR/EDR topology
  任何時候當一個連線被使用BR/EDR控制器建立時,它就在微微網的上下文中。每一個鏈路連線兩個裝置,稱為“master”和“slave”。一個微微網由一個單一的主裝置(稱為微微網的主裝置)和所有連線到它的從裝置(稱為微微網的從裝置)組成。連線的BR/EDR裝置通過一個共同的時鐘和跳頻序列同步在同一個物理通道上通訊。共同的(微微網)時鐘與微微網的主藍芽時鐘相同,跳頻序列由主時鐘和主藍芽裝置地址派生(不同的從機可以使用不同的跳頻序列)。

  術語“主從”僅用於描述微微網中的這些角色。許多獨立的微微網可以緊密地存在。每個微微網有一個不同的物理通道(即不同的主裝置和獨立的時序和跳頻序列)。藍芽裝置可以同時參與兩個或多個微微網。它是在時分多路複用的基礎上實現的。一個藍芽裝置永遠不可能是一個以上微微網的主裝置。(因為在BR/EDR中,微微網是通過與主裝置藍芽時鐘同步來定義的,所以一個裝置不可能是兩個或多個微微網的主裝置。)一個藍芽裝置在許多獨立的微微網中可能是從屬裝置。

  作為兩個或多個微微網的成員的藍芽裝置被稱為scatternet-分散網。參與到一個分散網並不一定意味著藍芽裝置具有任何網路路由能力或功能。藍芽核心協議沒有,也不打算提供這種功能,這是更高級別協議的責任,超出了規範的範圍。

  在圖4.1中顯示了一個示例拓撲,它演示了下面描述的許多架構特性。裝置A是微微網的主機(用陰影區域表示,稱為微微網A),而其他的裝置B,C,D,E是這個微微網中的從裝置。除了微微網A還是有其他三個微微網,微微網F: F為主裝置,E,G,H做為從裝置;微微網D: D為主裝置,J為從裝置;微微網M: M為主裝置,E和多個N作為從裝置。

  在微微網A中有兩個物理通道。裝置B和C使用基本的微微網物理通道(由藍色線表示),它們不支援自適應跳頻。裝置D和E能夠支援自適應跳頻,並使用自適應的微微網物理通道(用紅色線表示)。裝置A能夠自適應跳頻,並在兩個物理通道上以時分多工(TDM)方式操作,根據哪個從裝置進行定址。微微網D和微微網F都只使用基本的微微網物理通道(分別用青色和品紅線表示)。在微微網D的情況下,這是因為裝置J不支援自適應跳躍模式。雖然裝置D支援自適應跳變,但它不能在這個微微網中使用。在微微網F中,裝置F不支援自適應跳變,因此不能在該微微網中使用。

  微微網 M(用橙色線表示)使用無連線從機通過自適應微微網物理通道廣播物理鏈路以傳送配置檔案向多個從裝置(包括E、N)廣播資料。

  裝置K目前還不是任何微微網中的裝置,當時它像其他的藍芽裝置提供服務。它目前正在偵聽它的(inquiry scan)查詢掃描物理通道(由綠色線表示),等待來自另一個裝置的查詢請求(inquiry request)。

  裝置L也不屬於任何微微網,但是它正在synchronization scanphysical channel(用棕色線表示)等待一個來自其他裝置的synchronization train。

4.1.2 LE topology

  在圖4.2中顯示了一個示例拓撲,該拓撲演示了下面描述的許多LE架構特性。裝置A是微微網的主機(用陰影區域表示,稱為微微網A),裝置B和C是從機。與BR/EDR從機不同,LE從機不與主機共享一個公共物理通道。每個從裝置通過一個單獨的物理通道與主伺服器通訊。另一種微微網以裝置F為主裝置(稱為微微網F),裝置G為從裝置。裝置K處於分散網(稱為散網K)中,裝置K是裝置L的主裝置和裝置M的從裝置。裝置O也在散網中(稱為散網O)。裝置O是裝置P和裝置Q的從裝置。在圖中,實箭頭指向從主節點到從節點;虛線箭頭,虛線箭頭表示發起一個連線,指向是從發起者到使用可連線的廣播事件廣播的廣播者。正在廣播的裝置使用幸好表示,如圖中的K,R。

  還有其他五組裝置顯示:

  1. 裝置D是廣播者,裝置A是發起者(稱為組D)。

  2. 裝置E是掃描者,裝置C是廣播者(稱為組C)。

  3. 裝置H是廣播者,裝置I和J是掃描者(稱為組H)。

  4. 裝置K也是一個廣播者,N是一個發起者(稱為組K)。

  5. 裝置R是一個廣播者,O是一個發起者(稱為組R)。

  裝置A和B使用一個LE微微網物理通道(由藍色線和深灰色背景表示)。裝置A和C使用另一個LE微微網物理通道(由藍色線和淺灰色背景表示)。在組D中,D正在使用可連線的廣播事件在廣播物理通道(用綠色線表示)上廣播,而A是一個發起者。裝置A可以與裝置D形成連線,並將該裝置加入微微網A。

  在組C中,裝置C同樣也在廣播物理通道(由橙色框表示)上使用任意型別的廣播事件進行廣播,並且它的廣播正在被作為掃描者的E所捕獲。為了減小干擾和資料包的碰撞,組D和組C上的廣播事件可能發生在不同的物理廣播通道上,並且他們的廣播事件不是同時發生的。在微微網F中,有一個物理通道。裝置F和G使用同一個LE微微網物理通道,裝置F是主裝置而G是從裝置。在組H中,有一個物理通道。裝置H、I和J使用LE廣播物理通道(由紫色線表示)。裝置H是廣播者,裝置I和J是掃描者。

  在散網K中,裝置K和L使用一個LE微微網物理通道。裝置K和M使用另一個LE微微網物理通道。在組K中,裝置K也在廣播物理通道上使用可連線的廣播事件廣播,而N是發起者。裝置N可以與裝置K形成連線,導致裝置K同時是兩個裝置的從裝置和一個裝置的主裝置。

  在散網O中,器件O和P使用一個LE微微網物理通道。而裝置O和Q使用另一個LE微微網物理通道。在組R中,裝置R也在廣播物理通道上使用可連線的廣播事件廣播,而O是發起者。裝置O可以與裝置R形成連線,導致裝置O同時是兩個裝置的從裝置和一個裝置的主裝置。

4.2 OPERATIONAL PROCEDURES AND MODES(page-259)

  藍芽裝置的典型操作模式是連線到在同一個微微網中的其他藍芽裝置並且和它進行資料的交換。由於藍芽是一種特別的無線通訊技術,因此有許多操作步驟可以形成微微網,以便進行後續通訊。過程和模式應用於體系結構的不同層,因此一個裝置可以同時使用許多這些過程和模式。這裡描述了一些在BR/EDR中一些常用的操作過程和模式,這些模式和過程在藍芽的發現連線過程中會用到。

4.2.1 BR/EDR procedures

4.2.1.1 Inquiry (discovering) procedure
  
藍芽裝置通過Inquiry-詢問程式來發現附近的裝置,或者是被它附件的裝置所發現。

  Inquiry程式是非對稱的。試圖找到附近其他裝置的藍芽裝置被稱為查詢裝置,並主動傳送查詢請求。可用的藍芽裝置稱為可發現裝置,用於偵聽這些查詢請求併發送響應。查詢過程為查詢請求和響應使用一個特殊的物理通道。需要注意的是正在進行查詢程式的裝置和可發現的裝置有可能已經連線到了同一個微微網中的其他裝置,這個是可能的,因為一個裝置常常具有可在已經和其他裝置建立連線的情況下再去發現和連線到其他裝置,比如手機。在核心規範中有這樣一句話:Any time spent inquiring or occupying theinquiry scan physical channel needs to be balanced with the demands of the QoS commitments on existing logical transports.任何花費在查詢或佔用查詢掃描物理通道的時間都需要與現有邏輯傳輸上的QoS承諾的需求進行平衡。這句話其實我沒有理解,希望有理解的同學幫忙解答一下。查詢過程不使用物理通道之上的任何體系結構層,儘管可以認為在交換查詢和查詢響應資訊期間存在一個瞬態物理鏈路。

4.2.1.1.1 Extended Inquiry response
  一個擴充套件的查詢響應可以在查詢過程中提供額外的資訊,資料型別定義為本地名稱和受支援的服務等資訊,通常如果需要獲取這些資訊需要建立連線後進行交換,但是通過這種方式就可以不需要額外的連線。在擴充套件查詢響應中接收本地名稱和支援服務列表的裝置不需要連線來執行遠端名稱請求和SDP服務搜尋,從而縮短獲取有用資訊的時間。建議在擴充套件的查詢響應中,裝置包含所有支援的服務和它的本地名稱的很大一部分(如果該名稱太長而不能全部發送)。擴充套件的詢問回覆程式與標準的詢問回覆程式向後相容。那擴充套件查詢響應包是怎樣的呢?如果你對BLE的廣播包結構很熟悉那你也一定很容易理解擴充套件查詢響應包的結構:

資料的總長度是240個位元組,有有效部分和無效部分組成。可以看到有效部分是由一系列的資料機構所組成。每一個數據結構包含兩部分:長度域和資料域,長度域是一個位元組的長度,它指明瞭資料域的長度;而資料域又包含兩部分:EIR Data Type和EIR Data,EIR Data Type的長度是不固定的,而EIR Data的長度等於Length-EIR Data Type的長度。無效部分資料的長度將EIR資料包的總長度擴充套件到240Byte,並且無效部分的值應全為0。 

 在CoreSpecification Supplement, Part A, Section 1中定義了EIR資料格式和一些具體的列子,詳細請參考那裡。如果長度為0,那麼資料域沒有資料,這種情況只會發生在允許提前終止標記資料的情況下。為了減少干擾,主機應該儘量減少EIR資料量,使基帶可以使用1槽或3槽EIR包。這是有利的,因為它減少了干擾,最大限度地提高了接收EIR資料包的概率。如果主機上的應用程式提供超過240位元組的擴充套件查詢響應資料,則由主機將其限制為240位元組,多餘的位元組應當會被丟棄。EIR資料包應該在查詢響應狀態下發送。在選擇要使用的包型別時,應考慮FEC (DM1或DM3)以使範圍最大化。

  主機應按照以下規則在EIR資料中包含裝置名稱:

  1、如果裝置沒有裝置名稱(即0位元組)並且

    a)如果在EIR包中沒有其他資料要傳送,主機應該傳送一個長度為零的name標籤,並設定type欄位來表示這是完整的名稱(也就是說有效資料結構1的總長度為2,Length =1, EIR Data Type一個位元組,EIR Data       0Byte)。

    b)如果在EIR包中有其他重要資料要傳送,而0位元組的名稱標籤不合適,主機可能會避免傳送名稱標籤。

  2、如果裝置有裝置名稱(大於0位元組)並且

    a)如果它太長被包含在EIR資料包中(給定資料包型別和任何正在傳送的其他資料的選擇),主機可以傳送一個縮短版本的名稱(甚至0位元組),並且應該將名稱標記為“縮短的”,以告知接收者需要一個遠端名稱請求,如果需要該名稱,則獲取全名。

    b)如果沒有其他資料傳送EIR包(給定的選擇包型別選擇),主機應最大化要傳送的裝置名稱的長度,這個名稱可以是完整的或者一個縮短版本的名稱(例如,如果選擇了DM1包,並且裝置名稱字元等於大於15個位元組,那麼主機就用縮短標誌傳送前面幾個字元,有可能等於或小於15個位元組)。

  注意:沒有必要理解每一個EIR資料型別。如果主機不理解給定的EIR資料型別值,它應該跳過Length位元組並尋找下一個EIR資料結構。

4.2.1.2 Paging (connecting) procedure
  形成連線的過程是不對稱的,需要一個藍芽裝置執行頁面(連線)過程,而另一個藍芽裝置是可連線的(頁面掃描)。Paging這個過程是有針對性的,因此頁面過程只由一個指定的藍芽裝置響應。可連線的裝置在一個特定的通道上監聽paging 裝置發出的連線請求包。這個物理通道具有特定於可連線裝置的屬性,因此只有瞭解可連線裝置的分頁裝置才能在這個通道上通訊。同樣的,在進行Paging和當前是可連線的裝置都有可能已經和同一個微微網中的其他裝置建立了連線。任何分頁或佔用頁面掃描物理通道的時間都需要與現有邏輯傳輸上的QoS承諾的需求進行平衡。Inquiry和Page其他還細分了一些子過程,後續會做補充。

4.2.1.3 Connected mode
  在BR/EDR Controller上成功連線後,兩個裝置都連線到一個微微網物理通道,裝置之間有一個物理鏈路,並且有預設的ACL-C、ACL-U、ASBC和ASB-U邏輯鏈路。其中兩條鏈路(ACL-C和ASB-C)傳輸LMP控制協議,並且對於鏈路管理器上面的層來說這是不可見的。ACL-U鏈路傳輸L2CAP信令協議和任意多路L2CAP最佳通道。ASB-U鏈路傳輸L2CAP通道,這些通道被廣播到微微網上的所有從機。通常引用預設ACL邏輯傳輸(可以通過上下文解析),但通常引用預設ACL- u邏輯鏈路。當處於連線模式時,可以建立和釋放附加的邏輯鏈路,並在保持與微微網物理通道連線的同時更改物理鏈路和邏輯鏈路的模式。該裝置也可以執行查詢、分頁或掃描程式,或在不需要從原始微微網物理通道斷開的情況下連線到其他微微網。這些操作使用Link Manager完成,它與遠端藍芽裝置交換Link Manager協議訊息。AMP物理鏈路可以以連線模式建立。一旦建立了一個AMP物理鏈路,就可以建立一個或多個AMP-u邏輯鏈路來傳輸L2CAP使用者資料。在從裝置主動連線到微微網期間,從裝置和主裝置之間總是有一個預設的ACL邏輯傳輸。刪除預設ACL邏輯傳輸的唯一方法是將裝置與piconet物理通道分離,此時將刪除裝置之間的整個L2CAP通道層次結構、邏輯鏈路和邏輯傳輸。

4.2.1.7 Role switch procedure
  角色切換過程是一種交換連線在微微網中的兩個裝置角色的方法。這個過程涉及從原始主裝置定義的物理通道移動到新主裝置定義的物理通道。在從一個物理通道交換到下一個物理通道的過程中,物理鏈路的層次結構和BR/EDR控制器上的邏輯傳輸被刪除和重建,除了拓撲中隱含的ASB邏輯傳輸之外。角色轉換過程不會影響AMP的物理通道。角色轉換後,原來的微微網物理通道可能會消失,或者如果原來的主機有其他仍然連線到該通道的從機,則可能會繼續存在。

  該過程只將預設的ACL邏輯鏈路和支援層複製到新的物理通道。此過程不會複製任何附加的邏輯傳輸,如果需要,則必須由較高層執行。任何受影響的傳輸的LT_ADDR都將在新的物理通道上重新分配,因此可能會發生變化。如果在原始的邏輯傳輸上有任何QoS承諾,那麼在角色切換之後將不會保留這些承諾。

4.2.1.9 Connectionless Slave Broadcast mode

  無連線的從廣播模式允許微微網主裝置使用BR/EDR自適應的微微網物理通道將概要廣播資料傳輸到任意數量的連線的從裝置。要進入這種模式,主裝置保留一個特定的邏輯傳輸作為專用的CSB邏輯傳輸,並使用無連線的從廣播物理鏈路和synchronization train過程開始廣播資料。定義了一個配置檔案廣播資料邏輯鏈路,它使用無連線從廣播邏輯傳輸來攜帶配置檔案廣播資料。這個profile廣播資料是無幀的,並且繞過L2CAP。要接收無連線從廣播包,裝置必須與已經建立了CSB邏輯傳輸的無連線從廣播發射機連線。連線時,裝置通過Synchronization Scan程式獲取物理鏈路的時間計劃,然後開始接收無連線從機廣播報文。一旦連線,無連線從廣播接收器可以在專用的CSB邏輯傳輸和PBD邏輯鏈路上接收配置檔案廣播資料。