![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5yN40EVyEjN5MjM4gjMx8FMvwFOy8CXwEDMxAjMvw1ckF2bsBXdvwFdl5mLuR2cj5Set1yZtl2Lc9CX6MHc0RHaiojIsJye.gif)
Microsoft .NET Gadgeteer 為開發小型電子子產品或嵌入式裝置的使用者,提供一個快速建構原型機的平台。它結合了面向對象程式設計的優點,提供一系列電子子產品,可以快速地用這些子產品進行計算機輔助設計。
通過.NET Gadgeteer子產品可以很容易的建構簡單或複雜的裝置。每個子產品都可以提供相應的功能,諸如顯示圖檔、播放音樂、采集圖像、擷取環境參數等等。
該平台建構在.NET Micro Framework平台之上,在Visual Studio IDE環境中,采用C#開發語言對小型電子裝置進行程式設計和調試。
這種強大的組态特性,使建構一個功能齊全裝置的用時僅為幾個小時,而不是原來的幾天或幾周。
我以前就曾經說過.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
------------------------
相關網址: