天天看點

Microsoft .NET Gadgeteer 簡介及其它

Microsoft .NET Gadgeteer 簡介及其它

    Microsoft .NET Gadgeteer 為開發小型電子子產品或嵌入式裝置的使用者,提供一個快速建構原型機的平台。它結合了面向對象程式設計的優點,提供一系列電子子產品,可以快速地用這些子產品進行計算機輔助設計。

     通過.NET Gadgeteer子產品可以很容易的建構簡單或複雜的裝置。每個子產品都可以提供相應的功能,諸如顯示圖檔、播放音樂、采集圖像、擷取環境參數等等。

     該平台建構在.NET Micro Framework平台之上,在Visual Studio IDE環境中,采用C#開發語言對小型電子裝置進行程式設計和調試。

     這種強大的組态特性,使建構一個功能齊全裝置的用時僅為幾個小時,而不是原來的幾天或幾周。

Microsoft .NET Gadgeteer 簡介及其它

    我以前就曾經說過.NET Micro Framework就是嵌入式領域内的腳本語言,就像網頁開發之于腳本語言一樣,可以大大提高開發效率,節省大量開發時間。 不過有人質疑性能問題,和彙編和C語言相比,這确實是一個問題,不過在物聯網領域,在需要互相通信互動的領域,開發語言本身的運算性能已變的不甚重要,因為最終裝置的性能決定在通信鍊路(或者說通信規則本身)上,而這個目前确是一大瓶頸,就像目前制約網頁浏覽的瓶頸在于網絡通信本身一樣。 前段時間,我對一些裝置進行通信測試,發現就與裝置通信而言,.NET Micro Framework的互動性能反而略好于PC系統,相關測試結果如下:

    1 測試環境

   嵌入式硬體平台:Atmel  sam9261-EK 開發闆 主頻:200MHz

   嵌入式軟體平台:.Net Micro Framework V4.0

    PC硬體配置:HP Compaq dc7800  主頻:2.33GHz

   軟體平台:   Windows Vista + .Net Framework V3.5

    相同的.Net C#測試程式

   西門子 S7-PLC 224

    單位元組傳輸時間:10*1000/19200 = 0.52ms

操作方式

.Net Micro Framework

Net Framework

差異

絕對傳輸時間

讀2位元組

32 ms

31 ms

1 ms

7.8 ms

寫2位元組

33 ms

2 ms

9.88 ms

讀128位元組

195 ms

187 ms

8 ms

73.32 ms

寫128位元組

204 ms

17 ms

75.4 ms

    單位元組傳輸時間:10*1000/115200 = 0.087ms

22 ms

-9 ms

1.31 ms

24 ms

-7 ms

1.65 ms

132 ms

124 ms

12.27 ms

135 ms

11 ms

12.62 ms

   通信時間 = 發送幀傳輸時間 + 從裝置響應時間 + 傳回幀傳輸時間 + 主裝置處理時間

   絕對傳輸時間 = 發送幀傳輸時間 + 傳回幀傳輸時間

由于Modbus從裝置大都是一些基于8位單片機的裝置,CPU運算能力低,并且要計算CRC校驗,是以通信的瓶頸主要在從裝置響應時間上,從測試結果上看,也反映了這一點。在某些測試項上,嵌入式裝置甚至領先PC,這是因為嵌入式裝置專注相關通信,而不像PC同時執行多任務操作。

    結論:在和硬體裝置通信方面,嵌入式裝置和PC旗鼓相當。

    裝置:EHUOYAN公司YHY632型号讀卡器

   卡片:S50  EEROM  1K位元組

   讀卡步驟:

    1、 擷取卡的類型

    2、 獲得卡号

    3、 標明卡

    4、 設定指定扇區的密鑰KEY

    5、 讀取指定扇區、指定塊16位元組的資料

讀卡

171 ms

-47 ms

讀一次卡資訊,一般需要5次互動時間,通信瓶頸來源兩個環節:

1、RFID卡 和 讀卡器之間

由于RFID卡上僅含控制器(無CPU子產品),還需要從EEROM上讀取資料,并且要進行加解密運算,是以相對耗時。RFID卡的響應時間是最大的時間瓶頸。

2、讀卡器和嵌入式裝置或PC之間

這個和Modbus RTU通信項類似,不同的是,不同廠家讀卡器的通信協定有可能不同,讀寫時間會有些許差别,但沒有數量級上的差别。

由于嵌入式裝置專注于與裝置通信,其測試結果優于PC。

結論:嵌入式裝置優于PC

 ------------------------

    相關網址:

繼續閱讀