天天看點

BLE之廣播參數與廣播間隔等說明版權聲明:本文為部落客原創文章,轉載請注明原文出處。 http://blog.csdn.net/zzfenglin/article/details/51165543

版權聲明:本文為部落客原創文章,轉載請注明原文出處。 http://blog.csdn.net/zzfenglin/article/details/51165543

Advertising interval  (廣播間隔)

     裝置每次廣播時,會在3個廣播信道上發送相同的封包。這些封包被稱為一個廣播事件。除了定向封包以外,其他廣播事件均可以選擇“20ms ~ 10.28s”不等的間隔。通常,一個廣播中的裝置會每一秒廣播一次。兩個相鄰廣播事件之間的時間稱為廣播間隔。

     但是,裝置周期性的發送廣播會有一個問題:由于裝置間的時鐘會不同程度的漂移,兩個裝置可能在很長一段時間同時廣播而造成幹擾。為防止這一情況的發生,除定向廣播之外的其他廣播類型,發送時間均會被擾動。實作該擾動的方式為,在上一次廣播事件後加入“0 ~ 10ms”的随機延時。這意味着,即使兩個裝置廣播間隔相同,并在相同信道及時間點上發送造成了沖突,但它們發送下一個廣播事件時也會有很大可能不再沖突。

是以,兩個相鄰的廣播事件的之間的時間間隔(T_advEvent)為:

       T_AdvEvent = advInterval + advDelay

      其中,advInterval 必須是“0.625ms”的整數倍,範圍是“20ms ~ 10.24s”之間。對于可掃描非定向廣播和不可連接配接非定向廣播這兩種廣播類型,該值最好不小于100ms,即(160個0.625ms)。advDelay是Link Layer(連結層)配置設定的一個僞随機數,它的範圍為“0 ~ 10ms”。

    其它,更加詳細的内容,請參考如下網址:

http://blog.csdn.net/zzfenglin/article/details/51165543