好久沒有看技術的東東了,趁今天去參加了由微軟與信息產業部軟件與集成電路促進中心(CSIP)聯合舉辦的.NET Micro Framework技術大會,寫點東西.
微軟在壟斷了桌面軟件市場后,現在又轉入了嵌入式領域,希望不會再出現桌面的那種一邊倒的局面了.不過看到今天的會上出現了諸多國內的大公司后,發覺Microsoft不僅擅長政府公關,企業關注度也是很高,看情形Embedded的大蛋糕又面臨它的大嘴了.扯遠了,言歸正傳.
截止目前,微軟在嵌入式的布局分為三大塊: XP Embedded 、Windows CE、加上現在的.NET Micro Framework。這三者的應用領域既有交叉,又各自有所側重。當然,開發工具、支持的硬件平臺架構也不盡相同。可以用下面這個經典的表格來描述,這個也是你選擇OS的重要依據:
|
.NET Micro Framework |
Windows CE |
Windows XPe |
Example Devices |
Sensor Nodes, Aux displays, Health Monitoring, Remote Controls, Robotics |
GPS Handhelds, PDAs, Automotive, Set Top Boxes |
Thin Clients, ATMs, Kiosks |
Device Features |
Connected, Small, Wearable, Graphical UI |
Connected, Graphical UI, Server, Browser, RAS, DirectX |
PCclass performance, PC networking |
Footprint |
250-500KB managed code Full featured |
300KB+ without managed code 12MB with managed code |
40MB + Depending on features |
Power |
Very low power |
Low power |
Mains power |
CPU |
ARM7, ARM9, No MMU |
X86, MIPS, SH4, ARM, with MMU |
X86 |
Real-time |
Not Real-time |
Hard Real-time |
Real-time capable through 3rd party extensions |
Managed vs. Native Code |
Managed via .NET Micro Framework, native code through interop only. |
Supports both, managed code requires .NET Compact Framework |
Supports both, managed code requires .NET Framework |
|
|
就.NET Micro Framework來說,“它是微軟公司基于.NET平臺,主要針對硬件資源非常稀少、有限的嵌入式應用而設計的快速嵌入式開發技術。它針對傳統的SOC、MCU市場設計,可以運行在ARM7/ARM9之上,對于低端的ARM7處理器,可以不具備存儲器管理單元(MMU),而存儲器方面更是只要300KB左右的容量即可運作。特別適合Windows Vista Sideshow、遠程控制、智能家電、醫療電子、零售終端以及汽車電子等行業應用場景。并且用戶使用統一的Visual Studio .NET平臺和托管代碼(C#)開發產品應用(包括設備驅動)顯著的降低了廠商開發門檻,節約了大量開發時間和開發成本。”以上來自微軟官方介紹,參考
http://msdn2.microsoft.com/en-us/embedded/bb278106.aspx。
按照我自己的理解,.NET Micro Framework就是微軟為了進入底端嵌入式市場而推出的開發平臺。所謂底端,就是硬件上不需要MMU單元,軟件上沒有OS,但是它還可以延續桌面開發中最前衛的.NET戰略,即用C#編寫托管代碼。這對于廣大的桌面開發者就很熟悉了,相當于把底層硬件操作進行了封裝。比如你要操作SPI,就來個 static SPI _spi=new SPI(new SPI.Configuration(Pins.GPIO_PORT_B_18,false,0,0,true,true,1000,SPI.SPI_module.SPI1)),然后進行賦值。
今天大會上微軟的硬件合作廠商Digi也派出了一個老外作演講。他舉了不少例子,像無線以太網關、醫院的輸血泵信息遠程管理、POS機廣告的網絡化、家居能源信息管理等等,確實很吸引人。如果你有興趣,可以裝個VS2005的完整版+微軟提供的.NET Micro Framework的SDK,嘗試一下這種最新的嵌入式開發技術。
PS:今天會上提到了幾個通訊網名詞平時時常看到,但確切意思含糊,特意查了下:)
WIFI: 全稱Wireless Fidelity,又稱
802.11b標準,它的最大優點就是傳輸速度較高,可以達到11Mbps.
Z-Wave:是一種無線
RF通信技術,設計用于住宅、照明商業控制以及狀態讀取應用,例如抄表、照明及家電控制、HVAC、接入控制、防盜及火災檢測等。
Z-Wave可將任何獨立的設備轉換為智能網絡設備,從而可以實現控制和無線監測。
Zigbee:是一種新興的短距離、低速率無線網絡技術,它是一種介于無線標記技術和藍牙之間的技術提案。它此前被稱作“HomeRF Lite”或“FireFly”無線技術,主要用于近距離無線連接。它有自己的無線電標準,在數千個微小的傳感器之間相互協調實現通信。這些傳感器只需要很少的能量,以接力的方式通過無線電波將數據從一個傳感器傳到另一個傳感器,所以它們的通信效率非常高。
Z-Wave和Zigbee的比較:http://www.test169.com/article/2007/0601/article_21.html SideShow: 所謂的“
SideShow”,是Vista操作系統提供的一個新功能。(廣義的SideShow就是副屏,不局限于Vista,Windows CE或者別的嵌入式OS也可,實質是遠程操作,意義在于節約能源。)在電腦主要屏幕之外,可以加入第二個采用小型屏幕的周邊裝置,也就是
SideShow裝置。這個外圍的
SideShow裝置,可以同步電腦上的信息,并在計算機
關機的情況下,以快速、低耗電的方式運作,顯示包括行事歷、e-mail……的豐富信息,也可以提供音樂播放、照片輪播等多媒體功能。
Sideshow的原理 Sideshow是以一片獨立的小型屏幕、一顆ARM架構的整合式系統芯片,配合自帶的Flash閃存作為儲存空間,來提供運作所需的一切功能。 它會在開機時更新數據,將要用的信息、文件等,先從電腦同步一份到閃存內。如此便可以在關機時瀏覽數據、播放多媒體文件。