码迷,mamicode.com
首页 > 其他好文 > 详细

ANT无线通信技术(2) 通道配置

时间:2015-01-17 12:34:19      阅读:437      评论:0      收藏:0      [点我收藏+]

标签:

    

一、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协议根据对通道的使用方式定义了4种通道类型,使用一个8bit的数据域来定义。所有节点在通信前都需要设定自己使用的通道类型,我们可以理解为,这种“自律”的行为,其实也就是为我们定义节点的主从提供了方便。举个有趣的例子,把主节点比作皇阿玛,从节点比作奴才,那么自然就发现皇阿玛总是发号施令的人,而奴才只有听旨的份。 :D

 

数值

通道类型

描述

0x40

单向主/从通道

仅用于最经典且最“古老”的广播数据类型,节点要么单发,要么单收,因此并不能用于需要网络管理等高级机制的情况。

0x10

双向主通道

 定义节点为双向通道中的主节点。

0x00

双向从通道

 定义节点为双向通道中的从节点。

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]

    每个节点应拥有唯一的设备号,用于其它节点识别自己的身份。当然,从节点可以使用0通配所有主节点。如果是使用16位字段编号,我们可以计算出,在ANT网络的一个共享双向信道中,最多支持2^16-1个从节点,减去的那个1,是主节点。

3.2传输类型 [8bit]

    传输类型用于定义设备的某些传输特征,可以让开发者们自由发挥。官方的做法是将其最高位的四位与前面的设备号联用,将设备号域扩展为20bit,然后将其最低的两位作为共享地址域的使能开关,用于表明有效数据载荷(data payload)中的共享地址域是否启用,以及长度多少。

3.3设备类型 [8bit]

    用于将设备(主)按需分类,例如按功能逻辑心率表一类,温度表一类,这样设备(从)可以很方便地按照预先设定好的方式与某一类设备通信。8位中的最高位为配对位,表明是否允许该主设备被从设备配对,这个我们到后面的章节专门讲。也就是说,一共可以划分2^7个设备类型。

    此外,如果将全部通道ID域当作设备号域来使用,我们得到ANT网络理论的最大节点数为2^32,官方数据就是这么来的。

 

4.通道周期 [16bit]

     设定主节点的发送频率,范围0.5Hz~200Hz,即最慢2s一次,最快0.005s一次。通道周期由以下公式设定:

                                           技术分享

     Channel_Period_val  取值范围 163.84~65536   

     官方推荐的通道周期是4Hz,也就是设定值为8192。这是在功耗,以及传输速率上的折中考虑,因为设备功耗与通道周期相关,周期越小,功耗越大,传输速率越快,设备搜索速度越快。

 

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通道配置中的各个参数的介绍,下一章补充几个概念后,将给出一个ANT节点配对的通道配置实例。

 

             

ANT无线通信技术(2) 通道配置

标签:

原文地址:http://www.cnblogs.com/npwhere/p/4230038.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!