江文瑞 譯,何小慶 審校
日益增長的數據驅動世界的需求意味著物聯(lián)網設備將需要強大和可靠的軟件。因此,你將需要一個實時操作系統(tǒng)(RTOS)。
正如在《第2篇:嵌入式計算設備》中討論的那樣:在Micrium公司看來,物聯(lián)網的設備可以作為在網絡上發(fā)送和接收信息的嵌入式系統(tǒng)。盡管許多嵌入式系統(tǒng)可以使用并不復雜的軟件管理,但網絡設備需要更強大的系統(tǒng)軟件。
物聯(lián)網設備的軟件必須具有:
◆可擴展性,以適應范圍廣泛的不同類別的設備。
◆模塊化,可以只選擇滿足嚴格的RAM需求的組件。
◆連通性,可以通過WiFi、以太網、USB或藍牙來實現(xiàn)設備之間的數據傳輸。
◆可靠性,設備需要通過關鍵性的安全應用認證。
不可否認,Linux是一個強大的、對開發(fā)人員友好的操作系統(tǒng),其作為物聯(lián)網設備平臺的操作系統(tǒng)也已受到重視。對于許多應用,Linux已經成長為一個主流的嵌入式操作系統(tǒng)。
然而,與實時操作系統(tǒng)相比,Linux有一個缺點——存儲器容量大。雖然Linux可以通過刪除工具將嵌入式系統(tǒng)中不需要的系統(tǒng)服務裁減下來,但它仍然是一個大型軟件,無法運行在8或16位微控制器上,甚至是許多新的32位微控制器,對于Linux內核也沒有足夠的板上(或者片上-見譯者注)內存。ARM Cortex-M系列就是一個很好的例子:有數百種基于流行的Cortex-M架構的微控制器,通常它們的板上內存只有幾百KB,Linux很難在這些芯片上運行。
[譯者注]:現(xiàn)在許多的微控制器一般都支持大容量的片上內存,所以不僅僅是板子內存,還包括片上內存。
無疑Linux將在嵌入式設備中被廣泛地使用,尤其是提供豐富的圖形用戶界面的應用。但同時,也有成千上萬的應用對Linux來說是不太適合的。
用于工業(yè)和消費物聯(lián)網設備的軟件要求是有差異的。盡管它們可能共享一個共同的內核和低級別的服務,但它們應用所需的中間件可以是完全不同的,如圖1所示。

圖1 工業(yè)物聯(lián)網設備和消費物聯(lián)網設備
圖1(a)中,我們看到針對工業(yè)物聯(lián)網設備,例如無線傳感器節(jié)點的軟件協(xié)議棧,這是一個低功耗、低成本設備,有可能完全在電池供電下運行。通常這種設備可以使用Cortex-M0或Cortex-M3/M4微控制器以及高效的網絡協(xié)議(如6LoWPAN),以減少傳輸時間、節(jié)省電力。而且,它還將使用藍牙或低功耗WiFi,進行短距離無線通信,或者使用以太網進行通信。
圖1(b)為針對消費物聯(lián)網設備的軟件協(xié)議棧,對于這種設備的軟件需求要大得多。它可能需要Java虛擬機,并很可能使用垂直市場的協(xié)議,如AllSeen、Home-Plug/HomeGrid、Continua聯(lián)盟或2net。通常這種設備可能使用Cortex-M3/M4或Cortex-A處理器。
這些需求將推動實時操作系統(tǒng)的選擇,而大家并不希望選擇軟件平臺來支配設備的功能。
靈活的、可擴展的實時操作系統(tǒng)可以幫助你提高投資回報率,降低開發(fā)成本,并縮短上市時間。雖然嵌入式系統(tǒng)歷史完全是建立在8和16位微控制器之上,但是32位微控制器的價格已經迅速下降,使得它們能成為商業(yè)化產品。因此,它們在嵌入式設備中的受歡迎的程度大為提升。
在設備中使用兩個處理器是常見的用于網絡嵌入式系統(tǒng)工程的解決方案。在這種結構中,一個8位或16位微控制器被用于傳感器或執(zhí)行器,而另一個32位微控制器被用于網絡接口。在32位微控制器上運行實時操作系統(tǒng)(RTOS)。
32位微控制器的銷售量已經在過去的幾年里激增,并成為微控制器市場最大的細分市場。預計到2017年,單獨的32位微控制器部分將增長至192億美元,如圖2所示。

圖2 微控制器銷售和單位出貨量
未來幾年,物聯(lián)網設備將仍然是小型和大型微控制器的混合體。在各種16位和32位微控制器上運行可擴展的RTOS,可以滿足嚴格的內存要求,降低對處理器的需求,從而節(jié)省費用。
物聯(lián)網設備將需要模塊化操作系統(tǒng),以便中間件、協(xié)議和應用與內核分離。這樣做的原因是易于開發(fā),并保持軟件的內存占用量達到最小值。
采用模塊化的操作系統(tǒng)可以簡化開發(fā)過程,特別是如果開發(fā)者正在開發(fā)具有不同功能的設備系列。依托于一個共同的核心,它允許整個設備系列共享通用的代碼庫,而每個設備可以僅僅通過應用所需的中間件和協(xié)議棧進行定制。
這種方法還允許針對更小內存尺寸的設備,不同于捆綁了整個軟件套件在一起的單一操作系統(tǒng),模塊化操作系統(tǒng)允許為設備裁減嵌入式軟件,使用更少的RAM和閃存,降低成本。
網絡連接是物聯(lián)網的本質。無論我們談論的是工廠里的無線傳感器節(jié)點還是醫(yī)院里的網絡醫(yī)療設備,當前這個行業(yè)的預期是:嵌入式設備彼此相互連接,并與企業(yè)或公共網絡進行通信。
選擇操作系統(tǒng)需要支持的通信標準和協(xié)議,如IEEE802.15.4、WiFi和藍牙。設備必須能夠連接到使用具有高效帶寬的IP協(xié)議網絡,如6LoWPAN的IP網絡。
操作系統(tǒng)將允許你選擇需要的特定的協(xié)議棧,這樣可以節(jié)省設備內存,并降低成本。它能幫助你改造現(xiàn)有的設備使其具有新的連接選項,而不用修改嵌入式軟件的核心。
許多物聯(lián)網系統(tǒng)將被部署在關鍵性的安全環(huán)境中,或安置在維修和更換較為困難的地點。因此,物聯(lián)網設備需要絕對可靠。
你可能還需要操作系統(tǒng)具有安全認證,這是至關重要的,以便證明設備的可靠性和安全性。
可能需要的認證包括:
①航空電子系統(tǒng)的DO-178B。
②工業(yè)控制系統(tǒng)的IEC 61508。
③醫(yī)療設備的ISO 62304。
④運輸和核能系統(tǒng)的SIL3/SIL4 IEC。
如果使用安全關鍵環(huán)境,使用已經認證軟件建立產品,可以減少設備的認證時間,并降低成本。設備的每一部分都將需要認證和準備大量的文檔。通常從第三方獲得可用的驗證套件和認證包,它們可以提供你所需要的為產品創(chuàng)建的數千頁的文件。
即使不需要為設備認證,得知運行在設備上的操作系統(tǒng)已被認證,也可以為你提供產品能夠可靠完成的信心和定力。