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