隨著Internet的發展,現在的應用系統常和網絡聯系在一起。然而,對嵌入式系統設計人員來說,由于他們中的大部分人對Internet協議和相關協議不是太了解,開發面向 Internet的應用程序是一項艱難復雜的任務。如何解決這項問題也是現在世界上很多微控制器廠商所關注的。 目前,世界上有很多公司都在大力發展嵌入式微控制器技術,并提供多種嵌入式 Internet應用解決方案。Ubicom公司是美國一家從事Internet 接入應用的微控制器制造公司,為嵌入式Internet應用提供了高性能微控制器和通信軟件。 隨著芯片技術的迅速發展和系統設計水平的不斷提高,芯片集成度按照摩爾定律不斷發展、 CPU速度不斷提高、RISC技術和虛擬技術的應用越來越廣、外部電路逐漸地內部集成化,嵌入式系統的價格不斷下降,體積不斷縮小。嵌入式系統也逐漸趨向于經濟型、微型化和智能化,不斷地從航天、工業應用走向家庭、社區。可以相信,將來的Internet不再僅僅是大型機和 PC機的天下,它會更加廣闊地運用在每一個地方。 1 SX微控制器介紹 Ubicom公司的SX系列可配置通信控制器是采用現代CMOS 工藝制造,體系結構與傳統的微控制器不同,它的內部沒有硬件實現的接口電路,受外界的干擾比較小,可以突破傳統微控制器時鐘頻率33 MHz的限制,達到100 MHz,并且它基于RISC的結構,具有高速的計算能力、靈活的 I/O控制、高效的數據處理能力,能夠進行高級的處理過程。它 100 MHz的頻率和優化的單周期指令集可以大幅提高它的吞吐量。它的結構是確定的而且是可以重新設計的。這些獨特的特征使得SX芯片可以通過軟件模塊(虛擬外設 )實現硬件的實時功能。由于用虛擬外設來實現硬件的功能,需要的時候才進行加載,有利于資源的充分利用。而且,它利用快速閃存來存放軟件模塊,對程序設計來說具有很大的靈活性。 2 虛擬外設 虛擬外設(virtual peripheral)是指通過軟件來實現硬件功能的軟件模塊,即把許多需要硬件來實現的功能接口,借助處理器的高速處理能力,通過編寫相應的軟件模塊來實現。這種虛擬外設的思想,由于應用系統大部分功能采用軟件實現,從而大大減少了硬件的數量和開發周期,降低了系統的成本。而SX是一種快速的具有完全控制能力的單片控制芯片,能夠完全通過虛擬外設實現硬件的實時功能。目前,Ubicom已經實現了PWM、A/D、LCD模塊控制、頻率發生與測量、頻譜分析、 DTMF發生與檢測、開關控制、Internet協議棧,以及串行通信接口、USB接口等多種接口。其中Internet協議棧是最重要的,因為它可以構造與互聯網相連的微控制器系統。這些虛擬外設通過函數調用的形式提供給用戶,方便了用戶設計、縮短了開發應用系統的周期。由于這些函數庫把源代碼提供給了用戶,使得用戶通過修改已有的系統,很容易構造自己的應用系統,大大增加了系統的靈活性。 SX的虛擬外設作為中斷服務子程序在應用軟件中運行,由于 SX具有消除抖動和確定性的中斷響應能力,每次都可在精確的時鐘周期內響應中斷。應用軟件只需在中斷時簡單設置或清除相應的虛擬外設功能標志,并將主要的寄存器自動地存儲到特殊的硬件堆棧中,就可使虛擬外設像外圍硬件電路一樣不受內部應用程序的干擾而正確執行,起到真正外設的作用。 3 Internet協議棧 Internet協議棧是SX虛擬外設的一個重要的實現,是基于 SX處理器的應用系統實現與Internet互聯的基礎。在Internet 上的多個計算機和應用程序的通信是通過不同的通信協議來實現的。這些協議定義了解釋數據傳輸的規則,是由世界上不同的人員和組織來定義開發的。從根本上說, Internet是基于報文分組的網絡,對于每一個東西,它最后都被分成大小不同的帶有數據和頭的報文。然而,程序員更愿意使用基于流的數據傳輸機制。 UDP(User Datagram Protocol)協議是基于報文分組的,而TCP協議是基于流的傳輸機制的協議。在應用中,要根據不同的要求來選用相應的合適的協議。 SX系列芯片之所以稱之為Internet通信控制器,就是因為憑借它高速的處理功能,從軟件上實現了Internet協議——TCP/IP協議棧。通過這些協議棧,程序員可以更加方便地開發基于 Internet的嵌入式應用系統。Internet協議棧包括TCP、UDP 、PPP等虛擬外設,這些協議通過應用程序接口(API),可以方便地同應用程序連接起來。 圖1所示為Ubicom公司用匯編語言實現的以太網協議棧,即 TCP/IP軟件的四層抽象分層:最底層,是專門用來傳輸IP包的物理層,即NIC設備驅動程序;向上一層,是網絡層,負責數據在網上的端到端傳輸;再向上,是我們熟悉的TCP、UDP的傳輸層,一般的應用程序都是建立在傳輸層上的,例如Web服務、簡單郵件服務。 由于在Internet中,都使用約定俗成的TCP/IP協議,因此基于 IP的TCP和UDP協議起著非常重要的作用。由于SX微控制器是一種嵌入式處理器,內存較小,TCP及UDP不可能用傳統的方法來實現。因為,它們需要很大的緩沖區來構造s ocket(套接字),例如在Unix或者Windows中那樣實現。由于在傳輸層上, TCP協議是面向流的機制,而SX控制器具有很高的處理速度,它采用下推式的工作方式,即當收發數據時,并不是將一個完整的數據包拿來處理,而是收取數據的時候,一邊收取,一邊進行應用層的處理。發數據的時候也是同樣,應用層一邊發數據, SX的虛擬外設就同時對數據進行打包發出,直到沒有數據為止。這種方式極大地節約了內存資源,又有效地提高了應用程序的處理速度。通常,由于程序主要的功能是進行遠程控制,真正傳送的數據量很小,根本不需要巨大的緩沖空間,因此,這種處理方法是非常有效的。 4 SX在嵌入式Internet系統中的應用 由于SX芯片的高效性和高速處理能力,它提供的Internet 協議棧,可以很方便地構造Internet應用系統。例如,用HTTP 協議可以構造Web服務器,用SMTP協議可以構造郵件服務的客戶端,用 PPP協議構造點到點的系統。利用這些服務,就可以方便地實現遠程控制系統,應用于諸如智能家電、機頂盒、遠程監控系統、防盜系統等系統中去。 4.1 Web服務器 Web的工作基于客戶機/服務器模型,由Web瀏覽器和Web 服務器構成,兩者之間采用HTTP協議進行通信。基于SX的嵌入式 Web服務器包含了IP/ICMP協議、PPP協議、TCP協議及HTTP協議,能和Internet上的任何類型的Web瀏覽器進行交互式通信,并能夠提供各種類型的網絡資源服務,如:HTML、文本文檔、圖像、Java腳本、Java applets、PDF文檔等。這些資源通過虛擬外設存儲在外部擴展的EEPROM里。 當瀏覽器與Web服務器交互時,HTTP通過統一資源定位器URL(Uniform Resource Locator)來確定Web服務器應該為瀏覽器提供哪些資源。為了節省空間,在SX系統上的文件系統不同于傳統的計算機文件系統,它是通過一種靈活的 Hush算法來實現的。EEPROM中的每一個文件都有一個不同的 Hush值與之相對應,存取的時候很快可以計算出文件的地址,因此,既可以節省空間,又提高了存取文件的速度。此外,它可以根據網頁中嵌入的特殊標志,來實現動態網頁,即顯示實時采集的數據和進行控制操作。 下面是用來讀取系統溫度的動態網頁程序,其中的“瘃? ”字符是用來在網頁中插入溫度的標志,網頁存放在EEPROM中。 <;P> 按'F5'鍵,刷新網頁來查看現在的溫度 當用戶發出頁面請求時,程序判斷“瘃頡閉餳父鱟址"這幾個字符,在將TCP包的時候,把溫度值嵌入到網頁中去,從而實現通過網頁讀取系統的溫度。不過,要注意“瘃頡弊址“? 字符是不在網頁上顯示的。 4.2 郵件客戶端 發送郵件的客戶端也可以通過TCP API來實現,即通過TCP協議的上一層協議SMTP(簡單郵件傳輸協議)來完成郵件的發送。Web服務器使用TCP 連接2,郵件客戶端使用的是連接1。郵件客戶端不同于Web服務器需要等待遠程請求來建立TCP連接,它初始化并打開一個遠程處在監聽狀態的SMTP(簡單郵件傳輸協議)服務器的TCP連接。監聽指的是遠端服務器的半個Socket(套接字),它只包括遠程SMTP服務器的TCP端口,通常是25。一旦連接建立,SMTP服務器就將請求連接的客戶端的IP地址和端口號填充Socket。此時,郵件客戶端就可以接收、發送數據了。SMTP協議是基于文本的用來實現簡單命令響應的語言。下面的例子演示了 SMTP是如何工作的 220 Eserv/2.92 ESMTP server ready. HELO sx 250 Hello 10.1.1.20 MAIL FROM: 250 OK RCPT TO: joe@demo.sx 250 OK DATA 354 send the mail data, end with. Subject: Simple SX message 現在溫度是 28 攝氏度. 250 OK message accepted for delivery QUIT 221 Service closing transmission channel 綜上所述,可以看出,如果把這種芯片嵌入到家電里,就可以通過網頁查看、控制空調、熱水器, 下班的時候打開家里的熱水器,回家以后,就可洗個舒服的熱水澡;如果把這種芯片嵌入到環境比較惡劣的實驗環境里,就可以脫離輻射、高溫對人體的危害,而能得到實時的實驗數據。 5 嵌入式網絡產品的未來展望 由于近年來Internet及通信產業的迅猛發展,半導體制造商都試圖將各種通信協議集成在一個芯片內。但是,這種方法在實現過程中存在著很多問題,唯一的解決方案是利用軟件來完成協議處理功能。由于SX單片機具有100 MIPS的指令處理速度,加上它的虛擬外設軟件模塊,能夠滿足通常的嵌入式產品的對處理性能的要求;同時,由于該單片機采用軟件來實現各種協議處理,便于將來在不改變硬件的情況下,只需改變內置程序即可升級整個嵌入式系統的功能。現在Ubicom公司發布的新產品 IP2022更是體現了它的這種思想,而且,軟件模塊的選擇更加方便,功能也更加強大,相信未來的電器都會貼上“Web Inside”的標志。 |