Previously,我们说了配置ANT通道相关的几个参数,但想要完成节点的通道配置与配对的全过程,我们还有几个概念与参数需要提前了解。
一、典型的ANT节点结构
这里我并不会过多地介绍ANT模块的硬件模块,但要说明的是,ANT作为一种高度集成且精简高效的商用私有协议,nordic提供了完整SoC无线解决方案。比如nRF24APx系列,nRF51xxx系列等,都是常用的ANT模块。只需要配合极少数的外部MCU资源就可以完成应用的开发。下图是一个典型的ANT节点结构图,ANT模块通过一个异步或同步串口连接外部MCU。
二、ANT数据类型
ANT数据类型并不是ANT通道配置的一部分,相反它只是属于数据消息的一个属性。那么也就是说,节点可以在不改变通道配置的情况下,随时更改自己发送的数据类型。你可能会问,是不是任何类型的数据都可以用在任何通道(单/双,独立/共享)中呢?告诉你几乎就是是这样!唯一的限制是,单向通道中只能发送广播数据类型。
(1)广播数据 0x4E
广播数据是ANT系统默认的发据类型,也是应用最广泛、最基本、最简单的一种类型。发送广播数据时节点消耗的能量,和占用的无线带宽也是最低的。在那些允许偶尔丢包,无需确认机制,对数据完整性不是特别严厉的通信中,它无疑是最好的选择。
广播的基本形式是,按照设定的通道周期,连续地自动发送,当无新数据时,则重发上一个数据。
若想在反向信道上使用广播数据,从节点需要专门设置一下,且设置一次只发送一次,不会自动连续发送。
(2)应答数据 0x4F
准确来说,应该叫做“(要求)有应答的数据”。在双向通道中,任意节点均可发送应答数据,收到的节点将回复一个应答信息给源设备,若源设备收不到应答信息,并不会自动重发。
应答数据可以与广播数据混用,以实现某些特殊功能。当然要考虑到,使用应答数据的功耗是比较高的。应答数据尤其适合于传输控制数据。
另外,节点应答数据传输结束后,会自动返回到广播模式,并广播上一个数据。
(3)突发数据 0x50
当节点有大量数据需要传输时,应使用突发数据类型。突发数据由一系列快速连续带应答的数据包组成,每个数据包都会在无应答(丢包)时重传5次,若仍无应答,整个突发传输将终止,ANT模块会发送一个错误提示信息给MCU。若整个传输顺利完成MCU也会受到一个提示成功的信息。
突发数据需要消耗较多资源,因此其优先级高于广播信息和应答信息。那么也就是说,对于一个多信道节点,收发突发数据的那个信道会被ANT模块优先处理。而这也带来一个问题:因为突发的各个数据包相互并无同步机制(synchronized off each other),因此若该突发传输持续时间较长,则可能产生时间漂移导致2个节点都失去对原有信道的同步,从节点于是回到搜索模式或搜索超时模式。
其实可以将突发数据比作一连串的应答数据组合而成,不同点在于应答数据对每一个包进行确认,而突发数据只对整个数据传输进行确认。
接下来我将介绍ANT的几种典型拓扑结构,并借此引出独立(independent)/共享(shared)通道的概念。
三、ANT网络拓扑结构
未完待续