發布日期:2022-05-25 點擊率:44
線數據,這似乎是個不可調和的矛盾。但是有個神奇的功能,空中喚醒。節點即使處于休眠,當需要節點工作時可以直接通過無線手段喚醒該節點。很多人第一次聽到,都覺得不可思議。希望看完今天這篇文章,你能搞明白這件事。
本文首發于微信公眾號twowinter,轉載請注明作者:http://blog.csdn.net/iotisan/
點此進入公眾號查看。
本尊貴為IoT小能手,物聯網世界的什么東西沒見過。(啊!吹個牛逼而已,用得著飛磚頭過來嗎!過分)
這個牛逼功能的英文名是WOR(Wake On Radio)。
它在很多上游芯片方案中已經有應用,TI系列的無線芯片中很多都帶有這個功能,比如CC1310,以及我正在玩的LoRa芯片SX1276。
它在很多網絡協議中也已經有應用,B-MAC,X-MAC,甚至大家常見的ZigBee協議中也有一個很少人知道的概念“休眠路由”。
它在很多物聯網操作系統中也有應用,比如TinyOS,以及在我心中排名第一的Contiki,稱之為“radio duty cycling mechanism”。
原理簡單說,就是在有效數據前頭加一段較長的前導碼,無線節點進行周期性地喚醒,監聽下網絡。一旦捕捉到前導碼就進入正常的接收流程,若沒有就立即休眠,等待下一次喚醒。
為了讓數據傳輸時,無線節點不會錯過有效數據,機制上要保證前導碼的持續時間要略長于節點的休眠時間。
圖片來源于LoRa官方AN文檔《LoraLowEnergyDesign_STD.pdf》。
上面是不帶應答的情況,如果是單播方式需要應答的話,情況也差不多。
好了,有了如上的初步解釋,大家應該差不多明白了。接下去的內容會輕微燒腦,希望我的講解沒把大家繞暈。
圍繞這個基礎原理,有一些人做了優化演繹,大致有這些情況。
1.前導碼變種
Contiki的作者Adam Dunkels(假裝對外國人很熟,是比較簡單地一項裝逼手段),他在2011年的論文中介紹了其空中喚醒機制,他將喚醒探針(也就是前導碼)做了變化,與普通前導碼0101的循環不同,它是將數據包做了多次循環發送。
上面是不帶應答的情況,而應答的空中喚醒示意圖是這樣:
相同的做法也出現在TinyOS中。
2.快速休眠
多數據包的前導碼方式額外帶來了第二種優化方法,可以讓節點更加的省電。通常空中喚醒最大難點是會被噪音誤喚醒,因為監測前導碼是采用信道監聽,判斷信道的RSSI是否大于某個閾值。一旦有噪音,則這次喚醒就白白耗了一個周期的電。
但是噪音有一個特點是,無規則,持續性。由于多個數據包做的前導碼中帶有固定間隔的休息時間,因此這個休息時間可以用來將前導碼和噪音有效區別開。如果不小心被噪音喚醒,節點在接下來沒檢測到靜默周期,則可確認是噪音,那么就立即睡眠以省電。如圖:
Contiki由于是一個通用型系統,因此這種快速休眠處理方式是在軟件層面的優化處理。
LoRa的快速休眠方式則有所不同,由于調制技術優勢使得其CAD能從噪聲中判斷有效前導碼,所以在第一階段就能避免誤喚醒。另外還有一個優點是在硬件內部(如SX1276系列)就做了優化,可以在未收到完整數據包下就判斷是否發給本地址,從而來節點更快做出應對處理。
3.傳輸鎖相
用通俗的話來講解深奧的內容一直是本尊的強項,且聽我道來:
節點A在與中心節點交互過一次之后,中心節點就記住了節點A的發送時刻(所謂的相)和周期。因此在下一次要喚醒節點A的時候,只需根據預估的節點A的喚醒時間點,準點去喚醒節點A就可以了。
這一個優化,雖然沒有給節點A帶來功耗上的優化,卻降低了整個網絡的負載,提高了信道的利用率。
到此為止,關于空中喚醒技術的原理性講解基本結束。本文只是知識點科普,限于個人水平和精力還無法講更多更深的東西。如果你是工程師,文中涉及一些概念希望能引起你的注意,抓住關鍵詞去搜索延伸,你應該會得到更多。
最直接的,空中喚醒技術在很多行業都是個剛需,可以為你負責的產品增加些賣點,也許你就因此升職加薪走向人生巔峰。
其次,你會從一個更高的高度對其他廠家的空中喚醒技術有些認識。我給大家舉個例子,限于行業身份,我就不公開說是哪家企業了。
XX公司的喚醒算法
1. 采用CAD偵聽,讓LoRa終端更節能;采用鎖相同步喚醒技術,讓LoRa通信帶寬更佳利用;
2. 采用快速地址匹配技術,使“非目標地址”LoRa終端快速休眠;
3. 采用跳頻技術,讓喚醒和數據通信從頻率是分開,減少干擾;
舉這個例子,想告訴大家,理解了技術原理后,你就可以看懂別人說的是什么,是否真的很厲害。
當然不是說這家公司的產品不過爾爾,你可能理解了這個原理,但實現這些功能的背后肯定有很多付出和技術沉淀,要看到別人有哪些值得學習的地方,紙上談兵永遠是最簡單的事情。
在整理這些資料的時候,有一個感悟,雖然這個世界上的很多東西已經很難有大的創新了,但還是有很多優秀的人,踏實地利用自己才華貢獻一點點小創新,幫助這個世界變地更美好。在此向Adam Dunkels等前輩致敬!
這篇文章寫地比較用心,從技術深度上和自我思考的深度上都是目前已產出的文章中比較靠前的。希望你也能喜歡,歡迎留言,收藏,甚至分享它。
下一篇: PLC、DCS、FCS三大控
上一篇: SX1301吞吐量是SX1276