嵌入式系統(tǒng)中網(wǎng)絡(luò)通信協(xié)議的選擇
掃描二維碼
隨時(shí)隨地手機(jī)看文章
一、 引言
一個(gè)現(xiàn)代化工業(yè)企業(yè)的網(wǎng)絡(luò)環(huán)境一般可分為四個(gè)層次:
·Internet:實(shí)現(xiàn)企業(yè)之間的信息交流;
·Intranet:實(shí)現(xiàn)企業(yè)內(nèi)部管理、財(cái)務(wù)、辦公及人事等的信息化;
·Infranet:實(shí)現(xiàn)工業(yè)企業(yè)現(xiàn)場(chǎng)生產(chǎn)設(shè)備級(jí)的綜合管理、調(diào)度與監(jiān)控等;
·Embedded Network :嵌入式網(wǎng)絡(luò)。實(shí)現(xiàn)生產(chǎn)設(shè)備內(nèi)部多個(gè)分布式子系統(tǒng)之間的實(shí)時(shí)通信。
Internet、Intranet都基于TCP/IP協(xié)議簇,Intranet是面向廣域網(wǎng)的Internet在企業(yè)內(nèi)部局域網(wǎng)上的延伸。 Infranet的建設(shè)目前主要采用各種現(xiàn)場(chǎng)總線協(xié)議,如ProfiBus、Lonwork、CAN等。
隨著社會(huì)的進(jìn)步和技術(shù)的發(fā)展,現(xiàn)代機(jī)電控制系統(tǒng)往往包括若干個(gè)子系統(tǒng),每個(gè)子系統(tǒng)既自成一體,擁有自己獨(dú)立的CPU,又與其它子系統(tǒng)緊密協(xié)調(diào)。嵌入式網(wǎng)絡(luò)就是實(shí)現(xiàn)子系統(tǒng)間相互通信的手段。
二、對(duì)嵌入式網(wǎng)絡(luò)的特殊要求
嵌入式網(wǎng)絡(luò)通常應(yīng)用在環(huán)境比較惡劣的工業(yè)生產(chǎn)現(xiàn)場(chǎng),因此在以下幾個(gè)方面有其自身獨(dú)特的要求:
1. 實(shí)時(shí)性:生產(chǎn)設(shè)備內(nèi)部多個(gè)分布式子系統(tǒng)信息耦合通常比較緊密,對(duì)實(shí)時(shí)性要求很高,這就要求所用的網(wǎng)絡(luò)協(xié)議具有可確定的實(shí)時(shí)性能,即極壞情況下的響應(yīng)時(shí)間是可確定的;另外在網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)比較多,或者有些節(jié)點(diǎn)對(duì)實(shí)時(shí)響應(yīng)要求特別高時(shí),網(wǎng)絡(luò)協(xié)議還應(yīng)支持優(yōu)先級(jí)調(diào)度,以提高時(shí)間緊迫型任務(wù)的信息傳輸可確定性。
2. 可靠性:嵌入式網(wǎng)絡(luò)本身的可靠性直接影響設(shè)備的有效作業(yè)率、成品率和生產(chǎn)效率,要求網(wǎng)絡(luò)能動(dòng)態(tài)增加/刪除節(jié)點(diǎn);生產(chǎn)現(xiàn)場(chǎng)比較惡劣的電磁環(huán)境要求嵌入式網(wǎng)絡(luò)本身具有很強(qiáng)的抗干擾能力、檢錯(cuò)和糾錯(cuò)能力以及快速恢復(fù)能力;
3. 通信效率:嵌入式網(wǎng)絡(luò)通信的特點(diǎn)之一是子系統(tǒng)之間通信非常頻繁,但每次通信的信息長(zhǎng)度很短,因此要求嵌入式網(wǎng)絡(luò)協(xié)議盡量采用短幀結(jié)構(gòu),且?guī)^和幀尾盡可能短,從而提高通信效率和帶寬的利用率;
4. 雙重混合支持:不同工作環(huán)境的巨大差異決定了嵌入式網(wǎng)絡(luò)應(yīng)具有靈活的介質(zhì)訪問(wèn)協(xié)議,不但支持多種介質(zhì)(雙絞線、同軸電纜、光纜),而且支持混合拓?fù)浣Y(jié)構(gòu)(星型、環(huán)型、總線型),有時(shí)甚至要求同一個(gè)嵌入式網(wǎng)絡(luò)能同時(shí)使用多種介質(zhì)和多種網(wǎng)絡(luò)拓?fù)?。如在噪聲環(huán)境中,系統(tǒng)中一部分連接需要使用光纜,其它部分則使用雙絞線或同軸電纜。同軸電纜適于采用總線拓?fù)洌饫w則更適于環(huán)型或星型拓?fù)?,這就要求網(wǎng)絡(luò)協(xié)議具有雙重混合支持。
5. 實(shí)現(xiàn)難度和造價(jià):嵌入式系統(tǒng)通常需要針對(duì)實(shí)際需求進(jìn)行專門設(shè)計(jì)與制造,這就要求其中的網(wǎng)絡(luò)系統(tǒng)軟硬件容易實(shí)現(xiàn),并與子系統(tǒng)控制部分集成,有關(guān)元器件商品化程度高,造價(jià)較低。
6. 開(kāi)放性:嵌入式網(wǎng)絡(luò)必需具有良好的開(kāi)放性,一方面能通過(guò)企業(yè)Infranet連接到Intranet中,實(shí)現(xiàn)企業(yè)生產(chǎn)管理的管控一體化;另一方面應(yīng)具有公開(kāi)透明的開(kāi)發(fā)界面,資料完備,實(shí)現(xiàn)系統(tǒng)硬件、軟件的自主開(kāi)發(fā)和集成。
此外,嵌入式網(wǎng)絡(luò)系統(tǒng)必須配置靈活、維護(hù)簡(jiǎn)便。
通常,嵌入式網(wǎng)絡(luò)就覆蓋范圍而言屬于局域網(wǎng)。按照ISO/OSI的觀點(diǎn),TCP/IP協(xié)議簇位于網(wǎng)絡(luò)層以上。顯然,TCP/IP協(xié)議簇已經(jīng)超出了嵌入式網(wǎng)絡(luò)系統(tǒng)的范疇。嵌入式網(wǎng)絡(luò)包括ISO/OSI七層模型中的物理層和數(shù)據(jù)鏈路層。數(shù)據(jù)鏈路層在具體實(shí)現(xiàn)上可劃分成兩個(gè)子層:介質(zhì)訪問(wèn)控制子層(MAC子層)和邏輯鏈路控制子層(LLC子層)。MAC子層包括物理層接口硬件和實(shí)現(xiàn)介質(zhì)訪問(wèn)協(xié)議的通信控制器;通常LLC子層由軟件實(shí)現(xiàn)(用戶自主開(kāi)發(fā))。因此,嵌入式系統(tǒng)設(shè)計(jì)中網(wǎng)絡(luò)通信協(xié)議選擇的核心是介質(zhì)訪問(wèn)協(xié)議的選擇。
三、 常見(jiàn)介質(zhì)訪問(wèn)協(xié)議的比較
1、面向鏈接的協(xié)議
面向鏈接的協(xié)議主要用在網(wǎng)絡(luò)發(fā)展初期的主機(jī)–終端式網(wǎng)絡(luò)中,如X.25和IBM的SNA網(wǎng)絡(luò)。其主要缺點(diǎn)是:1)節(jié)點(diǎn)之間采用串行連接方式,每個(gè)物理連接只支持兩個(gè)節(jié)點(diǎn),速度較低;2)物理上沒(méi)有連接的節(jié)點(diǎn)之間的通信需要經(jīng)過(guò)多個(gè)中間節(jié)點(diǎn)的多次傳輸;3)直接相連的節(jié)點(diǎn)間的通信是可確定的,而間接相連的節(jié)點(diǎn)間的通信則無(wú)法確定延時(shí)。因此,在局域網(wǎng)技術(shù)已非常成熟的今天,這類協(xié)議已很少應(yīng)用。
2、輪詢法
輪詢法因其簡(jiǎn)單和實(shí)時(shí)性能可確定等特點(diǎn)而成為嵌入式網(wǎng)絡(luò)常用協(xié)議之一。采用輪詢法的協(xié)議,需指定一個(gè)主節(jié)點(diǎn)作為中央主機(jī)來(lái)定期輪詢各個(gè)從節(jié)點(diǎn),以便顯式分配從節(jié)點(diǎn)訪問(wèn)共享介質(zhì)的權(quán)力。這類協(xié)議的缺點(diǎn)是;1)輪詢過(guò)程占用了寶貴的網(wǎng)絡(luò)帶寬,增加了網(wǎng)絡(luò)負(fù)擔(dān);2)風(fēng)險(xiǎn)完全集中在主節(jié)點(diǎn)上,為避免因主節(jié)點(diǎn)失效而導(dǎo)致整個(gè)網(wǎng)絡(luò)癱瘓,有時(shí)需設(shè)置多個(gè)主節(jié)點(diǎn)來(lái)提高系統(tǒng)的健壯性(如Profibus)。
3、CSMA/CD(帶沖突檢測(cè)的載波監(jiān)聽(tīng)多路訪問(wèn))
CSMA/CD有許多不同的實(shí)現(xiàn)版本,其核心思想是:一個(gè)節(jié)點(diǎn)只有確認(rèn)網(wǎng)絡(luò)空閑之后才能發(fā)送信息。如果多個(gè)節(jié)點(diǎn)幾乎同時(shí)檢測(cè)到網(wǎng)絡(luò)空閑并發(fā)送信息,則產(chǎn)生沖突。檢測(cè)到?jīng)_突的發(fā)送信息的節(jié)點(diǎn)必須采用某種算法(如回溯算法)來(lái)確定延時(shí)長(zhǎng)短,延時(shí)結(jié)束后重復(fù)上述過(guò)程再試圖發(fā)送。
CSMA/CD的優(yōu)點(diǎn)是理論上能支持任意多的節(jié)點(diǎn),且不需要預(yù)先分配節(jié)點(diǎn)位置,因此在辦公環(huán)境中幾乎占有絕對(duì)優(yōu)勢(shì)。但在CSMA/CD中沖突產(chǎn)生具有很大的隨機(jī)性,在最壞情況下的響應(yīng)延時(shí)不可確定,無(wú)法滿足嵌入式網(wǎng)絡(luò)最基本的實(shí)時(shí)性要求。
4、TDMA(時(shí)分多路訪問(wèn))
TDMA已大量應(yīng)用于移動(dòng)通信領(lǐng)域(如GSM、DAMPS),但也可用于局域網(wǎng)。TDMA的特點(diǎn)是:每輪信息傳輸前,網(wǎng)絡(luò)中的主節(jié)點(diǎn)先廣播一個(gè)幀同步信號(hào)以同步各從節(jié)點(diǎn)的時(shí)鐘,在幀同步信號(hào)之后,每個(gè)從節(jié)點(diǎn)在各自所分配的時(shí)間片內(nèi)發(fā)送數(shù)據(jù)。TDMA的缺點(diǎn)是:1)每個(gè)從節(jié)點(diǎn)必須有一個(gè)穩(wěn)定的基準(zhǔn)時(shí)間以確定時(shí)間片,因此從節(jié)點(diǎn)比較復(fù)雜,造價(jià)較高;2)TDMA的主流應(yīng)用領(lǐng)域依然是無(wú)線移動(dòng)通信領(lǐng)域,用于嵌入式網(wǎng)絡(luò)的TDMA無(wú)論在相關(guān)軟硬件技術(shù)支持和市場(chǎng)認(rèn)同方面都非常欠缺。
5、令牌環(huán)
在令牌環(huán)網(wǎng)中,節(jié)點(diǎn)之間使用端到端的連接,所有節(jié)點(diǎn)在物理上組成一個(gè)環(huán)型結(jié)構(gòu)。
一組特殊的脈沖編碼序列,即令牌,沿著環(huán)從一個(gè)節(jié)點(diǎn)向其物理鄰居節(jié)點(diǎn)傳遞。一個(gè)節(jié)點(diǎn)獲得令牌后,如無(wú)信息要發(fā)送,則將令牌繼續(xù)傳遞給下一個(gè)鄰居,否則首先停止令牌循環(huán),然后沿著環(huán)發(fā)送它的信息,最后繼續(xù)令牌傳遞。令牌環(huán)網(wǎng)的優(yōu)點(diǎn)是:1)在實(shí)時(shí)性方面是可確定的。因?yàn)槿菀子?jì)算出最壞情況下節(jié)點(diǎn)等待令牌的時(shí)間;2)令牌傳遞占用的網(wǎng)絡(luò)帶寬極小,帶寬利用率很高,具有強(qiáng)大的吞吐能力。但這種協(xié)議在具體實(shí)現(xiàn)時(shí)為確保可靠性必須付出較大的代價(jià):1)為了避免因電纜斷裂和節(jié)點(diǎn)失效導(dǎo)致整個(gè)網(wǎng)絡(luò)癱瘓,常采用雙環(huán)結(jié)構(gòu)(如FDDI)和失效節(jié)點(diǎn)自動(dòng)旁路措施,導(dǎo)致實(shí)施成本增加;2)為了能立即檢測(cè)到令牌是否意外丟失,不得不增加該協(xié)議實(shí)施的復(fù)雜性。
6、令牌總線
令牌總線的基本原理與令牌環(huán)網(wǎng)相似。但在令牌總線中,網(wǎng)絡(luò)上所有節(jié)點(diǎn)組成一個(gè)虛擬環(huán),而非物理環(huán)。令牌在虛擬環(huán)中從一個(gè)節(jié)點(diǎn)傳向其邏輯鄰居節(jié)點(diǎn)。只有持有令牌的節(jié)點(diǎn)才能訪問(wèn)網(wǎng)絡(luò)。如同令牌環(huán)一樣,令牌總線具有非常高的網(wǎng)絡(luò)帶寬利用率、很高的吞吐能力和良好的可確定性。另外令牌總線中各節(jié)點(diǎn)有相同的優(yōu)先級(jí);令牌總線中的電纜斷裂并不一定導(dǎo)致整個(gè)網(wǎng)絡(luò)癱瘓;網(wǎng)絡(luò)運(yùn)行過(guò)程中可動(dòng)態(tài)增加或關(guān)閉節(jié)點(diǎn),因此節(jié)點(diǎn)失誤一般不會(huì)導(dǎo)致整個(gè)網(wǎng)絡(luò)癱瘓(當(dāng)然在網(wǎng)絡(luò)啟動(dòng)、增加 /刪除節(jié)點(diǎn)時(shí)會(huì)導(dǎo)致邏輯環(huán)重構(gòu),以便每個(gè)節(jié)點(diǎn)確定自己的邏輯鄰居,這會(huì)有點(diǎn)費(fèi)時(shí));總線拓補(bǔ)結(jié)構(gòu)還非常適合于制造設(shè)備。因此,令牌總線協(xié)議被MAP (Manufacturing Automation Protocol,制造自動(dòng)化協(xié)議)、ARCnet(Attached Resource Computer Network)采用,在過(guò)程自動(dòng)化控制等嵌入式場(chǎng)合廣泛應(yīng)用。
7、CSMA/CA (帶沖突避免的載波監(jiān)聽(tīng)多路訪問(wèn))
CSMA/CD在節(jié)點(diǎn)數(shù)量不多、傳輸信息量較少時(shí)效率很高;基于令牌的協(xié)議具有良好的實(shí)時(shí)性和吞吐能力。人們已經(jīng)開(kāi)發(fā)出一種能綜合以上兩者優(yōu)點(diǎn)的混合協(xié)議—CSMA/CA。CSMA/CA的本質(zhì)是利用競(jìng)爭(zhēng)時(shí)間片來(lái)避免沖突。其基本原理是:如同CSMA/CD一樣,節(jié)點(diǎn)必須檢測(cè)到網(wǎng)絡(luò)空閑之后才能發(fā)送信息;如果有兩個(gè)或更多的節(jié)點(diǎn)發(fā)生沖突,便在網(wǎng)絡(luò)上啟動(dòng)一個(gè)阻塞信號(hào)通知所有沖突節(jié)點(diǎn),同步節(jié)點(diǎn)時(shí)鐘,啟動(dòng)競(jìng)爭(zhēng)時(shí)間片(競(jìng)爭(zhēng)時(shí)間片跟隨在阻塞信號(hào)之后,其長(zhǎng)度比沿網(wǎng)絡(luò)環(huán)路傳輸時(shí)延稍長(zhǎng)));通常,每一個(gè)競(jìng)爭(zhēng)時(shí)間片均指定給特定的節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)在其對(duì)應(yīng)的時(shí)間片內(nèi)如有信息發(fā)送則可以啟動(dòng)傳輸;其它節(jié)點(diǎn)檢測(cè)到信息傳輸后,停止時(shí)間片的推進(jìn),直到傳輸結(jié)束所有節(jié)點(diǎn)才恢復(fù)推進(jìn)時(shí)間片;當(dāng)所有時(shí)間片都失去作用時(shí),網(wǎng)絡(luò)進(jìn)入空閑狀態(tài)。為確保公平性和可確定性,在每次傳輸之后,時(shí)間片要循環(huán)。此外,優(yōu)先時(shí)間片(the priority slots)優(yōu)先于普通時(shí)間片的推進(jìn),能支持高優(yōu)先級(jí)信息的全局優(yōu)先傳輸。
CSMA/CA 協(xié)議在具體實(shí)施中主要有兩個(gè)變種:一是RCSMA(Reservation CSMA),其特點(diǎn)是時(shí)間片數(shù)等于節(jié)點(diǎn)數(shù)。RCSMA在各種傳輸條件下都能有效工作,但顯然不適于節(jié)點(diǎn)較多的網(wǎng)絡(luò);在另一個(gè)變種中,時(shí)間片數(shù)少于節(jié)點(diǎn)數(shù),且根據(jù)沖突最少的原則隨機(jī)調(diào)整時(shí)間片的分配,根據(jù)所預(yù)測(cè)的網(wǎng)絡(luò)流量動(dòng)態(tài)地改變時(shí)間片數(shù);如Echelon公司推出的廣泛應(yīng)用于智能大廈領(lǐng)域的 Lonwork標(biāo)準(zhǔn)。
另外,在CSMA/CA中,并非必需采用硬件來(lái)避免沖突,還可以通過(guò)軟手段來(lái)實(shí)現(xiàn),例如發(fā)送使時(shí)間片在沒(méi)有網(wǎng)絡(luò)傳輸?shù)那闆r下仍然保持活動(dòng)的啞信息。
四、結(jié)論
介質(zhì)訪問(wèn)協(xié)議是嵌入式網(wǎng)絡(luò)協(xié)議選擇的核心。盡管沒(méi)有哪一種協(xié)議對(duì)各種應(yīng)用場(chǎng)合都是十全十美的,但通過(guò)對(duì)上述各種介質(zhì)訪問(wèn)協(xié)議的分析和比較不難發(fā)現(xiàn):令牌環(huán)、令牌總線、CSMA/CA比較適合于嵌入式網(wǎng)絡(luò)。但令牌環(huán)的具體實(shí)施比較復(fù)雜、成本較高,其應(yīng)用越來(lái)越少。讀者可針對(duì)具體應(yīng)用需求,選用令牌總線(如ARCnet)或CSMA/CA。