ANT+ 之【心率传感器设计】【上】

“Don't ever underestimate the heart of a champion.”  ——Rudy Tomjanovich网络

对于这句堪称Clutch City精神写照的话,我却也有着另外一方面的理解。性能

那么即是:对于专业运动训练来说,心率表真的是最最重要的辅助设备没有之一了。spa

此次写的主题就是心率传感器(HRM,HeartRateMonitor)。设计

 

 

 

1、回顾ANT+rest

  以前的文章中提到了ANT官方对于多种不一样类型的传感应用,专门制定了一套设计规范,那就是【ANT+】。blog

  ANT+是基于ANT技术的一种受控网络(managed network)。它对特定类型的传感器,以及相应的接收终端的设计都给出了标准化的规范与定义。这样作的好处不言而喻----最大限度地保证了不一样制造商生产的ANT产品都能具备良好的互操做性、兼容性。而这一点对于创建一个强大的ANT终端生态链无疑是相当重要的。开发

  本文以最多见的心率检测应用为例,介绍ANT+的心率传感器设计规范。(不含心率接收终端)产品

 

2、ANT+心率传感应用it

  能够说心率监测应用是ANT技术表现最出色的领域之一,尤为是在面临BLE等技术的有利竞争时,ANT凭借其优良的性能表现,紧紧坚守着至关比例的市场份额。典型的ANT+心率监测应用以下图所示。io

                                  

  在一个ANT通道中,传感器仅做为数据发送者,将采集到的心率数据发送至接收终端。接收终端每每是具备屏幕、及存储器的设备,负责将接收到的信息进行处理并显示。

  传输的数据具备两种数据页格式,Main Data Pages和Background Data Pages。数据传输的频率固定为4Hz

 

3、通道配置

  以前介绍过ANT通道配置的基本参数,在一个ANT+网络中,对于特定的应用,其通道配置参数都各不相同。HRM设备类型参数则专门定义为120(0x78)。RF频率被限定为2.457GHz上。咱们知道2.4GHz的ISM频段,其范围一般是2.4~2.483GHz,例如802.11a/b/g/n协议族,而ANT可用的频段范围在2.400~2.524GHz之间,略大于前者。实际上,考虑到ANT的TDMA特性,并无必要对于每一个通道配置不一样的RF频率。

  通道参数 Transmitter Receiver
网络key ANT+ key ANT+ key
RF 频率 2.457GHz (0x39) 2.457GHz (0x39)
通道ID 设备ID 1-65535 0-1-65535 (0 用于配对)
设备类型 120 (0x78) 120 (0x78)
传输类型 1 (0x01) 0 (0x00用于配对)
  通道类型 0x10 (双向主通道)                        0x00 (双向从通道)
通道周期 8070 (4.06Hz) 8070-16140-32280 (4.06-2.03-1.02Hz)
数据类型 Broadcast Broadcast (可选Ack Burst)

 

4、数据页格式

  ANT+为HRM定义了2类共5种Data Page格式。各个Page之间即包含共有信息,也包含专有信息。

Main Data Page:

      page0,为简单的心率显示终端(如跑步机)提供无需计算或存储,可直接送显的实时心率,属于“万金油”类型数据。

      page4,最经常使用的格式数据。包含了先后两次心跳发生的时间差,为计算实时心室搏动间距R-R Interval提供了可能。

Background Data Page:

      page1,传感器累计工做时间,用于记录传感器的电池消耗情况。终端借此实现低电量警示功能。

      page2,OEM生产商ID信息,须要向Nordic交钱申请。

      page3,OEM制造商ID信息。

根据其做用的不一样,各个page的发送周期也必然不一样。Main类的数据发送频率为4Hz,而Background的信息由于相对没那么重要,其数据发送频率为每65个page发送一次。

PS:接收端能够选择以1~2~4Hz为频率接收数据,响应地会带来功耗以及数据刷新率的改变,须要特别考虑。

 

  byte 0 byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7
page 0 0x00/0x80

0xFF

并无什么卵用

当次心跳时间

0~64s循环计数

步长1/1024s

LSB------MSB

心跳累计

0~255

循环

瞬时心率

1-255

bpm

0x00无效

page 4 0x04/0x84

制造商自定义

接收端不解读

前次心跳时间

0~64s循环计数

步长1/1024s

LSB------MSB

page 1 0x01/0x81

0~0xFFFFFF

上电计数,用于记录电池使用时间

每2s+1,MAX 9320h

page 2 0x02/0x82 制造商ID 设备ID扩展字段
page 3 0x03/0x83 硬件版本号 软件版本号 模块版本号

 

在Byte 0中有一个toggle bits,其做用在于:当先后消息相同,即心率低于数据发送速率时,用以提醒接收端新消息的到来。

另外值得一提的是,使用page4相比“万金油”page0的优点在于,利用先后两次心跳的时间间隔计算心率,比直接获得的瞬时心率更加稳定可靠。因此绝大多数现有ANT+HRM都是使用page4来传输数据。 

最后还有一点,对于开发者,制造商ID可设置为0xFF。 

 

 

好了,ANT+的心率传感器设计规范到此就介绍完了。并无很复杂的样子~ ANT毕竟还算是个developer friendly的协议嘛~

下次将介绍心率传感器应用层相关的一些开发。JUST HRBEAT iT。;)

相关文章
相关标签/搜索