天天看點

淺析ARM公司在物聯網領域的戰略布局

随着ARM晶片的出貨量越來越多,自信滿滿的ARM公司統一軟硬體平台的戰略和雄心壯志越來越凸顯。最初ARM公司僅是出售自己的知識産權(IP核)給各大晶片公司,由于最初ARM公司處于劣勢,是以給晶片廠商很大的自主權,在ARM7、ARM9和ARM11晶片時代,我們知道每家晶片的位址空間,寄存器操作各異,大不相同,也隻能在代碼編譯的時候才能發現ARM公司的存在。随後ARM公司推出了Cortex系列的晶片,就如我以前文章所提及,其志不小:“對早已經被綁入其戰車的各大晶片廠商,又勒緊了一下枷鎖,對ARM最新的核心的架構做了進一步限定,如對SysTick、NVIC和FMSC晶片設計的限定。特别是CMSIS接口的标準推出,簡直是卡住了各大晶片廠商的脖子,他們不加入這種計劃,難免被邊緣化,加入了,難免淪為ARM公司的一個生産工廠中的房間。”

不知道是ARM公司成全了安卓系統(Android),還是安卓系統成全了ARM。在嵌入式領域和PC領域最大的不同就是,嵌入式晶片和X86晶片不同,X86主要有英特爾(Intel)公司把持,是以微軟+英特爾軟硬結合,很容易一統天下。而嵌入式晶片(32/64位晶片主要就是ARM晶片了)領域屬于群雄割據的時代(不過現在高通公司有後Intel王者的氣概),各個廠商基本是各自為政,每家晶片的寄存器操作相差比較大,是以對運作其上的作業系統開發者來說,難度很大(是以目前針對作業系統底層的BSP,基本都是晶片廠商自行開發提供)。ARM公司推出Cortex的晶片,及CMSIS等接口标準的努力,就是簡化或者說降低這種開發難度,為統一晶片硬體平台打下堅實的基礎。

從目前的形勢來看,在嵌入式領域,偏軟的方面安卓系統已經取代了微軟的曆史地位。偏硬的晶片方面是不是高通公司?個人認為ARM公司内心絕不會讓一家晶片公司獨大的,是以ARM公司從近似春秋戰國的西周王朝時代,回歸東周統一王朝的格局下,繼續進行着統一硬體晶片的運作。高通想成為強秦,統一天下的夢想我想絕不會很快來臨。

回歸正題,談一談ARM公司在物聯網上的戰略布局。

2013年8月27日,ARM公司收購了芬蘭物聯網軟體創業公司Sensinode,将繼續推廣和深化Sensinode公司的NanoStack、NanoRouter 和 NanoService三大産品。真對此消息,有的網站評論道“看來手機和平闆市場的統治地位還不能滿足 ARM 的胃口,吞下整個物聯網才是它的目标”。

2020年,根據IMS Research的預測,全球聯網的裝置将有300億個。ARM的Cortex-M(M0/M3/M4)晶片+ARM的 mbed項目和Sensinode公司的NanoStack、NanoRouter 、NanoService三大産品結合起來,将會從硬體到軟體完整的覆寫整個物聯網領域(手機和平闆一般采用Cortex-A系列的晶片,作為移動網際網路的主力,将成為物聯網領域必不可少的輸入端。另外ARM晶片進軍伺服器野心,也不可小觑,那是物聯網另外一大領域—大資料—重點所在)。

下面就詳細介紹一下ARM技術開發大會上《CreatingSecure,Efficient,and Open Standard Iot Systems》的講座,從題目上來說,是講“建立安全、高效和開放的标準物聯網系統”,至于如何建構,就是采用以上我們所講述的技術。

我的介紹和ARM技術開發大會上的張先生的講述有些不同(講解的順序不同、着重點不同),我是按照自己的了解,進行說明的。

1、 傳感器資料采集– 基于CMSIS的 ARM MBED技術的硬體簡易開發

如果你是一個僅有一點開發技術的人,比如會一點C或一點Java,對硬體也是粗略了解一些,那麼MBED技術将很快讓你進行硬體開發(網上号稱60秒讓你完成嵌入式程式設計開發)。

如果你在做硬體原型設計,有不同的晶片去讓你選擇,或者是對外圍的一些器件進行測試研究,那麼采用MBED技術将讓你這份工作變的輕松簡單。

淺析ARM公司在物聯網領域的戰略布局
淺析ARM公司在物聯網領域的戰略布局

ARM MBED是一個什麼樣的技術呢?簡單的說,它有兩點特色,這兩點特色分别對晶片提供商(或者說開發闆提供商)、軟體開發者提供了便利。

第一就是CMSIS,CMSIS就是ARM指定的一套接口架構,通過它,可以屏蔽各家晶片操作的差異。是以針對晶片廠家來說,僅需要實作這些規定的接口就可以了。

第二,對嵌入式開發來說,開發環境的搭建是一個耗時耗力的過程,能成功編寫和調試第一個程式,猶如孩子出生一樣,不經過一番掙紮和摸索是很難順利完成的。而MBED技術是一套基于雲計算的網頁編譯工具,可以在Windows、Linux、Mac等各種可以網頁浏覽的裝置上進行程式設計。是以不需要安裝調試工具,隻要選好指定的開發闆,就立即可以進行程式設計,編譯後直接生成一個bin檔案,直接燒寫到裝置即可運作。

另外的一個優勢,由于使用者是基于CMSIS的架構接口開發,是以理論上将,你可以很順利地開發各種廠家的晶片(前提是相關晶片廠商已經提供了CMSIS的支援),不再向以前一樣更換不同廠家的晶片是件難以抉擇的事。

作為物聯網開發來說,你通過AD、序列槽、SPI、I2C、USB、CAN甚至是以太網接口,用MBED技術很容易把各種傳感器資料采集到Cortex-M0/M3裝置,采集完畢後,另外一個最重要的環節,就是資料上傳。而這一步,就是ARM收購的公司Sensinode的技術優勢所在了。

2、 傳感器資料上傳– 基于CoAP通信協定(NanoStack/NanoRouter)

淺析ARM公司在物聯網領域的戰略布局

一直以來,物聯網領域最令人頭疼的事就是,接口協定繁多,每家都有各自的協定,在這種格局下,收集傳感器資料,是件費時費力的事。

而CoAP是一個統一的協定接口,優勢不僅僅在于标準統一,而在于對HTTP協定進行了簡化,其壓縮的資料頭僅4個位元組。這樣在傳輸過程中,互動的資料量将大大減小,有效地降低了網絡通信的負荷。

另外通過協定代理,可以很輕松的把CoAP轉換為标準的HTTP協定。

以上不僅僅是ARM一家的标準,由于底層通信基于各種實體鍊路,是以ARM公司遵照或參與了很多底層标準通信協定的制訂。IETF、Sensinode、6LoWPAN,Zigbee IP CoAP,TLS,OMA Lightweight etc等等。

有了MBED作為基礎,在Cortex-M0/M3上內建CoAD協定是分分鐘鐘的事,資料采集和上傳在這一步可以說是有效地內建在一起。

3、 資料存儲、服務和展示– NanoServer服務支援

通過統一的資料接口,資料收集在NanoServer中,然後借助NodeView Web程式,去浏覽去展示相關資料。

淺析ARM公司在物聯網領域的戰略布局

4、 小結

通過如下兩張圖,就可以看到ARM公司的基于IoT物聯網領域的技術布局已經亦趨完善了。

淺析ARM公司在物聯網領域的戰略布局
淺析ARM公司在物聯網領域的戰略布局

MBED技術在最底層,通過标準接口采集各種傳感器資料(由于基于CMSIS架構架構,是以各種廠家的晶片,其使用者開發代碼都是相同的)。

NanoServerClient和NanoStack技術,實作了CoAP通信支援。

NanoServer服務和NodeView進行資料收集和資料服務及展示。

另外這所有的代碼、協定标準都是開源的,使用者可以自行下載下傳了解。

題外話:從以上介紹看出,ARM自有标準協定、安卓、Java技術在其中占有很很大比重,我從2008年以來就一直參加ARM的會議,一點點看着微軟的技術被邊緣化,最後完全退出了ARM技術會議的視野,這點替微軟惋惜。但是從使用者開發角度來看,特别是工控人員開發內建角度來看,微軟的開發工具,其本地化界面,開發調試的簡易型還是非常有市場的,特别是最近,微軟改原來的嵌入式部門為物聯網部門,說明還是看好物聯網領域,并向這個方向努力發展的。我們所建構的YFIOs/YFHMI(

http://blog.csdn.net/yefanqiu/article/details/8423421

)技術架構平台,就是基于微軟的技術,在Visual Studio 2010/2012開發工具中,用C#進行統一開發。以上技術總總,可以通過封裝,直接支援相關協定,但是使用者隻需要調用相關C#接口即可,當然也可以成為YFIOs驅動的一部分,使用者可以直接加載調用。

繼續閱讀