ANT無線通信技術(2) 通道配置


    

一、ANT通道介紹 

     ANT通道的配置是ANT應用開發中的關鍵。官方文檔中的叫法是“channel”,之所以我翻譯為“通道”,而不是“信道”或者“頻段”,是因為后兩詞是常用於電子通信領域中的一個專有概念,往往帶有許多的技術背景與色彩。而ANT技術靈活多變的組網通訊方式,使得ANT channel擁有了更為豐富的邏輯含義,使用漢語中意義最廣泛的“通道”一詞能更好得描述這個抽象的邏輯概念。

       一個ANT通道用於連接至少兩個節點,使其能夠交換信息。每個通道至少有一個主節點(Master Node)和一個從節點(Slave Node)。

      主節點的角色主要是是信息發送者,從節點的角色主要是信息接收者。注意這個用詞“primary transmisstor”,也就說明主節點並不是完全不能接收信息,他也可以反向接收,從節點並不是完全不能發送信息,在必要的時候他也可以反向發送。

      通常來說,我們定義數據消息的傳輸方向:

              1. 正向傳輸       主節點————————>從節點    (always)

              2. 反向傳輸   主節點<————————從節點    (optional)

 

二、ANT通道配置

之后通過設定一些參數,我們可以實現對ANT通道的配置。需要設定的參數有以下幾個:

1.通道類型(channel type)

  1.1可選擴展分配(optional extended assignment)

2.無線頻率(RF freq.)

3.通道ID(channel ID)

  3.1設備號(device ID)

  3.2傳輸類型(transmission type)

  3.3設備類型(device type)

4.通道周期(channel period)

5.網絡(network)

  5.1網絡號(network number)

  5.2網絡密鑰(network key)

 

下面來詳細講講各個參數的具體內容。

1.通道類型 [8bit]

    ANT協議根據對通道的使用方式定義了6種通道類型,使用一個8bit的數據域來定義。所有節點在通信前都需要設定自己使用的通道類型,我們可以理解為,這種“自律”的行為,其實也就是為我們定義節點的主從提供了方便。舉個有趣的例子,把主節點比作皇阿瑪,從節點比作奴才,那么自然就發現皇阿瑪總是發號施令的人,而奴才只有聽旨的份。 :D

 

數值

通道類型

描述

0x50

0x40

單向主/從通道

僅用於最經典且最“古老”的廣播數據類型,節點要么單發,要么單收,因此並不能用於需要網絡管理等高級機制的情況。

0x10

0x00

雙向主/從通道

 定義節點為雙向通道中的主節點。

定義節點為雙向通道中的從節點。

0x30

0x20

共享雙向主/從通道

 這是最“高級”的形式,用於2個以上節點共用一個通道的情況。比如一個主節點在一個信道上分別對多個從節點交換數據。

                       表1    ANT通道類型

 

1.1可選擴展分配 [8bit?]

    可選擴展分配通過設定一個字段,可以開啟一些高級的功能,比如抗干擾的頻率捷變功能(freq. agility),以及調試網絡使用的后台搜索通道功能(background scanning channel)。我們到后面再詳細說這些內容。

 

2.無線頻率 [8bit]

    ANT技術使用2.400GHz~2.524GHz頻段也就是2400MHZ~2542MHz進行通信,以1MHz為間隔,划分為125個小頻段使用。一個通道只能工作在一個小頻段上,而不能同時工作在多個小頻段。

    以下公式用於確定節點工作的無線頻率:

                             

     其中無線頻率設定值RF_Frequency_val的取值范圍是  0x00 ~ 0x7c 

 

3.通道ID [16bit+8bit+8bit]

    通道ID包含三個內容:設備號、傳輸類型、設備類型。通道ID是一個通道的基本描述。對於主節點,應當設置其通道ID,表明自己的“屬性”。比如“皇阿瑪”和“大將軍”,都是主節點,都能發送信息,但是一個是理政的“聖旨”一個是打仗的“軍令”,明顯類型不同,必須用設備類型來區分。再比如阿哥們給下邊“傳話”,小太監們怎么知道是哪個阿哥的話呢?從“大阿哥”到“bug”,設備號從一到八,這就好辦了。另外傳輸類型,則可以用於定義某些傳輸特性,留給開發廠商們自由發揮。

    這樣一來,主節點設置好了自己的通道ID,從節點在尋找主節點的時候就可以利用ID來匹配主節點了。這個時候還可以使用0通配多個主節點。

3.1設備號 [16bit]

    取值范圍0x0000 ~ 0xffff.每個節點應擁有唯一的設備號,用於其它節點識別自己的身份。當然,從節點可以使用0通配所有主節點。如果是使用16位字段編號,我們可以計算出,在ANT網絡的一個共享雙向信道中,最多支持2^16-1個從節點,減去的那個1,是主節點。

3.2傳輸類型 [8bit]

    傳輸類型用於定義設備的某些傳輸特征,可以讓開發者們自由發揮。當從設備配對主設備時需要將自己的傳輸類型設置為0。另外,官方的做法是將其最高位的四位與前面的設備號聯用,將設備號域擴展為20bit,然后將其最低的兩位作為共享地址域的使能開關,用於表明有效數據載荷(data payload)中的共享地址域是否啟用,以及長度多少。

3.3設備類型 [8bit]

    取值范圍0x00 ~ 0xff用於將設備(主)按需分類,例如按功能邏輯心率表一類,溫度表一類,這樣設備(從)可以很方便地按照預先設定好的方式與某一類設備通信。8位中的最高位為配對位,表明是否允許該主設備被從設備配對,這個我們到后面的章節專門講。也就是說,一共可以划分2^7個設備類型。

    此外,綜合以上三個參數,如果將全部通道ID域當作設備號域來使用,我們得到ANT網絡理論的最大節點數為2^32,官方數據就是這么來的。

 

4.通道周期 [16bit]

     ANT網絡中,節點按照設定好的通道周期發送信息,范圍0.5Hz~200Hz,即最慢2s一次,最快0.005s一次。通道周期由以下公式設定:

                                           

     Channel_Period_val  取值范圍 163.84 ~ 65536  即   0x00a4 ~ 0xffff

     官方推薦的通道周期是4Hz,也就是設定值為8192 即0x2000。這是在功耗,以及傳輸速率上的折中考慮,因為設備功耗與通道周期相關,周期越小,功耗越大,傳輸速率越快,設備搜索速度越快。

 

5.網絡 [8bit+8*8bit]

    一個ANT網絡由至少2個節點組成,利用網絡這個概念,可以將擁有不同通信規則的節點們區分開來。特定的網絡擁有一套特定的規則,例如ANT+網絡,其實質是由同一領域不同商家構成的開放的行業聯盟。所謂開放是指僅僅對聯盟內成員開放相關技術規格。也就是我們常說的配置方案“profile”。利用profile指定數據格式、通道參數、網絡密鑰(network key)等參數。保證了同一網絡內的各廠家生產的同類型設備之間的互操作性。

    在我看來,ANT+網絡的出現,不僅有助於提高不同廠商間設備的互操作性,更重要的是有助於提高ANT技術的逼格,幫助ANT在某些領域鞏固地位。通過提高准入的門檻,nordic可以輕松地將一大批擅長C2C的天朝寨廠嚇跑,然后吸引資力雄厚的大腕廠商們來投ANT門下,一起抬高技術價格,賺取更多利潤。當大廠們的東西占遍市場之后,借助行業優勢就可以排斥后來技術,這樣的事情尤其會發生在設備生命周期長,性能需求升級不多的領域。即便是有更新更好的技術,如果你不舍得便宜賣,那就賣不動。這一些都是技術層面之外的博弈,你想到什么了? TD對不對,呵呵。

    扯遠了,回到正題。

  • 絡號(network number) :用於標識一個ANT網絡,默認0為公共網絡。
  • 網絡密鑰(Network Key):用於特定網絡中的加密解密“通行證”,與網絡號對應。網絡密鑰提供了有效的安全與訪問控制機制。默認0為公共網絡密鑰,它可以免費使用。

 

  想要申請私有的ANT網絡與網絡key是要交銀子的,nordic這招也就保留了ANT進一步商用的利益。這也是ANT比Zigbee高明的地方。“想要絕對安全的商用?認我當爹就成!”  聯想到前段時間南京物聯和zigbee聯盟的撕逼,不得不說,ANT這些做法符合一個成熟老道的商業公司的行事風格。

    以上就是ANT通道配置中的各個參數的介紹,下一章補充幾個概念后,將給出一個ANT節點配對的通道配置實例。

 

             


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM