ANT低功耗無線網(wǎng)絡設計
引言
信息技術(shù)的不斷進步使越來越多的隨身電子設備和信息家電出現(xiàn)在人們的日常生活中。這些設備給人們的生活帶來便利,但凌亂的線纜和頻繁的插拔也造成了諸多的使用不便。為了擺脫物理連接上的限制,使各種設備能夠自由地互聯(lián)、隨時隨地地接入網(wǎng)絡,人們不斷探索新的短距離無線通信技術(shù)。常見的短距離無線通信技術(shù)包括紅外、W1-F1、藍牙、UWB和ZigBee等,它們的技術(shù)特點各有不同,但尚沒有一種技術(shù)可以滿足所有的應用需求。其中,藍牙和ZigBee都是針對低功耗應用提出的無線通信協(xié)議。但到目前為止,它們還難以支持電池供電的設備工作數(shù)年,低功耗性能不盡如人意。
ANT協(xié)議是由Dynastream、Nordic等公司推出的2.4GHz短距離無線網(wǎng)絡標準,已經(jīng)在健康、醫(yī)療和運動等領(lǐng)域得到成功應用。與Wi-Fi、藍牙和ZigBee等同樣工作于2.4GHz的短距離無線通信和組網(wǎng)技術(shù)相比,ANT協(xié)議在功耗、系統(tǒng)成本和開發(fā)周期等方面的性能都具備較大的競爭優(yōu)勢心。
1ANT協(xié)議
1.1ANT協(xié)議概述
ANT網(wǎng)絡的配置和控制很方便,圖1所示是ANT協(xié)議棧的OSI模型。生產(chǎn)廠商預先將ANT協(xié)議棧封裝在芯片內(nèi)部,其中包括物理層、數(shù)據(jù)鏈路層、網(wǎng)絡層和傳輸層的處理,以及低級別的網(wǎng)絡安全機制。開發(fā)者設計的應用層軟件只需簡單配置ANT芯片,就可完成組網(wǎng)和通信等操作o
ANT采用對等網(wǎng)絡模型,每個節(jié)點都具有相同的電路結(jié)構(gòu)和網(wǎng)絡功能,根據(jù)配置的不同在網(wǎng)絡中承擔不同的任務。ANT支持點對點、星形和樹形網(wǎng)絡拓撲。在設計之初,ANT就不像ZigBee那樣以構(gòu)造復雜的網(wǎng)狀拓撲為目標。一方面是因為構(gòu)造復雜的網(wǎng)狀網(wǎng)絡需要消耗較多的運算和能量資源,這對依靠電池供電的應用來說是難以承受的;另一方面,以點對點、星形和樹形拓撲為基礎構(gòu)造的拓撲結(jié)構(gòu)足以解決實際應用中的組網(wǎng)問題。ANT網(wǎng)絡的主要技術(shù)特點包括:
(1)超低功耗。ANT節(jié)點在工作和休眠時的電流平均值僅為10μA和0.5μA,可采用小型紐扣電池供電并持續(xù)工作數(shù)年。
(2)系統(tǒng)成本低。由于無線網(wǎng)絡協(xié)議棧集成在ANT芯片內(nèi)部,ANT節(jié)點的運行僅需要2KB的外部處理器資源,可以采用低成本的單片機作為外部處理器。
(3)開發(fā)效率高。開發(fā)者不需了解ANT協(xié)議的實現(xiàn)細節(jié),按要求簡單配置即可構(gòu)造不同類型的網(wǎng)絡。
(4)可靠性高。采用跳頻通信技術(shù)避免其他2.4GHz無線通信設備的干擾,使用基于時分多址的自適應信道接入技術(shù)保證信道內(nèi)無線通信的可靠性。
(5)組網(wǎng)容量大。最多可同時支持2個節(jié)點。
1.2接口
外部處理器與ANT芯片的硬件通信接口可以采用同步或異步串行接口,乃至普通I/O口來實現(xiàn)叫而在軟件接口方面,處理器則通過消息驅(qū)動的方式與ANT芯片進行通信。具體來說,處理器向ANT芯片發(fā)送規(guī)定格式的命令來配置網(wǎng)絡和發(fā)送數(shù)據(jù);而當接收到其他節(jié)點發(fā)送的射頻數(shù)據(jù)時,ANT芯片也會按照規(guī)定格式將數(shù)據(jù)幀發(fā)送給處理器。
ANT串行數(shù)據(jù)幀采用低位前導的方式傳輸字節(jié),均以同步碼開始、校驗碼結(jié)束,其基本格式如圖2所示。
數(shù)據(jù)幀各組成部分含義如下:
同步碼(1字節(jié)):串行數(shù)據(jù)幀的發(fā)送方向。0xA5表示處理器向ANT芯片發(fā)送數(shù)據(jù),ANT芯片向處理器發(fā)送的數(shù)據(jù)則以0xA4作為同步幀頭。
幀長(1字節(jié)):用戶數(shù)據(jù)的字節(jié)個數(shù),最多不超過9個字節(jié)。
數(shù)據(jù)(N字節(jié)):用戶定義的通信數(shù)據(jù)。
校驗碼(1字節(jié)):等于之前所有數(shù)據(jù)字節(jié)的異或值。
1.3通道
ANT基于通道(channel)進行網(wǎng)絡管理和通信控制。ANT節(jié)點需要配置正確的通道參數(shù)才能進行通信,因此可將通道看作節(jié)點在ANT網(wǎng)絡中進行數(shù)據(jù)交換的通信路徑。ANT網(wǎng)絡有獨立和共享2種通道:獨立通道包括1個主節(jié)點和1個從節(jié)點,共享通道則可由1個主節(jié)點和多個從節(jié)點組成。
ANT網(wǎng)絡中的某個節(jié)點可以同時屬于多個網(wǎng)絡通道,且在不同的通道上擔任不同的網(wǎng)絡角色。通過這種組網(wǎng)方式,ANT節(jié)點既可以作為數(shù)據(jù)包的主動發(fā)送方,也可以是被動接收方,或者成為中繼數(shù)據(jù)包的路由節(jié)點。ANT節(jié)點可以隨時加入或離開網(wǎng)絡,而不會對網(wǎng)絡拓撲和數(shù)據(jù)傳輸造成影響。
ANT網(wǎng)絡的通道參數(shù)包括:
(1)通道類型:包括單發(fā)送通道、單接收通道、雙向通道或共享雙向通道,規(guī)定了通道中數(shù)據(jù)的基本傳輸方向。單發(fā)送/接收通道只能傳輸前向數(shù)據(jù),即主機向從機發(fā)送消息,不能反向傳輸。雙向通道可以進行雙向數(shù)據(jù)傳輸。例如,設置從節(jié)點的通道類型為雙向通道,那么該從節(jié)點主要接收通道主機發(fā)送的數(shù)據(jù),但也可以通過此通道向主機發(fā)送數(shù)據(jù)。共享雙向通道是雙向通道的擴展類型,可用于一個主節(jié)點需要與多個從節(jié)點進行雙向數(shù)據(jù)傳輸?shù)那闆r。
⑵通道ID:規(guī)定了通道的傳輸類型、設備類型和設備號,是一個通道的最基本的特性。為建立一個通道,主機必須指定通道ID,而加入該通道的從機必須設置與主機相匹配的通道ID,才能與主機通信。
工作頻率:規(guī)定了通道無線通信的中心頻率。ANT共支持125個工作頻率。在沒有使用跳頻工作模式的情況下,一個通道在設定工作頻率后將持續(xù)工作于固定的工作頻率。如果在運行過程中改變通道工作頻率,那么該通道上的主、從機必須同時變更到新的工作頻率上才能繼續(xù)正常通信。工作頻率設定公式如下:
1(MHz)
通道周期:規(guī)定了通道中主機定時發(fā)送數(shù)據(jù)的周期。
ANT通道的數(shù)據(jù)傳輸頻率范圍為0.5~200Hz,具體上限根據(jù)
ANT芯片的不同而有所區(qū)別。通道周期的計算公式如下:
例如,在一個應用中要求每秒傳輸4次數(shù)據(jù),即通道的數(shù)據(jù)傳輸頻率為4Hz,通道周期就應設為8192。一般來說,數(shù)據(jù)傳輸頻率越高,通信延遲越小,但消耗的能量也會增加。
網(wǎng)絡類型:設置ANT網(wǎng)絡是私有的、受管理的還是公開的。通過規(guī)定網(wǎng)絡號和網(wǎng)絡密鑰來限制ANT通道的訪問范圍,以針對用戶的不同需求來增加網(wǎng)絡的互操作性,或加強網(wǎng)絡的私密性。
1.4數(shù)據(jù)類型
ANT支持3種類型的數(shù)據(jù)的傳輸,分別是廣播數(shù)據(jù)、帶應答數(shù)據(jù)和突發(fā)數(shù)據(jù)。
廣播數(shù)據(jù)是ANT網(wǎng)絡的基本數(shù)據(jù)類型,是單向通道唯一可用的數(shù)據(jù)類型。在每個通道時隙由主機發(fā)送給從機,從機不進行應答。廣播數(shù)據(jù)適用于對功耗要求高、可靠性要求較低的應用。
帶應答數(shù)據(jù)是具有確認機制的數(shù)據(jù)類型。發(fā)送節(jié)點的處理器會被通知數(shù)據(jù)是否發(fā)送成功,如果失敗,發(fā)送節(jié)點可以重傳數(shù)據(jù)。帶應答數(shù)據(jù)適用于對通信可靠性和數(shù)據(jù)完整性要求高的應用。
突發(fā)數(shù)據(jù)由一系列快速連續(xù)帶應答的數(shù)據(jù)幀組成,最大數(shù)據(jù)吞吐量為20Kb/s。突發(fā)數(shù)據(jù)適用于需要快速傳輸大量信息的應用。
1.5配對
在開啟一個通道后,主機會定時在通道時隙廣播通道ID。為了與通道主機建立通信聯(lián)系,從機在開機后要根據(jù)其通道ID配置來捜索相匹配的主機。在沒有配置或部分配置通道參數(shù)的情況下,從機可以利用配對機制,使用通配字符串在網(wǎng)絡特定范圍內(nèi)捜索主機,并獲得主機的通道參數(shù)。
從機使用通配符匹配可能在其通信范圍內(nèi)捜索到多個主機。在這種情況下,從機首先捜索到的主機也許并非目標主機。從機可以通過ANT的鄰近捜索功能標明捜索到的最近到最遠的10個主機,以方便從中選擇合適的主機進行通信。
根據(jù)應用的需要,節(jié)點配對可以是暫時、半永久性或永久的。暫時配對的持續(xù)時間取決于獲取數(shù)據(jù)所需的時間。半永久性配對的持續(xù)時間取決于通道的維持時間。如果需要永久配對,從機應將主機的通道ID保存在非易失性存儲器中,用于斷電后重新開啟通信通道。
2ANT網(wǎng)絡設計
2.1硬件設計
圖3所示是ANT節(jié)點電路的結(jié)構(gòu)框圖?;镜腁NT節(jié)點由處理器、ANT網(wǎng)絡芯片、信息顯示、時鐘、調(diào)試及通信接口構(gòu)成。根據(jù)實際應用的要求,為ANT節(jié)點配置傳感器或控制器,可以實現(xiàn)環(huán)境參數(shù)的監(jiān)測和家用電器的控制。
ANT節(jié)點的處理器選用了TI公司的16位超低功耗單片機MSP430F5418A冏。它的外設功能豐富,集成UART、SPI、I2C等通信接口,便于與外部系統(tǒng)互聯(lián)。ANT網(wǎng)絡芯片采用了Nordic公司推出的第二代單片ANT解決方案產(chǎn)品nRF24AP2[9]。它集成了數(shù)據(jù)接口、電源管理、片內(nèi)振蕩器、超低功耗射頻收發(fā)器和ANT協(xié)議棧,兼容第一代ANT解決方案產(chǎn)品nRF24AP1,支持不同廠家的ANT產(chǎn)品的互通。nRF24AP2按支持通道數(shù)的不同,可分為兩種型號:單通道芯片nRF24AP2-1CH可以用于網(wǎng)絡末端節(jié)點;而8通道芯片nRF24AP2-8CH可以用于網(wǎng)絡中心節(jié)點,從8個ANT通道中獲取節(jié)點數(shù)據(jù)。單片機MSP430F5418A通過異步串口與ANT芯片nRF24AP2通信,其電路接口如圖4所示。
2.2軟件設計
該系統(tǒng)的網(wǎng)絡拓撲如圖5所示。6個節(jié)點構(gòu)成ANT實驗網(wǎng)絡,可實現(xiàn)傳感器和家用電器等設備的互聯(lián)。其中,節(jié)點G作為ANT網(wǎng)絡的網(wǎng)關(guān),與電腦或手機等設備相連接,一方面接收用戶指令并下發(fā)給節(jié)點以執(zhí)行相應的操作,另一方面把ANT節(jié)點采集到的傳感器數(shù)據(jù)上傳到因特網(wǎng)上。節(jié)點R、N1和N2可以直接與節(jié)點G通信。節(jié)點N3和N4則位于節(jié)點G的通信范圍以外,它們與節(jié)點G的通信需要通過路由節(jié)點R進行中繼。因此,網(wǎng)絡中的節(jié)點可按功能分為網(wǎng)關(guān)節(jié)點G、路由節(jié)點R以及終端節(jié)點N1~N4。在網(wǎng)關(guān)節(jié)點G發(fā)送命令時,路由節(jié)點R除了響應針對自己的命令,還要在網(wǎng)關(guān)節(jié)點G和終端節(jié)點N3、N4之間進行命令和應答的中繼轉(zhuǎn)發(fā)。
3ANT網(wǎng)絡設計
3.1通道設置流程
本網(wǎng)絡采用兩個通道進行設計。在通道1中,節(jié)點G為主機,節(jié)點R、N1和N2為從機;在通道2中,節(jié)點R為主機,N3和N4為從機。通道配置流程如圖6所示。
圖6通道設置流程
ANT網(wǎng)絡類型采用公共網(wǎng)絡及公共網(wǎng)絡密鑰,設置值均為0。通道類型采用共享雙向通道,主機設置為共享雙向發(fā)送,從機設置為共享雙向接收。對于通道ID,主機的傳輸類型、設備類型和設備號分別為3、4和4,工作于通道1和通道2的從機的設置分別與其所在通道的主機相同;而對于通道周期,考慮到智能家居應用對通信延時的要求較低,為了降低功耗,信息傳輸頻率設為0.5Hz。為了保證網(wǎng)絡通信覆蓋范圍,發(fā)射功率采用nRF24AP2芯片的最大發(fā)射功率0dBm;而工作頻率則采用ANT網(wǎng)絡的默認工作頻率2466MHz。對于數(shù)據(jù)類型,無論是前向和反向傳輸,均采用廣播數(shù)據(jù)類型。
3.2低功耗設計
nRF24AP2在異步串行通信模式下的電源功耗狀態(tài)如表1所列。處于激活狀態(tài)時,nRF24AP2可以與單片機進行串口通信,但工作電流較大。nRF24AP2在空閑、睡眠和掛起狀態(tài)時的工作電流相近,但ANT通道在空閑和掛起狀態(tài)是關(guān)閉的,這就意味著當處于空閑和掛起狀態(tài)時,nRF24AP2不能接收其他ANT節(jié)點從射頻通道發(fā)送的數(shù)據(jù)。在空閑和睡眠狀態(tài)時nRF24AP2能保存通道設置的參數(shù),而進入掛起和深度睡眠狀態(tài)將導致ANT復位,從而丟失未保存的通道參數(shù)。
為了獲得理想的低功耗性能,ANT節(jié)點采用睡眠-喚醒的工作機制。單片機和ANT芯片在不工作時分別處于LPM3低功耗和睡眠狀態(tài),由定時、串口通信等外部中斷觸發(fā)單片機進入工作狀態(tài)。當有數(shù)據(jù)需要發(fā)送時,單片機激活nRF24AP2并進行串口通信。完成通信后,單片機使nRF24AP2進入睡眠狀態(tài),然后退出中斷處理程序,返回低功耗LPM3狀態(tài)。3.3軟件流程
網(wǎng)關(guān)節(jié)點G的工作流程如圖7(a)所示。上電后,首先進行單片機的初始化:配置時鐘、異步串口的波特率,使能串口和定時器中斷等。初始化完成后,網(wǎng)關(guān)節(jié)點G還需對nRF24AP2進行操作:上電復位、配置通道參數(shù)并使其進入睡眠狀態(tài)。完成ANT配置后,單片機進入低功耗狀態(tài)。網(wǎng)關(guān)節(jié)點G會定時輪詢網(wǎng)絡中節(jié)點的工作狀態(tài)。其中,節(jié)點R、N1和N2位于節(jié)點G的通信范圍內(nèi),因此節(jié)點G可以喚醒ANT芯片nRF24AP2,直接通過通道1向它們發(fā)送命令。節(jié)點N3和N4位于節(jié)點G的通信范圍之外,因此在向它們發(fā)送命令時節(jié)點G需要先在通道1上把命令發(fā)送給路由節(jié)點R,再由節(jié)點R在通道2上將命令轉(zhuǎn)發(fā)給節(jié)點N3和N4。接收到上位機命令和ANT串行數(shù)據(jù)會觸發(fā)單片機進入不同的串口中斷處理程序。當接收到上位機命令時,節(jié)點G先對數(shù)據(jù)幀進行解析處理,得到目的地址后向節(jié)點發(fā)送命令。當接收到ANT串行數(shù)據(jù)時,節(jié)點G則根據(jù)應答節(jié)點地址更新其狀態(tài)信息。
路由節(jié)點R的工作流程如圖7(b)所示。單片機在完成初始化和對nRF24AP2的配置后進入低功耗狀態(tài)。由于路由節(jié)點R同時工作在通道1和2上,因此它會接收到來自2個通道的數(shù)據(jù)。如果接收到網(wǎng)關(guān)節(jié)點G從通道1發(fā)送的命令,節(jié)點R應答后接著判斷命令的目的地址,如果是發(fā)送給節(jié)點N3或N4的,則在通道2上分別向節(jié)點N3或N4轉(zhuǎn)發(fā)命令;如果命令是發(fā)送給自己的,貝謎出中斷處理。如果接收到終端節(jié)點N3和N4從通道2發(fā)送的應答數(shù)據(jù),節(jié)點R會更新它們的本地狀態(tài)。
終端節(jié)點N1~N4的功能比較簡單。在進行單片機初始化和nRF24AP2配置后,單片機和ANT芯片就分別處于低功耗和睡眠狀態(tài)。nRF24AP2接收到主機數(shù)據(jù)后回到激活狀態(tài),并發(fā)送串行數(shù)據(jù)觸發(fā)單片機進入串口中斷處理程序。單片機應答主機并按命令進行相應操作后,再次返回低功耗狀態(tài)。
4測試及性能分析
4.1可靠性
通過數(shù)據(jù)傳輸?shù)膩G包情況來測試網(wǎng)絡通信的可靠性。在測試中,網(wǎng)關(guān)節(jié)點G連接到上位機,將上位機輸出的開/關(guān)命令發(fā)送給不同節(jié)點。如果指定節(jié)點不能按照上位機命令調(diào)整其LED指示燈的狀態(tài),說明網(wǎng)絡通信出現(xiàn)丟包的情況。反之,則說明數(shù)據(jù)通信可靠。丟包率的測試結(jié)果如表2所列。測試結(jié)果說明,ANT網(wǎng)絡的通信可靠,這也是它能在醫(yī)療、健康等領(lǐng)域得到廣泛應用的原因。
4.2功耗估計
ANT節(jié)點的功耗主要用于維持單片機和ANT芯片的工作。MSP430F5418A的工作電流和低功耗LPM3電流分別為330nA和2.1pA。nRF24AP2芯片的平均工作電流可利用Dynastream公司提供的功耗預測工具[10]估計得到。當串口波特率為9600b/s時,網(wǎng)關(guān)節(jié)點G、路由節(jié)點R和終端節(jié)點Nx的nRF24AP2芯片的平均工作電流分別為103nA、168pA和68nA。假設網(wǎng)關(guān)節(jié)點G的每次輪詢持續(xù)1min,ANT節(jié)點在不同輪詢周期下的平均工作電流估計如表3所列。結(jié)果表明,ANT網(wǎng)絡具有極低的工作功耗。
5結(jié)語
本文介紹了ANT協(xié)議及其基本概念,同時基于MSP430F5418A和nRF24AP2進行了ANT節(jié)點和多跳無線網(wǎng)絡的設計。測試和分析結(jié)果證明,ANT無線網(wǎng)絡可靠性高、功耗低,適合應用于體域網(wǎng)、個域網(wǎng)和無線傳感器網(wǎng)絡等強調(diào)低功耗和低成本的領(lǐng)域。
20211021_617189268dba6__ANT低功耗無線網(wǎng)絡設計