<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 一種新型嵌入式遠程監(jiān)控系統(tǒng)的設(shè)計開發(fā)

          一種新型嵌入式遠程監(jiān)控系統(tǒng)的設(shè)計開發(fā)

          作者: 時間:2009-04-22 來源:網(wǎng)絡(luò) 收藏

          Web的應用層協(xié)議HTTP是Web的核心。HTTP協(xié)議實現(xiàn)的客戶機/服務器模式是一種請求/響應結(jié)構(gòu)??紤]到系統(tǒng)實現(xiàn)時TCP協(xié)議同時支持的連接次數(shù)和安全性問題,本文采用HTTP1.0協(xié)議,Web服務器每次發(fā)送完響應就斷開連接。狀態(tài)碼的含義很多,本文使用了兩種:當請求網(wǎng)頁成功時,返回狀態(tài)碼200,原因短語為OK;當所請求的網(wǎng)頁不存在時,返回狀態(tài)碼404,原因短語為NOT FOUND。頭部字段名也是可選部分,但是本文使用了其中一個選項Content-Length:指出所發(fā)送對象的字節(jié)數(shù),以方便程序調(diào)試。實體部分就是響應的具體內(nèi)容,譬如一個HTML網(wǎng)頁或者一張圖片等等。

          本文HTTP協(xié)議靜態(tài)頁面的實現(xiàn)需要完成如下內(nèi)容:首先獲取URL中的文件名,接著根據(jù)該文件名調(diào)用https_calculatehash()函數(shù)獲取文件句柄,即文件處理入口數(shù)據(jù)結(jié)構(gòu)中的hash域值,根據(jù)該值查找文件的起始地址,然后將文件裝入TCP套接字發(fā)送緩沖區(qū)。當所發(fā)送的文件過長而大于發(fā)送緩沖區(qū)的大小時則會發(fā)生緩沖區(qū)的溢出問題,本文的解決辦法是:首先判斷文件的長度,當文件過長時,將文件分割成多個不大于發(fā)送緩沖區(qū)大小的分段,然后循環(huán)發(fā)送出去。HTTP協(xié)議中靜態(tài)頁面處理的程序流程如圖2所示。

          圖2 HTTP靜態(tài)頁面處理流程圖

          4.2 CGI的設(shè)計與實現(xiàn)

          在該中,除了支持靜態(tài)頁面,還必須支持動態(tài)內(nèi)容和動態(tài)表單的處理,主要包括動態(tài)生成實時采集數(shù)據(jù)頁面和處理控制命令表單。為了實現(xiàn)該功能,本文設(shè)計了CGI接口處理程序。

          考慮到實際應用情況,本文無需在NE64中移植操作系統(tǒng),因此為Web服務器創(chuàng)建CGI接口不能照搬標準CGI。首先,本文的Web服務器不能同時運行多個應用程序,每個應用程序的運行都會獨占CPU,直到完成才會釋放CPU。其次,本文未實現(xiàn)復雜的緩存機制,所以反復執(zhí)行應用程序是個低速的過程。因此,本文對標準CGI進行了裁減,設(shè)計了CGI(Embedded CGI),通過該方法實現(xiàn)了Web服務器的數(shù)據(jù)的采集和監(jiān)控。其工作處理流程如圖3所示。

          圖3 CGI處理流程

          5 A/D采集子程序

          為了實現(xiàn)不同精度、更多路的數(shù)據(jù)采集,系統(tǒng)既使用了NE64集成的A/D采集模塊,又使用了通過SPI外擴的專用的A/D采集芯片TLC2543。因此,A/D采集子程序包含了這兩部分的內(nèi)容。在具體實現(xiàn)時,本文通過變量TLCAD控制調(diào)用哪個采集子程序,當TLCAD=100時,調(diào)用TLC2543采集子程序;當TLCAD=99時,調(diào)用集成A/D采集子程序。系統(tǒng)在采集數(shù)據(jù)時,模擬量輸入信號從最小的通道號依次接入,實際模擬量的個數(shù)由變量NE64ADNmb和TLCADNmb決定,分別表示采集精度為10位的模擬量個數(shù)以及采集精度為12位的模擬量個數(shù)。

          在A/D數(shù)據(jù)采集過程中,不可避免地會受到隨機噪聲的干擾,從而造成采集數(shù)據(jù)的不準確,進而得出錯誤的結(jié)論。為了防止脈沖干擾該系統(tǒng),本文作者采用了中值濾波的方法。在中值濾波的基礎(chǔ)上,為了保證采集數(shù)據(jù)的穩(wěn)定性,本文作者采用了算術(shù)平均值濾波的方法。

          6 模塊測試

          軟件的主要功能是實現(xiàn)多路數(shù)據(jù)采集、網(wǎng)絡(luò)協(xié)議通信以及對象控制機制。模塊測試部分主要針對各模塊進行軟件測試。由于篇幅限制,下面主要針對起數(shù)據(jù)采集部分介紹其測試部分。SD12-MCS共支持30路模擬量數(shù)據(jù)采集,其中8路10位精度的AD屬于NE64的A/D模塊,剩余22路屬于2片TLC2543采集芯片。為了驗證每個采集程序是否正確,本文設(shè)計了這樣一個測試用例:首先單獨運行其中一種精度的采集程序,發(fā)送所有通道采集到的數(shù)據(jù),通過串行口發(fā)送給高端PC機,并由PC機的測試用例顯示,若顯示數(shù)據(jù)正確,則程序正確。在此基礎(chǔ)上,發(fā)送參數(shù)確定調(diào)用哪種子程序,同時控制采集多路模擬量,由于本文設(shè)置模擬量采集都是從第0通道開始,并依此類推,因此不需要設(shè)置究竟是采集哪個通道的模擬量,從而簡化程序處理。

          本文作者創(chuàng)新點:

          本文主要介紹了一種基于Web的嵌入式控制策略設(shè)計與實現(xiàn)。通過對各功能模塊測試顯示該監(jiān)控系統(tǒng)性能良好,符合相關(guān)設(shè)計要求。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();