Microsoft .NET Gadgeteer 為開發(fā)小型電子模塊或嵌入式設備的用戶,提供一個快速構(gòu)建原型機的平臺。它結(jié)合了面向?qū)ο缶幊痰膬?yōu)點,提供一系列電子模塊,可以快速地用這些模塊進行計算機輔助設計。
通過.NET Gadgeteer模塊可以很容易的構(gòu)建簡單或復雜的設備。每個模塊都可以提供相應的功能,諸如顯示圖片、播放音樂、采集圖像、獲取環(huán)境參數(shù)等等。
該平臺構(gòu)建在.NET Micro Framework平臺之上,在Visual Studio IDE環(huán)境中,采用C#開發(fā)語言對小型電子設備進行編程和調(diào)試。
這種強大的組態(tài)特性,使構(gòu)建一個功能齊全設備的用時僅為幾個小時,而不是原來的幾天或幾周。
我以前就曾經(jīng)說過.NET Micro Framework就是嵌入式領域內(nèi)的腳本語言,就像網(wǎng)頁開發(fā)之于腳本語言一樣,可以大大提高開發(fā)效率,節(jié)省大量開發(fā)時間。 不過有人質(zhì)疑性能問題,和匯編和C語言相比,這確實是一個問題,不過在物聯(lián)網(wǎng)領域,在需要互相通信交互的領域,開發(fā)語言本身的運算性能已變的不甚重要,因為最終設備的性能決定在通信鏈路(或者說通信規(guī)則本身)上,而這個目前確是一大瓶頸,就像目前制約網(wǎng)頁瀏覽的瓶頸在于網(wǎng)絡通信本身一樣。 前段時間,我對一些設備進行通信測試,發(fā)現(xiàn)就與設備通信而言,.NET Micro Framework的交互性能反而略好于PC系統(tǒng),相關測試結(jié)果如下:
1 測試環(huán)境
嵌入式硬件平臺:Atmel sam9261-EK 開發(fā)板 主頻:200MHz
嵌入式軟件平臺:.Net Micro Framework V4.0
PC硬件配置:HP Compaq dc7800 主頻:2.33GHz
軟件平臺: Windows Vista + .Net Framework V3.5
相同的.Net C#測試程序
2 Modbus RTU通信測試
2.1 Modbus RTU Slave設備
西門子 S7-PLC 224
2.2 波特率19200 無校驗
單字節(jié)傳輸時間:10*1000/19200 = 0.52ms
2.3 波特率 115200無校驗
單字節(jié)傳輸時間:10*1000/115200 = 0.087ms
2.4 性能分析
通信時間 = 發(fā)送幀傳輸時間 + 從設備響應時間 + 返回幀傳輸時間 + 主設備處理時間
絕對傳輸時間 = 發(fā)送幀傳輸時間 + 返回幀傳輸時間
由于Modbus從設備大都是一些基于8位單片機的設備,CPU運算能力低,并且要計算CRC校驗,所以通信的瓶頸主要在從設備響應時間上,從測試結(jié)果上看,也反映了這一點。在某些測試項上,嵌入式設備甚至領先PC,這是因為嵌入式設備專注相關通信,而不像PC同時執(zhí)行多任務操作。
結(jié)論:在和硬件設備通信方面,嵌入式設備和PC旗鼓相當。
3 RFID 讀卡測試
3.1 硬件設備
設備:EHUOYAN公司YHY632型號讀卡器
卡片:S50 EEROM 1K字節(jié)
3.2 波特率115200 無校驗
讀卡步驟:
1、 獲取卡的類型
2、 獲得卡號
3、 選定卡
4、 設定指定扇區(qū)的密鑰KEY
5、 讀取指定扇區(qū)、指定塊16字節(jié)的數(shù)據(jù)
3.3 性能分析
讀一次卡信息,一般需要5次交互時間,通信瓶頸來源兩個環(huán)節(jié):
1、RFID卡和讀卡器之間
由于RFID卡上僅含控制器(無CPU模塊),還需要從EEROM上讀取數(shù)據(jù),并且要進行加解密運算,所以相對耗時。RFID卡的響應時間是最大的時間瓶頸。
2、讀卡器和嵌入式設備或PC之間
這個和Modbus RTU通信項類似,不同的是,不同廠家讀卡器的通信協(xié)議有可能不同,讀寫時間會有些許差別,但沒有數(shù)量級上的差別。
由于嵌入式設備專注于與設備通信,其測試結(jié)果優(yōu)于PC。
結(jié)論:嵌入式設備優(yōu)于PC