版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第7章基于網(wǎng)絡的嵌入式系統(tǒng)設計7.1引言
7.2分布式嵌入式系統(tǒng)
7.3嵌入式系統(tǒng)網(wǎng)絡
7.4基于網(wǎng)絡的設計示例
思考與練習題
7.1引言
在分布式嵌入式系統(tǒng)中,嵌入式計算機通過網(wǎng)絡連接,相互通信,應用被分布在各個處理元素上,即在網(wǎng)絡的各個節(jié)點中完成各項工作。這樣做的好處是:首先,分布式處理可以有效地減少需要處理的數(shù)據(jù),從而減輕處理器的工作量;其次,基于網(wǎng)絡的設計也可以更好地實現(xiàn)模塊化;再次,分布式系統(tǒng)更容易進行測試;最后,在某些情況下,網(wǎng)絡還可以被用于容錯系統(tǒng)中。
在這里,我們把不提供共享內(nèi)存進行通信的交互方式都認為是基于網(wǎng)絡設計的嵌入式系統(tǒng)。微處理器總線是網(wǎng)絡的一種簡單類型。本章首先在7.2節(jié)介紹基于網(wǎng)絡的軟硬件體系結構的基本原理,內(nèi)容包括網(wǎng)絡編程、OSI模型、網(wǎng)絡結構和基于網(wǎng)絡的設計技術。然后在7.3節(jié)介紹當前分布式嵌入式系統(tǒng)中廣泛使用的一些總線和網(wǎng)絡技術,包括I2C總線、CAN總線、Ethernet、GPRS、藍牙和Internet。最后在7.4節(jié)列舉三個基于網(wǎng)絡的嵌入式系統(tǒng)的設計示例。
7.2分布式嵌入式系統(tǒng)
7.2.1系統(tǒng)概述
通常,嵌入式系統(tǒng)有兩種應用方式:單機方式和網(wǎng)絡方式。單機方式以嵌入式處理器為核心,與一些外部接口部件如監(jiān)測、伺服和指示設備配合,實現(xiàn)一定的功能。網(wǎng)絡方式是指把嵌入式設備通過網(wǎng)絡連接在一起,相互通信,完成協(xié)作、并行等功能。連接網(wǎng)絡的嵌入式設備具有通信控制器部件,通過該部件和通信協(xié)議軟件的集成,可以實現(xiàn)嵌入式設備與網(wǎng)絡的連接。設計基于網(wǎng)絡的嵌入式系統(tǒng)有以下幾方面的原因:
(1)計算和處理器資源的分散性。在一些應用系統(tǒng)中,計算機處理的資源可能分布在不同的位置,它們需要通過網(wǎng)絡連接起來。
(2)減少處理器的數(shù)據(jù)量。
(3)模塊化設計需求。
(4)系統(tǒng)可靠性要求。在一些情況下,網(wǎng)絡被用于容錯系統(tǒng),如雙機/多機備份系統(tǒng)。多個處理器系統(tǒng)通過網(wǎng)絡連接在一起,當其中的一個設備出現(xiàn)故障時,其他的設備可以很容易地進行切換。采用網(wǎng)絡方式連接嵌入式系統(tǒng)目前主要應用在以下幾方面:
(1)物理層聯(lián)網(wǎng)。物理層聯(lián)網(wǎng)主要指的是比較簡單的網(wǎng)絡,通常使用串行總線(如RS-232、RS-485等)進行信號級的網(wǎng)絡互聯(lián)。
(2)通信領域。
(3)工業(yè)控制領域。工業(yè)控制系統(tǒng)從單元自動化向網(wǎng)絡方面發(fā)展,由集散控制系統(tǒng)向基于網(wǎng)絡的分布式控制系統(tǒng)方面發(fā)展。代表這一趨勢的關鍵技術是現(xiàn)場總線技術,它是未來工業(yè)自動化方面的關鍵技術。
(4)?Internet應用。7.2.2OSI模型
計算機網(wǎng)絡提供了高級別的服務,卻對系統(tǒng)中其他組件隱藏了數(shù)據(jù)傳輸?shù)暮芏嗉毠?jié)。國際標準化組織(ISO)針對網(wǎng)絡提出了著名的7層結構模型,即開放式系統(tǒng)互聯(lián)參考模型
(OpenSystemInterconnectReferenceModel,OSI/RM)。
OSI模型的分層結構如圖7-1所示,它展示了網(wǎng)絡的結構和各層的功能。某些網(wǎng)絡設備在實現(xiàn)時并不需要7層中的某一層或幾層,因為高層或者中間層并不是必需的。例如,大多數(shù)工業(yè)級網(wǎng)絡由于實時性的要求就省去了消耗時間的某些層。圖7?1OSI模型的分層結構
OSI模型各層的具體功能如下:
(1)物理層。物理層規(guī)定了系統(tǒng)間基本的接口特性,如物理連接(連接插件和線纜)、電氣特性、電子部件和物理部件的基本功能、位交換的基本過程等。
(2)數(shù)據(jù)鏈路層。數(shù)據(jù)鏈路層的主要作用是檢測錯誤和控制一條單個鏈路。但是,如果網(wǎng)絡需要通過幾個數(shù)據(jù)鏈路實現(xiàn)多轉發(fā),那么數(shù)據(jù)鏈路層將不再保證轉發(fā)的數(shù)據(jù)的完整性,它只能在單轉發(fā)中保證這一點。
(3)網(wǎng)絡層。網(wǎng)絡層定義了基本的點到點數(shù)據(jù)傳輸服務。網(wǎng)絡層在多轉發(fā)網(wǎng)絡中特別重要。
(4)傳輸層。傳輸層定義了面向連接的服務,它可以保證數(shù)據(jù)按一定的順序無差錯地在多條鏈路上傳送。這一層同時會對網(wǎng)絡資源的利用做一些優(yōu)化工作。
(5)表示層。表示層規(guī)定了數(shù)據(jù)交換的格式并為應用程序提供有效的轉換工具。
(6)應用層。應用層提供了終端用戶程序和網(wǎng)絡之間的應用程序接口。
盡管嵌入式系統(tǒng)比較簡單,一般不需要使用完整的OSI模型,但是這個模型在實際應用中是非常有用的。即使相對簡單的嵌入式系統(tǒng)也提供了物理層、數(shù)據(jù)鏈路層和網(wǎng)絡層服務。7.2.3網(wǎng)絡結構
一個分布式嵌入式系統(tǒng)能用很多不同的方式來組織,但是它的基本單元是網(wǎng)絡設備(一般是嵌入式網(wǎng)絡設備)和網(wǎng)絡本身,如圖7-2所示。圖7?2一個分布式嵌入式系統(tǒng)的結構7.2.4網(wǎng)絡編程
1.請求/應答方式
這種方式是指通信的雙方通過向對方發(fā)送請求/應答報文進行通信,它類似于客戶/服務器的通信方式,通信的一方發(fā)送請求報文,通信的另一方對收到的報文進行應答。
連接在網(wǎng)絡上的嵌入式設備通過傳遞報文進行通信。指定的報文作為一個基本的自然通信單位,它可以被拆分成分組在網(wǎng)絡上傳送。在程序設計上,分組發(fā)送可以使用查詢方式,也可以使用中斷方式。如果使用中斷方式,則通常設計一個發(fā)送隊列。應用程序需要發(fā)送的報文先放在發(fā)送隊列中,發(fā)送中斷服務程序從發(fā)送隊列中讀取報文并進行發(fā)送,這一過程如圖7-3所示。圖7?3報文發(fā)送程序模塊結構由于接收操作的隨機性,分組接收通常以中斷的方式實現(xiàn)。最簡單的過程接口會檢查一個接收到的選項是否在緩沖區(qū)中。在比較復雜的基于RTOS的系統(tǒng)中,為了減少中斷處理的時間,接收中斷服務例程只從通信控制器的接收緩沖區(qū)中讀取收到的數(shù)據(jù)分組,而把處理分組的工作交給一個中斷任務來完成,這一過程如圖7-4所示。圖7?4報文接收程序模塊結構
2.推移方式
所謂推移方式,是指數(shù)據(jù)的發(fā)送方在不需要等待請求的情況下主動發(fā)送數(shù)據(jù)。
由于相對于請求/應答方式,數(shù)據(jù)推移程序設計省掉了發(fā)送請求的通信量,因此它適用于周期性的數(shù)據(jù)傳送場合,可以減少網(wǎng)絡流量。如果數(shù)據(jù)總是以規(guī)律的時間間隔被產(chǎn)生和使用,則可以通過在需要時自動發(fā)送的方法來減少網(wǎng)絡上的數(shù)據(jù)流量。
例如,在汽車網(wǎng)絡系統(tǒng)中,分布的傳感器和傳動裝置同中央控制器對話,如圖7-5所示。圖7?5汽車網(wǎng)絡系統(tǒng)7.2.5設計技術
1.通信分析
要分析網(wǎng)絡的性能,必須了解如何確定在傳輸報文時引入的延遲。首先假設報文傳遞是可靠的,這意味著不需要重傳報文。在不考慮競爭(如點對點連接)的前提下,單個報文的報文延遲可以表示為
tm=tx+tn+tr
其中,tx是發(fā)送方的開銷,tn是網(wǎng)絡傳輸時間,tr是接收方的開銷。
2.系統(tǒng)性能分析
網(wǎng)絡的復雜性使得對嵌入式網(wǎng)絡系統(tǒng)的性能分析非常困難。對復雜的基于網(wǎng)絡應用的嵌入式系統(tǒng)進行精確的性能分析,要使用CAD工具。有些算法可以有效地確定進程開始和完成時間的上界和下界。
如果沒有計算機輔助分析工具來幫助分析性能,那么手工設計必須滿足硬實時要求的嵌入式系統(tǒng)時要非常小心。系統(tǒng)在力圖達到硬實時的時間確定性要求時,應該確保關鍵性的任務是活動的,這一點非常重要。
如果需要多個關鍵性任務能夠同時發(fā)生或運行,那么系統(tǒng)設計時一定要保證它們不共享任何處理器資源和通信鏈接資源。這是一種保守的設計策略,使用CAD工具有助于放寬某些限制,以便更充分地提高硬件效率。
3.網(wǎng)絡中的優(yōu)先級倒置
優(yōu)先級倒置是指低優(yōu)先級的任務占用了一個臨界資源,于是高優(yōu)先級的任務無法得到資源,因而等不到處理器的服務,在宏觀上表現(xiàn)為低優(yōu)先級的任務在運行,高優(yōu)先級的任務不在運行的反常情況。優(yōu)先級倒置這一概念一般出現(xiàn)在多任務操作系統(tǒng)的應用設計場合,在實時系統(tǒng)的設計中是要避免的。
優(yōu)先級倒置主要存在以下兩種情況:
(1)報文的優(yōu)先級不同。
(2)報文的優(yōu)先級相同。
4.硬件平臺設計、分配與調(diào)度
在設計硬件平臺時,必須做出以下設計選擇:
·所需要的處理器數(shù)目;
·所有處理器的類型;
·所需要的網(wǎng)絡數(shù)目;
·網(wǎng)絡的類型以及數(shù)據(jù)速率。根據(jù)正在設計系統(tǒng)的類型,下面的兩種策略會有助于快速設計出有效的系統(tǒng)。
(1)對于I/O密集型系統(tǒng),從I/O設備以及關聯(lián)的處理入手。這類系統(tǒng)中的數(shù)據(jù)可能直接傳輸?shù)骄W(wǎng)絡上,也可能需要進行一些本地處理后才傳輸?shù)骄W(wǎng)絡上。在系統(tǒng)設計時,應遵循以下步驟:
①編制所需I/O設備的詳細清單。
②根據(jù)預算確定哪個處理工作具有過短的時間確定性要求,以至于這個要求不能被任何網(wǎng)絡滿足。不需要本地處理的I/O設備可以用最簡單的可用接口連接到網(wǎng)絡上。③確定哪些設備可以共享處理器或網(wǎng)絡接口。
④分析通信時間,確定關鍵性通信是否可能相互影響;確定為了達到通信的時限要求是否需要使用復雜網(wǎng)絡或多個網(wǎng)絡。
⑤為I/O設備分配所需要的最小數(shù)量的處理器資源。
⑥用計算密集型系統(tǒng)的設計步驟來設計系統(tǒng)的其他部分。
(2)對于計算密集型系統(tǒng),從進程入手,按以下步驟來考慮進程和進程最后期限以及通信:
①從具有最短時間確定性要求的任務開始。任務的時限性越短,越有可能需要自己的一個或多個處理器。如果一個高優(yōu)先級的任務與一個低優(yōu)先級的任務共享處理器,則不僅需要更昂貴的處理器,而且還會非線性地增加調(diào)度開銷。
②分析通信時間,確定關鍵性通信是否會相互影響。
③盡可能把低優(yōu)先級的任務分配到共享的處理器上。
④設計出符合性能要求的基本系統(tǒng)以后,需要進一步改進它,以滿足功耗要求以及其他要求。
7.3嵌入式系統(tǒng)網(wǎng)絡
7.3.1I2C總線
I2C總線常用于將微控制器鏈接到系統(tǒng)。
1.物理層
I2C被設計成低成本、易實現(xiàn)、中速的(標準總線達到100?kb/s,擴展總線達到400?kb/s)總線。I2C只使用兩條線:串行數(shù)據(jù)線(SDL),用于數(shù)據(jù)傳送;串行時鐘線(SCL),用于指示什么時候數(shù)據(jù)線上是有效數(shù)據(jù)。圖7-6展示了一個典型的I2C總線系統(tǒng)結構。網(wǎng)絡中的每一個節(jié)點都被連接到SCL和SDL,一些節(jié)點能夠起到總線主控器的作用(總線可以有多個主控器),其他節(jié)點可以起到響應總線主控器請求的總線受控器的作用。圖7?6I2C總線系統(tǒng)結構
2.電路接口
圖7-7展示了與總線的基本電路接口。總線不規(guī)定使用電壓的高低以便雙極電路或MOS電路都能夠連接到總線。所有的總線信號使用開放集電極/開放漏極電路。一個上拉電阻保持信號的默認狀態(tài)為高電平,當0被傳輸時每一條總線的晶體管用于下拉該信號。開放集電極/開放漏極信號允許一些設備同時寫總線而不引起電路故障。圖7?7I2C總線電路接口
3.數(shù)據(jù)鏈路層
每一個I2C設備都有自己的地址。設備的地址是由系統(tǒng)設計者決定的,通常是I2C驅動程序的一部分。這個地址的選擇必須保證任何兩個設備之間的地址都不相同。在標準的I2C定義中,設備地址是7位的(擴展的I2C允許10位地址)。地址0000000一般用于發(fā)出通用呼叫或總線廣播,總線廣播可以同時給所有的設備發(fā)出信號。地址11110××為10位地址機制保留,還有一些其他的保留地址??偩€事務包含一系列單字節(jié)數(shù)據(jù)傳送和一個地址傳送。I2C形成了一種數(shù)據(jù)推移設計風格。當一個主控器試圖寫受控器時,它將傳送后面跟有數(shù)據(jù)的受控器地址。因為受控器不能執(zhí)行傳輸,所以主控器必須發(fā)送一個帶著受控器地址的讀請求讓受控器傳送數(shù)據(jù)。因此,地址傳輸包括7位地址和表示數(shù)據(jù)傳輸方向的一個位:0代表從主控器寫到受控器,1代表從受控器讀到主控器。
地址傳輸?shù)母袷饺鐖D7-8所示。圖7?8I2C地址傳輸格式總線事務由一個開始信號啟動,以一個結束信號完成。
(1)開始信號通過保留SCL為高電平并且在SDL上發(fā)送1到0的轉換產(chǎn)生。
(2)結束信號通過設置SCL為高電平并且在SDL上發(fā)送0到1的轉換產(chǎn)生。
開始和結束信號必須成對出現(xiàn)。主控器可以通過數(shù)據(jù)傳送后發(fā)送開始信號來先寫后讀(或先讀后寫),接著是另一地址的傳輸,然后是更多的數(shù)據(jù)傳輸。
典型的完整總線事務格式如圖7-9所示。圖7?9I2C總線上的典型總線事物
4.字節(jié)格式
圖7-10顯示了總線上的數(shù)據(jù)字節(jié)是如何傳送的,其中包括了開始和停止事件。當SCL保留高電平同時SDL變?yōu)榈碗娖綍r傳送開始。這個開始狀態(tài)之后,時鐘信號變低來啟動數(shù)據(jù)傳送。在每一個數(shù)據(jù)位,時鐘線在確保數(shù)據(jù)位正確時變?yōu)楦唠娖?。在每一個8位數(shù)據(jù)的結尾發(fā)送一個確認信號,而不管它是地址還是數(shù)據(jù)。在確認時,傳送端不會把SDL變?yōu)榈碗娖剑绻_接收到了數(shù)據(jù),則允許接收端把電位變?yōu)?。確認信號后,當SCL處于高電平時SDL從低電平變?yōu)楦唠娖剑甘緮?shù)據(jù)傳送停止。圖7?10I2C總線上一個字節(jié)的傳輸
5.總線屬性
總線使用設備監(jiān)聽特性來仲裁每一個報文。如果設備試圖發(fā)送一個邏輯1但是卻監(jiān)聽到一個邏輯0,它會立即停止傳送并且把優(yōu)先權讓給其他發(fā)送設備。在許多情況下,仲裁在傳送地址部分時完成。但是仲裁也可以在數(shù)據(jù)部分繼續(xù)。當兩個設備都試圖向同一地址發(fā)送同樣數(shù)據(jù)時,它們之間不會互相影響且最后都會成功發(fā)送報文。
6.應用接口
在微控制器上的I2C接口可以用不同比例的軟/硬件功能來實現(xiàn)。如圖7-11所示,一個典型的系統(tǒng)可由一個帶有例程的一位硬件接口完成字節(jié)級的功能。I2C設備負責生成數(shù)據(jù)和時鐘。應用程序調(diào)用例程來發(fā)送地址和數(shù)據(jù)字節(jié)等。I2C接口產(chǎn)生SCL和SDL信號、確認信號等。一個微控制器的定時器通常用于控制總線上的位長。中斷用來識別位。但是,在主控模式下時如果沒有其他掛起任務可以執(zhí)行,那么輪詢I/O也是可以被接受的(因為主控器啟動了自己的傳輸)。圖7?11微控制器中的I2C接口7.3.2CAN總線
CAN總線最初是為汽車電子設備設計的。當數(shù)字電子設備應用到汽車組件時,不只單個組件變得更智能,而且由于通信的需要,它們的功能也在不斷增加?,F(xiàn)在,CAN也被應用于汽車電子系統(tǒng)以外的應用中。
CAN總線使用位串行數(shù)據(jù)傳輸。CAN可以以1?Mb/s的速率在40m雙絞線上傳輸數(shù)據(jù)。光纜連接也可以使用,并且在這種總線上的總線協(xié)議支持多主控器。CAN與I2C總線的許多細節(jié)很類似,但也有一些明顯的區(qū)別。
1.物理層
如圖7-12所示,CAN總線上的每一個節(jié)點都以AND方式連接到總線的驅動器和接收器上。圖7?12一種CAN總線的物理電器組織結構
2.數(shù)據(jù)幀
CAN數(shù)據(jù)幀的格式如圖7-13所示。數(shù)據(jù)幀以一個1開始,以七個0結束(在兩個數(shù)據(jù)幀之間至少有三個位的域)。分組中的第一個域包含目標地址,該域被稱為仲裁域。目標標識符長度是11位。當數(shù)據(jù)幀被用來從標識符指定的設備請求數(shù)據(jù)時,后面的遠程傳輸請求(RTR)位被設置為0。當RTR=1時,分組被用來向目標識別符寫入數(shù)據(jù)??刂朴蛱峁┮粋€標識符擴展和4位的數(shù)據(jù)長度,在它們之間有一個1。數(shù)據(jù)域的范圍是從0到64字節(jié),數(shù)據(jù)域的大小取決于控制域中給定的值。數(shù)據(jù)域后發(fā)送一個循環(huán)冗余校驗(CRC),用于錯誤檢測。應答域被用于發(fā)出一個是否幀被正確接收的標識信號:發(fā)送端把一個隱性位(1)放到應答域的ACK插槽中,如果接收端檢測到了錯誤,那么它強制該值變?yōu)轱@性的0值。如果發(fā)送端在ACK插槽中發(fā)現(xiàn)了一個0在總線上,它就知道必須重發(fā)。ACK插槽后面跟著幀結束域,兩者由單位分隔符隔開。圖7?13CAN數(shù)據(jù)幀格式
3.屬性
CAN總線的控制使用CSMA/AMP(帶有優(yōu)先級仲裁的載波監(jiān)聽多路訪問)技術。這種方法類似于I2C總線的仲裁方法。?網(wǎng)絡節(jié)點同步傳輸,因此它們可以同時發(fā)送它們的標識符域。當一個節(jié)點在標識符域中監(jiān)聽到一個顯性位而它正試圖發(fā)送一個隱性位時,該節(jié)點停止發(fā)送。在仲裁域的末尾,只有一個發(fā)送器會被保留。標識符域起優(yōu)先級標枳符的作用,全0的標識符具有最高優(yōu)先級。
4.遠程幀
遠程幀通常用于從另外一個節(jié)點請求數(shù)據(jù)。請求方將RTR位置為0來指示一個遠程幀,它同時也指示了一個0數(shù)據(jù)位。標識符域中指定的節(jié)點將對具有該請求值的數(shù)據(jù)幀做出響應。在遠程幀中節(jié)點沒有辦法發(fā)送參數(shù),因為不能使用標識符來標識設備,也不能提供一個參數(shù)來說明哪個設備的哪個數(shù)據(jù)值是所需要的。相反地,每一個可能的數(shù)據(jù)請求必須有自己的標識符。
5.出錯處理
出錯幀可以由總線上的任何一個檢測到錯誤的節(jié)點產(chǎn)生。檢測到錯誤時,一個節(jié)點用一個出錯幀來中斷當前的傳輸。它由一個錯誤標志組成,后跟8位隱性的錯誤分隔符域。錯誤分隔符域允許總線返回到靜止狀態(tài)以使數(shù)據(jù)幀傳輸可以重新開始??偩€也支持超載幀,這是一個內(nèi)部幀處于靜止周期時的特殊錯誤幀。超載幀指示節(jié)點已經(jīng)超載,將不能處理下一個消息。節(jié)點能夠用在一行中達到兩個超載幀的方式延遲下一幀的傳送,以便有足夠的時間從超載狀態(tài)中恢復。CRC域也能用來測檢報文的數(shù)據(jù)域的正確性。如果發(fā)送節(jié)點沒有接收到數(shù)據(jù)幀的確認信號,它會重發(fā)數(shù)據(jù)幀直到數(shù)據(jù)被確認。這種動作對應于OSI模型中的數(shù)據(jù)鏈路層。
圖7-14展示了一個典型CAN控制器的基本體系結構??刂破鲗崿F(xiàn)物理層和數(shù)據(jù)鏈路層功能。既然CAN是一種總線,它就不需要網(wǎng)絡層的服務來建立端到端的連接。當仲裁丟失而必須重發(fā)報文和接收報文時,協(xié)議控制塊決定何時發(fā)送報文。圖7?14CAN控制器體系結構7.3.3Ethernet
Ethernet(以太網(wǎng))是廣泛用于通用計算的局域網(wǎng)。由于它的普遍性及其低廉的接口價格,它已經(jīng)作為一種網(wǎng)絡出現(xiàn)在嵌入式運算中。當以PC作為平臺使標準組件的使用成為可能,以及網(wǎng)絡不需要滿足嚴格的實時需求時,以太網(wǎng)特別有用。
如圖7-15所示,以太網(wǎng)的物理組成非常簡單。該網(wǎng)絡是一條具有單信號路徑的總線。以太網(wǎng)標準可以有幾種不同的實現(xiàn)方法,比如雙絞線和同軸電纜。圖7?15以太網(wǎng)組織結構與I2C和CAN總線不同,以太網(wǎng)上的節(jié)點不是同步的,它可以在任何時間發(fā)送數(shù)據(jù)。I2C和CAN依靠同步機制在一個位的發(fā)送時間內(nèi)實現(xiàn)沖突的檢測和取消,而以太網(wǎng)的節(jié)點不是同步的,所以如果兩個節(jié)點同時發(fā)送數(shù)據(jù),那么報文將會被破壞。以太網(wǎng)仲裁機制被稱做帶沖突檢測的載波監(jiān)聽多路訪問,即CSMA/CD,其算法如圖7-16所示。圖7?16以太網(wǎng)CSMA/CD算法圖7-17顯示了以太網(wǎng)分組的基本格式。它提供了目的地址和源地址,同時還提供了要傳送的有效數(shù)據(jù)。圖7?17以太網(wǎng)分組格式7.3.4GPRS
1.GPRS的特點
GPRS是一種基于GSM系統(tǒng)的無線分組交換技術,提供端到端的、廣域的無線IP連接。GPRS充分利用共享無線信道,采用IPOverPPP實現(xiàn)數(shù)據(jù)終端的高速、遠程接入。作為現(xiàn)有GSM網(wǎng)絡向第三代移動通信演變的過渡技術,GPRS在許多方面都具有顯著的優(yōu)勢。
GPRS有下列特點:
(1)可充分利用GSM的現(xiàn)有資源,方便、快速、低建設成本地為用戶數(shù)據(jù)終端實現(xiàn)遠程接入網(wǎng)絡。
(2)傳輸速率高。
(3)接入時間短。
(4)提供實時在線(alwaysonline)功能。
(5)按流量計費。
2.GPRS系統(tǒng)結構
目前,GSM已發(fā)展到了Phase2+?階段,這一階段的核心問題就是高速移動數(shù)據(jù)通信。近年來,越來越多的GSM網(wǎng)絡運營商引入移動數(shù)據(jù)業(yè)務,不僅使GSM網(wǎng)絡實現(xiàn)了無線互聯(lián)網(wǎng)功能,而且積累了無線多媒體業(yè)務運營經(jīng)驗,為向第三代移動通信網(wǎng)絡的過渡作好了準備。
GSM移動數(shù)據(jù)業(yè)務主要分為電路型數(shù)據(jù)業(yè)務和分組型數(shù)據(jù)業(yè)務。GSM第一階段提供的9.6kb/s以下數(shù)據(jù)業(yè)務及Phase2+?階段提出的HSCSD都屬于電路型數(shù)據(jù)業(yè)務,Phase2+?階段提出的GPRS則屬于分組型數(shù)據(jù)業(yè)務。后者相對于前者具有很顯著的優(yōu)越性。兩者特點對比如表7-1所示。表7-1電路型數(shù)據(jù)業(yè)務與分組型數(shù)據(jù)業(yè)務的對比
GPRS網(wǎng)是在GSM電話網(wǎng)的基礎上增加以下功能實體構成的:SGSN(服務GPRS支持節(jié)點)、GGSN(網(wǎng)關GPRS支持節(jié)點)、PTMSC(點對多點服務中心)。具體實現(xiàn)方法包括:共用GSM基站,但基站要進行軟件更新;采用新的GPRS移動臺;在GPRS中增加新的移動性管理程序;通過路由器實現(xiàn)GPRS骨干網(wǎng)互聯(lián);對GSM網(wǎng)絡系統(tǒng)進行軟件更新和增加新的MAP信令與GPRS信令等。GPRS骨干網(wǎng)的邏輯結構如圖7-18所示。圖7?18GPRS骨干網(wǎng)的邏輯結構
GPRS網(wǎng)上增加了一些接口,主要包括:
(1)?Gb口。SGSN通過Gb口與基站BSS相連,為移動臺MS服務,通過邏輯控制協(xié)議(LLC),建立SGSN與MS之間的連接,提供移動性管理(位置跟蹤)和安全管理功能。SGSN完成MS和SGSN之間的協(xié)議轉換,即將骨干網(wǎng)使用的IP協(xié)議轉換成SNDCP和LLC協(xié)議,并提供MS鑒權和登記功能。
(2)?Gn口。SGSN通過Gn口和GGSN相連,通過GPRS隧道協(xié)議(GTP)建立SGSN和外部數(shù)據(jù)網(wǎng)(X.25或IP)之間的通道,實現(xiàn)MS和外部數(shù)據(jù)網(wǎng)的互聯(lián)。
(3)?Gs口。Gs口用于SGSN向MSC/VLR發(fā)送地址信息,并從MSC/VLR接收尋呼請求,實現(xiàn)分組型業(yè)務和非分組型業(yè)務的關聯(lián)。
(4)?Gr口。Gr口用于HLR保存GPRS用戶數(shù)據(jù)和路由信息(IMSI、SGSN地址),每個IMSI還包含分組數(shù)據(jù)協(xié)議PDP信息,該信息包括PDP類型(X.25或IP)、PDP地址及其QoS等級以及路由信息。
(5)?Gi口。GGSN通過Gi口實現(xiàn)GPRS網(wǎng)和外部數(shù)據(jù)網(wǎng)(PDP)的互聯(lián)。
3.GPRS業(yè)務
GPRS網(wǎng)主要為移動數(shù)據(jù)用戶提供突發(fā)性數(shù)據(jù)業(yè)務,能快速建立連接,無建鏈時延。GPRS特別適用于頻繁傳送小量數(shù)據(jù)和非頻繁傳送大量數(shù)據(jù)。GPRS除能提供PTP(點對點)和PTM(點對多點)數(shù)據(jù)業(yè)務外,還能支持補充業(yè)務和短信息業(yè)務。
GPRS網(wǎng)提供的承載業(yè)務包括:
(1)點對點面向無連接網(wǎng)絡業(yè)務(PTP-CLNS)。
(2)點對點面向連接的數(shù)據(jù)業(yè)務(PTP-CONS)。
(3)點對多點數(shù)據(jù)業(yè)務(PTM)。
(4)其他業(yè)務。7.3.5藍牙技術
藍牙(Bluetooth)技術是一種近距離無線通信的開放性全球規(guī)范,它定位于現(xiàn)代通信網(wǎng)絡末端的無線連接,其目的是提供一個低成本、高可靠性、支持較高質(zhì)量的語音和數(shù)據(jù)傳輸?shù)臒o線通信網(wǎng)絡。
整個藍牙協(xié)議的體系結構包括底層硬件模塊、中間協(xié)議層和高端應用層,如圖7-19所示。圖7?19藍牙體系結構
1.藍牙硬件模塊
硬件模塊中的射頻部分通過2.4GHz無需授權的ISM頻段,實現(xiàn)數(shù)據(jù)位流的過濾和傳輸,主要定義藍牙收發(fā)器應滿足的要求。基帶層負責跳頻和藍牙數(shù)據(jù)及信息幀的傳輸。鏈路管理層負責連接的建立和拆除以及鏈路的安全和控制。藍牙采用跳頻技術來消除干擾和降低衰落,跳頻速率為1600次/秒。目前,藍牙在兩種頻段上定義了兩種信道分配方案。一種是美國、歐洲和其他大多數(shù)國家的標準,頻段為2.400~2.4835GHz,信道分配為f=2402+kMHz(k=0,…,78),共計79個跳頻信道;由于法國等在此頻段范圍有限制,因此使用另一種跳頻方案,頻段為2.4465~2.4835GHz,信道分配為f?=?2454?+?kMHz(k=0,…,22),共計23個跳頻信道。為減少帶外輻射和干擾,系統(tǒng)在上/下頻帶邊緣使用保護帶。對于79信道系統(tǒng),下保護帶是2MHz,上保護帶是3.5MHz。每個信道為1MHz帶寬,支持的信道配置如表7-2所示。表7-2信道配置
RF定義了三種功率級別,即100mW、2.5mW和1mW。設備功率為1mW(0dBm)時,發(fā)射范圍一般可達10m。在發(fā)送過程中藍牙使用功率控制來限制發(fā)射功率。
藍牙為支持電路交換和分組交換分別定義了兩種鏈路類型,即同步面向連接(SCO)鏈路和異步面向無連接(ACL)鏈路。
藍牙組網(wǎng)時最多可以由256個藍牙單元設備連接起來組成微微網(wǎng)(Piconet),其中1個主節(jié)點和7個從節(jié)點處于工作狀態(tài),而其他節(jié)點則處于空閑模式。藍牙的節(jié)能狀態(tài)包括三種,依照節(jié)能效率以升序排列依次是呼吸(Sniff)、保持(Hold)和停等(Park)。在Sniff狀態(tài),從節(jié)點降低了從微微網(wǎng)收聽消息的速率;在Hold狀態(tài),節(jié)點停止傳送數(shù)據(jù),一旦激活,數(shù)據(jù)傳遞立即重新開始;在Park狀態(tài),節(jié)點被賦予Park節(jié)點地址PMA,并以一定間隔監(jiān)聽主節(jié)點的消息。主節(jié)點的消息包括:詢問該節(jié)點是否愿意成為活動節(jié)點,詢問任何停等節(jié)點是否愿意成為活動節(jié)點,廣播消息。
2.藍牙軟件模塊
藍牙底層硬件模塊與上層軟件模塊之間的消息和數(shù)據(jù)傳遞必須通過藍牙主機控制器接口(HostControllerInterface,HCI)的解釋才能進行。HCI提供了一個調(diào)用下層BB、LM、狀態(tài)和控制寄存器等硬件的統(tǒng)一命令接口。HCI以上的協(xié)議軟件實體運行在主機上,以下的功能由藍牙設備完成,二者之間通過傳輸層進行交互。軟件模塊中L2CAP屬于數(shù)據(jù)鏈路層的一部分,負責向上層提供面向連接和無連接的數(shù)據(jù)服務,其功能包括協(xié)議的復用能力、分組的分割和重組、組提取。SDP為應用提供了一個發(fā)現(xiàn)可用協(xié)議和決定這些可用協(xié)議特性的方法。SDP強調(diào)藍牙環(huán)境的特性,使用基于客戶機/服務器機制定義根據(jù)藍牙服務類型和屬性發(fā)現(xiàn)服務的方法,還提供了服務瀏覽的方法。RFCOMM是射頻通信協(xié)議,可以仿真串行電纜接口協(xié)議。通過RFCOMM,藍牙可以在無線環(huán)境下實現(xiàn)對高層協(xié)議,如PPP、TCP/IP、WAP等的支持。RFCOMM還支持AT命令集,從而實現(xiàn)移動電話、傳真機等與MODEM之間的無線連接。TCS是一個基于ITU-T建議Q.931、面向比特的協(xié)議,定義了藍牙設備間建立語音和數(shù)據(jù)呼叫的控制信令,用于處理藍牙TCS設備的移動性管理過程。
3.藍牙應用模型
藍牙的應用模式相當廣泛。結合藍牙SIG定義的幾種基本應用模型,可以列出以下一些顯著的應用模式:
·一機多用電話模式;
·頭戴式耳機/聽筒設備模式;
·互聯(lián)網(wǎng)網(wǎng)橋模式;
·局域網(wǎng)接入模式;
·文件傳輸模式;
·同步運行模式;
·數(shù)字影像模式;
·智能汽車系統(tǒng)模式;
·家庭信息網(wǎng)絡模式;
·流動辦公與電子商務模式。概括起來,可以將藍牙的應用模型劃分為以下三種:
(1)替代線纜(CableReplacement)。
(2)因特網(wǎng)橋(InternetBridge)。
(3)臨時組網(wǎng)(AdHocNetwork)。
4.藍牙技術存在的問題
藍牙技術存在的主要問題包括:
(1)?2.4GHzISM頻段使用的電磁兼容和頻率共用問題。
(2)互操作與兼容性問題。
(3)保密安全問題。
(4)與其他相關技術的競爭問題。
(5)價格、可靠性等綜合吸引力問題。7.3.6Internet
IP是Internet上最基本的協(xié)議。它提供了無連接的、基于分組的通信。基于因特網(wǎng)的嵌入式系統(tǒng)已經(jīng)在工業(yè)自動化中有了良好的應用。使用因特網(wǎng)的信息工具已快速成為嵌入式運算中IP的另一用途。
IP不是定義在特定的物理實現(xiàn)上,它是一種網(wǎng)際互聯(lián)標準。因特網(wǎng)分組采取能夠被其他網(wǎng)絡(例如以太網(wǎng))承載的形式。一般來說,一個因特網(wǎng)分組從源地址到目的地址會經(jīng)過幾種不同的網(wǎng)絡。IP允許數(shù)據(jù)通過這些網(wǎng)絡,無損失地從一端用戶流動到另一端用戶。IP和單個網(wǎng)絡之間的關系如圖7-20所示。圖7?20因特網(wǎng)通信中的協(xié)議利用
IP分組的基本格式如圖7-21所示。頭和數(shù)據(jù)有效負荷都具有可變的長度,最大長度是65535字節(jié)。圖7?21IP分組結構圖7-22顯示了IP和高級因特網(wǎng)服務之間的關系。使用IP作為基礎,TCP被用來為批量文件傳輸提供文件傳輸協(xié)議(FTP),超文本傳輸協(xié)議(HTTP)用于萬維網(wǎng)服務,簡單郵件傳輸協(xié)議(SMTP)用于E-mail,Telnet用于虛擬終端。另外一個單獨的用戶數(shù)據(jù)報協(xié)議(UDP)被用作由簡單網(wǎng)絡管理協(xié)議(SNMP)提供的網(wǎng)絡管理服務的基礎。圖7?22因特網(wǎng)服務棧 7.4基于網(wǎng)絡的設計示例
7.4.1遠程溫度檢測系統(tǒng)
該系統(tǒng)是在C8051F020單片機上實現(xiàn)基于μC/OS-Ⅱ的遠程多點溫度檢測的。它采用C/S模式,設計為簡單的應用服務器,用戶可以通過網(wǎng)絡中任一PC機的瀏覽器界面完成對溫度的實時檢測。
1.硬件設計
系統(tǒng)的硬件結構如圖7-23所示。圖7?23系統(tǒng)硬件結構框圖
2.軟件實現(xiàn)
1)?TCP/IP協(xié)議實現(xiàn)
介質(zhì)訪問層主要由以太網(wǎng)控制器RTL8019AS來實現(xiàn),其數(shù)據(jù)通信協(xié)議采用IEEE802.3標準,它只處理接收地址與本機物理地址相符或為廣播地址的以太幀,并且只對ARP和IP數(shù)據(jù)報進行處理。
網(wǎng)絡層實現(xiàn)IP、ARP和ICMP協(xié)議。IP數(shù)據(jù)報的首部保留20字節(jié)的基本控制信息,每個IP數(shù)據(jù)報包含一個分片,實現(xiàn)完整的ARP協(xié)議。對于ICMP協(xié)議,只實現(xiàn)ICMP中類型號為0,代碼為0的Ping應答協(xié)議。傳輸層實現(xiàn)TCP協(xié)議。在系統(tǒng)中,TCP協(xié)議只用于支持HTTP協(xié)議。由于在連接時系統(tǒng)一直處于被動服務的狀態(tài),因此在設計中省去了SYN-SENT狀態(tài)和CLOSED狀態(tài),讓它一開始就處于LISTEN狀態(tài),以監(jiān)聽客戶端的連接請求,避免了主動打開的操作,可更高效地服務于客戶機。當該服務器發(fā)出數(shù)據(jù)報時,并不存儲這個數(shù)據(jù)報,只是記錄下這個數(shù)據(jù)報的狀態(tài)信息。由于系統(tǒng)中數(shù)據(jù)傳輸量少,因此滑動窗口設置為一個固定值(1500字節(jié))。
應用層實現(xiàn)HTTP協(xié)議?,F(xiàn)場監(jiān)測設備與用戶的交互式數(shù)據(jù)交換通過HTTP協(xié)議來實現(xiàn)。HTTP在端口80上使用TCP的服務。
系統(tǒng)TCP/IP協(xié)議部分的程序流程如圖7-24所示。圖7?24ICP/IP協(xié)議部分的程序流程圖
2)?μC/OS-Ⅱ的溫度監(jiān)測實時管理
首先,需要完成μC/OS-Ⅱ在C8051F020單片機上的移植。
由于每個嵌入式監(jiān)測系統(tǒng)可以同時與多個PC機連接,向不同用戶提供信息,因此在OS_CFG.H頭文件中定義了一個包含各種連接信息的結構變量。當監(jiān)測系統(tǒng)收到TCP報文時,檢查該報文使用的連接狀態(tài)信息是否與已存在的連接相符,如果不存在則建立新的連接。這種處理可以使嵌入式監(jiān)測系統(tǒng)同時處理來自同一或不同PC機的連接。OS_CFG?.?H頭文件如下:存儲系統(tǒng)的使用方式是將C8051F020的XRAM作為輸入/輸出數(shù)據(jù)的內(nèi)部緩沖區(qū),將RTL8019AS內(nèi)部的16?KBSRAM作為單片機的外部數(shù)據(jù)緩沖區(qū),存儲輸入/輸出以太幀隊列。這樣,C8051F020就可以采用查詢方式讀取以太幀,并有充足的時間處理數(shù)據(jù)。由于輸入幀的大小不定,同時在ARP數(shù)據(jù)報發(fā)送或接收時,輸出幀必須存在輸出緩沖區(qū)中,因此輸入/輸出數(shù)據(jù)緩沖區(qū)在C8051F020的XRAM中使用動態(tài)分配。網(wǎng)頁存儲于單片機的FlashMemory中。當嵌入式系統(tǒng)向PC機發(fā)送網(wǎng)頁時,先將網(wǎng)頁從FlashMemory中取出放入XRAM,再根據(jù)用戶請求進行整理后放入RTLS019AS的SRAM,最后發(fā)送到以太網(wǎng)上。作為網(wǎng)絡服務器,C8051F020需要注意以下幾點:
(1)服務器向一客戶機發(fā)送ARP查詢分組后,如果在0.5?s內(nèi)未收到ARP響應分組,則重發(fā)ARP分組。
(2)如果TCP連接在0.5s內(nèi)未被激活,則初始化斷開連接。
(3)為了控制丟失數(shù)據(jù)報,TCP在規(guī)定時間(0.5s)內(nèi)如果沒有收到確認包,就重組這個包并發(fā)送,這樣不需要占用存儲區(qū)來存儲包。當TCP收到客戶機接收到信息包的確認包后,就斷開連接。下面是基于μC/OS-Ⅱ的任務創(chuàng)建、優(yōu)先級設置及延時時間設置,根據(jù)需要在系統(tǒng)中創(chuàng)建了5個任務:
任務1: OSTaskCreate(eth_arive,0,&mystack1[0],4);
//查詢RTL8019AS,是否有以太幀到達
OSTimeDlyHMSM(0,0,0,500); //延時0.5s
任務2: OSTaskCreate(arp_retran,0,&mystack2[0],5);
//重發(fā)ARP分組
OSTimeDlyHMSM(0,0,1,0); //延時1s任務3: OSTaskCreate(tcp_inact,0,&mystack3[0],6);
//初始化斷開連接
OSTimeDlyHMSM(0,0,1,500); //延時1.5s
任務4: OSTaskCreate(read_temp,0,&mystack3[0],7);
//讀溫度值
OSTimeDlyHMSM(0,0,2,0); //延時2s
任務5: OSTaskCreate(tcp_retran,0,&mystack3[0],8);
//TCP數(shù)據(jù)報重發(fā)
OSTimeDlyHMSM(0,0,2,500); //延時2.5s7.4.2基于VoIP和藍牙的無線電話系統(tǒng)
整個系統(tǒng)設計由1臺認證服務器、2臺基站(PC1,PC2)、14臺移動終端和多臺有線終端組成。其中基站以藍牙模塊ROK101008為無線接口,可實現(xiàn)移動終端與基站的高速通信;移動終端以ARM為核心處理器。系統(tǒng)框圖如圖7-25所示。圖7?25系統(tǒng)總體框圖
1.移動終端設計
移動終端以無線方式接入基站,可提供呼叫、來電顯示、語音通話等多種服務,由藍牙模塊ROK101008提供高速數(shù)據(jù)傳輸。語音壓縮編碼算法采用連續(xù)可變斜率增量調(diào)制(CVSD)方案,通過ARM處理器實現(xiàn)。ARM處理器采用Philips公司的LPC2104芯片。ARM處理器實現(xiàn)的功能有語音編/解碼、模擬接口、藍牙HCI接口、鍵盤處理與液晶顯示等。移動終端的硬件組成如圖7-26所示。圖7?26移動終端硬件結構圖硬件層設計主要包括串口和SPI總線接口設計,它們用于收/發(fā)語音數(shù)據(jù)、處理鍵盤中斷和完成對A/D、D/A以及液晶顯示的控制。任務層設計主要是建立了8個任務,按其優(yōu)先級從高到低排列,依次為監(jiān)控任務、鍵盤處理任務、模擬接口任務、藍牙接口任務、編碼任務、解碼任務、液晶顯示任務和空閑任務。其中,監(jiān)視任務和空閑任務是為增強系統(tǒng)穩(wěn)健性而設計的。各任務的狀態(tài)有4種:就緒態(tài)、運行態(tài)、等待/掛起態(tài)以及中斷態(tài)。在操作系統(tǒng)層,基于μC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 體操表演解說詞(共5篇)
- 學度第一學期高三級化學科期末考試試卷
- 《田口實驗方法》課件
- 《襯衫的結構知識》課件
- 2025年中考語文文言文總復習-學生版-專題03:文言文閱讀之翻譯句子(練習)
- 食品原料運輸服務合同三篇
- 電子商務行業(yè)推廣成效總結
- 鐵礦石加工廠建設工程合同三篇
- 咨詢行業(yè)中HR顧問的工作概述
- 建筑工程行業(yè)話務員工作總結
- 2025年1月八省聯(lián)考河南新高考物理試卷真題(含答案詳解)
- 物業(yè)管理服務人員配備及崗位職責
- 建設工程檢試驗工作管理實施指引
- 鄭州2024年河南鄭州市惠濟區(qū)事業(yè)單位80人筆試歷年參考題庫頻考點試題附帶答案詳解
- 安徽省蕪湖市2023-2024學年高一上學期期末考試 物理 含解析
- 2024年社區(qū)工作者考試必背1000題題庫【含答案】
- 初中化學教學中的教學瓶頸及解決策略探討
- 單層鋼結構廠房施工方案(完整版)
- 小沈陽新白蛇傳臺詞
- 中藥制劑的新技術與新工藝PPT課件
- 看圖寫話植樹教案
評論
0/150
提交評論