Global Sources
電子工程專輯
 
電子工程專輯 > EDA/IP
 
 
EDA/IP  

如何設計具XML以及Web瀏覽功能的嵌入式設備

上網時間: 2003年11月15日     打印版  Bookmark and Share  字型大小:  

關鍵字:XML  HTML  embedded Web server  可擴展標記語言  嵌入式Web伺服器 

編者按:越來越多的嵌入式設備將添加XML的Web瀏覽功能,而支援Web功能的嵌入式處理器可以簡化這類設備的設計。本文分析了嵌入式Web功能的特點,並詳細描述了使用軟體工具開發嵌入式Web應用的設計要點。

XML(可擴展標記語言)正迅速成為嵌入式系統與應用之間的首選介面技術。我們有許多方法可以實現具XML功能、支援Web瀏覽的嵌入式設備,從軟體到專用硬體。最簡單的方法可能是完全用外部軟體執行Web處理,但是從消耗的處理能力考慮,這種方法的成本也最高。在這種方法中,設計師有可能要利用諸如微軟Windows CE等嵌入式作業系統的性能。

然而,對於資源受限的嵌入式計畫,設計師將發現一種更有效的方法是直接用硬體實現Web支援功能。可供選擇的解決方案包括全32位元處理器+Web伺服器,以及兼具低功耗和高數據吞吐量特性的混合解決方案等。圖1:Web網站的每個網頁都必須有一個類似於圖示的‘webpage’參數。

目前,大部份主要的嵌入式架構都提供Web支援,包括Z80、MIPS、ARM和X86等。由於市面上存在數千種不同的嵌入式IC,因此設計人員需要考量:有些晶片只需要軟體,而其它晶片常常需要一塊外附加卡來處理網路連接。當把實現Web支援功能所需的最重要的硬體元件-乙太網路控制器整合在晶片上時,這樣的解決方案具有最低的成本。Zilog公司的eZ80 Acclaim微控制器正是這樣一種方案。

eZ80 Acclaim是一款具有Web功能的微控制器,它包含一個高性能的嵌入式處理器和一個完整的軟體堆疊,以製作一種完整的嵌入式連接系統。該軟體堆疊支援標準TCP/IP網路協定以及乙太網路和串列埠驅動程式。

在嵌入式處理器上實現的Web支援功能不同於執行在PC架構上的Web伺服器。標準的個人電腦和基於網際網路的Web設備將Web網頁儲存在諸如硬碟驅動器等大容量儲存設備上,與此相反,由嵌入式處理器製作的Web網頁可以作為嵌入式數據元素進行存取。在記憶體和處理能力兩方面,嵌入式實現方案的資源都是受限的。具XML功能、支援Web的嵌入式系統必須做得比PC更精巧、更簡易、更智慧。

將Web支援功能納入嵌入式應用的一個優點是,它使工程師擺除了用戶介面設計負擔。這是因為用HTML/XML編寫然後轉換成C/C++程式碼的嵌入式Web網頁提供了現成的簡單易用介面,具備支援複雜嵌入式系統的能力。

XML為數據交換帶來便利。XML針對不同系統之間的數據交換提供了一種不依賴於處理器的編碼方式。XML使用規定的標識符將編碼定義置於Web網頁內。設計師正為採用XML語法的不同應用環境開發不同的標識符定義集。例如,已完成的標識集包括用於電氣工程、電子商務、多媒體數據和純文件資訊的詞彙。

我們有許多方式向其它系統來回傳送XML文檔。例如,它們可以作為HTTP對象傳送。這意味著必須支援簡單對象存取協議(SOAP)或者XML-RPC必須被整合在伺服器中。

為了在嵌入式系統中包含XML和HTML支援,這要求軟體工具提供特別的功能。尤其是,與嵌入式硬體密切相關的編譯器-連接器必須在設計上允許XML程式碼嵌入到應用程式的C語言或匯編程式碼中。

在實際開發中,存取XML的功能是相當容易實現的:程式設計員只需在他的程式中加入一串‘#include’聲明即可。Zilog公司針對eZ80 Acclaim的ZDS II開發者套件正是採用這樣的作業手法。許多開發者套件還包括HTML/XML網頁樣本,這大幅簡化了任何計畫。

設計過程圖2:在嵌入式Web伺服器程式中的典型命令行。

儘管‘#include’聲明簡單易用,但開發者必須考慮存取嵌入式Web的其它幾項軟體元素。首先,在應用程式碼中,開發者必須包含一個調用HTTP初始化功能的命令。不過,在此過程中,最重要和最耗時的部份是要求把將被嵌入式系統用戶存取的Web網頁內建到Web伺服器中。

在作業中,當正執行的程式碼調用初始化功能時,Web網頁開始在嵌入式處理器中形成。初始化功能看上去有些類似於此:http_init (http_defmethods,http_defheaders, website, port)。

在我們的例子中,與這個命令最關聯的部份是‘website’參數,它由用戶製作,並定義了將包含在嵌入式處理器支援的站點中的Web網頁。

在我們更深入地研究之前,需要重點指出Web網頁分為兩類:靜態HTML網頁和動態HTML網頁。靜態Web網頁不會改變。許多企業Web網站基本上都是靜態的,其功能主要是宣傳他們的服務和產品;所有存取這些站點的用戶都以相同的方式瀏覽網頁。

與之相反,動態HTML網頁會根據用戶的反饋資訊改變內容。搜索引擎和線上銀行網站是這類網頁的代表,在這些網站,查看的內容會根據用戶輸入的數據而改變。

這對於嵌入式Web伺服器的意義是:靜態頁面易於製作,它們可保存為在C語言軟體程式中的一串字符。它們通常不能保存為簡單的ASCII文本文件,因為純粹的嵌入式設備沒有文件系統。另一方面,動態頁面不能作為文件保存,因為它們的內容是變化的。它們必須即時產生。

這意味著動態文檔必須由一系列功能或參數拼湊而成。在產生Web網頁的過程中,系統需要執行一系列C函數,每個函數對應於在螢幕上顯示的一部份Web網頁。圖3:所有重要的Web網頁程式碼都包含在website參數中。

然後,產生的XML/HTML頁面將傳送到瀏覽器。正是透過這些函數調用,程式設計員能夠使嵌入式系統完成用戶要求它執行的工作,例如讀取溫度感測器,並產生一個向用戶顯示溫度的頁面。使用這些函數調用,程式設計員還可以編寫讀取用戶輸入的程式碼,用戶一般透過填寫嵌入在Web瀏覽器中的表格來輸入資訊。基於在表格中的資訊,程式設計員可以調節?溫器和開啟發動機等。

因此,‘website’參數定義了組成Web頁面結構的排列。(注意,Web站點的每個網頁都必須有一個‘webpage’參數。)

除初始化功能以外,程式設計員還必須謹慎對待其它幾個細節。例如,必須設置網路連接的時間限制,啟動一些網路處理和設立shell程式(這樣命令才可以來回傳送)。在嵌入式Web伺服器的程式中必須包括命令列。

那麼,HTTP伺服器是如何接收函數調用,並返回被請求的Web網頁呢?與大多數網路協定一樣,HTTP採用客戶機-伺服器模式。

HTTP客戶機打開一個TCP連接,並向HTTP伺服器發出一個請求。請求包含一個鑒別目標Web網頁的通用資源標識符。伺服器隨後返回一個包含所請求資源的響應資訊。

最後,程式添加最重要的元素-Web網頁本身。

這種別具一格的Web解決方案允許設立與TCP/IP網路的通用連接,可實現容易的系統控制、簡單的程式碼升級和更好的相容性。

作者:Dick Jensen


開發工具平台與第三方程式總監


Zilog公司




投票數:   加入我的最愛
我來評論 - 如何設計具XML以及Web瀏覽功能的嵌入式...
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首