官术网_书友最值得收藏!

第1章 嵌入式網絡通信概述

通信體系,尤其是有線/無線網絡通信,是現代嵌入式應用系統設計的關鍵技術之一。如何在保持嵌入式系統高度穩定可靠和快速實時響應的基礎上,以最小的系統資源占有量,迅速開發出穩定、高效的通信體系,實現簡易方便、高性價比的網絡互聯,使嵌入式應用系統更好地融入有線/無線網絡環境之中?本章將對這些問題展開綜合性的闡述。

1.1 嵌入式網絡通信基礎

1.1.1 網絡通信簡介

嵌入式網絡通信技術是以嵌入式系統為核心的網絡通信技術,涉及嵌入式通信設備、信息處理設備、通信軟件、應用軟件等方面,是計算機網絡通信技術的一個發展方向。嵌入式系統是以應用為中心,以計算機技術為基礎,軟件和硬件可裁剪,滿足應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統,可以很好地滿足計算機網絡通信系統對實時性、可靠性和功耗等指標的要求。特別是在計算機通信網絡接入設備中引入實時操作系統,更可以極大地提高系統的靈活性、規范性和擴展能力,并大大減小程序編寫的工作量,而且減少了出錯的可能,保證最終程序具有高可靠性。

目前,Internet是覆蓋面極廣、聯網設備眾多、協議完善、功能強大的一種通信網絡,已經成為信息社會重要的信息基礎設施,是重要的信息流通渠道。具備互聯網絡的接入功能,已經成為嵌入式系統的發展方向之一。而在通信設備中引入這一功能,更可以將處于不同地域的多個設備組成一個統一的整體,實現數據共享和統一管理,大大提高了通信網絡系統的功能。

隨著計算機技術和網絡技術的發展,利用嵌入式計算機系統和網絡技術,組成嵌入式網絡化通信設備,可以很好地解決分散設備的接入問題。

嵌入式網絡通信設備由控制部分和網絡部分組成。控制部分實際上是一個小型的、簡單的數據采集控制系統,實現通信設備的控制和數據的采集。網絡部分用于實現網絡通信功能。這兩者都屬于“嵌入式系統”的范疇,它們通過雙口RAM(Random Access Memory)交換數據。整個通信設備有兩塊CPU,分別控制通信設備的控制部分和網絡部分,以利于系統的升級。

在通信設備內部集成一個嵌入式網絡服務器,授權用戶就可以在任何有電話的地方,通過Internet/Intranet控制或管理設備;系統設計者也可以通過網絡對通信設備進行動態的配置,對通信設備軟件進行升級,對通信設備進行必要的維護工作。

設計嵌入式網絡通信設備,可以采用32位微處理器(如ARM),外加RTOS;也可以由低檔的8位機組成嵌入式通信設備,采用專用的網絡(如RS-485、CAN BUS等)把若干個嵌入式通信設備連接在一起,再與PC相連;還可以利用8位單片機組成直接接入Internet的嵌入式網絡通信設備。

在嵌入式系統中,實現嵌入式網絡服務器(Embedded Web Server)是嵌入式TCP/IP協議棧的典型應用,也是嵌入式系統智能化、網絡化發展的趨勢。嵌入式網絡服務器可以讓用戶通過瀏覽器(如IE等)對系統進行監控、管理。在Internet已經深入影響人們生活、工作各方面的今天,這種方式更符合人們的使用習慣。

嵌入式網絡服務器的實現關鍵在于使通信設備支持HTTP協議,它基于服務請求和服務應答模式,客戶端連接到服務器的80號TCP端口,發送一個請求,并等待服務器的應答。客戶端發送的請求由一個請求方法、URI(統一資源標識符)、協議版本和可能的實體內容組成;服務器發送的響應由一個狀態行(包括協議版本和表示成功或者失敗的3位數字代碼)、實體信息和可能的實體內容組成。

目前,通信設備的嵌入式網絡服務器功能比較簡單,向客戶端發送的響應消息中Entity-Header只包含了其中必要的兩個信息:Content-type和Content-length。

1.1.2 網絡通信的硬件設施

嵌入式系統的開發涉及兩方面:硬件部分和軟件部分。嵌入式系統硬件基礎部分提供整個嵌入式系統開發可見的或可觸摸的“實體”,而軟件部分相當于這個“實體”內部的功能邏輯。這兩個部分缺一不可。嵌入式系統開發對硬件要求非常高,這與其他類型系統的開發有所不同。許多嵌入式的開發都針對具體的應用,針對項目中特定硬件資源,如微處理器、Flash、外圍接口等。這樣,程序員就需要熟悉系統中的硬件資源,如涉及一些底層編程,就需要知道系統處理器提供的指令集;要對Flash編程,就需要知道Flash編程的指令系列和流程等。

嵌入式系統的核心部件是各種類型的嵌入式微處理器。嵌入式微處理器就像系統的控制神經中樞,通過數據線、地址線和控制信號線等神經網線與各種神經末梢,如RS-232接口、USB接口、LCD接口等相連。新一代嵌入式設備還需要具備IEEE 1394、USB、CAN、Bluetooth或IrDA通信接口,同時也需要提供相應的通信組網協議軟件和物理層驅動軟件。為了支持應用軟件的特定編程模式,如Web或無線Web編程模式,還需要相應的瀏覽器,如HTML,XML等。

根據現狀,嵌入式處理器可以分為以下幾類:

(1)嵌入式微處理器(Embedded Micro Processor Unit,EMPU)

嵌入式微處理器一般指通用計算機中的CPU。它與標準微處理器基本相同,但在工作溫度、抗電磁干擾、可靠性等方面都做了增強。與工業控制計算機相比,它具有體積小,重量輕,成本低,可靠性高等優點;但在電路板上必須包括ROM、RAM、Flash、總線接口、各種外設等器件,從而降低了系統的可靠性,技術保密性也較差。在應用中,將微處理器裝配在專門設計的電路板上,然后在電路板上配上必要的擴展外圍電路,如存儲器的擴展電路、I/O的擴展電路和一些專用的接口電路等,這樣就可基本完成嵌入式系統的一些功能,其主要特點:

① 內部具有精確的晶振電路,對實時多任務具有很強的支持能力。

② 嵌入式系統的軟件結構已模塊化,具有功能很強的存儲區保護功能。

③ 采用可擴展的處理器結構,留有很多擴展接口。

④ 提供豐富的調試功能。在嵌入式系統開發中,基本的開發模型就是宿主機對目標機的開發。一方面要求宿主機上有相應的開發工具,另一方面要求目標機上的微處理器應提供必要的調試接口以方便用戶開發。一般調試方式有硬件仿真調試、軟件調試、模擬調試等。常見的調試接口有JTAG,BDM方式等。

⑤ 許多嵌入式微處理器提供幾種工作模式,如正常工作模式、備用模式、省電模式(power down)等,嵌入式微處理器在設計中考慮到低功耗。信息社會是以網絡以及移動計算和通信設備為基礎的,這樣就需要嵌入式微處理器消耗非常低的能量。現在便攜式和無線應用中靠電池操作的嵌入式微處理器設計中最重要的指標是功耗而不是性能,現在已不用主頻率MHz評價處理器,而是用功耗mW或W評價處理器了。同時,功率的傳送和能量的消耗已成為性能和集成度的主要限制。

(2)嵌入式微控制器(Embedded Micro Controller Unit,EMCU)

嵌入式微控制器一般又稱為單片機,就是將整個計算機系統集成到一塊芯片中的控制器。它一般以某一種微處理器內核為核心,芯片內部集成ROM/EPROM、RAM、Flash、總線、總線邏輯、定時/計數器、WatchDog、I/O、串行口、脈寬調制輸出、A/D,D/A等各種必要功能模塊和外設。為適應不同需要,一般一個系列的單片機具有很多的衍生產品,但是每種衍生產品的處理器內核是相同的,不同的是存儲器和外設的配置及封裝。

與嵌入式微處理器相比,微控制器的最大特點是單片化、體積小,從而使功耗和成本下降,可靠性提高。微控制器是目前嵌入式系統工業中的主流產品。微控制器的片上外設資源一般比較豐富,適合于控制,因此稱為微控制器。

(3)嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP)

普通DSP處理器對系統結構和指令進行了特殊設計,使其適合執行DSP算法,編譯效率和指令執行速度都較高。在數字濾波、FFT、譜分析等方面,DSP算法正在大量引入嵌入式領域;DSP應用正從通用單片機中以普通指令實現DSP功能,過渡到采用嵌入式DSP處理器。嵌入式DSP處理器有兩個發展來源:一是DSP處理器經過單片化,EMC改造,增加片上外設成為嵌入式DSP處理器,如TI公司的TMS320C2000/C5000等;二是在通用單片機或SoC中增加DSP協處理器,如Intel公司的MCS-296等。

現在,嵌入式DSP處理器已得到快速的發展和應用,特別在嵌入式系統的智能化系統中,例如,各種帶智能的消費類產品、生物信息識別終端、帶加解密算法的鍵盤、ADSL接入、實時語音接入系統、虛擬現實顯示等。這類智能化算法一般運算量較大,特別是向量運算、指針線性尋址等較多,而這些正是DSP處理器的優勢所在。德州儀器公司(TI)推出TMS320C64x DSP系列中的最新產品,作為最高性能數字信號處理器(DSP),使高效能嵌入式應用大大受益。與同類競爭產品相比,該新型芯片提供了性價比更高、功耗更小的百萬級乘法累加器(MMACS),并支持各種創新應用項目。憑借該器件,TI公司拓展了C64xTM DSP系列產品的應用空間,滿足了更低功耗和成本的高效能應用需求,包括小區媒體服務器、安全/監視系統、電信/數據通信系統及硬拷貝設備應用。

(4)嵌入式片上系統(Embedded System on Chip,ESoC)

隨著EDI的推廣和VLSI設計的普及,以及半導體工藝技術的迅速發展,在一個硅片上實現一個更為復雜的系統的時代已來臨,這就是System on Chip(SoC)。各種通用處理器內核將作為SoC設計公司的標準庫,與許多其他嵌入式系統外設一樣,成為VLSI設計中一種標準的器件。SoC用標準的VHDL等語言描述,存儲在器件庫中。用戶只需定義出其整個應用系統,仿真通過后就可以將設計圖交給半導體工廠制作樣品。這樣,除個別無法集成的器件以外,整個嵌入式系統大部分均可集成到一塊或幾塊芯片中。應用系統電路板將變得很簡潔,對于減小體積和功耗,提高可靠性非常有利。

SoC可以分為通用和專用兩類,通用系列包括Infineon(Siemens)的TriCore,Motorola的M-Core,某些ARM系列器件,Echelon和Motorola聯合研制的Neuron芯片等。專用SoC一般用于某個或某類系統中,不為一般用戶所知。一個有代表性的產品是PHILIPS的Smart XA,它將XA單片機內核和支持超過2048位復雜RSA算法的CCU單元制作在一塊硅片上,形成一個可加載Java或C語言的專用SoC,用于公眾互聯網如Internet安全網。

嵌入式系統實現的最高形式是單一芯片系統,SoC的核技術是IP核(Intellectual Property Kernels,知識產權核)構件。IP核分為硬件核、軟件核和固件核。硬件核主要指8/16/32/64位MPU核或DSP核。硬件提供商以數據軟件庫的形式,將其久經驗證的處理器邏輯和芯片版圖數據供EDA工具調用,在芯片上直接配置MPU/DSP功能單元。軟件核是指軟件提供商將SoC所需的RTOS內核軟件或其他功能軟件,如通信協議軟件、FAX功能軟件等構成標準API方式和IP核形式的構件。此構件供IDE和EDA工具調用制成Flash或ROM可執行代碼單元,加速SoC嵌入式系統定制和開發。目前,一些嵌入式軟件供應商紛紛把成熟的RTOS內核和功能擴展件以軟件IP核構件形式出售,Microtec的VRTXoc for ARM就是典型例子。

由上可見,嵌入式片上系統的設計的關鍵是IP核的設計。IP核技術是嵌入式的重要支持技術。在設計嵌入式系統時,可以通過使用IP核技術完成系統硬件的設計。

IP設計技術是一種集成電路設計技術,是以電路模塊知識產權使用為核心的電子系統設計技術。在IP技術中把不同功能的電路模塊稱為IP,這些IP都是經過實際制作并證明是正確的。在EDA實際工具中把這些IP組織在一個IP元件庫中,供用戶使用。設計電子系統時,用戶需要知道IP模塊的功能和技術性能。通過把不同的IP模塊鑲嵌在一個硅片上,形成完整的應用系統。IP技術極大地簡化了SoC的設計過程,縮短了設計時間,因此已經成為目前電子系統設計的重要基本技術。

1.1.3 網絡通信的軟件體系

1.嵌入式操作系統

在完成通信設備功能的基礎上,為了進一步提高通信設備性能,在軟件設計中引入了嵌入式操作系統,也叫做實時操作系統(Real Time Operating System,RTOS)。實時操作系統具有適應于嵌入式實時應用系統的管理功能,包括任務管理、時間管理、任務之間的通信與同步、內存管理等功能,同時具有可移植、可固化、可裁減、搶占式多任務、函數和服務的執行時間可確定等優點,并能夠提供系統服務和中斷管理,具有極高的穩定性和可靠性。

嵌入式操作系統是一個前后臺系統,其應用程序是一個無限循環,循環中調用相應的函數完成相應的操作,這部分可以看成后臺行為;中斷服務程序處理異步事件,這部分可以看成前臺行為。時間相關性很強的關鍵操作一定是靠中斷服務來保證的。因為中斷服務提供的信息一直要等到后臺程序走到應該處理該信息的時間段才能得到處理,這種系統在處理信息的及時性上,比實際可以做到的要差。這個指標稱做任務級響應時間。最壞情況下的任務級響應時間取決于整個循環的執行時間。因為循環的執行時間不是常數,所以程序經過某一特定部分的準確時間也是不能確定的。進而,如果程序修改了,循環的時序也會受到影響。因此,前后臺系統的各個函數是按照一定的順序輪換執行的,不能保證對中斷信息的實時響應。

嵌入式操作系統是一個多任務系統,每個任務均有一個優先級,RTOS根據各任務的優先級,動態地切換各任務,保證對實時性的要求。在編寫程序時,可以分別編寫各任務,不必同時將所有任務運行的各種可能情況記在心中,從而大大減小了程序編寫的工作量,而且減少了出錯的可能,保證最終程序具有高可靠性。

總之,嵌入式網絡通信設備直接接入Internet,可以充分利用現有電話網絡,大大降低了信息的采集成本,用戶可以隨時掌握各類通信情況,發現問題,及時解決,可以實現交通不便地域的通信設備的遠程通信控制。

2.嵌入式調試

整個嵌入式系統的開發離不開嵌入式系統的調試工具和優秀的開發平臺;嵌入式調試包括硬件調試、軟件調試、模擬調試。嵌入式開發平臺包括嵌入式操作系統和嵌入式開發工具。在嵌入式開發工具中有編程器、調試器和跟蹤器等。

① 實時在線仿真系統ICE(In-Circuit Emulator),它不僅是軟件、硬件排錯工具,同時也是提高和優化系統性能指標的工具。調試功能強大,但其硬件的費用較高,在一般的嵌入式調試中很少用到。

② Monitor調試。實際上是一段監控程序,主要完成接收宿主機傳送過來的控制命令,然后對其解析,并在目標機上執行,然后把目標機的一些結果和狀態反饋給宿主機。在EPSON提供的調試開發中,Monitor調試提供了兩種形式:硬Monitor調試(用硬件來完成監控功能),軟Monitor調試(用一段監控程序來完成監控功能)。使用硬件完成監控功能的這種調試盡管成本較高,但調試起來比較可靠和穩定。如果用一段監控程序來監控,首先就需要將這段監控程序下載在目標系統中,并對監控程序所在的存儲區進行保護,方便但在調試過程有時表現不穩定。

③ 模擬模式(Simulator)。模擬模式不需要目標機,在宿主機上可以仿真目標機的環境,運行本應在目標機上執行的程序,僅是邏輯功能上的驗證。一般情況下,在嵌入式系統的調試中首先進行模擬調試,對用戶程序進行邏輯驗證,然后再進行在線仿真調試,對實際環境進行仿真驗證。經過這兩極的調試,最后用戶的程序就可在目標系統中正常工作了。

3.嵌入式Flash編程

(1)編程器編程

編程器編程是最原始的編程方法。在編程芯片焊裝到電路板之前使用專門的編程器對芯片進行代碼或數據的寫入,然后將編程的芯片安裝到電路板上。使用編程器特別適用于DIP封裝的芯片,如果是其他類型的封裝(如TSOP56,PLCC,DFP,PSOP,SOIC,SSOP,SDIP等)則需要相應的適配器。

常用的編程器有SUPERPRO/V,LABTOOL-48等。

(2)普通接口編程

普通接口編程不需要系統板長的處理器提供特殊的編程接口,如JTAG,BDM接口。它直接通過串口或者網口就從主機把程序寫到Flash中,從而實現對Flash的編程。如EPSON提供的調試方式中的MON調試方式,就是利用串口對Flash編程的。這種編程方式直接簡單,并不需要對處理器有特殊的要求。

(3)JTAG編程

① JTAG接口:它是直接利用電路板上帶JTAG接口的器件(如CPU,CPLD,FPGA等),再通過同樣接口的JTAG仿真器將目標板與宿主機連接起來,對目標機上Flash進行編程的。

一般高檔的微處理器都帶JTAG接口。通過JTAG接口既可對目標系統進行測試,也可對目標系統的存儲單元,如Flash進行編程。目標機上存儲器的數據總線、地址總線、控制總線接口直接連在微處理器上;通過執行宿主機相關程序,將編程數據和控制信號送到JTAG接口芯片上;利用相應的指令按照Flash芯片的編程時序從微處理器引腳輸出到Flash存儲器中。

② JTAG介紹:面對復雜電路設計,整板測試的難度及表面貼裝技術帶來的有限測試引腳等問題,不得不找一個標準加以解決,于是提出了JTAG(Joint Test Action Group)。

JTAG技術是一種嵌入式調試技術。JTAG的接口標準是IEEE 1149.1,此標準是用來測試端口和邊界掃描的。邊界掃描接口技術起始于1980年,用于解決物理存取問題。這個技術在芯片機中封裝了測試,電路,形成一種板級測試協議JTAG接口標準,將極其復雜的電路板測試轉換成具有良好結構性的測試,可以通過軟件簡單而靈活地處理。這個標準定義了可用于完成功能和互聯測試,以及內建自測過程的各種指令。

③ JTAG接口的內部結構:在硬件結構上,JTAG接口包括兩部分:JTAG接口控制器和與JTAG接口兼容的器件,可以是微處理機控制器(MCU),PLD,CPL,FPGA,ASIC或其他符合IEEE 1149.1規范的芯片。IEEE 1149.1標準規定對應數字集成電路的每個引腳都設有一個移動寄存器單元,這些單元稱為邊界掃描單元BSC。它將JTAG電路與內核邏輯電路聯系起來,同時隔離內核電路和芯片引腳。有集成電路的所有邊界掃描構成單元掃描寄存器BSR,邊界掃描寄存器僅在進行JTAG測試時有效,在繼承電路正常工作時無效,但不影響集成電路的工作。

用JTAG接口測試的邏輯電路由3部分組成,一是測試端口TAP控制器。TAP控制器提供對嵌在JTAG兼容器件內部的用于測試功能電路的訪問控制。TAP控制器是一個同步狀態機,每一個JTAG兼容器件都有自己的TAP控制器。通過測試模式選擇TMS和TCK控制狀態的轉移,實現由IEEE 1149.1標準確定的測試邏輯電路時序。二是指令寄存器。它是基于電路的移動寄存器,通過它可以串行輸入執行各種操作指令。三是數據寄存器。它是一組基于電路的移位寄存器,操作指令被串行裝入由當前指令所選擇的數據寄存器,隨著操作的執行,測試結構被移出。

④ JTAG引腳定義:JTAG接口主要包括5個引腳,即TMS,TCK,TDI,TDO及一個可選配的引腳TRST,這些引腳用于驅動電路模塊和控制執行規定的操作。

TCK(Test Clock)——測試時鐘。為TAP控制器和寄存器提供測試參考。在TCK的同步作用下,通過TDI和TDO引腳串行出入或移出數據及指令。

TMS(Test Mode Selector)——TAP控制器模式選擇器。通過TCK上升沿時刻的TMS狀態來確定TAP控制器的狀態。

TDI(Test Data Input)——JTAG指令和數據寄存器的串行數據輸入端。通過TAP控制器和當前狀態以及保持在指令寄存器中的具體指令,來指定一個特定的操作由TDI裝入哪個寄存器。并在TCK的上升沿時刻被采樣,結果送到JTAG寄存器組。

TDO(Test Data Output)——JTAG指令和數據寄存器的串行數據輸出端。通過TAP控制器和當前狀態以及保持在指令寄存器中的具體指令,來決定在一個特定的操作中哪個寄存器的內容送到TDO輸出。對于任何操作,在TDI和TDO之間只能有一個寄存器處于有效連接狀態。

TRST(Test Reset)——測試復位輸入信號,低電平有效,為TAP控制器提供異步初始化信號。

⑤ TAP控制器轉換:TAP實際上是一個16種狀態的同步狀態機,每種狀態的轉換是由TMS和TCK來觸發的。測試訪問狀態機的主要目的是選擇指令寄存器或者數據寄存器,使其連接到TDI和TDO之間。

TAP復位狀態很重要。在進入TAP復位狀態時,一般要保持TMS為高電平。當由其他狀態轉換到測試邏輯復位狀態時,將對JTAG口和測試邏輯復位,但并不對CPU和外設復位。

⑥ JTAG的寄存器掃描:Flash操作分為字節讀,字節寫,頁擦除,全擦除幾種。

1.1.4 網絡通信的網絡環境

通常,嵌入式網絡就覆蓋范圍而言屬于局域網。按照ISO/OSI的觀點,TCP/IP協議簇位于網絡層以上。顯然,TCP/IP協議簇已經超出了嵌入式網絡系統的范疇。嵌入式網絡包括ISO/OSI 7層模型中的物理層和數據鏈路層。數據鏈路層在具體實現上可劃分成兩個子層:介質訪問控制子層(MAC子層)和邏輯鏈路控制子層(LLC子層)。MAC子層包括物理層接口硬件和實現介質訪問協議的通信控制器;通常LLC子層由軟件實現(用戶自主開發)。因此,嵌入式系統設計中網絡通信協議選擇的核心是介質訪問協議的選擇。下面簡單介紹幾種常用的介質訪問協議,并就它們的特性進行比較。

1.面向鏈接的協議

面向鏈接的協議主要用在網絡發展初期的主機—終端式網絡中,如X.25和IBM的SNA網絡。其主要缺點是:① 節點之間采用串行連接方式,每個物理連接只支持兩個節點,速度較低;② 物理上沒有連接的節點之間的通信,需要經過多個中間節點的多次傳輸;③ 直接相連的節點間的通信是可確定的,而間接相連的節點間的通信則無法確定延時。因此,在局域網技術已非常成熟的今天,這類協議已很少應用。

2.輪詢法

輪詢法因其簡單和實時性能可確定等特點而成為嵌入式網絡常用協議之一。采用輪詢法的協議,需指定一個主節點作為中央主機來定期輪詢各個從節點,以便顯式分配從節點訪問共享介質的權力。這類協議的缺點是:① 輪詢過程占用了寶貴的網絡帶寬,增加了網絡負擔;② 風險完全集中在主節點上,為避免因主節點失效而導致整個網絡癱瘓,有時需設置多個主節點來提高系統的健壯性(如Profibus)。

3.CSMA/CD(帶沖突檢測的載波監聽多路訪問)

CSMA/CD有許多不同的實現版本,其核心思想是:一個節點只有確認網絡空閑之后才能發送信息。如果多個節點幾乎同時檢測到網絡空閑并發送信息,則產生沖突。檢測到沖突的發送信息的節點必須采用某種算法(如回溯算法)來確定延時長短,延時結束后重復上述過程再試圖發送。

CSMA/CD的優點是理論上能支持任意多的節點,且不需要預先分配節點位置,因此在辦公環境中幾乎占有絕對優勢。但在CSMA/CD中沖突產生具有很大的隨機性,在最壞情況下的響應延時不可確定,無法滿足嵌入式網絡最基本的實時性要求。

4.TDMA(時分多路訪問)

TDMA已大量應用于移動通信領域(如GSM,DAMPS),但也可用于局域網。TDMA的特點是:每輪信息傳輸前,網絡中的主節點先廣播一個幀同步信號,來同步各從節點的時鐘,在幀同步信號之后,每個從節點在各自所分配的時間片內發送數據。TDMA的缺點是:① 每個從節點必須有一個穩定的基準時間以確定時間片,因此從節點比較復雜,造價較高;② TDMA的主流應用領域依然是無線移動通信領域,用于嵌入式網絡的TDMA無論在相關軟硬件技術支持,還是在市場認同方面都非常欠缺。

5.令牌環

在令牌環網中,節點之間使用端到端的連接,所有節點在物理上組成一個環形結構。一組特殊的脈沖編碼序列,即令牌,沿著環從一個節點向其物理鄰居節點傳遞。一個節點獲得令牌后,如無信息要發送,則將令牌繼續傳遞給下一個鄰居,否則首先停止令牌循環,然后沿著環發送它的信息,最后繼續令牌的傳遞。令牌環網的優點是:① 在實時性方面是可確定的。因為容易計算出最壞情況下節點等待令牌的時間;② 令牌傳遞占用的網絡帶寬極小,帶寬利用率很高,具有強大的吞吐能力。但這種協議在具體實現時為確保可靠性必須付出較大的代價:一是為了避免因電纜斷裂和節點失效導致整個網絡癱瘓,常采用雙環結構(如FDDI)和失效節點自動旁路措施,導致實施成本增加;二是為了能立即檢測到令牌是否意外丟失,不得不增加該協議實施的復雜性。

6.令牌總線

令牌總線的基本原理與令牌環網相似。但在令牌總線中,網絡上所有節點組成一個虛擬環,而非物理環。令牌在虛擬環中從一個節點傳向其邏輯鄰居節點。只有持有令牌的節點才能訪問網絡。如同令牌環一樣,令牌總線具有非常高的網絡帶寬利用率、很高的吞吐能力和良好的可確定性。另外令牌總線中各節點有相同的優先級;令牌總線中的電纜斷裂并不一定導致整個網絡癱瘓;網絡運行過程中可動態增加或關閉節點,因此節點失誤一般不會導致整個網絡癱瘓(當然在網絡啟動、增加/刪除節點時會導致邏輯環重構,以便每個節點確定自己的邏輯鄰居,這會有點費時);總線拓撲結構還非常適合于制造設備。因此,令牌總線協議被MAP(Manufacturing Automation Protocol,制造自動化協議)、ARCnet(Attached Resource Computer Network)采用,在過程自動化控制等嵌入式場合被廣泛應用。

7.CSMA/CA(帶沖突避免的載波監聽多路訪問)

CSMA/CD在節點數量不多、傳輸信息量較少時效率很高;基于令牌的協議具有良好的實時性和吞吐能力。人們已經開發出一種能綜合以上兩者優點的混合協議——CSMA/CA。CSMA/CA的本質是利用競爭時間片來避免沖突。其基本原理是:如同CSMA/CD一樣,節點必須檢測到網絡空閑之后才能發送信息;如果有兩個或更多的節點發生沖突,便在網絡上啟動一個阻塞信號通知所有沖突節點,同步節點時鐘,啟動競爭時間片(競爭時間片跟隨在阻塞信號之后,其長度比沿網絡環路傳輸時延稍長);通常,每一個競爭時間片均指定給特定的節點,每個節點在其對應的時間片內如有信息發送則可以啟動傳輸;其他節點檢測到信息傳輸后,停止時間片的推進,直到傳輸結束所有節點才恢復推進時間片;當所有時間片都失去作用時,網絡進入空閑狀態。為確保公平性和可確定性,在每次傳輸之后,時間片要循環。此外,優先時間片(the priority slots)優先于普通時間片的推進,能支持高優先級信息的全局優先傳輸。

CSMA/CA協議在具體實施中主要有兩個變種:一個變種是RCSMA(Reservation CSMA),其特點是時間片數等于節點數。RCSMA在各種傳輸條件下都能有效工作,但顯然不適于節點較多的網絡;在另一個變種中,時間片數少于節點數,且根據沖突最少的原則隨機調整時間片的分配,根據所預測的網絡流量動態地改變時間片數,如Echelon公司推出的廣泛應用于智能大廈領域的Lonwork標準。

另外,在CSMA/CA中,并非必須采用硬件來避免沖突,還可以通過軟手段來實現,如發送使時間片在沒有網絡傳輸的情況下仍然保持活動的啞信息。

盡管沒有哪一種協議對各種應用場合都是十全十美的,但通過對上述各種介質訪問協議的分析和比較不難發現:令牌環、令牌總線、CSMA/CA比較適合于嵌入式網絡。但令牌環的具體實施比較復雜、成本較高,其應用越來越少。讀者可針對具體應用需求,選用令牌總線(如ARCnet)或CSMA/CA。

主站蜘蛛池模板: 即墨市| 闸北区| 剑河县| 明水县| 吴川市| 南昌市| 象山县| 阿合奇县| 平遥县| 灵武市| 德令哈市| 大埔区| 建湖县| 金华市| 武清区| 建宁县| 大同县| 南木林县| 海南省| 同心县| 鄂州市| 定州市| 涟水县| 上饶市| 沙坪坝区| 萝北县| 大安市| 安仁县| 黔江区| 建阳市| 阳东县| 淄博市| 含山县| 登封市| 隆子县| 娄烦县| 秭归县| 普陀区| 宜兰县| 九龙县| 财经|