嵌入式實時操作系統 (RTOS) 市場在經歷了多年在整個高科技領域的默默無聞之后,突然變得非常流行。近幾個月來,多年來一直在悄悄幫助嵌入式系統開發人員為其產品添加多任務功能的 RTOS 供應商發現,他們的競爭對手現在可能包括 ARM 甚至谷歌等科技巨頭。根據這些公司自己的說法,他們向 RTOS 領域擴張的動機可以用現在無處不在的三個字母縮寫詞來概括:物聯網。 ???
最初,物聯網和 RTOS 之間的關聯可能并不完全明顯。我們都聽說物聯網將推動大量嵌入式系統的開發,但這些系統對 RTOS 的依賴似乎并沒有引起媒體的太多關注。顯然,ARM、谷歌和許多其他潛在的嵌入式操作系統提供商的假設是大多數物聯網產品將基于 RTOS。 ???
越來越復雜的設備
許多可能導致在物聯網中廣泛采用 RTOS 的因素也存在于傳統的嵌入式系統中,但由于對最新支持互聯網的產品的需求而被放大。復雜性是這種因素的一個典型例子。在高層次上,RTOS 可以被視為管理復雜性的一種手段,并且相對容易想象現有的嵌入式系統隨著它演變為物聯網設備而變得更加復雜。
盡管進行概括總是存在危險,但根據定義,所有物聯網產品都有某些特征。首先,物聯網上的設備必須是“事物”,這是嵌入式系統的一個可笑的通用術語。就像物聯網出現之前存在的無數嵌入式系統一樣,每個“事物”都與外部世界保持某種類型的交互。因此,如圖 1 所示,“事物”必須使用傳感器、執行器或兩者兼而有之。
圖 1:物聯網設備可能有許多非常不同的組件。
僅這一要求就可以激勵開發人員尋求多任務內核的幫助,傳統嵌入式系統中 RTOS 的高采用率就是證明。然而,物聯網設備的復雜性超出了傳感器和執行器所需的復雜性,因為這樣的設備當然必須直接或間接連接到互聯網。設備必須有某種機制來發送和接收數據包。
通信所需的軟件在不同類別的設備之間可能會有很大差異。在某些情況下,完整的協議棧是必要的,而在其他情況下,網關和專用網絡硬件的存在使得只能使用串行驅動程序。然而,在所有設備中,通信需求增加了一定程度的復雜性,因此為使用 RTOS 創造了額外的動力。
電源問題
另一個可能推動 RTOS 在 IoT 中采用的因素是對有效電源管理的廣泛需求。許多互聯網預言家的假設似乎是物聯網上的很大一部分設備將由電池供電,并且有望在沒有任何用戶干預的情況下長時間運行。在這里,RTOS 可以再次證明是非常有益的。
從理論上講,最新的 MCU 很容易實現電源的有效利用,其中許多提供了多種不同的低功耗和睡眠模式。然而,在實踐中,很快就會出現問題,即在負責管理大量不同外圍設備的應用軟件中,應該在何處進入和退出睡眠模式。RTOS 可以通過提供掛鉤來為系統的調度基礎設施配備啟動低功耗操作的代碼,從而簡化此類決策。此外,最注重功耗的 RTOS 具有動態滴答率等功能,可最大限度地減少提供一組強大的多任務服務所需的 CPU 資源。
與時間賽跑?
雖然設計合理的 RTOS 可以幫助多任務系統實現卓越的電源效率,但不能說所有低功耗系統都依賴于 RTOS。同樣,上述復雜性并不要求使用 RTOS。換句話說,幾乎任何應用程序,即使是涉及復雜通信協議和嚴格功耗限制的應用程序,都可以在沒有 RTOS 多任務處理能力的情況下編寫。
在這種情況下,可能促進物聯網設備采用 RTOS 的最重要因素似乎是上市時間問題。在嵌入式系統中,在簡單地能夠做某事和能夠快速、高效且以可重復的方式做某事之間存在著巨大的差異——隨著物聯網的到來變得更加明顯。RTOS 最終為物聯網和其他領域的開發人員提供的是增強、加速項目開發的基礎。
有許多機制,不僅限于軟件本身,RTOS 以及 RTOS 的供應商可以通過這些機制影響嵌入式設備的開發,而這種產品組合確實是一家供應商與另一家供應商的區別所在。雖然每個 RTOS 都有其獨特的功能,但識別一組常見的 RTOS 服務相對容易。對于一部分嵌入式開發人員,尤其是創客和愛好者社區中的許多人來說,這套基本服務是新項目的良好基礎。對于其他開發人員來說,任何 RTOS 都無法克服上市時間的挑戰。為了降低風險并確保項目成功,這些開發人員必須選擇一個經過驗證的 RTOS,它有完整的文檔記錄并由節省時間的支持服務提供支持。
示例平臺
如果要相信經常引用的數字,那么構建物聯網似乎需要來自這兩個陣營的眾多開發人員。目前,物聯網討論在許多圈子中繼續以未來時態進行,但已經有許多項目正在進行中,為連接設備中的 RTOS 使用建立模式。此類產品開發人員可用的解決方案類型的一個典型例子是凌力爾特公司最近發布的 SmartMesh IP 平臺。
圖 2:Linear Technology 的 SmartMesh IP 平臺提供了令人印象深刻的性能和最低的功耗。
借助 SmartMesh IP,開發人員可以使用一系列低成本硬件模塊來構建基于 6LoWPAN 的網狀網絡。這些網絡的基本單元是一個“mote”,如圖 2 所示,它有一個運行 Micrium 的 μC/OS-II RTOS 的 Cortex-M3 CPU 內核。以 RTOS 為基礎,mote 可以支持非常復雜的應用程序代碼,并且能夠實現 10 年或更長時間的電池壽命。6LoWPAN 使用 IPv6 意味著開發人員可以輕松地將其節點連接到網關,利用云的數據收集和分析功能,并將任何網狀網絡轉換為真正的物聯網應用程序。
μC/OS-II RTOS 為開發人員提供的許多功能在其他嵌入式 RTOS 中廣泛可用。然而,特性和功能只是 RTOS 用戶關心的問題之一。當今頂級 RTOS 供應商的名單將包括許多提供文檔、支持、培訓和咨詢服務以及他們的軟件的公司,這種模式對于嵌入式設計工程師來說起著絕對重要的作用。
雖然可以肯定 RTOS 將經常用于 IoT 項目,但并不完全清楚 Google 和其他 RTOS 新來者將直接與該行業的長期供應商競爭。說物聯網需要實時操作系統可能會產生誤導。實際上可能需要多個 RTOS,每個 RTOS 都服務于一組定義明確的開發人員,并在為滿足這些開發人員的需求而量身定制的模型下提供。
審核編輯 黃昊宇
評論
查看更多