《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于嵌入式遠(yuǎn)程測控系統(tǒng)設(shè)計
基于嵌入式遠(yuǎn)程測控系統(tǒng)設(shè)計
摘要: 目前,大多數(shù)遠(yuǎn)程測控系統(tǒng)中,系統(tǒng)的硬件采用8/16位的單片機(jī),軟件多采用匯編語言編程,該編程僅包含一個簡單的循環(huán)處理的控制流程;單片機(jī)與單片機(jī)(或上位機(jī))之間的通信通過RS232、RS485或CAN總線來組成局域網(wǎng),再用Pc機(jī)作為 Web服務(wù)器,與Internet進(jìn)行通訊。這樣的遠(yuǎn)程測控設(shè)備成本高、體積大、速度慢、功耗大。現(xiàn)在,32位嵌入式CPU價格已下降,性能指標(biāo)也有提高,為嵌入式系統(tǒng)的廣泛應(yīng)用提供了可能性。
Abstract:
Key words :

  前言

  目前,大多數(shù)遠(yuǎn)程測控系統(tǒng)中,系統(tǒng)的硬件采用8/16位的單片機(jī),軟件多采用匯編語言編程,該編程僅包含一個簡單的循環(huán)處理的控制流程;單片機(jī)與單片機(jī)(或上位機(jī))之間的通信通過RS232、RS485或CAN總線來組成局域網(wǎng),再用Pc機(jī)作為 Web服務(wù)器,與Internet進(jìn)行通訊。這樣的遠(yuǎn)程測控設(shè)備成本高、體積大、速度慢、功耗大。現(xiàn)在,32位嵌入式CPU價格已下降,性能指標(biāo)也有提高,為嵌入式系統(tǒng)的廣泛應(yīng)用提供了可能性。基于上述情況,我們將嵌入式系統(tǒng)應(yīng)用于遠(yuǎn)程測控系統(tǒng),大大提高了測控系統(tǒng)的性能,同時降低了成本和功耗,體積也大大減小。
   
  嵌入式系統(tǒng)一般應(yīng)用嵌入式操作系統(tǒng)來開發(fā)。在嵌入式操作系統(tǒng)的選擇上,由于Linux有完整開放的源代碼,因而它具有修改和優(yōu)化系統(tǒng)、內(nèi)核穩(wěn)定、適用于多種CPU和多種硬件平臺、支持網(wǎng)絡(luò)等特點(diǎn),所以選擇Linux作為嵌入式操作系統(tǒng)較好。本文提出的基于 ARMlinux的嵌入式遠(yuǎn)程測控系統(tǒng)不僅能夠?qū)崿F(xiàn)本地數(shù)據(jù)采集與控制,還能實(shí)現(xiàn)遠(yuǎn)程測控任務(wù)。
   
  1、硬件系統(tǒng)

  硬件系統(tǒng)如圖1。S3C2410包含一個16/32-bit的Risc(ARM920T)的CPU內(nèi)核,主頻200Hz,內(nèi)部含有8通道1O位AD轉(zhuǎn)換器和大量的I/O口、LCD控制器等豐富接口,能運(yùn)行Ucosll、ARMlinux和Wince嵌入式操作系統(tǒng),DM 9OOO是10M/100M以太網(wǎng)接口控制芯片。本硬件系統(tǒng)結(jié)構(gòu)簡單,成本低,不需要Pc機(jī)就可直接接入Internet。


  2、軟件系統(tǒng)

  嵌入式操作系統(tǒng)是整個嵌入式系統(tǒng)的核心。本系統(tǒng)選擇ARMlinux系統(tǒng)。由于嵌入式系統(tǒng)的存儲容量很小,因此要把ARMLinux操作系統(tǒng)裝入有限的存儲器內(nèi),就要對它進(jìn)行裁剪。很多資料對此都有論述,這里就不再累述。下面主要介紹基于操作系統(tǒng)上的遠(yuǎn)程測控軟件設(shè)計。其體系結(jié)構(gòu)如圖2。

  2.1 基于Boa的Web服務(wù)器

  嵌入式linux主要有三個web Server:Hapd、Thttpd和Boa。Httpd是最簡單的一個web Server。它的功能最弱,不支持認(rèn)證,不支持CG1。Thttpd和Boa都支持認(rèn)證、CGI等,功能都比較全。Boa是一個單任務(wù)的小型Httpd 服務(wù)器,源代碼開放、性能優(yōu)秀,特別適合應(yīng)用在嵌入式系統(tǒng)中。下面介紹Boa的移植與編譯。
  
  對于有MMU嵌入式linux,把Boa下載到Redhat宿主機(jī)上后,解壓到任意目錄,再修改Boa/src/Makefde里面的編譯器。例如:
  CC=/opfhosfarmv41/bin/armv41—unkllown—linux—gcc
  CPP=/opt/host/army41/bin/armv41—unknown—linux—g++

  此后直接在Boa/src目錄下執(zhí)行make即可生成Boa可執(zhí)行文件。將其復(fù)制到ramdisk加載mount的目錄的bin里面后,等一同加入配置文件和HTML/CGI文件后,重做ramdisk即可。

 

配置文件Boa.conf的編制見下。

需要說明的是,Linux下的應(yīng)用程序的配置都是以配置文件的形式提供的,~般都是放在目標(biāo)板/ete/目錄下或者/ctc/config目錄下,但Boa 的配置文件Boa.conf一般都放置在目標(biāo)板/home/httpd/目錄下。本系統(tǒng)Boa.conf文件的編寫程序?yàn)椋?br />    
  ServerName S A M S U N G—A R M
  DocumentRoot/home/httpd/cgi—bin/
  ScfiptAlias/index.html/home/httpd/html/index.html

  它指定了HTML頁面index.html必須放/home/httpd/html目錄下,CGI可執(zhí)行文件必須放到/home/httpd/cgi~bin目錄下。

  2.2 CGI程序技術(shù)原理

  CGI(Common Gateway Interface)是外部擴(kuò)展應(yīng)用程序與WWW服務(wù)器交互的一個標(biāo)準(zhǔn)接口。按照CGI標(biāo)準(zhǔn)編寫的外部擴(kuò)展應(yīng)用程序可以處理客戶端瀏覽器輸入的數(shù)據(jù),從而完成客戶端與服務(wù)器的交互操作。而CGI規(guī)范定義了Web服務(wù)器如何向擴(kuò)展應(yīng)用程序發(fā)送消息,在收到擴(kuò)展應(yīng)用程序的信息后又如何進(jìn)行處理等內(nèi)容。通過 CGI可以提供許多靜態(tài)的Html網(wǎng)頁無法實(shí)現(xiàn)的功能。其www與CGI的工作原理如下。

  HTTP協(xié)議是WWW的基礎(chǔ),它基于客戶/服務(wù)器模型。一個服務(wù)器可以為分布在網(wǎng)絡(luò)各處的客戶提供服務(wù)。它是建立在TCP/IP協(xié)議之上的“無連接”協(xié)議。每次連接只處理一個請求。當(dāng)一個請求到來時,便創(chuàng)建一個子進(jìn)程為用戶的連接服務(wù)。根據(jù)請求的不同,服務(wù)器會返回HTML文件或通過CGI凋用外部應(yīng)用程序,返回處理結(jié)果。服務(wù)器通過CGI與外部程序和腳本之問進(jìn)行交互,根據(jù)客戶端在進(jìn)行請求時所采取的方法,服務(wù)器會收集客戶所提供的信息,并將該部分信息發(fā)送給指定的CGI擴(kuò)展程序。CGI擴(kuò)展程序?qū)π畔⑦M(jìn)行處理并將結(jié)果返回服務(wù)器。服務(wù)器對信息進(jìn)行分析后,將結(jié)果發(fā)送網(wǎng)客戶端。

  外部CGI程序與www服務(wù)器進(jìn)行通信、傳遞有關(guān)參數(shù)和處理結(jié)果是通過環(huán)境變量、命令行參數(shù)和標(biāo)準(zhǔn)輸入來進(jìn)行的。服務(wù)器提供了客戶端(瀏覽器)與CGI擴(kuò)展程序之問的信息交換的通道。客戶的請求通過服務(wù)器的標(biāo)準(zhǔn)輸出傳送給CGI的標(biāo)準(zhǔn)輸入。CGI對信息進(jìn)行處理后,會將結(jié)果發(fā)回到它的標(biāo)準(zhǔn)輸入,然后由眼務(wù)器將處理結(jié)果發(fā)送給客戶端。

  2.3 CGI外部擴(kuò)展程序的編制

  服務(wù)器程序可以通過三種途徑接收信息:環(huán)境變量、命令行和標(biāo)準(zhǔn)輸入。具體使用哪一種方法要由標(biāo)簽的Method屬性來決定。在“Method=GET”時,向CGI程序傳遞表單編碼信息的正常做法是通過命令來進(jìn)行的。

  大多數(shù)表單編碼信息都是通過Qucry-String的環(huán)境變量來傳遞的。如果“Method=POST”,表單信息將通過標(biāo)準(zhǔn)輸入來讀取。還有一種不使用表單就可以向CGI傳送信息的方法。那就是把信息直接追回在URL地址后面,信息和URL之間用問號(?)來分隔。本測控系統(tǒng)采用的是GET方法。下面是遠(yuǎn)程控制LED閃爍快慢的程序。其網(wǎng)頁如下頁圖3,其程序如下。
   
   ;LED測試      

  

<input type=“radio”name=“speed”value=“show”checked>慢速
  

<input type=“radio”name=“speed”value=“normal”>中速
  

  

<input type=“radio”name=“speed”value=“rast”>高速
  

  

  

<input type=“submit”value=確定“name=”submit>

  
  其中l(wèi)eds.cgi程序如下:
  #! /bin/sh
  Period=1+case $QUERY-STRING in
  *slow*)
  period=0.25
  ;;
  * normal *)
  period = 0.125
  ;;
  * fast *
  period=0.0625+;;
  *fast * ) + period =0.0626
  ;;
  esac
  /bin/echo $ period ? /tmp/led-control//通過Query_String的環(huán)境變量傳遞給應(yīng)用程序。
  echo “Content-type:texe/html;charset=gb2312”
  echo
  /bin/cat led =result.template
  exit 0
  
  led—control是編譯好的可執(zhí)行的應(yīng)用程序,通過led驅(qū)動來實(shí)現(xiàn)對LED的控制。因?yàn)镾3C2410有MMU,所以通過操作系統(tǒng)來對硬件控制需要驅(qū)動程序來實(shí)現(xiàn)。其數(shù)據(jù)采集部分也類似,不再單獨(dú)說明。

 

 

    圖3 實(shí)驗(yàn)結(jié)果
    3、測試結(jié)果
  
  首先建立好基于S3C2410嵌入式開發(fā)環(huán)境,把編譯好的booloader、嵌入式linux內(nèi)核和ramdisk燒人Flash中,然后起動Boa服務(wù)器,在PC機(jī)的瀏覽器上輸人嵌入式系統(tǒng)的IP地址,即顯示出如圖3的網(wǎng)頁。通過點(diǎn)擊慢速、中速和高速,再點(diǎn)擊確定,測控板上LED的閃爍由慢變快,圓滿實(shí)現(xiàn)了設(shè)計目標(biāo)。
  
  4、結(jié)論
  
  找們開發(fā)的基于ARMLinux的遠(yuǎn)程測控系統(tǒng),在真正意義上實(shí)現(xiàn)了通過互聯(lián)網(wǎng)進(jìn)行遠(yuǎn)程測控。它具有一般通用平臺性能,特別適合實(shí)時性要求不很強(qiáng)的家電網(wǎng)絡(luò)監(jiān)控和遠(yuǎn)程工業(yè)控制。當(dāng)然隨著硬件和網(wǎng)絡(luò)速度提高及操作系統(tǒng)實(shí)時性的改善,將會大大提高此測控系統(tǒng)的性能,因此有很好的應(yīng)用前景。

 

 

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 亚洲av高清一区二区三区| 和朋友共享娇妻高hh| 97一区二区三区四区久久| 成人三级在线观看| 久久久精品人妻一区二区三区| 青青青国产在线| 国产精品亲子乱子伦xxxx裸| 99久热re在线精品996热视频| 最新无码a∨在线观看| 亚洲美女视频一区| 精品人妻潮喷久久久又裸又黄| 国产毛片哪里有| 99久久99久久精品国产| 小仙女app2021版最新| 中文字幕日韩wm二在线看| 日本电影在线观看免费影院| 亚洲三级在线播放| 欧美日韩成人在线观看| 亚洲黄色在线网站| 精品久久久久久无码中文字幕一区| 国产成人综合亚洲欧美在| 2021乱理片宅它网| 国语自产精品视频在线看| stars120| 性无码专区无码| 中韩日产字幕2021| 日本免费一级片| 久久国产免费一区二区三区| 日韩在线看片免费人成视频播放| 亚洲欧美日韩综合一区久久| 男人的天堂av网站| 免费国产怡红院在线观看| 精品一区二区三区av天堂| 医生系列小说合集| 精品国产福利久久久| 卡一卡二卡三免费专区2| 美女大胸又爽又黄网站| 和主人玩露出调教暴露羞耻| 美女下部隐私免费直播| 啪啪调教所29下拉式免费阅读| 高清有码国产一区二区|