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。;)

相關文章
相關標籤/搜索