藍芽基礎知識進階——Physical channel

來源:互聯網
上載者:User

   物理通道是piconet區分的標準,它是藍芽系統結構層次中的最底層了。

    Q1:物理通道有哪些類型

    1、basicpiconet channel

    2、adaptedpiconet channel

channel是兩個已經串連裝置之間通訊使用的。也就是說他們和特定的微微網之間是相關聯的。

    3、inquiry scanchannel:用於discovering藍牙裝置

    4、page scanchannel:用於串連藍牙裝置。

Basic Piconet Channel

    Q2:Basicpiconet channel是如何工作的

Basic piconetchannel中,它會把通道分為以625μs為單位的時間長度(slot),使用的是TDD的策略進行傳輸,可以理解為TX和RX是時分雙工的。需要注意的是packet的開始和slot的開始需要是對齊的。從目前的packet type來看,最長會佔用5個time slot。多packet的slot傳輸情況見四。

     Q3:為什麼都是占奇數個slot啊,有偶數個的嗎?

packet type所佔的slot只有三種,分別佔1,3,5個slot,暫未有偶數個的slot的packet出現。另外,需要注意的是master的tx需要在奇數個的slot開始,rx必須在偶數個的slot開始。

    packet的平均漂移和625μs相比,不能超過20ppm。瞬時的時間和平均時間偏差不能超過1μs。

    Q4:既然有時間的偏差,那麼rx的時候是否有對應的機制

rx的時候,我們是用一個windows來監聽的,而不是說就在625μs那個點去監聽。目前的監聽window的大小是20μs,也就是說允許的誤差是+-10μs,這樣的誤差容忍度還是很高的。圖五是以單packet為例來介紹的正常情況下的TX/RX。

master的TX/RX

windows也發生在slave的rx過程中,不詳細介紹。

master就是使用的它的native的時鐘,而slave則是在它的native時鐘上加上對應的offset得到和master同步的時鐘。這個offset是在inquiry過程中互動得到的。為了防止時鐘的位移,slave在每次收到master的packet的時候都需要重新整理offset。時鐘的得到方法見六。其中六-a)是master中時鐘的產生,六-b)是slave時鐘的產生。

master和slave的時鐘產生

Adapted piconet channel

   Q6: adapted piconetchannel有何特別之處

    adapted piconetchannel是用於串連支援AFH(Adapter Frequency Hopping)的裝置時使用的。和Basic相比,他的最大不同之處在於它可能沒有使用全部的79個頻點,但是它使用頻點的數目最小值是20。也就是說若是環境很差,79個頻點只有不到20個頻點是乾淨可用的,那麼AFH機制將無法運行,也就沒有所謂的自適應調頻了,表現到最終的使用者體驗上你看到的就是音樂的卡頓啊,或者打電話的斷音等等。

Page scan physical channel

   Q7:master和slave的角色是在串連過程中才確定的,在page scan這個過程中是否也有master和slvae之分

master和slave還沒有確定之前,我們稱執行page的那個裝置為master,而page scan(也就是等待page)的那個裝置為slave。需要注意的是這個master和slave和最終建立串連之後的master和slave並不是對應的,這之間有可能發生role switch等一系列的操作。後面的inqiry scan也是類似的,就不多說了。

   Q8:page時所使用的時鐘就是native的clk嗎

page到對方,在真正page的時候並沒有使用native的clk,而是採用了一個預測的clk,希望能夠盡量和slave的clk相接近。這之間有一個offset的位移,這個位移一般使用inquiry的資訊中的位移,在Android中只有10分鐘之內的inquiry資訊才會被使用,畢竟這個clk也是會變化的,時間過長這種inquiry到的clk offset就沒有什麼實際意義了。page過程中使用的clk如七所示。

page時的clk

Q9:Page scan和basicpiconet channe有什麼差別

page的packet很小(也是固定的),所以為了更好地利用時間,他不是625μs才發送一次,而是在625μs中發送了兩次,也就是312.5μs發送一次,這也是藍芽clk最小的時間間隔了。於是從master的角度來看,我們可以看到的內容就如八所示了。

page scan過程master的tx rx時序圖

slot中發送了兩個packet。同時在rx的時候也在兩個時間點前後進行了監聽。這樣就可以響應slave在兩個時間點發送的response。

slave而言就會有兩種可能,一種是它在master發送第一個packet的時候slave就收到了,這種情況和625μs發送一次是一樣的,就不再多說了。另外一種情況則是slave在master發送第二次packet的時候才收到,那麼他會在收到之後625μs回應,master收到這個回應之後就不再等待625μs了,而是在下一個slot開始就是回應了。具體看圖九所示。

slave在master第二次發送後收到的時序圖

packet就是真正收到的packet。

Inquiry scan physicalchannel

          Q10:inquiry scan和basic有何差別

inquiryscan和page scan比較類似,他也是312.5μs發送一次,比較大的差別在於他的slave的回應比較長,超過了312.5μs,這樣假如它的回應是在第二次就會出現slave佔用master to slave slot的情況,中紅色圈圈所示,這是允許的。見十。

inquiryscan在第二次受到inquiry packet後的時序圖

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.