摘 要:因特網(wǎng)的迅猛發(fā)展,給世界帶來(lái)了翻天覆地的變化,是人類真正進(jìn)入了信息產(chǎn)業(yè)時(shí)代。時(shí)至今日,嵌入式領(lǐng)域也不斷涌現(xiàn)出連入因特網(wǎng)的巨大需求,特別是物聯(lián)網(wǎng)產(chǎn)業(yè)、移動(dòng)終端等發(fā)展方向。在對(duì)TCP/IP結(jié)構(gòu)有了大致的基礎(chǔ)上,本文將針對(duì)基于TCP/IP協(xié)議棧的嵌入式異構(gòu)網(wǎng)絡(luò)進(jìn)行研究。
關(guān)鍵詞:TCP/IP;協(xié)議棧;嵌入式;異構(gòu)網(wǎng)絡(luò)
中圖分類號(hào):TN915.05
關(guān)于嵌入式系統(tǒng)(Embedded System)的定義,可說(shuō)是眾說(shuō)紛紜。有的人說(shuō)嵌入式系統(tǒng)是一個(gè)封閉系統(tǒng),無(wú)磁碟系統(tǒng),I/O很少的系統(tǒng),也有人說(shuō)嵌入式系統(tǒng)是軟硬體整合的系統(tǒng)。一個(gè)是根據(jù)英國(guó)電機(jī)工程師協(xié)會(huì)的定義,嵌入式系統(tǒng)為控制、監(jiān)視或輔助設(shè)備、機(jī)器或甚至工廠運(yùn)作的裝置。這種定義似乎把整個(gè)嵌入式系統(tǒng)的應(yīng)用縮小至控制或監(jiān)視兩方面而已,比較狹隘。由于網(wǎng)路的發(fā)達(dá),將使幾乎目前主要熱門的嵌入式系統(tǒng)都具備網(wǎng)路功能,幾手資訊家電產(chǎn)品所采用的系統(tǒng),清一色都是嵌入式系統(tǒng),如網(wǎng)路冰箱、上網(wǎng)機(jī)(Set Top Box)、WebPAD等等[1]??梢?jiàn)在未來(lái),嵌入式系統(tǒng)定義勢(shì)將越來(lái)越模糊,但卻會(huì)一點(diǎn)一滴的融入你我的生活里面。
1 嵌入式系統(tǒng)的概述
元件則是由一些物件共同合作,提供服務(wù),隱藏其設(shè)計(jì)內(nèi)容,只開(kāi)放特定界面讓外界能存取這服務(wù)。它如同一個(gè)黑盒子,只允許需求者透過(guò)其所開(kāi)放出來(lái)的界面來(lái)存取,需求者毋需了解實(shí)作細(xì)節(jié),也毋需費(fèi)心維護(hù)。如此一來(lái),元件很容易被整合到任一應(yīng)用程式之中,例如COM[eded98]及Enterprise Java Bean為MultimediaManager之元件,開(kāi)放出一界面物件ImageObserver,以提供影像更新之服務(wù),客戶端ImageManager元件只能透過(guò)界面物件ImageObserver 來(lái)存取其服務(wù),而無(wú)法了解MultimediaManager之實(shí)作細(xì)節(jié)。物件導(dǎo)向應(yīng)用框架(Object-Oriented Application Framework,OOAF)為一個(gè)可重用的、半成品之程式,設(shè)計(jì)者很容易根據(jù)其需要,將其修改為符合自己需求之應(yīng)用程式[2]。
2 嵌入式TCP/IP
網(wǎng)際協(xié)議族(也稱為網(wǎng)絡(luò)協(xié)議族,Internet Protocol suite)是因特網(wǎng)和大多數(shù)商業(yè)網(wǎng)絡(luò)中所運(yùn)行通信協(xié)議的集合。它也被稱為TCP/IP協(xié)議棧,以協(xié)議棧中兩個(gè)最重要的協(xié)議命名,包括傳輸控制協(xié)議(Transmission Control Protocol,TCP)和網(wǎng)際協(xié)議(Internet Protocol,IP)。TCP/IP代表一族協(xié)議,是互聯(lián)網(wǎng)上使用的網(wǎng)絡(luò)協(xié)議,它包括ARP、IP、ICMP、IGMP、UDP和TCP等。TCP/IP通常被認(rèn)為是一個(gè)4層協(xié)議系統(tǒng)。
目前,嵌入式協(xié)議棧的提供有兩種方式:一種是獨(dú)立的第三方協(xié)議棧產(chǎn)品;另一種嵌入式操作系統(tǒng)提供商提供協(xié)議棧產(chǎn)品。后一種方法在開(kāi)發(fā)時(shí)相對(duì)要簡(jiǎn)單些,而且能夠提供較強(qiáng)的軟件可使用性。
3 基于TCP/IP協(xié)議棧的嵌入式異構(gòu)網(wǎng)絡(luò)
框架是一個(gè)可重用的設(shè)計(jì),此設(shè)計(jì)有兩個(gè)要素,其一為一組抽象化的類別,其二為代表這組類別的物件集合,其基于互動(dòng)關(guān)系所提供的服務(wù)。例如Microsoft公司的MFC即是針對(duì)視窗環(huán)境程式的設(shè)計(jì)所開(kāi)發(fā)出之框架,用以處理有關(guān)視覺(jué)化人機(jī)界面之呈現(xiàn),讓設(shè)計(jì)者只需專注于解決應(yīng)用本身之問(wèn)題。使用框架之優(yōu)點(diǎn)如下。
(1)模組化(Modularity):框架藉由隱藏其實(shí)作細(xì)節(jié),只提供穩(wěn)定界面之機(jī)制,加強(qiáng)其模組化之設(shè)計(jì)。
(2)重用性(Reusability):框架藉由訂定可重復(fù)使用于產(chǎn)生新應(yīng)用系統(tǒng)之一般化元件(generic components),來(lái)提供穩(wěn)定的界面。我們針對(duì)嵌入式即時(shí)系統(tǒng)之開(kāi)發(fā)提出一個(gè)應(yīng)用框架的構(gòu)想。此一框架構(gòu)想之概念是將分析設(shè)計(jì)的流程分解,針對(duì)各個(gè)主要的步驟設(shè)計(jì)出有助于這些步驟進(jìn)行之元件,這些元件負(fù)責(zé)幫助設(shè)計(jì)者自動(dòng)完成部分繁復(fù)的設(shè)計(jì)工作,設(shè)計(jì)者只須作高階、概念之規(guī)劃。應(yīng)用框架之各個(gè)元件名稱如下:分析器(Analyzer)、任務(wù)器(Task Composer)、排程器(Scheduler)、作業(yè)系統(tǒng)管理器(OS Manager)及程式產(chǎn)生器(Code Generator)。應(yīng)用這些元件可幫助設(shè)計(jì)者從分析到程式碼的產(chǎn)生。
整個(gè)應(yīng)用系統(tǒng)可視為由應(yīng)用物件、排程物件、作業(yè)系統(tǒng)物件及主程式物件所組成的。應(yīng)用系統(tǒng)在執(zhí)行時(shí)會(huì)先由主程式開(kāi)始,呼叫TaskInfo及Kernel相關(guān)操作進(jìn)行各種初始化的工作,然后呼叫排程物件,排程物件會(huì)參考任務(wù)中的優(yōu)先權(quán)等級(jí),呼叫優(yōu)先權(quán)等級(jí)最高的任務(wù)來(lái)執(zhí)行,由于排程物件的優(yōu)先權(quán)等級(jí)最高,所以任一任務(wù)執(zhí)行完畢后都會(huì)將CPU控制權(quán)交給排程物件,如此循環(huán)不已。
嵌入式協(xié)議棧的運(yùn)行必須基于嵌入式操作系統(tǒng)平臺(tái)的支持,但并不是說(shuō)協(xié)議棧必須依賴于嵌入式操作系統(tǒng)的API。實(shí)際上,許多嵌入式協(xié)議棧做到了相對(duì)于操作系統(tǒng)的最大獨(dú)立性,可以與大多數(shù)嵌入式操作系統(tǒng)集成運(yùn)行。但是,協(xié)議棧以及附帶的上層接口和下層驅(qū)動(dòng)程序會(huì)給嵌入式系統(tǒng)設(shè)計(jì)設(shè)置其他的約束。例如,TCP、IP協(xié)議棧必須有一個(gè)相對(duì)的準(zhǔn)確時(shí)間源,以便進(jìn)行時(shí)間管理,處理各種發(fā)生在棧中的超時(shí)和定時(shí)行為。
4 結(jié)束語(yǔ)
在系統(tǒng)中嵌入TCP/IP協(xié)議棧時(shí),嵌入式工程師先要從物理層開(kāi)始,因?yàn)榇蠖鄶?shù)情況下硬件的改動(dòng)意味著要重新設(shè)計(jì)。首先,設(shè)計(jì)者必須確定要使用的局域網(wǎng)(LAN)技術(shù)。之后,需要實(shí)現(xiàn)并測(cè)試網(wǎng)絡(luò)接口卡(Network Interface Card,NIC)或者數(shù)據(jù)鏈路控制器(Data Link Controller,DLC)的相關(guān)驅(qū)動(dòng)。只有當(dāng)嵌入式設(shè)備能夠正確地收發(fā)幀時(shí),嵌入式工程師才可以沿協(xié)議棧向上繼續(xù)開(kāi)發(fā),最后測(cè)試應(yīng)用程序的數(shù)據(jù)收發(fā)。由于本書是從嵌入式工程師的視角出發(fā),所以是從實(shí)現(xiàn)的角度自底向上地講解TCP/IP協(xié)議棧,而不是從傳統(tǒng)編程角度的自頂向下。
參考文獻(xiàn):
[1]王樹森,王希杰,劉秋菊.嵌入式Web遠(yuǎn)程糧情監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)[J].自動(dòng)化儀表,2013(10):243-247.
[2]王寶寶,余世明,王振宇.嵌入式Internet中Nagle算法及其應(yīng)用研究[J].中國(guó)工程科學(xué),2014(02):101-105.
[3]馬濤,白瑞林,石堅(jiān).Cortex-A8平臺(tái)的μC/OS-Ⅱ及LwIP協(xié)議棧的移植與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2014(01):242-245.
[4]郭麗強(qiáng),陳發(fā)堂.一種基于多核嵌入式系統(tǒng)的TD-LTE同步校正方法[J].電子技術(shù)應(yīng)用,2014(04):370-372.
[5]金仲乾,苗克堅(jiān),王毅航.基于μC/OS-Ⅱ的LwIP協(xié)議棧的移植與改進(jìn)[J].科學(xué)技術(shù)與工程,2013(02):516-521.
作者簡(jiǎn)介:種?。?984-),男,河南人,助教,碩士,研究方向:嵌入式。
作者單位:承德石油高等??茖W(xué)校 電氣與電子工程系,河北承德 067000