www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]摘要:討論了嵌入式系統(tǒng)中用Wind Web Server進行設(shè)備管理接口的開發(fā),敘述了系統(tǒng)的結(jié)構(gòu)和開發(fā)中的關(guān)鍵技術(shù),介紹在ADSL匯接設(shè)備中的應(yīng)用實例。 關(guān)鍵詞:嵌入式系統(tǒng) Wind W

摘要:討論了嵌入式系統(tǒng)中用Wind Web Server進行設(shè)備管理接口的開發(fā),敘述了系統(tǒng)的結(jié)構(gòu)和開發(fā)中的關(guān)鍵技術(shù),介紹在ADSL匯接設(shè)備中的應(yīng)用實例。 關(guān)鍵詞:嵌入式系統(tǒng) Wind Web Server 設(shè)備管理 隨著互聯(lián)網(wǎng)絡(luò)硬件、軟件的迅猛發(fā)展,嵌入式系統(tǒng)被廣泛應(yīng)用到工作和生活的各個領(lǐng)域中,如何對這些設(shè)備進行管理成為嵌入式系統(tǒng)軟件開發(fā)中的一個重要方面。用戶只有通過設(shè)備所提供的管理接口對共進行配置、管理和監(jiān)控,因些管理接易用程度和效率成為衡量設(shè)備優(yōu)劣的重要標準之一。在嵌入式設(shè)備中加入HTTP服務(wù)能將其轉(zhuǎn)化成Web Server,可以向Internet或內(nèi)部網(wǎng)提供基于Web的圖形化管理接口,用戶可以使用瀏覽器作為接口來訪問嵌入式設(shè)備。這樣不僅使設(shè)備的易用性大大提高,而且可以省去專用管理軟件,從而方便地進行統(tǒng)一管理。 1 Wind Web Server介紹 VxWorks是WindRiver公司開發(fā)的具有工業(yè)體體育場地位的高位能實時操作系統(tǒng)內(nèi)核,它是一個運行在目標機上的高性能、可裁減的嵌入式實時操作系統(tǒng),具有先進的網(wǎng)絡(luò)功能,支持市面上逾90%的處理器。該公司的網(wǎng)絡(luò)協(xié)議棧產(chǎn)品Wind Web Server提供了功能強大的基于Web方式的網(wǎng)絡(luò)管理系統(tǒng),可以無縫地集成到任何基于VxWorks的嵌入式應(yīng)用中。 Wind Web Server具有以下特性: %26;#183;完全支持HTTP 1.1標準 %26;#183;不需要文件系統(tǒng) %26;#183;支持Java Applets、圖像文件、聲音文件等 %26;#183;可通過標記支持SSI %26;#183;URL處理可定制 %26;#183;靈活配置的模塊結(jié)構(gòu) %26;#183;腳本小(7~40KB) %26;#183;支持用戶/用戶組/密碼認證 %26;#183;有IP過濾機制 %26;#183;支持CGI %26;#183;可記錄日志 %26;#183;支持別名 %26;#183;支持服務(wù)器推送(Server push)技術(shù)。 Wind Web Server采用模塊設(shè)計,可以方便地進行裁剪以滿足應(yīng)用的特殊要求。根據(jù)配置,Wind Web Server需要7~40KB的內(nèi)存。在嵌入式系統(tǒng)中硬件資源寶貴,有時并不需要文件系統(tǒng)。Wind Web Server提供了一個工具Pagepack,可以在編譯和連接時將Web內(nèi)容放在程序代碼中,從而可以存儲在ROM中。 2 Wind Web Server結(jié)構(gòu) 嵌入式系統(tǒng)的使用的資源是受限的,在許多飛速下甚至沒有外部存儲系統(tǒng),這一點要求嵌入式系統(tǒng)的Web服務(wù)器與UNIX和Windows平臺上的Web服務(wù)器有很大不同。Wind Web Server采用模塊化和可伸縮的系統(tǒng)結(jié)構(gòu),允許用戶進行裁剪以滿足資源的不同限制。Wind Web Server的結(jié)構(gòu)如圖1所示。 Wind Web Server由以下關(guān)鍵部分組成: %26;#183;Web服務(wù)器核心 %26;#183;HTTP請求處理模塊(RPM) %26;#183;RPM調(diào)度程序 %26;#183;服務(wù)器端符號表 %26;#183;API函數(shù) 2.1 Web服務(wù)器核心和RPM調(diào)度程序 Web服務(wù)器核心作為一個任務(wù)運行在目標系統(tǒng)中。提供網(wǎng)絡(luò)服務(wù)綁定、Socket函數(shù)調(diào)用和初始化參數(shù)的設(shè)置等。RPM調(diào)度程序決定怎樣響應(yīng)HTTP請求,即決定了HTTP請求的地址和RPM的對應(yīng)關(guān)系。 2.2 HTTP請求處理模塊(RPM) HTTP請求處理模塊分為兩大類:系統(tǒng)RPM和用戶RPM。其中系統(tǒng)RPM執(zhí)行HTTP請求的基本處理,包括:記錄日志、處理別名與MIME頭、IP地址檢查、密碼驗證和訪問限制。而用戶RPM處理具體的頁面請求,包括:文件系統(tǒng)RPM、SSI(Server Side Include)RPM、CGI PRM、用戶函數(shù)調(diào)用RPM、服務(wù)器推送RPM等。另外用戶可以使用自定義RPM完成一些特殊的處理過程。 2.3 服務(wù)器端符號表 Wind Web Server主要通過符號表來支持Web存取目標機中的變量,每個符號表包含如下屬性: %26;#183;Address 內(nèi)存地址 %26;#183;Name 名稱 %26;#183;Descrip 描述 %26;#183;Type 數(shù)據(jù)類型 %26;#183;Num Elems 變量個數(shù) %26;#183;GET Routine 讀加調(diào)函數(shù) %26;#183;GET Param 調(diào)回調(diào)數(shù)數(shù)的參數(shù) %26;#183;SET Routine 寫回調(diào)函數(shù) %26;#183;SET Param 寫回調(diào)函數(shù)的參數(shù) %26;#183;Access ID 變量的訪問控制 將網(wǎng)頁請求和符號表聯(lián)系起來的方法有兩種:擴展SSI和服務(wù)器推送。 (1)擴展SSI的實現(xiàn) 可以在HTML網(wǎng)頁中使用標記,每個標記都與存在于Wind Web Server符號表中的一個讀或?qū)懟卣{(diào)函數(shù)相對應(yīng)。當網(wǎng)頁為Wind Web Server請求時,包含變量值等動態(tài)信息的讀或?qū)懟卣{(diào)函數(shù)輸出替代了網(wǎng)頁上的標記,從而動態(tài)顯示或提交數(shù)據(jù)內(nèi)容。這項技術(shù)同時提高了在HTML頁中處理表單的能力。傳統(tǒng)的Web Server只能處理事先確定的缺省的表單元素,在Wind Web Server,實際值可以從符號表中得以,然后在HTML頁被提交到客戶端前插入到表單中。Wind Web Server還提供了一個工具formpack,用于在包含表單的普通網(wǎng)頁中加入標記。 Wind Web Server中已經(jīng)包含標準的SSI實現(xiàn),如輸入框、下拉列表、復(fù)選框等。另外,用戶可以加入自定義的SSI函數(shù)以處理特定的HTTP請求。 (2)服務(wù)器推送的實現(xiàn) HTTP是一種請求響應(yīng)協(xié)議,如果要對服務(wù)器端進行持續(xù)的監(jiān)控,必須不斷地發(fā)送請求刷新頁面,這將大大加重服務(wù)器的負擔(dān)。Wind Web Server能夠使用內(nèi)嵌的Linve Control模塊在頁面中的Java applet與服務(wù)器端的符號表之間建立一條持續(xù)的交線鏈路,使服務(wù)器端符號表變量的改變無需客戶端請求而直接對客戶端發(fā)布,從而實現(xiàn)了服務(wù)器推送的目的。

2.4 HTTP請求處理過程 一個典型的HTTP請求處理包含以下步驟: (1)接收到HTTP請求后,服務(wù)器取出包含目的URL的請求地字符串,將其存入描述HTTP請求的數(shù)據(jù)結(jié)構(gòu)中; (2)如果該請求是頁面提交,即如下形式:http://target/xxx.xxx.htm?para1=xxx%26;amp;para2=xxx,則將提交參數(shù)存入環(huán)境變量QUERY_STRING中。 (3)調(diào)用所有已配置的系統(tǒng)RPM,如果返回正確,則繼續(xù); (4)調(diào)用頁面對應(yīng)的用戶PRM,如果該頁面中包含SSI標記,則調(diào)用SSI RPM; (5)查找標記,例如:則調(diào)用標準SSI函數(shù)ShowValue()對符號表中的變量usersymbol進行處理,然后將得到的變量值插入要返回的HTML頁面中,傳送至客戶端。 3 并發(fā)中的關(guān)鍵技術(shù) 3.1 自定義用戶RPM 通過調(diào)用函數(shù)httpRomConfAdd(HTTP_M_GET,"/user_rpm/"User_rpm),把形如http://x.x.x.x/user_rpm/*.htm?para1=xxx%26;amp;para2=xxx的請求用函數(shù)框架如下: short User_rpm(HTTP_REQ_ID reqId{ char* para; httpStatusSet (reqId,HTTP_OK); httpHeaderGenerate (reqId); /*產(chǎn)生THHP頭*/ para=httpGetEnv(reqId,"QUERY_STRING"); /*得到輸入?yún)?shù)*/ …… /*處理輸入?yún)?shù)及準備輸出結(jié)果*/ httpStringPut (reqId,"..."); /*開始輸出*/ …… /*輸出全部HTML語句*/ httpStringPut(reqId,"..."); /*結(jié)束輸出*/ return(RPM_DONE); } 3.2 自定義SSI處理函數(shù) 通過調(diào)用函數(shù)httpSsiFnConfAdd("user ssi",User_ssi)建立自定義SSI處理函數(shù)User_ssi。當而面中包含如下標記時:,服務(wù)器將調(diào)用函數(shù)User_ssi(參數(shù)為para),并將輸入插到準備返回的HTTP頁面中。函數(shù)User_rpm的實實框架如下: short User_ssi(HTTP_REQ_ID redid,char * szArg){ char *para; parg=szArg; /*得到輸入?yún)?shù)*/ …… /*處理輸入?yún)?shù)及準備輸出結(jié)果*/ httpStringPut (reqId,"…"); /*輸出全部HTML語句*/ return(HTTP_OK); } 3.3 et Java applet實現(xiàn)服務(wù)器推送 Live Control模塊的API提供如下Java類的實現(xiàn): %26;#183;DirectRegistry Applet與符號表進行通訊的基本部件 %26;#183;DirectReadProxy 從DirectRegistry中獲取符號表變量的改變 %26;#183;DirectWriteProxy 更新DirectRegistry中符號表變量的值 %26;#183;DataObjectChangeListenet、DataObjectStatusListener用于監(jiān)聽的容器 用Java applet實現(xiàn)服務(wù)器推送的框架如下: (1)創(chuàng)建用于連接服務(wù)器端的DirectRegistry類的實例: myServerURL=new URL(http://"+getDocumentBase().getHost()+"/lc/"); myRegistry=new DirectRegistry(myServerURL); (2)創(chuàng)建用于監(jiān)聽符號表變量的Java部件: myWidget=new TextWidget("0",10); (3)創(chuàng)建DirectReadProxy和DirectWriteProxy的實例用于讀寫符號表變量mySymbol: myReadProxy=new DirectReadProxy("mySymbol"); myWriteProxy=new DirectWriteProxy("mySymbol"); (4)將Java部件myWidget加入myReadProxy和my Write Proxy,成為監(jiān)聽容器: myReadProxy.addDataObjectChangeListener(myWidget); myWriteProxy.addDataObjectChangeListener(myWidget); (5)將已創(chuàng)建的監(jiān)聽容器myReadProxy、myWriteProxy加入myRegistry中,完成Applet與服務(wù)器端Live Control模塊的連接: myRegistry.addPropertyChangeListener(myReadProxy); myRegistry.addPropertyChangeListener(myWriteProxy); 另外,用戶可以創(chuàng)建自己的Java部件和DataObject ChangeListener方法,以完成更高級的應(yīng)用。 3.4 配置HTTP服務(wù) Wind Web Serrver可進行裁剪用于不同的應(yīng)用環(huán)境,可配置的參數(shù)較多,同時參數(shù)之間相互影響。因此參數(shù)的配置是否妥當將直接影響HTTP服務(wù)的性能,甚至導(dǎo)致 HTTP服務(wù)不能正常工作。其中對Web Server內(nèi)存池的配置使用尤為關(guān)鍵,需要進行仔細調(diào)整和多次測試。另外整個系統(tǒng)的網(wǎng)絡(luò)內(nèi)存池的容量也直接影響HTTP服務(wù)的性能,需要結(jié)合系統(tǒng)規(guī)模進行配置。 4 實例應(yīng)用 在ADSL匯接器系統(tǒng)軟件的開發(fā)過程中,使用Wind Web Server開發(fā)了基于Web的圖形化設(shè)備管理接口,用戶在任何地點只需使用瀏覽器就可以對設(shè)備進行全面的管理,包括: %26;#183;可以對系統(tǒng)用戶認證和管理,不同的用戶具有不同的操作權(quán)限; %26;#183;可以對系統(tǒng)進行實時監(jiān)控,頁面依照機柜布局設(shè)計。設(shè)備面板和頁面上的各種信號燈同步變化,一目了然。同時可以在頁面上直接使用設(shè)備面板上的各種按鍵,操作方便。采用了服務(wù)器推送技術(shù),降低了網(wǎng)絡(luò)通信量和系統(tǒng)負擔(dān); %26;#183;可以對初如化數(shù)據(jù)進行修改和保存; %26;#183;可以遠程更新整個軟件系統(tǒng); %26;#183;可以隨時獲取和清除計費信息。 整個程序(含頁面代碼)共200K字節(jié)左右,任務(wù)的優(yōu)先級設(shè)為最低,不影響原系統(tǒng)的正常運行,達到了很好的效果。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉