前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的通信協議主題范文,僅供參考,歡迎閱讀并收藏。
通信協議是指雙方實體完成通信或服務所必須遵循的規則和約定。通過通信信道和設備互連起來的多個不同地理位置的數據通信系統,要使其能協同工作實現信息交換和資源共享,它們之間必須具有共同的語言。
在計算機通信中,通信協議用于實現計算機與網絡連接之間的標準,網絡如果沒有統一的通信協議,電腦之間的信息傳遞就通信協議是指通信各方事前約定的通信規則,可以簡單地理解為各計算機之間進行相互會話所使用的共同語言。兩臺計算機在進行通信時,必須使用的通信協議。
(來源:文章屋網 )
【關鍵詞】CBTC系統 通信協議 設計 分析
前言:所謂CBTC系統,是指基于通信的列車運行控制系統(Communications Train Control),此項技術最早發源于歐洲,經過多年的發展,CBTC系統已經發展的比較完善。當前,我國在應用CBTC系統對列車進行控制時,應該在借鑒國外先進技術的基礎上,研發出適合我國實際情況的CBTC系統,同時,此種新型CBTC系統要以移動通信為基礎。
一、CBTC系統通信協議的設計
1、需求分析和設計思想。CBTC系統對安全性的要求非常高,因此,在進行通信協議設計之前,首先需要進行需求分析,主要從系統結構及安全防護措施兩個方面來進行分析,之后,再在需求分析的基礎上,結合安全傳輸規范中的方法,提出具體的設計思想。系統結構需求:在進行數據傳輸的搭建工作時,以標準的TCP/IP四層協議為基礎,具體使用的為應用層定義的傳輸協議,鑒于此點要求,系統結構需求有三種,分別為對上層應用透明、具備安全相關的傳輸功能及訪問保護功能、通信協議的統一性。防護措施要求:在確定防護措施的要求時,要以影響系統安全的危險因素為基礎,進而根據EN50159-2標準來進行合理的設計。
2、通信協議架構設計。在進行CBTC系統的通信協議設計時,需要具備三大功能,一是具有獨立性,二是對上層應用透明,三是保證雙冗余總線發送。基于通信協議功能上的要求,架構設計也應該包含三個層次:第一層次,安全時間層,主要的功能是在進行數據傳輸時,加蓋時間戳,同時,在完成數據接收之后,將數據所帶有的時間戳解析出來,通過對比分析,將信息的正確性與實效性予以確定;第二層次,安全鏈接層,主要功能就是對鏈接進行管理,從而使鏈接處于良好的狀態當中;第三層次,冗余管理層,安全數據處理完成之后,安全鏈接層會對其進行打包,而冗余管理層就是對打包之后的數據進行加密,并在兩條總線上發送,同時接受發來的報文,進行解密之后傳送給上層。
二、CBTC系統通信協議的形式化分析
1、系統模型的分解和驗證。對于設計完成的CBTC系統通信協議來說,有三項指標需要進行考察和驗證,這三項指標分別為鏈接建立時間、信息傳輸延時范圍、信道性能對鏈路狀態的影響。在實際的考察和驗證中,鏈接建立過程與實際數據傳輸過程分別進行驗證,在對鏈接建立過程中進行驗證時,主要是對建立時間進行考察,而對實際數據傳輸過程中進行驗證時,主要是對剩余性能指標進行考察,進而通過分解模型,將狀態空間科學的分析,使模型的動態特性得到合理的驗證。
2、危險分析。CBTC系統在運行的過程中,存在著很多影響安全的危險因素,而危險分析就是對危險因素進行明確,并確定是否采取有效地防護措施。一般來說,在CBTC系統中,存在的危險因素主要有三種:第一,信道的丟包率,在利用信道進行數據傳輸的過程中,信息丟失的可能性非常大,因而,信道的丟包率是一項非常主要的危險因素,在對其進行分析時,分析的方法為隨機數模擬,從而將丟包概率值予以改變,最終得出合理的接受范圍;第二,信道的傳輸延遲,通過分析,將延遲的最大范圍進行明確;第三,入侵者的惡意數據,一旦此種危險因素的危險發生,那么CBTC系統就會出現錯誤,因此,必須要對其采取相應的防護措施。
3、系統的仿真及結果分析。經過前兩個步驟,可以分析相關的性能參數并得出結果。在進行系統仿真的過程中,首選需要對鏈接建立時間進行仿真,進而對其性能進行科學的評價,仿真實驗時,建鏈操作為300次,通過對每次操作時間的考察,進行有效地分析,并得出結果。接著進行信息傳輸延時范圍仿真,采取的是建立模型的方法,同樣實驗次數為300次,通過取平均值的方式將變化規律確定。第三是對信道性能對鏈路狀態的影響進行仿真,以此來分析狀態的好與壞。通過各項系統仿真的結果,對其進行全面的分析后可知,CBTC系統的通信協議具備非常優異的性能,而且安全系數也提高了許多,因此,此次CBTC系統的通信協議設計的安全性非常高,能夠滿足CBTC系統對安全性的需求,從而保證列車運行控制的有效性。
關鍵詞:TCP/IP協議;Internet;網絡通信
1 前言
TCP/IP初步架構的出現源于1964年,冷戰時期美國國防部高級研究計劃局DARPA提出ARPANET研究計劃,目的是希望美國國防部的很多主機、通信控制處理機和通信線路在戰爭中,如部分遭到攻擊而損壞時,其它部分還能正常工作,同時它希望適應從文件傳送到實時數據傳輸的各種應用需求,因此它要求的是一種靈活的網絡體系結構,實現異型網的互聯(Interconection)與互通(Intercomunication)。
最初ARPANET使用的是租用線路。當衛星通信系統與通信網發展起來之后,ARPANET最初開發的網絡協議NCP (Net Control Protocol,網絡控制協議)因其在通信可靠性較差的通信子網中出現了不少問題,導致了新的網絡協議TCP/IP的出現。雖然TCP協議和IP協議都不是OSI標準,但它們是目前最流行的商業化的協議,并被公認為當前的工業標準或“事實上的標準”。1974年,Kahn最早定義出了的TCP/IP參考模型(TCP/IP Reference Model ); 1985年由Leiner等人對該模型做了進一步的研究;1988年Clark對該模型的設計思想進行了討論。
今天,Internet己經發展得更加商業化,更加面向消費者,盡管基本目的發生了改變,但其最初的質量標準(也就是開放式、抗毀性和可靠性)依然是必需的。這些特性包括可靠傳輸數據、自動檢測、避免網絡發生錯誤等。更重要的就是TCP/IP是一個開放式的通信協議,開放性就意味著在任何組合間,不管這些設備的物理特征有多大差異,都可以進行通信。
2 標準TCP/IP協議
如同OSI參考模型一樣,TCP/IP也是一種分層模型。與OSI參考模型不同的是,TCP/IP參考模型更側重于互聯設備間的數據傳送,而不是嚴格的功能層次劃分。TCP/IP通過解釋功能層次分布的重要性來做到這一點,但它仍為設計者具體實現協議留下很大的余地。因此,OSI參考模型適用于解釋互聯網絡的通信機制,而TCP/IP更適合做互聯網絡協議的市場標準。
TCP/IP協議是一套把因特網上的各種系統互聯起來的協議組,可以保證因特網上數據準確又快速地傳輸。TCP/IP協議是一個很大的協議族,通常表示為一個簡化的四層模型。這四層分別是應用層、傳輸層、網絡層和鏈路層。其中一些常用協議在TCP/IP分層模型中所處的位置如圖1所示。
圖1TCP/IP層次結構圖
3IP協議的實現
3.1 IP數據報格式
IP ( Internet Protocol,互聯網協議)是TCP/IP協議中一個最重要的協議。IP數據報以32比特為一個計數單位(組),其格式如圖2所示。
圖21P數據報格式
3.2IP協議的軟件實現
IP是TCP/IP協議中最為核心的協議。所有的數據都以IP數據報格式傳輸。IP協議可以實現無連接數據報傳送、數據報路由選擇和差錯控制的功能。在本課題中,由于單片機資源有限,結合實際需要只實現了IP數據報傳送和接收,沒有實現路由選擇算法和差錯控制,同時也不支持IP數據報的分片和重組。
IP協議主要通過IP接收函數和IP發送函數兩個函數實現。
①IP發送函數
void ip_send對來自上層的數據,按照IP數據報的結構構造數據報。通過調用ARP處理程序解析對應IP的物理地址。若返回NULL值,則將數據存入一個已定義的結構體WAITE中,并發送ARP請求。若返回對應IP的物理地址,則將數據交給底層以太網驅動程序處理。
②IP接收函數
void ip rcve (UCHAR xdata*inbuf)單片機收到數據包之后,應先對數據包的類型進行判斷。如果是IP數據報,則調用該程序。接著再判斷其數據域中所使用的協議類型,是ICMP協議調用ICMP處理子程序,是UDP協議調用UDP處理子程序,是TCP協議調用TCP處理子程序,其它返回。程序流程圖如圖3所示:
圖3IP接收過程流程圖
3.3 校驗和算法
在大多數TCP/IP協議中采用的差錯檢驗方法是校驗和,校驗和是在分組上附加的信息。校驗和能夠防止分組在傳輸時所受到的損傷。在發送端先計算檢驗和并將得到的結果與分組一起發送過去。接收端對包括校驗和的整個分組重復進行同樣的計算。若得到的結果正確則接收此分組,否則就將其丟棄。發送端和接收端的校驗和計算方法分別如下:
①發送端按以下步驟產生校驗和
②接收端按以下步驟產生校驗和
下面給出校驗和算法的源程序:
UINT Checksum (UCHAR xdata *checks UINT length)//計算校驗和
{LONG sum=0; UINT i:UINT xdata *ptr: ptr=(UINT xdata *)check;
for (i=0:i
{sum+=*ptr++;}
if (length&0x01)//表示長度為單數
{sum=sum+((*ptr)&Oxff00);}
sum=(sum&Oxffff)+((sum;16)&Oxffff);//高16位和低16位相加
if(sum&OxffffU000){sum++;}//表示有進位
return((UINT)((sum)&Oxf});}
4TCP協議的實現
4.1 TCP數據報格式
TCP(Transfer Control Protocol,傳輸控制協議)是傳輸層最常用的協議,是一個比較復雜的協議。TCP和IP一樣,也是TCP/IP協議族中最重要的協議。它可以提供面向連接的、可靠的數據傳輸服務。TCP數據報文段格式如圖4所示:
圖4TCP報文段的格式
4.2 TCP協議的實現
TCP協議的實現是整個TCP/IP協議棧中最復雜的一個。TCP協議是面向連接的、端對端的可靠通信協議。TCP采取了很多機制來保證它的可靠性,比如TCP連接的建立與關閉機制、超時重傳機制、數據包確認機制、流量控制機制等等。在嵌入式系統中實現TCP協議所要做的就是實現這些機制,當然要在不影響協議棧功能的前提下適當做一下簡化。
4.3TCP的超時重傳與流量控制機制的實現
當一個TCP連接順利建立起來后,TCP連接的雙方可以互相傳遞數據了。TCP的可靠傳輸是靠確認機制來實現的,也就是每發送一個數據包后,只有接收到對方發送確認包后,才能確定該數據包已經成功發送,否則就要重發。
TCP的流量控制是為了協調通信雙方的收發速率不均衡而設計的。遠端的客戶機一般是通用計算機,相對與本地的嵌入式Web Server來說運行速度要快得多。因此,當遠端快的發送方向本地慢的接收方發送數據的時候,如果發送速度很快,則會導致本端來不及處理,甚至導致死機。TCP連接建立時,雙方會利用TCP首部中的Window窗口字段通報雙方的可用窗口。實際上,接收方通報的窗口大小是根據其接收緩存的大小而定,考慮到本系統在使用TCP協議時,只設置了一個中等IP包大小接收緩存,因此接收窗口設為1024。同時,每次接收包的ACK確認時,窗口大小不再動態改變,恒定設置為1024。這樣遠端主機就會以較慢的傳輸速率與本端的Web Server進行通信。
5 結論
本文主要針對目前流行的TCP/IP網絡通信協議的實現進行研究和探索,由于時間倉促,加上本人對該領域的研究才剛剛起步,所以還存在一些問題值得進一步研究探討,主要有:
(1) 對于TCP/IP協議,時間的控制非常重要。包括TCP的超時重傳,TCP狀態的保活等。如果時間處理不當,將影響整個系統的通訊性能。
(2)如何進一步實現TCP/IP對于多點通信以及完整協議棧的實現還有待于進一步研究。
(3) IPv6作為下一代互聯網的核心協議,能夠提供幾乎無限的地址空間,從根本上克服了IPv4中地址空間不足的問題。因此,下一步可增加對IPv6協議的研究與實現。
參考文獻
[1] 胡海.嵌入式TCP/IP協議棧研究與實現[D].西南交通大學,2005.8.
[2] 袁曉莉,徐愛均.基于OS-II和TCP/IP的遠程溫度監測系統.2005.5.
[3] 吳艷光.嵌入式TCP/IP協議棧設計方法的研究 [D].太原理工大學,2004.
[4] 馬永力. 基于SX52BD的嵌入式Web服務器的設計與實現.山東大學,2005.
[5]路英娟.TCP/IP協議小議[J].科技情報開發與經濟,2004(6).
[6]葛志輝,李陶深.TCP/IP協議的脆弱性與相應的對策.2004.
---------
作者簡介:周青山(1987-),男,重慶忠縣人,碩士研究生,主要研究方向:嵌入式操作系統、工業CT數據傳輸; 王玨(1961-),男,四川仁壽人,教授,博士生導師,主要研究方向:工業CT、檢測技術、自動化裝置; 譚輝(1983-),男,湖南耒陽人,助理研究員,碩士,主要研究方向:數據采集與傳輸、嵌入式操作系統。
文章編號:1001-9081(2011)08-02065-03doi:10.3724/SP.J.1087.2011.02065
(1.重慶大學 自動化學院,重慶400030; 2.重慶大學 ICT研究中心,重慶400030)
()
摘 要:為了在強干擾環境下進行數據的準確傳輸,設計了一種基于曼徹斯特碼的通信協議。協議分為發送模塊和接收模塊:在發送端,采用了數據打包傳輸;在接收端,采用了“錯位碼+計數器”的方法進行時鐘同步。協議能有效解決數據邊界識別問題和時鐘累積誤差造成的相位偏差問題。利用設計和制作的硬件實驗平臺,在模擬的干擾環境中,進行了40Mbps數據的傳輸測試。結果表明,該通信協議能夠進行數據的準確傳輸。
關鍵詞:曼徹斯特碼;通信協議;錯位碼;時鐘;相位偏差
中圖分類號: TN915.04文獻標志碼:A
Design and realization of communication protocol based on Manchester code
ZHOU Qing-shan1, WANG Jue1,2, TAN Hui2
(1. College of Automation, Chongqing University, Chongqing 400030, China;
2. ICT Research Center, Chongqing University, Chongqing 400030, China)
Abstract: To transmit data accurately in strong interference environments, a communication protocol based on Manchester code was designed. It is composed of sending module and receiving module: data were transferred in the form of “packets” at the sending end; dislocated code and a counter were used to solve the problem of clock synchronization at the receiving end. The communication protocol could solve the issue of identifying the data boundaries and the phase error caused by the accumulated error of clock. In a simulated interference environment, a transfer rate of 40Mbps was achieved on a platform. The experimental results indicate that the communication protocol is able to transmit data accurately.
Key words: Manchester code; communication protocol; dislocated code; clock; phase error
0 引言
在工業領域中,強干擾場所的數據傳輸逐漸普遍,對數據傳輸可靠性的要求也愈來愈高。目前,為了獲得在強干擾環境下數據的可靠傳輸,除了采用抗干擾能力強的差分電平外,還會通過降低數據傳輸速率、增大協議和硬件復雜度等方法來進一步保證其可靠性,從而導致在數據傳輸速率、傳輸可靠性、運行和維護成本間形成了一個矛盾體,難以獲得一個折中方案[1-3]。為了獲得簡單協議下強干擾環境中數據的可靠傳輸,降低強干擾環境中數據傳輸的運行和維護成本,本文設計了一種基于曼徹斯特碼(Manchester Code)的通信協議,并設計和制作了基于現場可編程門列陣(Field Programmable Gate Array, FPGA)的實驗平臺對其進行測試。
曼徹斯特碼,又稱數字雙相碼,是一種時鐘自同步的編碼技術。與其他編碼技術相比,曼徹斯特碼不存在直流分量,能夠從接收端的線路碼中提取符號同步信號,并且編碼規則相對簡單,抗干擾能力強,適合在一些干擾較大的場所進行數據傳輸[4-5]。
如圖1,對于單極性不歸零碼(Unipolar Non Return to Zero, NRZ)的數據信號“0”和“1”,將“0”編碼為“01”,將“1”編碼為“10”的這種形式的編碼稱之為曼徹斯特I型碼[6];反之,稱為曼徹斯特II型碼。本文采用曼徹斯特I型碼進行設計,在后面提到的曼徹斯特編碼均為I型碼。
圖1 曼徹斯特碼
1 協議設計
通信協議分為兩部分:發送模塊和接收模塊。
1.1 發送模塊
如圖2所示,前方傳輸過來的數據存入先進先出(First Input First Output, FIFO)存儲器中進行緩存,在數據打包控制器的控制下,將NRZ數據轉換為曼徹斯特碼后打包輸出。
圖2 發送模塊結構
1.1.1 編碼方式選擇
直接將輸入數據與時鐘進行同或(或者異或)是比較常用的曼徹斯特編碼方式[7],此處采用同或編碼方式。如果NRZ的一位碼元時間為1/P,則選用頻率為2P的時鐘對NRZ進行同或處理,所得的編碼即為曼徹斯特碼,如圖3所示。
圖3 曼徹斯特碼同或編碼
1.1.2 數據打包傳輸
發送端的協議設計,需要充分考慮到接收端的特性。對于接收端,在連續的曼徹斯特碼流中,首先需要確定每位原始數據所對應的兩位編碼數據,即數據邊界的確定。例如,接收端接收的是連續的“10”序列,同時也可以判斷為是連續的“01”序列,需要進行數據邊界確定。因此,在發送端,采用了數據幀的傳輸方式,為每幀數據添加同步字頭用以進行數據邊界的正確識別,此處設定的每幀有效數據為256b。
正確的曼徹斯特碼不會存在連續的3個或以上的“1”或者“0”,所以將數據的同步字頭設定為“111000”;將命令字的同步字頭設定為“000111”,如表1所示。
【關鍵詞】網絡通信協議;電氣監控系統;概況;應用;IEC60870—5—103協議;實時性;可靠性
隨著社會主義市場經濟的快速發展與科學技術的不斷進步,作為各產業平穩生產的基礎,電氣設備必須具備良好的安全性、穩定性及高效性。在電氣監控系統內優化應用網絡通信協議,可對電氣監控系統的性能進行有效提高。作為通信網絡的根本規則,網絡通信協議的各種類型都存有既定通信模式。網絡通信協議不同則其傳輸訪問機制也存有極大的不同。在進行少數信號傳輸或大量信號傳輸與發出時,此類傳輸訪問機制性能都存有極大不同。本文以網絡通信協議為依據,對電力監控系統內最常用的通信協議進行了優化運用,如IEC60870—5—103等,在設備投資金額不增加的基礎上,達到完善電氣監控系統的目的。
一、電氣監控系統網絡通信協議的概況
作為一種網絡通用語言,網絡通信協議是指為連接不同操作系統和不同硬件體系結構的互聯網絡引提供的通信支持。其從邏輯上將網絡進行7層劃分,各層都具備路由器、交換機等相應的物理設備。在電氣監控系統內IEC60870—5—103、IEC60870—5—104等為主要的網絡通信協議類型,具體如下:
1、IEC60870—5—103協議。
作為國際電工委員會制定的繼電保護設備信息接口規范,IEC60870—5—103協議可在通信前置機和繼電保護裝置間的信號傳輸中充分應用。該協議主要選取主從—對多的非平衡傳輸方式,主站為通信前置機,從站為繼電保護裝置,每秒9600bit為標準傳輸速率,格式報文形式主要分為2種:固定幀長報文、可變幀長報文。其表述的2類信息傳輸方式為按照相應規定運用的服務數據單位與為標準化報文傳輸沒有涵蓋的全部可能應用過程,或全部可能信息利用通用分類服務傳輸。
2、IEC60870—5—104協議。
在IEC60870—5—103基礎上,國際電工委員會為滿足網絡運輸又進行了IEC60870—5—104遠動通信協議的制定。其不僅能夠在集控中心與變電站、調度端進行全面運用,還能在變電站內的通信網加以合理運用。一般選取RFC2200協議作為該協議物理層、鏈路層等主要協議。作為標準TCP/IP協議子集,RFC2200可使IEC60870—5—104協議應用于TCP/IP協議的高帶寬網絡傳輸。與其他協議相比,IEC60870—5—104協議具有良好實時性、可靠性等優勢,且能夠進行大流量數據傳輸,為信息擴展提供便利。
二、網絡通信協議在電氣監控系統中的應用
在科技快速發展的今天,電氣監控系統愈加完善,將網絡通信協議合理應用于電氣監控系統,對提升電氣監控系統實時性、可靠性具有至關重要的作用,為此,本文以優化其應用性能為例對網絡通信協議在電氣監控系統中的應用進行了分析與探究。
1、實時性優化應用
電氣監控系統實時性提升的方式較多,一般分為2大類:升級電氣監控系統硬件、優化軟件算法。根據工作需求,可通過軟件優化網絡通信協議,以此達到提高電氣監控系統實時性的目的。首先,IEC60870—5—103協議為例分析。光纖接口、EIARS485接口為IEC60870—5—103協議電氣的主要接口類型。光纖傳輸具有良好抗干擾能力及較快傳輸速度。在相同變電站或距離較短情況下繼電保護裝置和監控系統的兩種接口傳輸速度基本一致。在通信鏈路拓撲方面兩種接口一致,基于此,兩種接口具有相同分析方式。本文將EIARS485接口作為分析研究重點,具體內容如下:作為三線制半雙工接口,EIARS485接口在同一時間點上只能接收、發送信號,但不能同時進行接收、發送操作。通信權可由EIARS485總線上并聯的3個繼電保護裝置依次取得,依次將數據傳送給通信前置機。繼電保護裝置數據向通信前置機傳送的快慢,由通信權時間間隔的長短加以確定。但電氣出現大面積故障的情況下,繼電保護裝置極易出現大量變位信號。如一個繼電保護裝置進行5個遙信信號上傳,完成此5個變位遙信信號傳輸需20幀以上報文。其次,IEC60870—5—104協議為例分析。以太網傳輸為IEC60870—5—104協議的主要形式,平衡傳輸全雙工接口為以太網RJ45接口類型。對該協議實時性造成影響的主要因素包含2點,第一以太網的傳輸性能,對其起決定作用的因素為網絡拓撲結構及以太網帶寬;第二,該協議報文信號攜帶效率。根據筆者工作性質,為提升電氣監控系統網絡通信協議性能,本文以優化提升IEC60870—5—104協議報文信號攜帶效率為主進行分析。本協議傳輸數據以I格式幀為主。該協議規定ASDU(一個)在249字節以下,可進行一個火一組信號傳輸。應用于現有監控系統的IEC60870—5—104協議,I格式幀(一個)旺旺只進行一個變位遙信信號傳輸。為提高信號傳輸信號,需對I格式幀長度進行有效增加。
2、可靠性優化應用
利用通信前置機、數據服務器、遠動機等設備的冗余配置及通信網絡冗余配置可實現電氣監控系統可靠性。在具體應用中,硬件即便冗余配置,但卻存在冗余設備無擾無縫切換等問題。為達到網絡通信協議優化運用,需提升通信前置機冗余切換、通信網絡冗余切換的可靠性,進而達到電氣監控系統可靠性提升的目的。
(1)將EIARS485接口應用于IEC60870—5—103協議時,EIARS485接口一個的情況下主機只能有一臺,也就是說EIARS485接口一個情況下2臺通信前置機無法利用該接口將報文發送給一臺繼電保護裝置。為對該協議傳輸可靠性進行有效提升,需并接2臺通信前置機的全部EIARS485接口。要求位于工作狀態的通信前置機為1臺,位于熱備狀態的通信前置機為1臺。如工作狀態前置機內隨意一個EIARS485接口通信中斷被熱備狀態通信前置機檢測出來后,熱備狀態前置機可將此EIARS485接口主機地位占據,利用此EIARS485接口將報文發送給繼電保護裝置。該情況下,工作狀態通信前置機需將此EIARS485接口主機地位拋棄,進而達到IEC60870—5—103協議雙機熱備接口切換。
(2)通信前置機、數據服務器、遠動機與以太網冗余配置為現有監控系統的主要構成部分。冗余配置可對信號傳輸可靠性有效提升。但現階段最常見的雙機雙網切換機制為“硬切換”,也就是說一般情況下冗余的2臺通信前置機內利用冗余通信網絡內一條與運動機或服務器進行通信的只有一臺。如前置機正常運行時如出現故障或通信網絡中斷,可向冗余的另一臺通信前置機進行通信切換。但其存有諸多問題,如只能利用通信前置機內部軟件對通信前置機切換、通信網絡切換進行判斷,通信在切換過程中為中斷情況,不能實現無擾連續切換。在IEC60870—5—104協議內對冗余通信網絡傳輸數據如何應用沒有進行詳細規定。如選取并行冗余協議,可將鏈路冗余體增設到各設備內部,以此實施冗余網絡通信數據處理。但該功能在傳統變電站監控系統設備內并不具備,如選取該并行冗余協議,需進行現有監控系統設備重新設計。在對現有設備不改動的情況下,應適當修改現有協議通信方式,進而達到冗余網絡并行數據傳輸的目的。
三、結束語
綜上所述,作為國民經濟的主要構成部分,電氣監控系統內網絡通信協議的合理運用,可有效管理與控制質量、安全工作,完善電氣監控系統。本文以IEC60870—5—103協議與IEC60870—5—104協議為例,對其在電氣監控系統內的實時性優化應用、可靠性優化應用進行了進一步分析研究,以此提升電氣監控系統的性能,降低經濟損失,及提高系統安全性。
參考文獻
[1]丁騰波,林亞男,趙萌.智能變電站虛擬局域網邏輯結構劃分方案的研究[J].電力系統保護與控制,2012(01)
[2]葛江波.IEC60870-5-104傳輸規約如何實現遠動技術網絡化[J].太原大學學報,2010(02)
[3]竇曉波,胡敏強,吳在軍,杜炎森,閔濤.數字化變電站通信網絡的組建與冗余方案[J].電力自動化設備.2008(01)
[4]李勁草.網絡通信協議在電氣監控系統中的優化應用[J].包裝世界,2012(06)
[5]張小美,鄭毓蕃,許建強,陸國平.存在時延和數據丟失的網絡控制系統的控制器設計[J].信息與控制,2006(03)
[6]王培增,董世軍.IEC60870-5-103傳輸規約在微機保護測控裝置中的應用與實現[J].繼電器,2007(05)
[7]周森,鄭玉平,劉晗,張毅,紀南,侯國俊,陸詠.IEC60870-5-103規約在微機型繼電保護測試系統中的應用[J].繼電器,2005(23)
0引言
近幾年來,隨著人們對于網絡信息傳輸質量的要求越來越高,并且各種應用的增加導致整個網絡信息量增大,亟需有效提高網絡的服務質量。基于量子糾纏態理論,在數據鏈路層對通信協議進行分析,得到停等協議和選擇重傳量子通信協議,可以明顯減少信息在鏈路中的傳輸時延,有效提高信息在鏈路中的傳輸速率[12]。但是,選擇自動重傳協議對于每一個發送的數據幀都要求進行應答,一定程度上加重了通信負擔;滑動窗口協議只要求對于一定量的數據幀發送一個應答即可,將有效簡化通信過程。因此,研究基于量子糾纏態的滑動窗口通信協議具有一定的意義。本文利用量子理論中量子糾纏態,提出一種基于數據鏈路層的滑動窗口量子通信協議,并對該協議進行分析。
1量子糾纏態
量子信息學是近20多年來由量子理論、信息科學以及計算機科學相結合起來的新型學科[3],主要利用量子態的特性,探索以全新的方式對信息進行存儲、計算、編碼和傳輸的可能性[45]。量子糾纏態是量子光學和量子信息學領域中的一個重要概念,量子態的糾纏是量子信息工程中的重要資源,并廣泛應用于量子通信和量子計算的理論研究中[67]。量子糾纏現象最先是由(einsteinpodolskyrosen,EPR)發現的量子力學的特殊現象,對于2個或多個量子系統之間的非定域、非經典的關聯性描述,是量子系統內各個子系統或各自由度之間關聯的力學屬性。那么,量子糾纏態是實現信息高速傳輸的不可破譯通信的理論基礎[4]。由量子糾纏交換實現量子遠程通信,表明量子狀態的轉移是瞬間實現的,極大縮短了通信時間。
2滑動窗口通信協議
滑動窗口協議是基于數據鏈路層允許多個數據幀同時進行信息傳輸以此來提高傳輸效率而提出的[8]。對于每一個數據幀用一定位數的二進制標識,并限定每個窗口的最大傳輸的數據幀數。同時,分別在發送方設置發送窗口,接收方設置相應的接收窗口;接收方不必對每一個數據幀進行應答,只需對這個窗口的最后一個數據幀進行應答,表示整個窗口的所有數據幀接收正確,之后接收下一個窗口的數據。對于當產生錯誤或者丟失一個、多個數據幀時,需要重傳這個窗口的所有數據幀。
對于滑動窗口協議,假如待傳送的數據幀為m個,每個滑動窗口最多N個數據幀,且每個數據幀在傳輸的過程中出錯和丟失的概率為p。假定每個數據幀的發送時延為ta,數據幀沿發送鏈路從發送端到接收端的傳輸時延為tp,接收端接收到數據幀的所用的處理時延為tpr,接收端發送確認幀的發送時延為 tb,確認幀在鏈路中的傳輸時延為tp,假設發送端的處理時延也同為tpr。由于數據幀的傳輸過程中是連續發送,則存在數據幀之間傳輸時間的重疊。即設時間重疊的系數為β,則0≤β<1,重疊時間為βt,當β=0時,重疊時間為0,即只一個數據幀進行傳輸;同時數據幀的發送時間有先后順序,不可能同時發送所有數據幀,那么數據幀之間的發送時間不能完全重疊,β不能等于1。因此,一個數據幀從發送端到接收端的傳輸時間為
也就是說,如果出錯或丟失的數據幀越多,則滑動窗口量子通信協議將越有效;并且在無差錯信息傳輸中滑動窗口量子通信協議也將比選擇連續重傳量子通信協議更好。可得出:在單一一個窗口的出錯或丟失需要重傳的數據幀的概率為p1=y/x,那么對于所有的數據幀有:當p1> c+1xt4+t5(t4+t5)x-1時,滑動窗口量子通信協議比選擇連續重傳量子通信協議更優。因此,滑動窗口量子通信協議在遠程通信和通信信道較差、出錯率很高以及傳輸時延很高的情況下具有更明顯的優勢。
3結論
利用量子力學中的量子糾纏態,提出了一種基于數據鏈路層的滑動窗口量子通信協議。該協議在鏈路的空閑時段通過量子糾纏態的分發建立量子信道,信息的發送通過經典信道進行傳輸,而后通過量子信道進行反饋確認信息來完成。由于確認量子信息傳輸的瞬時性,可有效減少信息的傳輸時間,提高了鏈路的吞吐量。通過與選擇連續重傳量子通信協議對比,滑動窗口量子通信協議在十分嚴峻的環境和遠程通信中能夠更好地提高信息的傳輸效率,特別是在衛星通信方面將有更大作用。但是對于所需要重傳的數據幀是整個窗口的所有數據幀進行重傳,但是整個窗口的所有數據幀并不是全部都出錯或丟失需要重傳,有的數據幀是完整接收依然被丟棄重傳,造成了一些不必要的數據幀的傳輸,信道的利用率下降。如果能夠對于滑動窗口量子通信協議中需要重傳的數據幀進行選擇性重傳將是更有效的解決方案。
作者簡介:
關鍵詞:無線傳感器網絡;體系結構;通信體系;MAC協議;路由協議;傳輸層協議
[Abstract] This paper is based on the analysis of network characteristics. The paper introduces the concept and characteristics of communication system, wireless sensor network middleware and application system of three levels, and an overview of wireless sensor networks and media access control protocol, routing protocol, such as transport protocol communication system research and prospect.
Keywords: wireless sensor networks; architecture; communication system; MAC protocol; routing protocol; transport layer protocol
中圖分類號:E965文獻標識碼:A 文章編號:
無線傳感器網絡是由大量無處不在的、具有無線通信與計算能力的微小傳感器節點構成的自組織分布式網絡系統, 是能根據環境自主完成指定任務的“智能”系統, 是一項涉及多門前沿學科發展的綜合性技術。MEMS 將多種傳感器集成為一體, 制造小型化、低成本、多功能的傳感器節點; 大量的MEMS 傳感器節點只有通過低功耗的無線通信技術聯成網絡才能夠發揮其整體和綜合作用; 具有群體智能的自主自治系統的行為實現和控制是自動控制和人工智能領域的前沿研究內容。
1、體系結構
無線傳感器網絡與移動專用網絡( Mobile Adho c Netw ork, MANET ) 相比, 具有節點數量多、分布密集, 通信采用廣播方式, 拓撲結構變化頻繁, 能量、計算和存儲能力有限, 沒有統一的標識等特點。這對無線傳感器網絡在設計上提出了新的要求和挑戰, 即資源受限、可擴展性、容錯性、自組織、實時性和安全性等。其中, 資源受限, 尤其是能量有限是無線傳感器網絡的一個重要特征。由于傳感器節點多采用電池供電, 而且一旦部署就無人值守, 更換電池成本過大, 在設計無線傳感器網絡時,必須盡可能采用低功耗的器件、節能的協議算法和管理策略, 以便減少傳感器節點的能耗, 延長整個網絡的壽命。
組網與通信是通信體系的主要功能, 這一層包括開放系統互聯OSI 七層模型中的物理層, 數據鏈路層, 網絡層和傳輸層。無線傳感器網絡的計算模型涉及網絡的組織、管理和服務框架, 信息傳輸路徑的建立機制、面向需求的分布信息處理模式等問題,是無線傳感器網絡發展需要首先解決的問題。通信協議是核心內容, 包括無線信道調制、共享信道分配、路由構建及與因特網互聯等。
2、通信體系
在通信體系的四層協議棧中, 物理層負責數據的調制、發送與接收, 涉及傳輸的媒介、頻段的選擇、載波產生、信號檢測、調制解調方式、數據加密和硬件設計等。WSNs 采用的傳輸媒體主要有: 射頻( RF) 、可見光、紅外線等, 其中, 射頻是最常用的。到目前為止, 物理層已基本完成了無線傳感器網絡節點的設計開發, 代表性的節點有U CLA 和Rockwell 自動化中心研制的WINS, MIT 研制的µAMPS, U C Berkeley 的Smar t Dust 和Mo tes。在這些平臺中, Mo tes 硬件平臺和其配套的TinyOS操作系統應用最為廣泛, 為全球300 多家研究機構所采用。目前, 物理層的工作主要集中于低功耗低成本高可靠性的模塊特別是通信模塊的研制和片上系統SoC 的設計。
3 MAC協議
3.1 基于調度算法的MAC協議
在基于調度算法的MAC 協議中, 傳感器節點可發送數據的時間通過一個調度算法來決定。這樣, 多個傳感器節點就可以同時、沒有沖突的在無線信道發送數據。這類協議中, 主要的調度算法是時分多復用T DMA, 即將時間分成多個時間片, 幾個時間片組成一個幀, 在每一幀中, 分配給傳感器節點至少一個時間片來發送數據。這類協議的調度算法通常尋找一個盡可能最近的用于發送數據的幀來達到高的空間利用率和低的數據包等待時間。
典型的協議有SMACS, DE-MAC和EMACS。基于調度的MA C 協議都是分布式的, 因此需要時間同步機制, 而不需要全局信息。這樣, 就可以在高動態變化的環境比如網絡拓撲改變的情況下充分適應并保持最佳的特性。這類協議提供了信道的公平使用, 與合適的調度算法配合就可以避免沖突的發生。但是許多基于T DMA 的協議必須使用較為精確的時間同步來調度, 增加了網絡的負載。另外, 有些T DMA 協議仍然存在一定的沖突, 導致很難控制這些沖突來保證實時性和節省能耗。
3.2非碰撞的MAC協議
非碰撞的MAC 協議通過消除碰撞來節能。好的非碰撞協議能夠潛在地提高吞吐量, 減少時延, 提供實時性保證。當前存在的問題是多信道的使用。這需要對無線傳感器網絡的節點硬件設計上提出了一個附加的要求( 有些節點必須有兩個收發器) 。另一個問題是協議的復雜性( 因為節點的計算能力有限, 傳感器網絡的協議總是越簡單越好) 。
3.3基于競爭的MAC協議
多數分布式MAC 協議采用載波監聽或沖突避免的機制并采用附加的信令控制消息來處理隱藏和暴露節點問題。基于競爭的協議對無線信道的訪問采用競爭機制。比如: S-MAC , T-MA C ,ARC-MA C 。基于競爭的協議通常很難提供實時性保證, 而且由于沖突的存在, 浪費了能量。基于競爭的協議在有些應用場合( 比如主要考慮節能而不太關心時延的可預測性時) 有較大的應用。基于競爭的協議需要解決的是提供一個實時性的統計上界。根據這類協議的分布式和隨機的補償特性, 基于競爭的協議沒有確切的保證不同節點的數據包的優先級。因此, 有必要限制優先級倒置的概率以建立統計上的端到端的時延保證。
3.4混合的MAC協議
混合協議主要是將多種機制結合起來, 以獲取一個優缺點的折衷。比如: 物理層驅動協議, 混合TDMA-FDMA 的MAC , 以及CAT-MAC 。混合協議糅合了多種機制的協議, 可以在很大程度上滿足傳感器網絡的需求, 但是必須注意消除各種機制的缺點。
通過對現有MA C 協議的分析, 我們認為可以在分析現有的非碰撞協議, 對其性能的提高與其硬件成本的增加進行權衡, 找到一個平衡點, 開發一種既有較高實時性和能量有效性, 又不因為硬件設備的附加而增加很多成本的協議; 改進現有的非碰撞協議, 降低其復雜度, 以便更易于在傳感器網絡實現; 結合其他機制, 提出一種混合的協議, 以滿足傳感器網絡的需要。
4 、路由協議
由于傳感器網絡具有不同于傳統無線ad-hoc網絡的特點, 因此對它的路由的研究非常有挑戰性。首先, 由于節點眾多, 不可能建立一個全局的地址機制; 其次, 產生的數據有顯著的冗余性, 因此可以利用數據聚合來提高能量和帶寬的利用率; 第三, 節點的能量和處理能力有限, 因此需要精細的資源管理;最后, 由于網絡拓撲變化頻繁, 需要路由協議有很好的魯棒性和可擴展性。
4.1以數據為中心的路由協議
這類協議是建立在對目標數據的命名和查詢上, 并通過數據聚合減少重復的數據傳送。和傳統的基于地址的路由有顯著的差異。以數據為中心的路由協議主要有SPIN, DD , Rumo r Ro uting , Gr adient-based Rout ing , CADR ,
COU GAR 等。
4.2 分層次的路由協議
分層次路由協議的主要思想是讓節點參與特定的節點集群( cluster) 內的多跳通信, 集群首領再進行數據聚合, 減少向sink 節點傳送的消息數量, 從而達到節省能量和提高可擴展性的目的。典型的集群形成是基于節點的能量儲備及節點同集群首領的接近程度。分層次的路由協議主要有: LEACH ,Hierarchica-l PEGASIS, TEEN , EARCSN 等。
4.3基于位置的路由協議
基于位置的路由協議利用節點的位置信息通過把數據傳送到指定區域而不是整個網絡, 來降低能耗。這方面的協議主要來源于移動Ad Hoc 網絡,設計時都考慮了節點的移動性。但在節點移動性很少或者根本不移動的情況下, 它們也非常適用。基于位置的協議有: MECN , GAF , GEAR 等。
4.4基于網絡流的路由協議
基于網絡流的路由協議的目標是: 在實現路由功能的同時, 考慮端對端的時延要求, 滿足一些網絡QoS 要求。這類路由協議主要有MLER , MCF , SAR , SPEED 等。
5、傳輸層協議
無線傳感器網絡的傳輸層協議主要實現與Internet 或其它的網絡進行互聯。由于可擴展性、以數據為中心的路由等特性和能耗、硬件資源的限制等問題, 傳感器節點無法像Internet 上的服務器一樣存儲大量的數據, 而確認( ACK) 在無線傳感器網絡中的代價太過于昂貴, 導致TCP 和U DP 無法直接應用到無線傳感器網絡上。
一、電氣監控系統網絡通信協議的概況
作為一種網絡通用語言,網絡通信協議是指為連接不同操作系統和不同硬件體系結構的互聯網絡引提供的通信支持。其從邏輯上將網絡進行7層劃分,各層都具備路由器、交換機等相應的物理設備。在電氣監控系統內IEC60870―5―103、IEC60870―5―104等為主要的網絡通信協議類型,具體如下:
1、IEC60870―5―103協議。作為國際電工委員會制定的繼電保護設備信息接口規范,IEC60870―5―103協議可在通信前置機和繼電保護裝置間的信號傳輸中充分應用。該協議主要選取主從―對多的非平衡傳輸方式,主站為通信前置機,從站為繼電保護裝置,每秒9600bit為標準傳輸速率,格式報文形式主要分為2種:固定幀長報文、可變幀長報文。其表述的2類信息傳輸方式為按照相應規定運用的服務數據單位與為標準化報文傳輸沒有涵蓋的全部可能應用過程,或全部可能信息利用通用分類服務傳輸。
2、IEC60870―5―104協議。在IEC60870―5―103基礎上,國際電工委員會為滿足網絡運輸又進行了IEC60870―5―104遠動通信協議的制定。其不僅能夠在集控中心與變電站、調度端進行全面運用,還能在變電站內的通信網加以合理運用。一般選取RFC2200協議作為該協議物理層、鏈路層等主要協議。作為標準TCP/IP協議子集,RFC2200可使IEC60870―5―104協議應用于TCP/IP協議的高帶寬網絡傳輸。與其他協議相比,IEC60870―5―104協議具有良好實時性、可靠性等優勢,且能夠進行大流量數據傳輸,為信息擴展提供便利。
二、網絡通信協議在電氣監控系統中的應用
在科技快速發展的今天,電氣監控系統愈加完善,將網絡通信協議合理應用于電氣監控系統,對提升電氣監控系統實時性、可靠性具有至關重要的作用,為此,本文以優化其應用性能為例對網絡通信協議在電氣監控系統中的應用進行了分析與探究。
1、實時性優化應用
電氣監控系統實時性提升的方式較多,一般分為2大類:升級電氣監控系統硬件、優化軟件算法。根據工作需求,可通過軟件優化網絡通信協議,以此達到提高電氣監控系統實時性的目的。
首先,IEC60870―5―103協議為例分析。光纖接口、EIA RS485接口為IEC60870―5―103協議電氣的主要接口類型。光纖傳輸具有良好抗干擾能力及較快傳輸速度。在相同變電站或距離較短情況下繼電保護裝置和監控系統的兩種接口傳輸速度基本一致。在通信鏈路拓撲方面兩種接口一致,基于此,兩種接口具有相同分析方式。本文將EIA RS485接口作為分析研究重點,具體內容如下:
作為三線制半雙工接口,EIA RS485接口在同一時間點上只能接收、發送信號,但不能同時進行接收、發送操作。一般選取圖1作為通信拓撲結構。通信權可由EIA RS485總線上并聯的3個繼電保護裝置依次取得,依次將數據傳送給通信前置機。繼電保護裝置數據向通信前置機傳送的快慢,由通信權時間間隔的長短加以確定。但電氣出現大面積故障的情況下,繼電保護裝置極易出現大量變位信號。如一個繼電保護裝置進行5個遙信信號上傳,完成此5個變位遙信信號傳輸需20幀以上報文。
其次,IEC60870―5―104協議為例分析。以太網傳輸為IEC60870―5―104協議的主要形式,平衡傳輸全雙工接口為以太網RJ45接口類型。對該協議實時性造成影響的主要因素包含2點,第一以太網的傳輸性能,對其起決定作用的因素為網絡拓撲結構及以太網帶寬;第二,該協議報文信號攜帶效率。根據筆者工作性質,為提升電氣監控系統網絡通信協議性能,本文以優化提升IEC60870―5―104協議報文信號攜帶效率為主進行分析。本協議傳輸數據以I格式幀為主。該協議規定ASDU(一個)在249字節以下,可進行一個火一組信號傳輸。應用于現有監控系統的IEC60870―5―104協議,I格式幀(一個)旺旺只進行一個變位遙信信號傳輸。為提高信號傳輸信號,需對I格式幀長度進行有效增加。
2、可靠性優化應用
利用通信前置機、數據服務器、遠動機等設備的冗余配置及通信網絡冗余配置可實現電氣監控系統可靠性。在具體應用中,硬件即便冗余配置,但卻存在冗余設備無擾無縫切換等問題。為達到網絡通信協議優化運用,需提升通信前置機冗余切換、通信網絡冗余切換的可靠性,進而達到電氣監控系統可靠性提升的目的。
(1)將EIA RS485接口應用于IEC60870―5―103協議時,EIA RS485接口一個的情況下主機只能有一臺,也就是說EIA RS485接口一個情況下2臺通信前置機無法利用該接口將報文發送給一臺繼電保護裝置。為對該協議傳輸可靠性進行有效提升,需并接2臺通信前置機的全部EIA RS485接口。要求位于工作狀態的通信前置機為1臺,位于熱備狀態的通信前置機為1臺。如工作狀態前置機內隨意一個EIA RS485接口通信中斷被熱備狀態通信前置機檢測出來后,熱備狀態前置機可將此EIA RS485接口主機地位占據,利用此EIA RS485接口將報文發送給繼電保護裝置。該情況下,工作狀態通信前置機需將此EIA RS485接口主機地位拋棄,進而達到IEC60870―5―103協議雙機熱備接口切換。
(2)通信前置機、數據服務器、遠動機與以太網冗余配置為現有監控系統的主要構成部分。冗余配置可對信號傳輸可靠性有效提升。但現階段最常見的雙機雙網切換機制為“硬切換”,也就是說一般情況下冗余的2臺通信前置機內利用冗余通信網絡內一條與運動機或服務器進行通信的只有一臺。如前置機正常運行時如出現故障或通信網絡中斷,可向冗余的另一臺通信前置機進行通信切換。但其存有諸多問題,如只能利用通信前置機內部軟件對通信前置機切換、通信網絡切換進行判斷,通信在切換過程中為中斷情況,不能實現無擾連續切換。
在IEC60870―5―104協議內對冗余通信網絡傳輸數據如何應用沒有進行詳細規定。如選取并行冗余協議,可將鏈路冗余體增設到各設備內部,以此實施冗余網絡通信數據處理。但該功能在傳統變電站監控系統設備內并不具備,如選取該并行冗余協議,需進行現有監控系統設備重新設計。在對現有設備不改動的情況下,應適當修改現有協議通信方式,進而達到冗余網絡并行數據傳輸的目的。
關鍵詞:寬帶網絡測試系統 TL1通信協議 VxWorks
0 引言
ISDN、xDSL、Cable、光纖等技術的出現,必將最終把人們帶入全新的數字寬帶上網時代。而在這眾多的寬帶技術中,xDSL正為越來越多的人所關注。xDSL(數字用戶線)是目前國際上最流行的寬帶接入技術,DSL技術主要分為對稱和非對稱兩大類。xDSL中“x”代表著不同種類的數字用戶線路技術。其中,ADSL的建設己經成為寬帶接入的主流模式。它利用現有的雙絞銅線能夠滿足用戶寬帶接入通信業務需求,是實現寬帶上網和網上高速沖浪的理想選擇。
隨著ADSL用戶規模的急劇膨脹,現有的ADSL業務維護流程給實際工作帶來了效率低、滿意度差等問題,嚴重制約和阻礙了中國ADSL業務的高速增長。同時,用戶對通信業務的質量要求越來越高,對于故障解決的及時性和有效性要求也越來越高。如何定位用戶側故障、線路故障和網絡側故障,如何快速解決故障,這些都成為DSL發展的新需求。目前,國內關于xDSL測試系統的研究和應用正處于啟動期,無論國內廠商還是國外廠商在中國都沒有投入應用的實例。本文基于xDSL寬帶網絡測試系統,主要討論TL1通信協議模塊的設計及實現。
1 ADSL寬帶網絡測試系統的總體設計
本節簡單介紹整個系統軟件總體的總體目標及軟件模塊的劃分,以及各模塊的目標及完成的功能以及各模塊之間的關系。并說明測試服務器與DSLAM網管接口、與112系統接口、與97資源數據庫接口。
1.1 軟件設計結構
1.1.1 客戶端軟件 ①測試服務器測試命令呈現界面(包括文本、圖形、報表顯示);同時匯總日報、周報、月報數據。②對ATP設備自身的管理界面(包括對設備的配置管理、故障管理、性能管理、拓撲管理等),相當于設備層面的EMS。③對應用系統的管理界面(包括用戶管理、白志管理、權限管理、用戶自定義設置)。
1.1.2 服務器軟件 ①相對于界面的后臺處理模塊,包括對測試命令的發送、解析(使用TL1協議);對前臺界面的相應處理。②提供與其他系統的API接口(包括112網關系統的接口;DSLAM設備網管的通信協議)。③支持ATP設備多級組網的要求。④支持多協議,如TL1,SNMP協議。
1.1.3 112網關軟件 ①112網關軟件提供和運營商112系統的接口,解析112接口協議格式。②112網關系統提供脫機存儲功能。
1.1.4 設備層通信軟件 ①在設備層提供TL1協議的接口,完成客戶端與測試探頭的通信,接收測試任務,發送測試任務,傳送設備處理后的相應數據。②支持被動測試和相關告警信息的主動上傳。被動測試返回結果打包成TL1響應消息格式,主動上傳的消息打包成TL1自治消息格式,發送給客戶端,以便客戶端進行識別。
2.2 測試服務器 測試服務器完成規范定義的測試工作,并完成對設備的管理層面的管理,采用J2EE的解決方案,實現系統跨平臺的處理方式。測試服務器主要包括ATP測試功能、ATP自維護功能、與DSLAM網管接口、與112系統接口、與97資源數據庫接口。
測試服務器與DSLAM網管接口,DRAM設備和ADSL測試設備之間需要提供測試總線和測試通信接口,當需要對某一用戶進行測試時,先將該用戶端口的內側或外側切換到測試總線上,然后通過測試通信接口發命令給測試設備啟動相關測試,并把測試結果返回給DSLAM設備,測試完畢后釋放端口與測試總線的連接。
測試服務器與112系統接口,ADSL測試服務器可以位于ADSL網管之外,測試服務器通過網絡與測試設備連接。ADSL網管和ADSL測試服務器分別和112連接,前者實現用戶端口查詢功能,后者實現測試設備測試功能。ADSL網管和112系統的接口是為了把ADSL障礙測試融合到112系統中,以實現ADSL障礙的集中受理、集中測試、集中派修和集中管理。當112系統受理到ADSL用戶報障后,112系統根據ADSL線路所在的位置〔局向、機框號、槽位、端口號)和需要做的測試命令發給ADSL網管,ADSL網管收到測試命令后,對相應端口進行測試,然后把測試結果返回到112系統。
測試服務器與97資源數據接口,應用服務器系統是從電信97工程的數據庫(97數據庫的數據)中通過API接口實現數據共享,提取97數據庫中的相關資源數據,例如:局、交換機、主配線架、交接箱、分線盒,端子、號碼等信息。
3 基于VxWorks的TL1通信協議模塊的設計與實現
3.1 TL1通信協議模塊在測試系統中的作用 對于被動測試任務,上位機下發測試任務即TL1測試輸入命令,TL1通信協議模塊(TLIAgent)接收到測試任務后,對相應的TL1輸入命令進行解析,如果解析后判斷是系統的測試任務參數或側試功能,則將相應的功能參數設定和測試任務發送給ATP,如不是系統的測試任務或下發功能參數錯誤將錯誤的消息對應的響應消息格式化并上報給上位機告知錯誤的命令,ATP探頭接到測試任務后進行測試及數據采集,將測試結果返回給TLIAgent,主要通過結構體定義數據的格式,如測試成功TL1Agent根據TL1通信協議將測得的數據結果打包成TLI通信協議響應格式,發給上位機,如測試失敗TLIAgent上報測試失敗,在客戶端顯示對應的測試結果,和相應的表格和波形,此項測試任務完成。
對于自治消息,下位機在進行測試時不斷檢查系統設備狀態,如風扇轉速,設備溫度等狀態,如出現異常,則將異常狀態通過TL1Agent上報(函數調用),TL1Agent將自治消息放入自治消息隊列,并發送給上位機,完成自治消息的上報。TLI協議用于承載由外接測試設備或內置測試板測試的內容,包括下發測試命令、測試模塊的復位等,該協議內容可隨測試內容而擴充更新。
此模塊在設備層提供TLI協議接口,是上位機和測試探頭之間的橋梁。不僅能夠配合完成被動測試任務,還能夠配合完成生產管理信息,自動上報告警信息,設備管理等功能。
3.2 TL1通信協議模塊的設計及實現 整個模塊采用實時多任務的設計方法。對于任務之間的通信,在VxWorks中,因為整個操作系統使用一個地址空間,所以沒必要對于進程之間的通信使用的信號量和消息隊列有一個全局的名字。信號量允許多個任務相互協調其活動,任務間最直接的通信方式是共享各式各樣的數據結構。由于VxWorks中所有任務存在于一個單一的線性地址空間,共享數據結構非常容易。在共享地址空間簡化數據交換的同時,需要保證這塊內存的互斥訪問,VxWorks提供了許多實現共享臨界區互斥訪問的機制,信號量就是其中的一種。本模塊使用二進制信號量,用于互斥臨界區的訪問和任務之間的同步。
二進制信號量可以作為資源可用于不可用的標志,當任務取一個二進制信號量時要調用semTake(),結果取決于調用時該二進制是否可用。如果可用,信號量將變得不可用,而任務繼續執行,如果信號量不可用,任務被掛起到任務阻塞隊列,直到該信號量可用。
當任務釋放一個信號量時要調用semGive(),結果也要依賴于調用時該信號量是否可用。如果可用,本次釋放信號量不起任何作用,如果信號量不可用,并且沒有在等待該信號量,那么信號量變為可用;如果信號量不可用,并且有一個或多個任務在等待該信號量,那么阻塞隊列中的第一個任務解除阻塞,而信號量仍不可用。
本模塊中各任務在設定優先級時都設為相同的優先級,每個任務在處理一條測試命令后將調用taskDelay() 函數,延時操作提供一個簡單的任務睡眠機制。taskDelayO用來移動調用任務到相同優先級就緒隊列的尾部。在本模塊中,通過調用taskDelay()自動將CPU讓給系統中同優先級的其他任務來進行處理消息,在嵌入式軟件中,除系統任務外,TL1通信協議的各任務優先級是最高的。
主控函數,將初始化參數。傳輸層協議TCP封裝,全局變量的初始化、各功能參數設定命令、測試命令的監聽、隊列、消息處理函數的各任務的創建;每個任務也就是一個線程,每個線程都被編制成無限循環的程序,等待特定的輸入,執行相應的任務。
對于TL1消息處理,在系統要進行測試任務之前,啟動嵌入式軟件,主控函數運行后,處理連接請求線程TL1ServerSession首先要處理來自上位機的連接請求,連接后,然后由TL1AsynClientSession線程從上位機的讀取TL1輸入消息,將獲得的輸入消息放入接收隊列,定義最大線程數為5,由線程調度進行判斷線程池,根據狀態來判斷將要進行的調度,是創建消息處理線程還是喚醒消息處理線程,由消息解析處理線程AsynTLlMessageHandler對輸入命令進行解析,解析后的消息出隊列等待消息的發送,對輸入命令進行解析,通過函數調用進行測試命令的下發,返回測試數據,將返回的測試數據進行TL1消息格式化處理,得到響應消息放入發送隊列,等待出隊列進行消息的發送即將響應消息返回上位機:TL1消息處理流程流程圖
整個系統軟件劃分好模塊后,考慮TL1通信協議模塊與其它模塊之間的接口,本模塊對其它模塊有兩個接口,一個是與上位機(后臺處理模塊)之間的接口,另一個接口是與硬件驅動程序之間的接口。
與上位機之間的接口用套接口socket通信進行實現,流套接口提供了雙向的、有序的、無重復并且無數據邊界的數據流服務。套接口實現客戶端的連接,消息的讀取與發送消息。與硬件驅動程序之間的接口進行下發測試任務和讀取測試后的數據,用函數調用進行下發測試任務的實現,如果測試成功,對數據的讀取是通過對于本測試任務的一個全局變量來讀取,通過Sprintf函數對測試后的數據進行格式化,如果測試失敗,沒有測試后的數據的打包過程,直接進行響應消息的格式化;如果在測試過程中有異常情況要上報時是被調用的關系,一樣也使用函數調用來實現,下位機在不斷的檢查設備的狀態,如果一旦發現異常就調用此模塊的自治消息函數,上報異常情況,TLIAgent接到異常消息,通過自治消息通道將消息發給客戶端。模塊之間的接口如圖3所示。
4 結束語
本系統TL1通信協議模塊是基于VxWorks的多任務設計,使系統的實時性和穩定性都非常好。目前該ADSL寬帶網絡測試系統己通過多個城市電信組織的測試,達到了系統的設計要求和性能指標。該系統不僅提供中國電信規定的公有接口,還自己定義了一套私有接口,有利于系統的功能的擴充。目前系統軟件雖然完成了功能,也達到了預期的響應測試速度,但有一些設計上存在一些缺陷,如系統的時鐘,并不是由MPC860系統時鐘來進行控制的,而是在開發的過程中發現問題后改正的,因為當時硬件平臺MPC860已經開發完,無法進行改進,只能由軟件來自己定義一個時鐘,對于嵌入式軟件模塊如果有需要系統時間的就要通過函數調用來完成,這樣的顯示的時間未必很準確,會產生一定的誤差。此外,雖然在開發之前已經進行過需求分析,但在開發的過程中發現有些需求并不是很明確,影響到開發的進度,這在以后的產品的研發過程中要盡量的避免。
參考文獻
[1]王金剛、宮霄霖等.基于VxWorks嵌入式實時系統設計.北京:清華大學出版社,2004.10.
[2]馮建和.ADSL寬帶接入技術及應用.北京:人民郵電出版社.2002.
[3]孔祥營.嵌入式實時操作系統VxWorks及開發環境Tornado.北京:中國電力出版社.2003.
[4]王東.NC-ATS TL1測試指令集.北京:北京中創信測科技股份公司.2003.
[5]馮濤.ATS項目總體方案設計.北京:北京中創信測科技股份公司.2003.
[6]羅國慶.VxWorks與嵌入式軟件開發.北京:機械工業出版社.2003.