SX微控制器的虛擬外設及Internet應用
摘 要:主要介紹美國Ubicom公司的新一代微控制器——SX系列微處理器的特點、體系結構、應用范圍,并著重闡述它的虛擬外設思想和Internet應用解決方案。
本文引用地址:http://www.ex-cimer.com/article/149257.htm關鍵詞:SX微控制器 TCP/IP 嵌入式系統(tǒng) 虛擬外設
隨著Internet的發(fā)展,現(xiàn)在的應用系統(tǒng)常和網(wǎng)絡聯(lián)系在一起。然而,對嵌入式系統(tǒng)設計人員來說,由于他們中的大部分人對Internet協(xié)議和相關協(xié)議不是太了解,開發(fā)面向 Internet的應用程序是一項艱難復雜的任務。如何解決這項問題也是現(xiàn)在世界上很多微控制器廠商所關注的。
目前,世界上有很多公司都在大力發(fā)展嵌入式微控制器技術,并提供多種嵌入式 Internet應用解決方案。Ubicom公司是美國一家從事Internet 接入應用的微控制器制造公司,為嵌入式Internet應用提供了高性能微控制器和通信軟件。
隨著芯片技術的迅速發(fā)展和系統(tǒng)設計水平的不斷提高,芯片集成度按照摩爾定律不斷發(fā)展、 CPU速度不斷提高、RISC技術和虛擬技術的應用越來越廣、外部電路逐漸地內(nèi)部集成化,嵌入式系統(tǒng)的價格不斷下降,體積不斷縮小。嵌入式系統(tǒng)也逐漸趨向于經(jīng)濟型、微型化和智能化,不斷地從航天、工業(yè)應用走向家庭、社區(qū)??梢韵嘈?,將來的Internet不再僅僅是大型機和 PC機的天下,它會更加廣闊地運用在每一個地方。
1 SX微控制器介紹
Ubicom公司的SX系列可配置通信控制器是采用現(xiàn)代CMOS 工藝制造,體系結構與傳統(tǒng)的微控制器不同,它的內(nèi)部沒有硬件實現(xiàn)的接口電路,受外界的干擾比較小,可以突破傳統(tǒng)微控制器時鐘頻率33 MHz的限制,達到100 MHz,并且它基于RISC的結構,具有高速的計算能力、靈活的 I/O控制、高效的數(shù)據(jù)處理能力,能夠進行高級的處理過程。它 100 MHz的頻率和優(yōu)化的單周期指令集可以大幅提高它的吞吐量。它的結構是確定的而且是可以重新設計的。這些獨特的特征使得SX芯片可以通過軟件模塊(虛擬外設 )實現(xiàn)硬件的實時功能。由于用虛擬外設來實現(xiàn)硬件的功能,需要的時候才進行加載,有利于資源的充分利用。而且,它利用快速閃存來存放軟件模塊,對程序設計來說具有很大的靈活性。
2 虛擬外設
虛擬外設(virtual peripheral)是指通過軟件來實現(xiàn)硬件功能的軟件模塊,即把許多需要硬件來實現(xiàn)的功能接口,借助處理器的高速處理能力,通過編寫相應的軟件模塊來實現(xiàn)。這種虛擬外設的思想,由于應用系統(tǒng)大部分功能采用軟件實現(xiàn),從而大大減少了硬件的數(shù)量和開發(fā)周期,降低了系統(tǒng)的成本。而SX是一種快速的具有完全控制能力的單片控制芯片,能夠完全通過虛擬外設實現(xiàn)硬件的實時功能。目前,Ubicom已經(jīng)實現(xiàn)了PWM、A/D、LCD模塊控制、頻率發(fā)生與測量、頻譜分析、 DTMF發(fā)生與檢測、開關控制、Internet協(xié)議棧,以及串行通信接口、USB接口等多種接口。其中Internet協(xié)議棧是最重要的,因為它可以構造與互聯(lián)網(wǎng)相連的微控制器系統(tǒng)。這些虛擬外設通過函數(shù)調(diào)用的形式提供給用戶,方便了用戶設計、縮短了開發(fā)應用系統(tǒng)的周期。由于這些函數(shù)庫把源代碼提供給了用戶,使得用戶通過修改已有的系統(tǒng),很容易構造自己的應用系統(tǒng),大大增加了系統(tǒng)的靈活性。
SX的虛擬外設作為中斷服務子程序在應用軟件中運行,由于 SX具有消除抖動和確定性的中斷響應能力,每次都可在精確的時鐘周期內(nèi)響應中斷。應用軟件只需在中斷時簡單設置或清除相應的虛擬外設功能標志,并將主要的寄存器自動地存儲到特殊的硬件堆棧中,就可使虛擬外設像外圍硬件電路一樣不受內(nèi)部應用程序的干擾而正確執(zhí)行,起到真正外設的作用。
3 Internet協(xié)議棧
Internet協(xié)議棧是SX虛擬外設的一個重要的實現(xiàn),是基于 SX處理器的應用系統(tǒng)實現(xiàn)與Internet互聯(lián)的基礎。在Internet 上的多個計算機和應用程序的通信是通過不同的通信協(xié)議來實現(xiàn)的。這些協(xié)議定義了解釋數(shù)據(jù)傳輸?shù)囊?guī)則,是由世界上不同的人員和組織來定義開發(fā)的。從根本上說, Internet是基于報文分組的網(wǎng)絡,對于每一個東西,它最后都被分成大小不同的帶有數(shù)據(jù)和頭的報文。然而,程序員更愿意使用基于流的數(shù)據(jù)傳輸機制。 UDP(User Datagram Protocol)協(xié)議是基于報文分組的,而TCP協(xié)議是基于流的傳輸機制的協(xié)議。在應用中,要根據(jù)不同的要求來選用相應的合適的協(xié)議。
SX系列芯片之所以稱之為Internet通信控制器,就是因為憑借它高速的處理功能,從軟件上實現(xiàn)了Internet協(xié)議——TCP/IP協(xié)議棧。通過這些協(xié)議棧,程序員可以更加方便地開發(fā)基于 Internet的嵌入式應用系統(tǒng)。Internet協(xié)議棧包括TCP、UDP 、PPP等虛擬外設,這些協(xié)議通過應用程序接口(API),可以方便地同應用程序連接起來。
圖1所示為Ubicom公司用匯編語言實現(xiàn)的以太網(wǎng)協(xié)議棧,即 TCP/IP軟件的四層抽象分層:最底層,是專門用來傳輸IP包的物理層,即NIC設備驅(qū)動程序;向上一層,是網(wǎng)絡層,負責數(shù)據(jù)在網(wǎng)上的端到端傳輸;再向上,是我們熟悉的TCP、UDP的傳輸層,一般的應用程序都是建立在傳輸層上的,例如Web服務、簡單郵件服務。
由于SX芯片的高效性和高速處理能力,它提供的Internet 協(xié)議棧,可以很方便地構造Internet應用系統(tǒng)。例如,用HTTP 協(xié)議可以構造Web服務器,用SMTP協(xié)議可以構造郵件服務的客戶端,用 PPP協(xié)議構造點到點的系統(tǒng)。利用這些服務,就可以方便地實現(xiàn)遠程控制系統(tǒng),應用于諸如智能家電、機頂盒、遠程監(jiān)控系統(tǒng)、防盜系統(tǒng)等系統(tǒng)中去。
4.1 Web服務器
Web的工作基于客戶機/服務器模型,由Web瀏覽器和Web 服務器構成,兩者之間采用HTTP協(xié)議進行通信?;赟X的嵌入式 Web服務器包含了IP/ICMP協(xié)議、PPP協(xié)議、TCP協(xié)議及HTTP協(xié)議,能和Internet上的任何類型的Web瀏覽器進行交互式通信,并能夠提供各種類型的網(wǎng)絡資源服務,如:HTML、文本文檔、圖像、Java腳本、Java applets、PDF文檔等。這些資源通過虛擬外設存儲在外部擴展的EEPROM里。
當瀏覽器與Web服務器交互時,HTTP通過統(tǒng)一資源定位器URL(Uniform Resource Locator)來確定Web服務器應該為瀏覽器提供哪些資源。為了節(jié)省空間,在SX系統(tǒng)上的文件系統(tǒng)不同于傳統(tǒng)的計算機文件系統(tǒng),它是通過一種靈活的 Hush算法來實現(xiàn)的。EEPROM中的每一個文件都有一個不同的 Hush值與之相對應,存取的時候很快可以計算出文件的地址,因此,既可以節(jié)省空間,又提高了存取文件的速度。此外,它可以根據(jù)網(wǎng)頁中嵌入的特殊標志,來實現(xiàn)動態(tài)網(wǎng)頁,即顯示實時采集的數(shù)據(jù)和進行控制操作。下面是用來讀取系統(tǒng)溫度的動態(tài)網(wǎng)頁程序,其中的“瘃? ”字符是用來在網(wǎng)頁中插入溫度的標志,網(wǎng)頁存放在EEPROM中。
HTML>
HEAD>
TITLE> 實時溫度監(jiān)視器/TITLE>
/HEAD>
BODY BGCOLOR=#404040 text=#80FF00>
center>現(xiàn)在的溫度是:font size=+2color=#FF99FF> 瘃/font>/center>
P>
font color=#FFFFFF>按'F5'鍵,刷新網(wǎng)頁來查看現(xiàn)在的溫度/font>
/BODY>
/HTML>
當用戶發(fā)出頁面請求時,程序判斷“瘃頡閉餳父鱟址這幾個字符,在將TCP包的時候,把溫度值嵌入到網(wǎng)頁中去,從而實現(xiàn)通過網(wǎng)頁讀取系統(tǒng)的溫度。不過,要注意“瘃頡弊址“? 字符是不在網(wǎng)頁上顯示的。
4.2 郵件客戶端
發(fā)送郵件的客戶端也可以通過TCP API來實現(xiàn),即通過TCP協(xié)議的上一層協(xié)議SMTP(簡單郵件傳輸協(xié)議)來完成郵件的發(fā)送。Web服務器使用TCP 連接2,郵件客戶端使用的是連接1。郵件客戶端不同于Web服務器需要等待遠程請求來建立TCP連接,它初始化并打開一個遠程處在監(jiān)聽狀態(tài)的SMTP(簡單郵件傳輸協(xié)議)服務器的TCP連接。監(jiān)聽指的是遠端服務器的半個Socket(套接字),它只包括遠程SMTP服務器的TCP端口,通常是25。一旦連接建立,SMTP服務器就將請求連接的客戶端的IP地址和端口號填充Socket。此時,郵件客戶端就可以接收、發(fā)送數(shù)據(jù)了。SMTP協(xié)議是基于文本的用來實現(xiàn)簡單命令響應的語言。下面的例子演示了 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
現(xiàn)在溫度是 28 攝氏度.
250 OK message accepted for delivery
QUIT
221 Service closing transmission channel
綜上所述,可以看出,如果把這種芯片嵌入到家電里,就可以通過網(wǎng)頁查看、控制空調(diào)、熱水器, 下班的時候打開家里的熱水器,回家以后,就可洗個舒服的熱水澡;如果把這種芯片嵌入到環(huán)境比較惡劣的實驗環(huán)境里,就可以脫離輻射、高溫對人體的危害,而能得到實時的實驗數(shù)據(jù)。
5 嵌入式網(wǎng)絡產(chǎn)品的未來展望
由于近年來Internet及通信產(chǎn)業(yè)的迅猛發(fā)展,半導體制造商都試圖將各種通信協(xié)議集成在一個芯片內(nèi)。但是,這種方法在實現(xiàn)過程中存在著很多問題,唯一的解決方案是利用軟件來完成協(xié)議處理功能。由于SX單片機具有100 MIPS的指令處理速度,加上它的虛擬外設軟件模塊,能夠滿足通常的嵌入式產(chǎn)品的對處理性能的要求;同時,由于該單片機采用軟件來實現(xiàn)各種協(xié)議處理,便于將來在不改變硬件的情況下,只需改變內(nèi)置程序即可升級整個嵌入式系統(tǒng)的功能?,F(xiàn)在Ubicom公司發(fā)布的新產(chǎn)品 IP2022更是體現(xiàn)了它的這種思想,而且,軟件模塊的選擇更加方便,功能也更加強大,相信未來的電器都會貼上“Web Inside”的標志。
參考文獻
1 樂德廣,郭東輝,等. 基于SX微處理器的嵌入式Internet技術及其應用系統(tǒng)的設計. 嵌入式系統(tǒng)論文集,2000.11
2 Ubicom, Inc. Application Note 37(Web Server Send Email Client Implementation with Ethernet as the Physical Layer). January 2000
tcp/ip相關文章:tcp/ip是什么
評論