公務(wù)員期刊網(wǎng) 精選范文 基本通信協(xié)議范文

基本通信協(xié)議精選(九篇)

前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的基本通信協(xié)議主題范文,僅供參考,歡迎閱讀并收藏。

基本通信協(xié)議

第1篇:基本通信協(xié)議范文

[關(guān)鍵詞]通信協(xié)議 IPX/SPX協(xié)議 NetBEUI協(xié)議 TCP/IP協(xié)議

中圖分類號:TP393.08 文獻標(biāo)識碼:A 文章編號:1009-914X(2016)23-0114-01

引言:通過通信信道和設(shè)備互連起來的多個不同地理位置的數(shù)據(jù)通信系統(tǒng),要使其能協(xié)同工作實現(xiàn)信息交換和資源共享,它們之間必須具有共同的語言。交流過程中都必須遵循某種互相都能接受的規(guī)則,這個規(guī)則就是通信協(xié)議。網(wǎng)絡(luò)通信協(xié)議是計算機網(wǎng)絡(luò)的一個重要組成部分,是不同網(wǎng)絡(luò)之間通信、交流的公共語言。有了它,使用不同系統(tǒng)的計算機或網(wǎng)絡(luò)之間才可以彼此識別,識別出不同的網(wǎng)絡(luò)操作指令,建立信任關(guān)系,否則就會造成網(wǎng)絡(luò)的接入速度太慢以及工作不穩(wěn)定。這一技術(shù)發(fā)展至今,已經(jīng)發(fā)展出了很多種不同類型的通信協(xié)議,不同的網(wǎng)絡(luò)協(xié)議都有其存在的必要,每一種協(xié)議都有它所主要依賴的操作系統(tǒng)和工作環(huán)境。所以要很好地選擇與配置協(xié)議就必須要先了解目前各主要協(xié)議的主要性能特點和所適用的范圍,一遍合理的配置各種通信協(xié)議,保證網(wǎng)絡(luò)通信的正常運行。

一、通信協(xié)議簡介

通信協(xié)議是指雙方實體完成通信或服務(wù)所必須遵循的規(guī)則和約定。協(xié)議定義了數(shù)據(jù)單元使用的格式,信息單元應(yīng)該包含的信息與含義、連接方式、信息發(fā)送和接收的時序,從而確保網(wǎng)絡(luò)中數(shù)據(jù)順利地傳送到確定的地方。在計算機通信中,通信協(xié)議用于實現(xiàn)計算機與網(wǎng)絡(luò)連接之間的標(biāo)準(zhǔn),網(wǎng)絡(luò)如果沒有統(tǒng)一的通信協(xié)議,電腦之間的信息傳遞就無法識別。

通信協(xié)議包括語義、語法和時序三個組成部分。語義是對協(xié)議元素的含義進行解釋。不同類型的協(xié)議元素所規(guī)定的語義是不同的。語法是將若干個協(xié)議元素和數(shù)據(jù)組合在一起用來表達一個完整的內(nèi)容所應(yīng)遵循的格式,也就是對信息的數(shù)據(jù)結(jié)構(gòu)做一種規(guī)定。而時序是對事件實現(xiàn)順序的詳細說明。

二、幾種主要的通信協(xié)議

1. IPX/SPX協(xié)議

IPX/SPX(網(wǎng)際包交換/序列包交換)協(xié)議主要應(yīng)用于基于NetWare操作系統(tǒng)的Novell局域網(wǎng)中,基于其他操作系統(tǒng)的局域網(wǎng)能夠通過IPX/SPX協(xié)議與Novell網(wǎng)進行通信。當(dāng)用戶端接入 NetWare服務(wù)器時,IPX/SPX 及其兼容協(xié)議是最好的選擇。但在非Novell網(wǎng)絡(luò)環(huán)境中,一般不使用IPX/SPX。IPX/SPX及其兼容協(xié)議不需要任何配置,它可通過網(wǎng)絡(luò)地址來識別自己的身份。Novell網(wǎng)絡(luò)中的網(wǎng)絡(luò)地址由兩部分組成:標(biāo)成物理網(wǎng)段的網(wǎng)絡(luò)ID和標(biāo)明特殊設(shè)備的“節(jié)點 ID” 。其中網(wǎng)絡(luò)ID集中在NetWare服務(wù)器或路由器中,節(jié)點ID即為每個網(wǎng)卡的ID號。 所有的網(wǎng)絡(luò)ID和節(jié)點ID都是一個獨一無二的內(nèi)部IPX地址。正是由于網(wǎng)絡(luò)地址的唯一性,才使用IPX/SPX具有較強的路由功能。IPX/SPX協(xié)議中,IPX是NetWare最低層的協(xié)議,他只負(fù)責(zé)數(shù)據(jù)在網(wǎng)絡(luò)中的移動,并不保證數(shù)據(jù)是否傳輸成功,也不提供糾錯服務(wù)。IPX 在負(fù)責(zé)數(shù)據(jù)傳送時,如果接收節(jié)點在同一網(wǎng)段內(nèi),就直接按節(jié)點的ID將數(shù)據(jù)傳給它;如果接收節(jié)點是遠程的,數(shù)據(jù)將交給 NetWare 服務(wù)器或路由器中的網(wǎng)絡(luò)ID,繼續(xù)數(shù)據(jù)的下一步傳輸。

2. NetBEUI協(xié)議

NetBEUI(用戶擴展接口)協(xié)議是一種體積小、效率高、速率快的通信協(xié)議,也是微軟最鐘愛的一種通信協(xié)議,所以它被稱為微軟所有產(chǎn)品中通信協(xié)議的"母語"。NetBEUI是專門為由幾臺到百余臺計算機所組成的單網(wǎng)段部門級小型局域網(wǎng)而設(shè)計的,它不具有跨網(wǎng)段工作的功能,即NetBEUI不具備路由功能。如果一個服務(wù)器上安裝了多個網(wǎng)卡,或要采用路由器等設(shè)備進行兩個局域網(wǎng)的互連時,則不能使用NetBEUI通信協(xié)議。否則,與不同網(wǎng)卡(每一個網(wǎng)卡連接一個網(wǎng)段)相連的設(shè)備之間,以及不同的局域網(wǎng)之間無法進行通信。在3種通信協(xié)議中,NetBEUI占用的內(nèi)存最少,在網(wǎng)絡(luò)中基本不需要任何配置。

3. TCP/IP協(xié)議

TCP/IP(傳輸控制協(xié)議/網(wǎng)絡(luò)協(xié)議)從字面上理解只有兩個協(xié)議,即TCP協(xié)議和IP協(xié)議,而事實上它是是由一組具有專業(yè)用途的多個子協(xié)議組合而成的,這些子協(xié)議包括TCP、IP、UDP、ARP、ICMP等,而TCP和IP協(xié)議是協(xié)議族中最基本的最重要的兩個協(xié)議。它是為了實現(xiàn)不同網(wǎng)絡(luò)之間的互連而設(shè)計的。TCP/IP 通信協(xié)議具有靈活性,適用任意規(guī)模的網(wǎng)絡(luò),幾乎可連接所有的服務(wù)器和工作站,正因為的靈活性也帶來了它的復(fù)雜性,它需要針對不同網(wǎng)絡(luò)進行不同設(shè)置,且每一個節(jié)點至少需要一個IP地址,一個網(wǎng)掩碼,一個默認(rèn)網(wǎng)關(guān)和一個主機名,但是在局域網(wǎng)中微軟為了簡化 TCP/IP協(xié)議的設(shè)置,在NT中配置了一個動態(tài)主機配置協(xié)議(DHCP),它可以為客戶端自動分配一個IP地址,避免了出錯。

三、選擇通信協(xié)議的原則

1.網(wǎng)絡(luò)結(jié)構(gòu)和功能的一致性

如果網(wǎng)絡(luò)存在多個網(wǎng)段或要通過路由器相連時,就不能使用不具備路由和跨網(wǎng)段操作功能的NetBEUI協(xié)議,而必須選擇具備這一功能的IPX/SPX或TCP/IP等協(xié)議。此外,如果網(wǎng)絡(luò)規(guī)模較小,同時只是為了簡單的文件和設(shè)備的共享,這時最主要的就是網(wǎng)絡(luò)速度,所以在選擇協(xié)議時應(yīng)選擇占用內(nèi)存小和帶寬利用率高的協(xié)議,如NetBEUI。當(dāng)網(wǎng)絡(luò)規(guī)模較大且網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜時,應(yīng)選擇可管理性和可擴充性較好的協(xié)議,如TCP/IP。

2.除特殊情況外,一個網(wǎng)絡(luò)盡量只選擇一種通信協(xié)議

由于每個協(xié)議都要占用計算機的內(nèi)存,選擇的協(xié)議越多,占用計算機的內(nèi)存資源就越多。一方面影響了計算機的運行速度,另一方面不利于網(wǎng)絡(luò)的管理。事實上一個網(wǎng)絡(luò)中一般一種通信協(xié)議就可以滿足需要。

3.注意協(xié)議的版本

每個協(xié)議都有它的發(fā)展和完善過程,因而出現(xiàn)了不同的版本。每個版本的協(xié)議都有它最為合適的網(wǎng)絡(luò)環(huán)境。從整體來看,高版本協(xié)議的功能和性能要比低版本好。所以在選擇時,在滿足網(wǎng)絡(luò)功能要求的前提下,應(yīng)盡量選擇高版本的通信協(xié)議。

4.協(xié)議的一致性。

如果要讓兩臺實現(xiàn)互聯(lián)的計算機間進行對話,它們兩者使用的通信協(xié)議必須相同。否則中間還需要一個“翻譯”進行不同協(xié)議的轉(zhuǎn)換。這樣不僅影響通信速度,同時也不利于網(wǎng)絡(luò)的安全和穩(wěn)定運行。

結(jié)語:

通信協(xié)議作為連接不通網(wǎng)絡(luò)和設(shè)備之間的橋梁,其作用至關(guān)重要。這一技術(shù)發(fā)展至今,已經(jīng)發(fā)展出了多種多樣不通版本的協(xié)議,而每個版本也都具有各自的特點和功能,所以在選擇協(xié)議的時候應(yīng)該根據(jù)實際需要選擇最適合的通信協(xié)議,從而使其更好地為用戶服務(wù)。

參考文獻:

[1] 高傳善.數(shù)據(jù)通信與計算機網(wǎng)[M].北京:高等教育出版社,2002.

第2篇:基本通信協(xié)議范文

1DDC和PLC性能比較

DDC是隨著半導(dǎo)體技術(shù)、微處理器技術(shù)以及智能樓宇自動化控制需求而產(chǎn)生的一種可編程的智能控制設(shè)備;PLC是隨著半導(dǎo)體技術(shù)、微處理器技術(shù)以及工業(yè)生產(chǎn)流水線自動化控制需求而產(chǎn)生的一種可編程的智能控制設(shè)備。兩者的性能比較見表1。由表1可見,PLC和DDC這兩類產(chǎn)品在其架構(gòu)上基本相同,兩者在車站環(huán)境及機電設(shè)備自動化控制系統(tǒng)中所實現(xiàn)的功能也完全相同,但在產(chǎn)品封裝、可靠性、應(yīng)用側(cè)重等方面是有所差異的。在城市軌道交通車站環(huán)境及機電設(shè)備自動化監(jiān)控系統(tǒng)中,無論是PLC產(chǎn)品還是DDC產(chǎn)品,均采用了集散系統(tǒng)架構(gòu);散布在線路控制中心和車站內(nèi)的各部分均通過通信鏈路連接,并通過私有協(xié)議或公開協(xié)議實現(xiàn)信息的傳輸和交換。

2通信協(xié)議

互聯(lián)互通是城市軌道交通中不同應(yīng)用系統(tǒng)間互相交換信息的需要,或是同一個應(yīng)用系統(tǒng)中不同產(chǎn)品間互相交換信息的需要。在同一個應(yīng)用系統(tǒng)中,建設(shè)方通常都會選擇同一品牌同一系列的產(chǎn)品,至少可以保證在本應(yīng)用系統(tǒng)的內(nèi)部不會產(chǎn)生信息交換的障礙,同時通過接口協(xié)議的商談定義來解決不同應(yīng)用系統(tǒng)間信息交換的問題。但事實上,為保證信息交換的有效性,一般會選擇同一品牌同一系列的產(chǎn)品,其實質(zhì)是因為同一品牌同一系列產(chǎn)品采用的是同一種通信協(xié)議。正是因為這種通信協(xié)議上的統(tǒng)一性,才保證了信息交換的有效性和準(zhǔn)確性。

因此,要實現(xiàn)設(shè)備間的互聯(lián)互通,即便采用不同的產(chǎn)品,如PLC和DDC,只要它們采用的是同一種通信協(xié)議,則可實現(xiàn);反之,即便采用的是同一種產(chǎn)品,如PLC和PLC間,甚至是同一家公司產(chǎn)品,只要產(chǎn)品所采用的通信協(xié)議不同,就不能直接實現(xiàn)互聯(lián)互通。所以,要實現(xiàn)不同產(chǎn)品間的互聯(lián)互通,如DDC和PLC這兩種產(chǎn)品間的互聯(lián)互通,其關(guān)鍵點在于產(chǎn)品是否采用了同一種通信協(xié)議,或者是否有合適的網(wǎng)關(guān)設(shè)備進行不同協(xié)議間的轉(zhuǎn)換。表2為目前4種公開的通信協(xié)議。每種協(xié)議各有優(yōu)劣。很多產(chǎn)品為發(fā)揮其特色,還擁有其自定義的私有協(xié)議。

3互聯(lián)互通工程實例

3.1用戶需求

上海軌道交通2號線的既有線和延伸線的自動監(jiān)控系統(tǒng)中分別采用了兩種不同的產(chǎn)品。既有線部分采用的是施耐德公司CSI系列的BAS(設(shè)備監(jiān)控系統(tǒng))。該系統(tǒng)是基于DDC的系統(tǒng)。東延伸段和西延伸段采用的是基于PLC的BAS系統(tǒng),產(chǎn)品為施耐德公司的PremiumPLC和M340PLC。為了保證控制中心環(huán)控調(diào)度操作的統(tǒng)一性,提高調(diào)度工作效率,降低調(diào)度操作難度,保證調(diào)度操作準(zhǔn)確性,需要將2號線上基于不同產(chǎn)品的BAS系統(tǒng)整合成一個系統(tǒng),在一個監(jiān)控操作平臺上,BAS中央級對BAS車站級進行統(tǒng)一的監(jiān)控、操作。

要實現(xiàn)在一個監(jiān)控操作平臺(或稱人機界面,即HMI)上實現(xiàn)對基于DDC和PLC不同產(chǎn)品的系統(tǒng)進行統(tǒng)一監(jiān)控的目的,就必須使用同時支持兩種不同網(wǎng)絡(luò)通信協(xié)議的HMI軟件平臺。但是,既有線BAS系統(tǒng)與HMI間的網(wǎng)絡(luò)通信協(xié)議為CSI產(chǎn)品特有的I-NET2000網(wǎng)絡(luò)協(xié)議,而延伸線BAS系統(tǒng)支持的與HMI間的網(wǎng)絡(luò)通信協(xié)議有多種,包括Modb-us、UN-TELWAY、FIPWAY等。由于CSI產(chǎn)品所使用的I-NET2000網(wǎng)絡(luò)協(xié)議應(yīng)用并不廣泛,只有CSI產(chǎn)品自身的HMI采用,所以要簡單地選擇一個既能直接與CSI中的DDC通信又能直接與施耐德PLC通信的HMI軟件平臺是不現(xiàn)實的。

性價比較高的解決方法是在不改變既有線車站級BAS系統(tǒng)基本結(jié)構(gòu)的前提下,破解I-NET2000通信協(xié)議,選擇能夠支持多種通信協(xié)議的HMI軟件平臺以實現(xiàn)同時與CSI中的DDC和施耐德PLC通信。

3.2整合準(zhǔn)備

鑒于上海軌道交通2號線既有線分一期工程部分(龍陽路站至中山公園站)和西延伸部分(婁山關(guān)路站至淞虹路站)。兩部分的BAS車站級設(shè)備雖都是CSI的DDC產(chǎn)品,但還略有不同。一期工程上所使用的7760DDC需要通過一個名叫TAP的設(shè)備和車站監(jiān)控工作站連接,而西延伸工程上所使用的7790DDC上有可用于連接監(jiān)控工作站的串行通信端口。故車站級的改造方法也稍有不同。一期工程部分BAS車站級設(shè)備采用的是CSI7760DDC,其車站基本結(jié)構(gòu)如圖1所示。西延伸段BAS車站級設(shè)備采用的是CSI7790DDC,其車站基本結(jié)構(gòu)如圖2所示。針對一期工程7760DDC和TAP的結(jié)構(gòu),7760DDC和TAP上并無多余通信端口可以使用,以及車站也只有1個以太網(wǎng)通道端口可供BAS使用的情況,在車控室增設(shè)1個以太網(wǎng)交換機和1個串口服務(wù)器。增設(shè)以太網(wǎng)交換機的目的是拓展BAS使用的以太網(wǎng)端口,以供車站BAS監(jiān)控工作站和串口服務(wù)器使用;增設(shè)串口服務(wù)器的目的是為了車站級監(jiān)控工作站和中央級HMI軟件接口同時能與TAP進行通信。系統(tǒng)結(jié)構(gòu)如圖3所示。

系統(tǒng)改造后,上海軌道交通2號線一期工程部分的BAS有如下幾條數(shù)據(jù)流:①7760DDCTAP串口服務(wù)器交換機車站工作站;②7760DDCTAP串口服務(wù)器交換機新控制中心;③車站工作站交換機既有其他車站和既有控制中心。

針對上海軌道交通2號線西延伸工程7790DDC結(jié)構(gòu),車站內(nèi)2個7790DDC上各有1個可用于連接車站監(jiān)控工作站的串行端口,而且由于2個7790DDC已經(jīng)聯(lián)網(wǎng),故這2個串行端口上的數(shù)據(jù)是一致的。其中1個端口已經(jīng)用于車站監(jiān)控工作站,故利用另1個端口進行車站級數(shù)據(jù)讀取和命令寫入。與一期工程一樣,在車控室增加1個以太網(wǎng)交換機和1個串口服務(wù)器。增設(shè)以太網(wǎng)交換機的目的是拓展BAS使用的以太網(wǎng)端口,以供車站BAS監(jiān)控工作站和串口服務(wù)器使用;增設(shè)串口服務(wù)器的目的是為了中央HMI軟件接口同時能與2個7790DDC的串行端口中的1個進行通信。系統(tǒng)構(gòu)成如圖4所示。

系統(tǒng)改造后,上海軌道交通2號線西延伸部分的BAS有如下幾條數(shù)據(jù)流:①7790DDC車站工作站;②7790DDC串口服務(wù)器交換機新控制中心;③車站工作站交換機既有其他車站和既有控制中心。完成了車站級既有BAS系統(tǒng)改造后,既不影響原有系統(tǒng)的所有功能,包括車站級的監(jiān)控和既有中央級對車站級的監(jiān)控,又增加了一個新中央級到車站級的監(jiān)控通道。

3.3新建控制中心及東延伸段PLC并網(wǎng)

(1)在2號線控制中心5樓調(diào)度大廳內(nèi),新設(shè)全線BAS中央級。

(2)在新設(shè)中央級調(diào)試及試運行期間,新中央級和既有中央級并網(wǎng)運行。

(3)中央級搬遷工程以先并入新設(shè)中央級,后移除既有中央級為基本工序。

(4)新設(shè)BAS中央級以統(tǒng)一的平臺(包括軟件和硬件)對既有基于DDC的BAS系統(tǒng)和延伸線基于PLC的BAS系統(tǒng)進行監(jiān)控管理。

(5)新設(shè)的中央級符合目前的《上海城市軌道交通設(shè)備監(jiān)控系統(tǒng)設(shè)備招標(biāo)通用技術(shù)文件》的要求,如設(shè)有熱備冗余的服務(wù)器、熱備冗余的工作站等,以完成全線數(shù)據(jù)的采集、存儲、相關(guān)運算以及命令的。

(6)新設(shè)的中央級設(shè)全線事故風(fēng)機控制盤(中央IBP盤)1臺,以完成對全線隧道事故情況下的統(tǒng)一控制、指揮。

(7)設(shè)置新中央級后,不改變既有BAS系統(tǒng)車站級和既有中央級所有的點位設(shè)置、邏輯控制程序、監(jiān)控功能及操作方法。

圖5為新控制中心建成后的上海軌道交通2號線BAS新中央級和既有系統(tǒng)的聯(lián)網(wǎng)圖。上海軌道交通2號線東延伸段依工程進度,計劃完成基于PLC的BAS系統(tǒng)建設(shè)后,通過以太網(wǎng)并入系統(tǒng)。工程完成后,經(jīng)各項功能測試,系統(tǒng)運行正常。完成DDC和PLC整合后的系統(tǒng)結(jié)構(gòu)如圖6所示。

第3篇:基本通信協(xié)議范文

在現(xiàn)有的即時通信系統(tǒng)中,實現(xiàn)音視頻通信的核心組件包括音視頻處理框架和即時通信協(xié)議兩個部分。音視處理框架集成了音視頻采集、音視頻編解碼、音視頻分流控制、音視頻數(shù)據(jù)流網(wǎng)絡(luò)擁塞控制等技術(shù)模塊,能夠完成音視頻數(shù)據(jù)流的采集、編碼、分流等基本處理流程;即時通信協(xié)議則負(fù)責(zé)為音視頻數(shù)據(jù)協(xié)商傳輸通道,并且在協(xié)商好的傳輸通道上建立對應(yīng)的連接,從而為音視頻數(shù)據(jù)的順暢傳輸提供保障。

1即時通信協(xié)議

即時通信協(xié)議是進行即時通信必須遵循的信息規(guī)范,主要負(fù)責(zé)完成用戶信息傳輸通道協(xié)商,客戶端與服務(wù)器通信信令傳輸控制等任務(wù)。XMPP是主流即時通信協(xié)議之一,是基于可擴展標(biāo)記語言(XML)的協(xié)議,其繼承了在XML的高可擴展性,可以通過發(fā)送擴展的信息來處理用戶需求。目前最常用的即時通信協(xié)議體系主要是SIP和XMPP協(xié)議體系,兩者都可以完成音視頻通信功能。另外,一些商業(yè)公司自行開發(fā)私有的即時通信協(xié)議實現(xiàn)了相對封閉的通信環(huán)境,例如QQ和MSN。XMPP協(xié)議是個總稱,包括核心協(xié)議,擴展協(xié)議等。

核心協(xié)議只規(guī)定了很小、很基本的一些功能,大部分功能都是在擴展協(xié)議中規(guī)定的。實際上,XMPP協(xié)議只是作為協(xié)商協(xié)議應(yīng)用,真正的P2P連接和實時通信是通過其擴展協(xié)議實現(xiàn)的。Jingle就是典型的擴展協(xié)議案例。Jingle[6]是Google開發(fā)的XMPP協(xié)議上的擴展,其解決了在XMPP協(xié)議體系下點對點的P2P連接問題。Jingle協(xié)議提供了多種傳輸方式用于數(shù)據(jù)傳輸,而針對多媒體數(shù)據(jù)的最為常見的模式是兩種UDP傳輸方式。一種傳輸模型是RAWUDP[9],RAWUDP是在UDP協(xié)議上發(fā)送媒體數(shù)據(jù)包的傳輸通道模型,可以實現(xiàn)在同一局域網(wǎng)下的P2P連接,沒有網(wǎng)絡(luò)穿越功能,無法實現(xiàn)遠程通信;另一種模型則是功能更為強大的ICE-UDP[8],ICE-UDP也是在UDP協(xié)議上發(fā)送媒體數(shù)據(jù)包,并且可以實現(xiàn)具有防火墻的網(wǎng)絡(luò)穿越和ICE連接性檢查,實現(xiàn)遠程通信。ICE是標(biāo)準(zhǔn)的建立P2P連接性檢查的協(xié)議,其自身不能獨立工作,必需在信號通道的協(xié)調(diào)下建立連接,而XMPP協(xié)議就可以作為ICE通道協(xié)商的協(xié)議標(biāo)準(zhǔn)。

基于Jingle/XMPP協(xié)議實現(xiàn)的即時通信框圖如圖1所示。Jingle通過XMPP完成P2P通道的協(xié)商任務(wù),同時通過Jingle協(xié)議建立P2P通道并進行連接性檢查,然后建立并完成RTP會話,從而完成音視頻通信。如果選擇ICE-UDP通道傳輸模型進行RTP視頻數(shù)據(jù)傳輸,XMPP服務(wù)器可以使用STUN[2]服務(wù)器收集用戶的地址,包括NAT[3]后面的私有地址以及NAT與互聯(lián)網(wǎng)連接的公共地址,并且以此為基礎(chǔ)建立映射機制,完成會話參與者跟具體的網(wǎng)絡(luò)地址間的轉(zhuǎn)換和NAT穿越。

2音視頻處理框架

即時通信系統(tǒng)中的音視頻處理框架主要為用戶提供一組多媒體數(shù)據(jù)處理的接口,用戶可以用這些接口實現(xiàn)從多媒體采集卡上獲得數(shù)據(jù),進行壓縮編碼、格式轉(zhuǎn)換、數(shù)據(jù)封包等一系列操作,從而完成多媒體的實時處理傳輸功能,大大簡化多媒體處理的復(fù)雜性。目前具有二次開發(fā)功能的音視頻處理框架包括Gstreamer,Directshow,Opencore等。其中DirectShow是微軟公司在ActiveMovie和VideoforWindows基礎(chǔ)上推出的基于COM的流媒體處理開發(fā)包。運用DirectShow可以很方便地從支持Windows驅(qū)動模型的采集卡上捕獲數(shù)據(jù),并進行相應(yīng)的后期處理乃至存儲到文件中。OpenCore則是手機操作系統(tǒng)Android的多媒體核心,OpenCore的代碼非常龐大,是一個基于C++的實現(xiàn),定義了全功能的操作系統(tǒng)移植層,各種基本的功能均被封裝成類的形式,各層次之間的接口多使用繼承等方式。而基于Linux平臺的GStreamer則是完全開源的多媒體框架庫,利用其可以構(gòu)建一系列媒體處理模塊,包括從簡單的Ogg播放功能到復(fù)雜的音頻混音和視頻非線性編輯處理。Gstreamer應(yīng)用非常廣泛,大多數(shù)手機平臺及個人電腦Linux平臺均采用Gstreamer進行音視頻處理開發(fā)。

2.1Gstreamer音視頻處理

Gstreamer通過其模塊化設(shè)計理念,更加便于構(gòu)建流媒體應(yīng)用程序。它將各個模塊封裝起來,以元件的形式提供給用戶使用。用戶可以利用庫中原有的元件進行應(yīng)用程序的編程,同樣也可以編寫元件,然后插入到庫中,以便日后調(diào)用時使用。如果只利用庫中的元件來實現(xiàn)特定功能,只需要采用模塊化的方式編寫應(yīng)用程序[4]。Gstreamer實現(xiàn)局域網(wǎng)內(nèi)簡單多媒體音視頻傳輸發(fā)送端的框圖如圖2所示。對于視頻數(shù)據(jù)流,Gstreamer在發(fā)送端將攝像頭(v4l2src1)采集的數(shù)據(jù)依次經(jīng)過色度空間轉(zhuǎn)換(ffmpegcsp1)、H263視頻編碼(ffenc_h263p1)、RTP[1]載荷頭添加(rtph263ppay1),在gstrtpbin中實現(xiàn)實時傳輸協(xié)議(RTP)和實時傳輸控制協(xié)議(RTCP)數(shù)據(jù)包整合,并添加發(fā)送報告的背景時鐘時間戳,便于在接受端進行音視頻同步播放,然后發(fā)到UDP端口(udpsink)。在接收端,從UDP端口截獲的數(shù)據(jù)依次經(jīng)過RTP和RTCP數(shù)據(jù)包解析、RTP載荷頭解碼、H263解碼器解碼視頻數(shù)據(jù)、色度空間轉(zhuǎn)換,最后經(jīng)過視頻顯示插件顯示到窗口中。其中g(shù)strtpbin是進行RTP會話管理的核心組件,可以完成RTP數(shù)據(jù)包傳輸控制、RTCP數(shù)據(jù)包生成、沖突檢測、音視頻分流等任務(wù)。

2.2Farsight視頻會議框架

通過Gstreamer開發(fā)庫中的基礎(chǔ)元件可以完成音視頻處理的功能,并且可以進行簡單的局域網(wǎng)內(nèi)視頻通信。但是,在視頻會議等復(fù)雜應(yīng)用中經(jīng)常包含多個多媒體會話,而且多媒體會話之間的協(xié)調(diào)非常復(fù)雜,需要通過更為高層的處理框架來實現(xiàn)會話管理的功能。Farsight是以Gstreamer為基礎(chǔ)開發(fā)的視頻會議框架,它能夠提供一套完整的為多媒體流協(xié)議編寫插件的應(yīng)用程序接口,同時還為用戶提供API調(diào)用這些插件。即時通信應(yīng)用程序可以使用Farsight進行音視頻會議,而無須擔(dān)心底層的數(shù)據(jù)流和NAT穿越的問題。因為Farsight[5]是以Gstre-amer為基礎(chǔ)進行開發(fā),所以開發(fā)新的元件能夠和已有的Gstreamer元件整合,實現(xiàn)完成視頻會議功能的多媒體框架。Farsight可以包含多路音視頻會話流,包含多個會話參與者,具有強大的音視頻會話管理功能。它通過模塊化設(shè)計為許多即時通信軟件提供音視頻會議的服務(wù),大大擴展了多媒體處理的功能,并且可以實現(xiàn)更為強大的視頻會議功能。目前很多即時通信客戶端軟件都采用Farsight完成音視頻通信。本文以Gstreamer/Farsight音視頻處理框架為重點,詳述其內(nèi)部結(jié)構(gòu)及功能實現(xiàn)。

Farsight中包括4個核心概念:會議(Conference)、會話(Session)、參與者(Participant)、流(Stream)。會話參與者是指多媒體數(shù)據(jù)源,可以是音頻或視頻等;會話則代表一路音頻或視頻會話,通常有一個媒體類型和一個輸出端;會議則代表一個多媒體會議,可以包含多路會話,并且完成多路會話的協(xié)調(diào)管理;當(dāng)參與者加入到會話中,就將多媒體數(shù)據(jù)引入會話中,使得數(shù)據(jù)能夠流動,從而構(gòu)成數(shù)據(jù)流。另外,F(xiàn)arsight實現(xiàn)了網(wǎng)絡(luò)層的抽象,即將網(wǎng)絡(luò)抽象為一個發(fā)射器對象,當(dāng)數(shù)據(jù)流被創(chuàng)建時就會建立發(fā)射器對象,然后通過設(shè)置發(fā)射器參數(shù)確定發(fā)送的目的地址。實際上,F(xiàn)arsight并沒有參與多媒體數(shù)據(jù)的采集和打包工作,它只是為多媒體數(shù)據(jù)流傳輸?shù)骄W(wǎng)絡(luò)端進行發(fā)送提供了一個通道,并且對通道進行協(xié)調(diào)管理,保證不同的會話參與者與其特定的數(shù)據(jù)流綁定以防止收發(fā)混淆。

Farsight實現(xiàn)RTP視頻會議的結(jié)構(gòu)如圖3所示,其中FsRTPConference是Farsight框架下的一種插件,主要的RTP會話管理功能都在這個組件中實現(xiàn)。FsRTPConference中可以同時存在多路FsSession,每一路FsSession因參與者或音媒體源的不同代表不同的多媒體會話。編解碼器在雙方建立連接前無法確定,只有當(dāng)通信雙方的客戶端協(xié)商之后,才會根據(jù)具體的編解碼器名字調(diào)用并進行插件的連接。

Farsight通過將gstrtpbin封裝到FsRTPConference中,添加一些其他的必要組件,實現(xiàn)RTP會話。RTP管理器主要由gstrtpbin負(fù)責(zé)完成RTP會話管理的操作。在發(fā)送端,視頻源和音頻源通過Sink接入到會話中,編解碼器協(xié)商成功后,將編碼器與數(shù)據(jù)源和過濾元件連接,然后通過RTP混合器將音視頻數(shù)據(jù)發(fā)送到RTP管理器中,完成RTCP數(shù)據(jù)包的生成以及RTP會話的管理。最后,經(jīng)過數(shù)據(jù)發(fā)射器將數(shù)據(jù)發(fā)送到相應(yīng)的數(shù)據(jù)通道中。在接收端,數(shù)據(jù)流同樣要經(jīng)過類似的信息解碼過程得到音視頻數(shù)據(jù)。在發(fā)送端,數(shù)據(jù)發(fā)射器在Farsight中通常有多種插件選擇,例如多播UDP插件、Libnice插件等,目的是為了實現(xiàn)底層數(shù)據(jù)傳輸?shù)倪B接性檢查。Libnice是實現(xiàn)了ICE和STUN協(xié)議規(guī)范的軟件庫,開發(fā)者以此為基礎(chǔ)完成nice插件,可以實現(xiàn)基于ICE的數(shù)據(jù)發(fā)送。但是Libnice中只定義了如何在P2P連接確立后進行連接性檢查,以及如何在確定的P2P連接上進行數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)穿越,并沒有定義如何進行P2P連接,即P2P通道的協(xié)商任務(wù)。Jingle協(xié)議規(guī)范則定義了P2P通道建立連接及通道協(xié)商的任務(wù)。目前,Jin-gle協(xié)議已經(jīng)在Libpurple(多協(xié)議會話開發(fā)庫)中實現(xiàn)。

3即時通信系統(tǒng)中音視頻通信的實現(xiàn)

為了開發(fā)的便捷,Pidgin軟件的開發(fā)者將負(fù)責(zé)通信部分與圖形用戶界面部分分開,分離出來的核心代碼構(gòu)成即時通信客戶端開發(fā)的核心部分,被稱為Libpurple。這個程序庫已被Adium與Proteus這些客戶端使用。完成分離后,開發(fā)者將有可能以各自的圖形程序庫編寫自己的客戶端接口。在Libpurple中,為實現(xiàn)多媒體通信,開發(fā)者將基于Farsight的多媒體處理框架進行繼承和封裝,實現(xiàn)即時通信協(xié)議,并提供接口供用戶使用,用戶可利用應(yīng)用程序接口編寫程序?qū)崿F(xiàn)網(wǎng)絡(luò)層的連接。使用者可以使用Libpur-ple直接編寫即時通信程序的核心代碼,并構(gòu)建應(yīng)用程序。

同時,Libpurple實現(xiàn)了許多即時通信協(xié)議的通信,例如MSN,XMPP,AIM等協(xié)議,同時完成了媒體后端流處理與相應(yīng)即時通信協(xié)議的協(xié)同工作。Libpurple在Farsight的基礎(chǔ)上進行開發(fā),實現(xiàn)了一套具備自身特點的流媒體模式。通過對Lipurple庫的理解分析[10],得到了Libpurple實現(xiàn)音視頻數(shù)據(jù)流控制及會話管理的方法,如圖4所示。圖4中Src是音視頻數(shù)據(jù)源,傳輸?shù)紽sSession進行音視頻流整合、RTCP包生成、數(shù)據(jù)流管理等操作。Vol-ume和level則分別表示音頻的音量與消息控制插件。Libpurple采用FsSession做會話管理,并在FsSession的基礎(chǔ)上添加Gstreamer基礎(chǔ)元件進行控制,完成自己需要的功能。FsSession通過選擇不同的連接通道,將音視頻數(shù)據(jù)流通過發(fā)送器進行發(fā)送。

Libpurple中實現(xiàn)了Jingle協(xié)議進行RTP通信的規(guī)范,并提供兩種數(shù)據(jù)通道,RAWUDP和ICE-UDP供用戶使用。在進行具體RTP視頻通信時,程序根據(jù)不同情況選擇不同的通道使用。圖4選擇RAWUDP作為數(shù)據(jù)發(fā)送通道,用戶也可以選擇其他通道進行數(shù)據(jù)發(fā)送。為了與Jingle協(xié)議合作完成音視頻通信,Libpurple建立了一個組件對象purplemedia,這個對象在Farsight組件中提取相關(guān)的參數(shù)信息,例如編解碼器信息、發(fā)送目的地址等,并傳遞給Jingle協(xié)議,便于Jingle協(xié)議進行通道協(xié)商。當(dāng)有新的即時通信協(xié)議需要利用Farsight完成視頻通信時,開發(fā)者往往需要以Libpurple為基礎(chǔ)進行開發(fā),完成即時通信協(xié)議在Libpurple上的移植,以實現(xiàn)視頻通信。在眾多采用Libpurple庫開發(fā)的即時通信軟件客戶端中,Pidgin是最成功的,也是少數(shù)幾個可以實現(xiàn)音視頻通信的案例。Pidgin是一款支持多協(xié)議客戶端的圖形化即時通信應(yīng)用程序,它可以使用AIM,Jabber,MSN,Yahoo等即時通信軟件的帳號進行登錄。并采用Libpurple作為開發(fā)庫,利用圖形開發(fā)工具包編寫用戶界面及各種事件提醒和任務(wù)管理,從而實現(xiàn)在多種即時通信協(xié)議基礎(chǔ)上的音視頻通信。

第4篇:基本通信協(xié)議范文

關(guān)鍵詞:通信協(xié)議宏; PLC; 串行通信; 自動化

近年來,隨著科學(xué)技術(shù)的發(fā)展,中波廣播發(fā)射機也從過去的電子管板調(diào)機發(fā)展為全新的全固態(tài)機,為實現(xiàn)自動化控制奠定了基礎(chǔ)。中波廣播自動化控制系統(tǒng)常采用可編程序控制器(PLC)做為前端控制器,通過PLC的輸入、輸出模塊對發(fā)射機進行現(xiàn)場接入控制。但對于那些提供通信端口的發(fā)射機或設(shè)備,其內(nèi)部已經(jīng)配置了微控制器和采樣控制回路,如果還是采用現(xiàn)場接入控制,不僅功能重復(fù),而且有的時候難于實現(xiàn),例如Thomcast的M2W型中波發(fā)射機,電路板集成度高,對接入?yún)?shù)非常敏感。對于這種類型的設(shè)備,只能是通過其串行口,利用其通信協(xié)議來實現(xiàn)工作狀態(tài)的數(shù)據(jù)監(jiān)測和控制。如果使用把監(jiān)測控制軟件放在服務(wù)器上運行的方式,那么當(dāng)網(wǎng)絡(luò)有故障時設(shè)備將失控,因此安全性不夠,最好把監(jiān)測控制軟件放在其上位機的PLC中。過去只包含I/O模塊的PLC是無法實現(xiàn)串行通信功能的,而PLC通信協(xié)議宏的出現(xiàn)解決了這個問題。以下著重介紹使用協(xié)議宏來解決Thomcast的M2W型中波廣播發(fā)射機的自動化控制問題。

1 中波發(fā)射自動化控制系統(tǒng)的總體構(gòu)成與功能

廈門廣電集團發(fā)射中心202臺中波發(fā)射自動化控制系統(tǒng)主要由受控系統(tǒng)、前端監(jiān)控器、網(wǎng)絡(luò)和系統(tǒng)服務(wù)器等四部分組成。網(wǎng)絡(luò)結(jié)構(gòu)的拓?fù)浣Y(jié)構(gòu)如圖1。

圖1

總體采用現(xiàn)場分布式結(jié)構(gòu),每個受控系統(tǒng)都有自己獨立的前端監(jiān)控器,并在其監(jiān)控下工作。受控系統(tǒng)由主/備發(fā)射機、同軸開關(guān)、假負(fù)載、音頻矩陣及溫控器等組成。

前端控制器采用OMRON公司生產(chǎn)的CS1H-CPU63型可編程序控制器,它是實時監(jiān)控系統(tǒng)中最基本、最核心的單元,在整個系統(tǒng)中起著承上啟下的作用。它能夠脫離上位軟件和網(wǎng)絡(luò)連接而獨立完成對受控系統(tǒng)的監(jiān)測和控制,對受控系統(tǒng)各種異常狀態(tài)用不同的方式發(fā)出告警信號,并能夠存儲開關(guān)機時間表等日常管理流程數(shù)據(jù)。

自動化控制系統(tǒng)的主要功能分為:①基本控制功能(遠程控制及自動開關(guān)機等);②開關(guān)量、模擬量的監(jiān)測;③開關(guān)機時間表的設(shè)定;④與用戶系統(tǒng)及服務(wù)系統(tǒng)的通信功能。其中前兩項功能通過PLC通信協(xié)議宏來實現(xiàn)。

2 Thomcast公司M2W發(fā)射機提供的通信協(xié)議分析

M2W發(fā)射機的標(biāo)準(zhǔn)通信協(xié)議幀的格式分為:寫控制幀(控制量)和讀控制幀(狀態(tài)量)。如下表,我們把常用的一些常用的操作指令列出來。

2.1 寫控制:(開關(guān)機控制量)

特別說明:在M2W發(fā)射機內(nèi)部PLC是采用文件的格式存儲機器信息的,其中:N1——遙控連接的直接命令輸入;N2——本地連接的直接命令輸入(發(fā)射機觸摸屏);N3——發(fā)射機實際數(shù)據(jù)。N1文件在指令寫入時發(fā)射機將做出反應(yīng),從N3文件則可讀取機器的實際數(shù)據(jù)進行監(jiān)測,通過對這兩個文件的修改和讀取來實現(xiàn)發(fā)射機的控制。

3 OMRON通信協(xié)議宏的簡介與應(yīng)用設(shè)計

3.1 通信協(xié)議宏概述

通信協(xié)議宏是PLC具有的一種通信控制功能,用于為符合具有串行通信端口的通用外部設(shè)備的通信規(guī)范的通信協(xié)議創(chuàng)建宏。支持與幾乎所有具有RS-232C或RS-422A/485端口外部通用設(shè)備的通信,通過編制通信協(xié)議指令實現(xiàn)對外部通信設(shè)備的相應(yīng)數(shù)據(jù)采集和控制。

CX-Protocol是創(chuàng)建協(xié)議宏應(yīng)用軟件。協(xié)議宏由通信指令系列組成,支持硬件是PMSU(串行通信單元)。CX-Protocol將協(xié)議宏傳送至PMSU、通過CPU單元上的PMCR指令來指定協(xié)議宏的序號并執(zhí)行通信序列。一個通信指令序列由若干步組成,每個步由發(fā)送、接收或者發(fā)送與接收指令組成;可允許用戶根據(jù)處理結(jié)果來重復(fù)、結(jié)束這些步或者對這些步生成分支。

3.2 通信協(xié)議宏的創(chuàng)建

 根據(jù)上面的表格,我們先將這些常用操作指令轉(zhuǎn)換成發(fā)射機通信協(xié)議的指令幀(即協(xié)議宏的通信報文),通信報文分為發(fā)送報文和接收報文,包含有:報頭、地址、長度、數(shù)據(jù)、錯誤檢驗碼和終止符,但每個字段不是必需的,在發(fā)送報文中,可以僅有數(shù)據(jù)字段(實際上數(shù)據(jù)字段就已經(jīng)包含有報頭、地址、錯誤檢驗碼和終止符);在接收報文中,存在終止符時,報頭、地址、長度、錯誤檢驗碼也可以不存在,如果數(shù)據(jù)長度固定,則終止符也可以不存在。

根據(jù)M2W發(fā)射機的協(xié)議說明,無論在寫或讀操作,發(fā)送完成后發(fā)射機均會返回一個響應(yīng)幀,如果出錯則要求重發(fā),正確則發(fā)送“1006”確認(rèn)該操作。

3.3 寫控制幀格式

發(fā)送命令:<DLE>+<STX>+<DST>+<SRC>+<CMD 0F>+<STS>+<TNS>+< FNC AA>+< Byte Size>+<File Type>+<Ele.No.>+<S/Ele.No.>+<DATA>+<DLE>+<ETX>+<CRC16>

返回:響應(yīng)+<DLE>+<STX>+<SRC>+<DST>+<CMD 4F>+<STS>+<TNS>+<EXT STS>+<DLE>+<ETX>+<CRC16>其中,發(fā)送報文可以定義<DLE>+<STX>為報頭字段;<DST>+<SRC>為地址字體;<CMD 0F>+<STS>+<TNS>+< FNC AA>+< Byte Size>+<File Type>+<Ele.No.>+<S/Ele.No.>+<DATA>,可這數(shù)據(jù)字體,<DATA>為寫入N1中相應(yīng)操作位的數(shù)據(jù)<DLE>+<ETX>為終止符;<CRC16>為錯誤校驗碼。接收報文中的“響應(yīng)”有三種:接收正確─“1006”;接收錯誤─“1005”;校驗錯誤─“1015”

以發(fā)送“開機”操作指令為例:10 02 01 09 0F 00 88 03 AA 02 0F 89 02 00 01 00 10 03 20 8d將N1中的“開機位”置“1”,返回:10 06 10 02 09 01 4F 00 88 03 10 03 0d c4,則再發(fā)送“1006”確定執(zhí)行開機操作。如果返回“1005”或“1015”則重發(fā)操作指令。

3.4 讀控制幀格式

發(fā)送命令:<DLE>+<STX>+<DST>+<SRC>+<CMD 0F>+<STS>+<TNS>+< FNC A2>+< Byte Size>+<File Type>+<Ele.No.>+<S/Ele.No.>+<DLE>+<ETX>+<CRC16>返回:響應(yīng)+<DLE>+<STX>+<SRC>+<DST>+<CMD 4F>+<STS>+<TNS>+<DATA >+<EXT STS>+<DLE>+<ETX>+<CRC16>其中< FNC A2>+< Byte Size>+<File Type>+<Ele.No.>+<S/Ele.No.>給出功能碼和讀取的范圍和文件類型,其它字段與寫控制的相同。返回時,<DATA>字段為讀取的機器狀態(tài)數(shù)據(jù),可用W()指令寫入DM數(shù)據(jù)存儲區(qū)。

由于讀取范圍要求不超過240字節(jié),機器的狀態(tài)數(shù)據(jù)需要分三次才能全部讀出,如發(fā)送:10 02 01 09 0F 00 01 01 A2 EE 11 89 00 00 10 03 e0 0f則返回10 06 10 02 09 01 4F 00 01+<DATA>+00 10 03 28 64,這樣我們可以讀取到0~240字節(jié)的數(shù)據(jù),其它數(shù)據(jù)讀取修改范圍即可。

3.5 協(xié)議宏的創(chuàng)建

協(xié)議宏的一個序列由最多16個步組成,一個步包含一條命令操作,該命令分為:“發(fā)送”、“接收”、“發(fā)送與接收”、“打開”、“關(guān)閉”、“刷出”或“ 等待”,通過步中的“下一個過程/出錯過程”來指定執(zhí)行下一步。協(xié)議宏就是通過“步”發(fā)送和接收處理通信報文,完成指令操作的執(zhí)行,所以創(chuàng)建協(xié)議宏可分兩步完成。(1)首先,將“開機”操作指令按寫控制幀格式轉(zhuǎn)換成協(xié)議宏的發(fā)送報文(Send Message),Send Message為:<DLE>+<STX>+<DST>+<SRC>+<CMD 0F>+<STS>+<TNS>+< FNC AA>+< Byte Size>+<File Type>+<Ele.No.>+<S/Ele.No.>+<DATA>+<DLE>+<ETX>+<CRC16>,按圖2設(shè)置相應(yīng)字段并存儲為Send Message 1,也可直接設(shè)置在數(shù)據(jù)字段里。

圖2

然后,按返回的數(shù)據(jù)格式編制 “接收報文(Recv Message)”,Recv Message為:響應(yīng)+<DLE>+<STX>+<SRC>+<DST>+<CMD 4F>+<STS>+<TNS>+<EXT STS>+<DLE>+<ETX>+<CRC16>,也設(shè)置相應(yīng)字段并存儲為Recv Message2。如果是讀命令,則將該數(shù)據(jù)寫入DM存儲器中。(2)在“步”中設(shè)置命令為“發(fā)送與接收”,發(fā)送報文設(shè)置為創(chuàng)建的“開機”發(fā)送報文,接收報文可以設(shè)置為 “接收報文”或“矩陣”,然后再選擇“下一個過程”。其執(zhí)行流程如圖3所示。

圖3

3.6 CX-Protocol軟件操作

(1)創(chuàng)建各報文:打開CX-Protocol軟件,從“File”(文件)菜單中選擇“NEW”(新增)創(chuàng)建一個項目,創(chuàng)建項目后從PLC菜單中選擇“Edit PC-PLC Comms Settings”(編輯PC-PLC通信設(shè)定);在項目文件下創(chuàng)建協(xié)議列表(New Protocol list),右鍵點擊“Create/Protocol”(創(chuàng)建/協(xié)議),指定下列項:協(xié)議名稱、序列起始號、序列結(jié)束號和目標(biāo);右鍵點擊“Create/Sequence”編制協(xié)議序列,指定下列項:鏈接字、傳送控制參數(shù)、響應(yīng)類型和監(jiān)測時間(Tr、Tfr、Tfs),一個協(xié)議序列對應(yīng)一條M2W發(fā)射機操作命令;在通信序列中右鍵點擊“Create/Step”(創(chuàng)建/步),指定下列項:重復(fù)計數(shù)器、命令、重試計數(shù)、發(fā)送等待時間、發(fā)送報文、接收報文、有/無響應(yīng)寫入、下一個過程和出錯過程,每一步就是一條協(xié)議指令。右鍵點擊步列表中的“Send Message”(發(fā)送報文)或“Receive Message”(接收報文)字段,然后從彈出菜單中選擇“New Message”(新報文),將全部使用到的協(xié)議指令輸入為通信報文,必要時做好注釋,便于讀懂程序。(2)創(chuàng)建矩陣:如果要根據(jù)不同的響應(yīng)報文決定下一步執(zhí)行的步(Step),就需要創(chuàng)建矩陣來完成。右鍵點擊“Create/Matrix”(創(chuàng)建/矩陣)和“Create/Martrix Case”(創(chuàng)建/矩陣實例),預(yù)先設(shè)定可能返回的響應(yīng)報文數(shù)據(jù),改變各響應(yīng)報文的下一個控制步,一個矩陣中允許最多設(shè)定15種報文。如圖4,寫控制指令時,可將“接收B“設(shè)為”1006,下一步為發(fā)送“1006”確認(rèn);“接收C”為“1005”和“接收C”為“1015”,下一步為重新發(fā)寫指令。(3)傳送項目:選中項目名稱,點擊菜單Protocol-Download Protocol,將以上創(chuàng)建的項目傳送至PMSU(從個人計算機到PMSU)。

圖4

3.7 創(chuàng)建梯形圖程序

梯形圖程序主要有按時間表自動試機、開關(guān)機程序和故障處理等程序。梯形圖程序段較長,這里主要介紹在梯形圖中如何調(diào)用協(xié)議宏指令。在梯形圖中通過使用PMCR命令來調(diào)用協(xié)議宏指令,首先為PMCR指令分配一條功能代碼,然后執(zhí)行PMCR指令。

圖5

如圖5所示:控制字1為#02E1,其中0為通信端口(內(nèi)部邏輯端口號0);2為端口2;E1為內(nèi)插板(串行通信板);控制字2為#2,表示執(zhí)行02號通信序列。第一個發(fā)送字為100,發(fā)送數(shù)據(jù)首字(DM100)

第一個接收字為200,接收數(shù)據(jù)存儲首字(DM200)。當(dāng)“T機開機”位1213.14置ON并將協(xié)議宏執(zhí)行標(biāo)志(1919.15:端口2)置OFF時,將調(diào)用PMSU上注冊的02號通信序列,從而在通信端口允許標(biāo)志(A202.00:使用0號通信端口的內(nèi)部邏輯端口)為ON的情況下經(jīng)由PMSU的端口2發(fā)送和接收數(shù)據(jù)。

4 系統(tǒng)硬件連接與測試

4.1 PLC需要用到的兩個通信連接

4.1.1   電腦CX-Protocol軟件與PLC的編程連接

首先,必須先用編程電纜將電腦CX-Protocol軟件連接到PLC的CPU外設(shè)口或內(nèi)置RS-232C口上,然后,設(shè)置PLC“設(shè)備類型”、和“網(wǎng)絡(luò)類型”。

4.1.2   PLC通信板(CS1W-SCB41-V1)與受控通信設(shè)備的通信連接

(1)將串行通信板(CS1W-SCB41-V1)插入CS1的CPU模塊中,設(shè)置終端電阻ON/OFF開關(guān)為“ON”及線制開關(guān)2線/4線撥到“4”的位置。將通信板(CS1W-SCB41-V1)上的端口2(RS-422A/485)與M2W發(fā)射機的RS-485端口連接。(2)制作通信板與發(fā)射機的數(shù)據(jù)連接線,并連接好兩端通信口。(3)根據(jù)M2W的通信協(xié)議參數(shù)設(shè)定為:協(xié)議:全雙工;和檢驗:CRC;COM口:RS422;波特率:19200;每字位數(shù):8;奇偶Parity:偶數(shù);停止位Stop bits:1。

5 系統(tǒng)調(diào)試

CX-Protocol提供了數(shù)據(jù)跟蹤和監(jiān)測功能,當(dāng)執(zhí)行數(shù)據(jù)跟蹤操作時,從該點開始,串行通信板對發(fā)送/接收報文中按時間順序排列的數(shù)據(jù)執(zhí)行跟蹤記錄,通過跟蹤發(fā)送或接收數(shù)據(jù)和信號,可根據(jù)步來檢查發(fā)送或接收和各條報文的內(nèi)容并將其與預(yù)設(shè)的序列進行對比,查找程序的出錯原因。筆者在調(diào)試中體會到在使用通信協(xié)議宏時,必須注意下面幾個問題,否則可能會造成通信失敗。(1)執(zhí)行PMCR指令時,最好使用上升沿微分觸發(fā)PMCR指令,否則可能引起各條指令間的沖突。(2)根據(jù)實際測試發(fā)射機的接收和反饋時間,設(shè)置發(fā)送完成監(jiān)測時間Tfs為0.2S、接收等待監(jiān)測時間Tr為0.2S和接收完成監(jiān)測時間Tfr為0.4S,既能保證指令的完整發(fā)送,又節(jié)省等待時間,并可以防止協(xié)議宏進入死鎖狀態(tài)。(可參考操作手冊中監(jiān)測時間的計算方法)。

6 出錯處理

PLC設(shè)置有特殊輔助區(qū),存儲PLC運行狀態(tài),協(xié)議宏在發(fā)生以下任一錯誤時,根據(jù)設(shè)定的重試計數(shù)自動重復(fù)執(zhí)行同一個步(最多3次):① 監(jiān)測時間(Tfs、Tr、Tfr)已過。②發(fā)生了接收通信錯誤。③接收報文不正確。④校驗碼存在錯誤。

發(fā)生異常時,可通過這些狀態(tài)了解異常情況,并可應(yīng)用這些狀態(tài)位進行程序保護。以CS1為例常用的有:

7 結(jié)束語

通信協(xié)議宏不單可以實現(xiàn)對中波發(fā)射機房M2W發(fā)射機的自動化控制,而且還可以應(yīng)用在各種具有串行通信端口的設(shè)備上;如果采用RS-422A/485串行通信端口,還可以實現(xiàn)1:N控制(最多32部)外部通信設(shè)備。此應(yīng)用系統(tǒng)在我臺投入運行以來,能安全、穩(wěn)定、可靠地工作,整個控制系統(tǒng)靈活、方便、一體化控制,大大提高了廣播播出系統(tǒng)自動化、網(wǎng)絡(luò)化的管理水平,具有很好的實用性和行業(yè)中的推廣價值。

第5篇:基本通信協(xié)議范文

關(guān)鍵詞:網(wǎng)絡(luò)協(xié)議 動態(tài)鏈接庫 協(xié)議工作說明書

一、引言

PRT-GET定義為一個協(xié)議模擬器,所謂協(xié)議模擬器就是通過某種途徑模擬各式各樣的網(wǎng)絡(luò)通信協(xié)議從而可以進行具體而實際的網(wǎng)絡(luò)通信,最終達到同時支持多種通信協(xié)議的目的。PRT-GET不同于現(xiàn)今網(wǎng)上存在的各種網(wǎng)絡(luò)工具,使用它可以編寫基本上所有的基于Socket應(yīng)用層的通信協(xié)議,PRT-GET的設(shè)計解決了用戶使用網(wǎng)絡(luò)工具時難以支持新出現(xiàn)的協(xié)議的問題。

二、PRT-GET的特點

作為一個優(yōu)秀的協(xié)議模擬器,PRT-GET具備以下的幾個特點:

1.PRT-GET是一個動態(tài)鏈接庫??紤]到應(yīng)用程序的擴展極其的不方便,所以沒有把PRT-GET設(shè)計成應(yīng)用程序的形式,而采用動態(tài)鏈接庫的方式,該方式可以方便地進行二次開發(fā),也方便擴展軟件的功能。

2.PRT-GET是完全面向?qū)ο蟮?。PRT-GET是一個可二次開發(fā)的動態(tài)鏈接庫,所以面向?qū)ο蟮脑O(shè)計模式能令二次開發(fā)更加高效。

3.PRT-GET的代碼擴展性高。使用PRT-GET時,如果PRT-GET本身提供的功能不夠,那么用戶可以通過擴展PRT-GET中對應(yīng)的類,以實現(xiàn)自定義的功能。

4.PRT-GET支持自定義協(xié)議。PRT-GET的最大特色就是支持用戶自定義應(yīng)用層協(xié)議,通過用戶編寫的協(xié)議工作說明書,PRT-GET忠實地執(zhí)行用戶在說明書中指定的每一個操作,也就是說,用戶無需編寫任何一句代碼就可以使PRT-GET支持自定義協(xié)議。

5.PRT-GET的使用方便。PRT-GET使用時只需要調(diào)用動態(tài)鏈接庫就可以輕松地使用其中的協(xié)議控制類。

三、PRT-GET的設(shè)計

1.PRT-GET的工作層次

PRT-GET設(shè)計為一個動態(tài)鏈接庫,它為系統(tǒng)應(yīng)用程序提供中間層服務(wù),使得應(yīng)用程序無需了解網(wǎng)絡(luò)通信的具體邏輯,只需把網(wǎng)絡(luò)的內(nèi)容當(dāng)作本地的內(nèi)容操作即可,從這點看起來PRT-GET也是一個協(xié)議,而且更是一個能提供很多協(xié)議服務(wù)的協(xié)議支持軟件。PRT-GET在網(wǎng)絡(luò)中的工作層次如圖1所示。

對于使用PRT-GET作為網(wǎng)絡(luò)通信協(xié)議的應(yīng)用程序來說,用戶可以指定PRT-GET使用哪個協(xié)議進行工作,因為PRT-GET是在需要使用時才加載協(xié)議內(nèi)容的,所以用戶可以隨時動態(tài)指定PRT-GET使用的協(xié)議,甚至可以動態(tài)修改PRT-GET使用的協(xié)議內(nèi)容。當(dāng)協(xié)議組里面包含的協(xié)議不滿足用戶要求時,用戶還可以添加新的協(xié)議,這只需要添加一個協(xié)議工作說明書到協(xié)議組里面就可以了。

應(yīng)用程序

計算機

PRT-GET

協(xié)議組

協(xié)議內(nèi)容

服務(wù)器

服務(wù)程序

用戶

圖1 PRT-GET工作層次

PRT-GET工作時根據(jù)用戶指定的協(xié)議加載協(xié)議工作說明書,然后再依照協(xié)議說明書內(nèi)容與遠端服務(wù)器/客戶端協(xié)作工作。對于PRT-GET來說,遠端機器是透明的,PRT-GET的機器透明性是基于工作在TCP協(xié)議上的Socket的,所以對于PRT-GET來說沒有機器的差別,沒有平臺的差別。

2.PRT-GET的幾個概念

在PRT-GET中,有一些基本概念貫穿于整個PRT-GET的設(shè)計和實現(xiàn)過程中。

(1)協(xié)議

PRT-GET中的協(xié)議對應(yīng)著一個網(wǎng)絡(luò)協(xié)議。協(xié)議在PRT-GET程序中只是一個邏輯的存在,并沒有具體的某個協(xié)議的實現(xiàn),所以如果要使PRT-GET支持某個協(xié)議的話,需要編寫一個具體的協(xié)議工作說明書與PRT-GET相配合。也就是說協(xié)議工作說明書是PRT-GET的具體協(xié)議的載體,也是PRT-GET支持協(xié)議的體現(xiàn)。

(2)元素

元素是PRT-GET的一個新概念。所有的協(xié)議都是一些基本通信單元的組合,而PRT-GET就是通過將協(xié)議分解成一個個的基本單元從而做到支持各種協(xié)議的。這種基本單元就是元素。元素是PRT-GET中協(xié)議構(gòu)成的基本單位,一個PRT-GET的協(xié)議本質(zhì)上就是一些PRT-GET的元素序列,同樣的,對元素的不同組合可以生成不同的協(xié)議,這就是PRT-GET可以支持不同協(xié)議的本質(zhì)原因。

程序中的一個元素類的對象對應(yīng)著協(xié)議工作說明書的實際一行,也就是代表著通信交互中的一個基本交互單元。協(xié)議工作說明書中指定了每一個通信單元應(yīng)當(dāng)使用的元素類,并執(zhí)行相應(yīng)動作實現(xiàn)對應(yīng)的通訊單元。

為更好的實現(xiàn)通訊單元的分割和減少通信協(xié)議工作說明書的編寫難度,定義了動作元素和輔助元素這兩個概念。

動作元素:對應(yīng)著一個通訊基本操作,它指明了對于本次操作應(yīng)該如何進行。

輔助元素:對動作單元進行輔助處理的單元,它是從屬于動作單元,一個動作元素可以有零個或多個輔助元素。

動作元素和輔助元素指定了協(xié)議的一個通信單元的工作方式,而本次通信的內(nèi)容就由內(nèi)容項指定了。一個元素由動作元素和輔助元素、內(nèi)容三項組成,其結(jié)構(gòu)如下:

動作單元 [輔助單元]* [內(nèi)容]

(3)分析器

PRT-GET中并沒有協(xié)議的實體存在,代替的是用協(xié)議工作說明書作為協(xié)議的載體,而協(xié)議工作說明書只是一個文本文件,如何將這個協(xié)議工作說明書的內(nèi)容加載到內(nèi)存并轉(zhuǎn)變?yōu)橐粋€一個對應(yīng)的元素,這個工作是由分析器來解決的。

分析器有協(xié)議分析器和元素分析器兩種,分別用于不同用途。

協(xié)議分析器:協(xié)議分析器主要的工作是分析協(xié)議工作說明書并創(chuàng)建該說明書對應(yīng)的元素序列,輔助Protocol實體的創(chuàng)建。

元素分析器:元素分析器的工作是從一個字符串中分解出輔助元素和內(nèi)容,以支持元素類的動作。

PRT-GET工作流程

PRT-GET的使用非常的方便,只需要使用URL創(chuàng)建出具體的一個協(xié)議對象則可以與主機通信,而此URL的要求為“protocol://host: port/file”格式,其中port并不是必須的,如果沒有指定的話就會使用對應(yīng)協(xié)議的協(xié)議工作說明書中指定的默認(rèn)端口。

PRT-GET工作時,將會根據(jù)用戶提交的協(xié)議名檢查其協(xié)議說明書庫中是否有該協(xié)議,如果發(fā)現(xiàn)對應(yīng)的協(xié)議不存在則拋出一個異常提示用戶。找到指定協(xié)議后,PRT-GET將創(chuàng)建一個協(xié)議對象以實現(xiàn)通信,并將協(xié)議工作說明書加載進內(nèi)存中,分析生成一個元素序列,最后就執(zhí)行元素序列以實現(xiàn)實際通信目的,其工作流程如圖2所示。

讀取

開始

結(jié)束

查找協(xié)議工作說明書

協(xié)議組

協(xié)議存在

拋出異常

創(chuàng)建協(xié)議對象

分析工作說明書

執(zhí)行元素動作

圖2 PRT-GET工作流程圖

四、主要包的設(shè)計

對PRT-GET的設(shè)計采用按功能結(jié)構(gòu)分包的方式,將功能相近的類放置在一起,并按邏輯位置將其放在不同的命名空間之中。

PRT-GET中最核心的三個包分別是Element(元素包)、Analyze(分析工具包)和Util(其他工具包),此外,還有ProtocolManager和Protocol兩個核心類。

PRT-GET將網(wǎng)絡(luò)操作分為基本的單元——元素,在程序中的體現(xiàn)就是元素(Element對象),PRT-GET將所有的元素類都放置在Element包中,并通過接口IElement實現(xiàn)元素動作的統(tǒng)一。

Analyze包是一個存放存放分析器的包。PRT-GET經(jīng)常需要對協(xié)議工作說明文件進行分析,這就需要一個分析器專門對協(xié)議中的字符串進行分析,Analyze包中的類就是負(fù)責(zé)此類工作。

PRT-GET在進行一些處理時經(jīng)常會用到一些方法,為增加代碼的重用率,將所有經(jīng)常使用到的方法或操作封裝為類存放在Util包中。

五、協(xié)議工作說明書

協(xié)議工作說明書是協(xié)議的真正載體,它以“協(xié)議名+.prt”為文件名存放在PRT-GET動態(tài)鏈接庫目錄的“protocol”文件夾下,PRT-GET加載協(xié)議時到這查找該協(xié)議是否存在,當(dāng)查找到時就會加載為一個協(xié)議實體。

1.協(xié)議工作說明書的組成

網(wǎng)絡(luò)通信主要是發(fā)送內(nèi)容和接收內(nèi)容,PRT-GET的主要作用就是屏蔽了這一層中繁瑣的通信,使得用戶可以直接對通信的有用內(nèi)容進行處理。

基于網(wǎng)絡(luò)通信只有發(fā)送和接收兩種情況,協(xié)議工作說明書也只有兩種基本元素:Send和Receive。Send發(fā)送數(shù)據(jù),而發(fā)送的數(shù)據(jù)可以是在協(xié)議說明書中指定的常量,也可以是用戶動態(tài)加載的內(nèi)容。Receive同樣也可以接收常量,或者接收到內(nèi)存中對應(yīng)的元素的Data數(shù)據(jù)中。除了這兩種基本元素外,PRT-GET還擴展了另外兩種元素:Skip和Repeat。Skip能忽略用戶不感興趣的內(nèi)容,Repeat的作用就是重復(fù)進行用戶的一些煩瑣的操作,這些對提高用戶的工作效率有很大的幫助。此外,還有其它一些輔助元素可以指定各種動作元素的具體操作內(nèi)容。

2.協(xié)議工作說明書編寫要求

編寫協(xié)議工作說明書必須滿足以下格式:

Port 端口號

(Element名 [輔助元素名]* 內(nèi)容)*

協(xié)議說明書的最開始應(yīng)該是端口號說明,而后出現(xiàn)的是元素字符串。元素字符串由三部分組成,其中元素名是指該動作元素的名稱;輔助元素指定了動作元素的一些要求,一個動作元素可以有幾個輔助元素的存在;第三個部分就是內(nèi)容,內(nèi)容可以是常量內(nèi)容,也可以是變量,也就是用戶指定的數(shù)據(jù)。

一個協(xié)議說明書只能由一個端口號,但是卻可以有多個元素,不同元素之間用換行隔開即可。定義一個協(xié)議說明書必須以該協(xié)議名稱加上“.prt”為協(xié)議工作說明書名稱,并將其放置在PRT-GET的動態(tài)鏈接庫目錄下的protocol文件夾內(nèi)。

六、應(yīng)用實例

多協(xié)議服務(wù)器是一個使用PRT-GET作為通信層的服務(wù)器軟件,以文件映射作為虛擬路徑管理手段。通過該服務(wù)器軟件可以設(shè)置虛擬目錄,用戶可以指定訪問需要使用的網(wǎng)絡(luò)協(xié)議(如HTTP),當(dāng)有客戶端請求時,服務(wù)器調(diào)用PRT-GET創(chuàng)建一個協(xié)議實體執(zhí)行通信,并由服務(wù)器解釋請求的URL,將其映射為相關(guān)系統(tǒng)文件,客戶端可以和服務(wù)器進行通信,請求服務(wù)器上的文件資源如圖3所示。

圖3 利用PRT-GET模擬HTTP通信

七、結(jié)語

本文討論了多協(xié)議模擬器PRT-GET的設(shè)計思路和方法,并通過實例模擬HTTP協(xié)議驗證了文中所提設(shè)計方案的可行性。由于PRT-GET目前的版本設(shè)計中輔助元素還不夠多,模擬器的交互設(shè)計還有所欠缺,下一步將增加輔助元素的設(shè)計,豐富模擬器的功能,增強其應(yīng)用的靈活性。

參考文獻

[1] 陳富春.ASP.NET中XML數(shù)據(jù)與關(guān)系數(shù)據(jù)的交互技術(shù).現(xiàn)代計算機.2005(04):P35-37

第6篇:基本通信協(xié)議范文

路燈定時器調(diào)時間的方法如下:

路燈定時器采用先進的嵌入式微型計算機控制技術(shù)的高級時控器,根據(jù)用戶節(jié)能需要多路任意編程同時啟用;路燈定時器是通信協(xié)議正常運行的基本要素之一,主要用于各種定時和幀重傳的任務(wù);路燈定時器通信協(xié)議在單片機系統(tǒng)上實現(xiàn)所使用的定時器,定時精度要求不高,但數(shù)量要求比較大;路燈定時器由于硬件資源有限,不能為每一個單獨任務(wù)分配一個硬件定時器,只能通過單個硬件定時器模擬多個軟件定時器的方法,來滿足協(xié)議中的定時應(yīng)用需要。

(來源:文章屋網(wǎng) )

第7篇:基本通信協(xié)議范文

現(xiàn)場執(zhí)行層可以采用直接硬連線方式(通過電流或電壓信號完成控制器與設(shè)備間的信息傳遞)、網(wǎng)絡(luò)連接方式(以太網(wǎng)方式連接控制器和設(shè)備,控制器與設(shè)備之間根據(jù)某種通信協(xié)議完成信息交換)等不同的網(wǎng)絡(luò)接入方式連接設(shè)備。②現(xiàn)場控制層:主要包括區(qū)域控制器和專用控制器,這些控制器可以獨立處理、控制數(shù)據(jù),各個控制器之間以太網(wǎng)或其他網(wǎng)絡(luò)連接方式連接,根據(jù)某種通信協(xié)議完成交換信息。③信息管理層:主要負(fù)責(zé)所有信息技術(shù)以及網(wǎng)絡(luò)技術(shù)的統(tǒng)一管理,各個信息管理工作站之間會用計算機廣域網(wǎng)或局域網(wǎng)進行連接。

2.無線網(wǎng)絡(luò)技術(shù)應(yīng)用于智能樓宇控制的可能性與挑戰(zhàn)性

在現(xiàn)代無線技術(shù)的快速發(fā)展與應(yīng)用的背景形勢下,以太網(wǎng)為主的連接方式以及組網(wǎng)方式受到極大的沖擊,經(jīng)大量的市場研究調(diào)查分析,現(xiàn)場執(zhí)行層以及信息管理層可以無線網(wǎng)絡(luò)技術(shù)來替代有線的連接方式的可能性最大。因為現(xiàn)場執(zhí)行層的傳感器節(jié)點較多,有線連接的布線部署比較困難,工程難度較大,而且像舊大樓、工廠生產(chǎn)車間以及博物館等地方根本無法布線,采用無線連接的部署非常方便,傳感器節(jié)點可以增加,位置也可以變換。在信息管理層應(yīng)用無線連接的方式可方便用戶隨時隨地通過移動設(shè)備控制、管理整個信息系統(tǒng),信息的管理以及維護比較便捷。但是無線網(wǎng)絡(luò)會由于樓宇內(nèi)部環(huán)境的特殊性,經(jīng)常受到多途徑的傳輸干擾、障礙物反射以及傳輸沖突等問題,從而影響無線網(wǎng)絡(luò)技術(shù)的可擴展性以及可靠性,使寬帶通信數(shù)據(jù)的吞吐量受到影響。而有線網(wǎng)絡(luò)擁有巨大的網(wǎng)絡(luò)寬帶資源,信息受到保護,因此比較安全、可靠,這是無線網(wǎng)絡(luò)技術(shù)所欠缺的很重要的一點,因此無線網(wǎng)絡(luò)技術(shù)無法完全取代有線網(wǎng)絡(luò)。目前智能樓宇自動控制系統(tǒng)的信息管理層基本都采用的是無線網(wǎng)絡(luò)連接技術(shù),并且受到廣泛好評,然而在現(xiàn)場執(zhí)行層的無網(wǎng)絡(luò)應(yīng)用技術(shù)仍處于探索階段。

3.現(xiàn)場執(zhí)行層的無線網(wǎng)絡(luò)技術(shù)應(yīng)用分析

第8篇:基本通信協(xié)議范文

智能電網(wǎng)指的是電網(wǎng)智能化,是電網(wǎng)技術(shù)發(fā)展的2.0版本。智能電網(wǎng)以信息和通信技術(shù)為支撐,建設(shè)高集成度、高速信息傳遞的電網(wǎng)系統(tǒng),利用高速傳感器以及先進測量技術(shù),引進理念先進的決策支持系統(tǒng),對電網(wǎng)的可靠、安全、經(jīng)濟、高效以及友好應(yīng)用提供強有力的支持。

2智能電網(wǎng)運行特點

智能電網(wǎng)在設(shè)計和運行過程中,利用高速雙向通信通道進行信息傳遞,并利用傳感器技術(shù)、測控技術(shù)等進行數(shù)據(jù)采集和指令的執(zhí)行??偟膩碚f,智能電網(wǎng)運行特點如下。

2.1自愈功能

智能電網(wǎng)的自愈功能是指當(dāng)電網(wǎng)在遭受突發(fā)事故破壞時,例如雷擊、地震、火災(zāi)或其他自然災(zāi)害以及人為破壞后,能夠在短時間內(nèi)對故障進行診斷、定位、隔離以及修復(fù),以自身能力對電網(wǎng)進行保護,實現(xiàn)電力系統(tǒng)的安全運行。自愈功能發(fā)揮作用的基礎(chǔ)是系統(tǒng)對電網(wǎng)實時狀態(tài)的監(jiān)控和掌握,能夠在盡可能少的人工干預(yù)下,進行備自投、故障隔離等操作,實現(xiàn)電網(wǎng)的自我恢復(fù)。

2.2較高的兼容性和集成性

智能電網(wǎng)的標(biāo)志之一是較好的兼容性和較高的集成性。智能電網(wǎng)的兼容性首先表現(xiàn)在數(shù)據(jù)格式的兼容,能夠提供不同的數(shù)據(jù)格式的支持;其次,表現(xiàn)在設(shè)備的兼容性上,不同廠家、不同標(biāo)準(zhǔn)的設(shè)備能夠與智能電網(wǎng)進行互通和運行;智能電網(wǎng)的兼容性還表現(xiàn)在對于不同用戶的用電需求能夠?qū)崿F(xiàn)精確控制,滿足不同用戶的需求。高度集成的系統(tǒng)對于信息采集、處理以及信息安全的保障具有重要作用。

2.3安全性

智能電網(wǎng)的安全性除保證電網(wǎng)的供電安全外,還包括與變電站、客戶、終端設(shè)備之間的通信網(wǎng)絡(luò)的數(shù)據(jù)信息安全,智能電網(wǎng)通信技術(shù)目前應(yīng)用較為廣泛的是光纖通信,數(shù)據(jù)流量大,通信質(zhì)量有保障。

3智能電網(wǎng)信息及通信技術(shù)關(guān)鍵問題

當(dāng)前,智能電網(wǎng)信息及通信技術(shù)的研究熱點,主要集中在通信技術(shù)、信息安全以及通信體系標(biāo)準(zhǔn)化建設(shè)等方面,這些關(guān)鍵技術(shù)的革新,將會給智能電網(wǎng)的建設(shè)及發(fā)展帶來飛速發(fā)展的契機。

3.1通信技術(shù)問題

通信技術(shù)及通信網(wǎng)絡(luò),是智能電網(wǎng)信息輸送的動力源泉以及大動脈,對于智能電網(wǎng)終端信息采集、數(shù)據(jù)傳輸以及保護、網(wǎng)絡(luò)控制等意義重大。解決通信技術(shù)及通信網(wǎng)絡(luò)的建設(shè)問題,是發(fā)展智能電網(wǎng)的基礎(chǔ)保障。當(dāng)前,以光纖通信為代表的信息通信技術(shù)是該領(lǐng)域的主流。

3.1.1光纖通信技術(shù)問題

光纖通信技術(shù)是以光纖作為信息傳遞的通道和載體,實現(xiàn)數(shù)據(jù)互通的技術(shù)。一般而言,光纖通信技術(shù)可以借助MPLS(Multi-ProtocolLabelSwitching,多協(xié)議標(biāo)簽交換)技術(shù)將傳統(tǒng)光纖由2M帶寬擴容到100M,可有效降低成本。目前智能電網(wǎng)光纖通信技術(shù)的主要問題是在架設(shè)以及更換加掛時光纜型式的選擇。智能電網(wǎng)通常采用OPGW、OPPC、ADSS等光纜進行網(wǎng)絡(luò)建設(shè)。OPGW光纜在敷設(shè)時具有以下兩種優(yōu)勢:第一,OPGW光纜在敷設(shè)時與地線可復(fù)用架設(shè),能夠減少工程量,降低成本。第二,OPGW光纜能夠?qū)⑿盘栐趥鬏斶^程中的損失控制到較小的程度,適用于智能電網(wǎng)長遠距離信息傳輸使用,以確保通信質(zhì)量。其主要缺點是易受雷擊,需附設(shè)防雷擊裝置以對其進行保護。而ADSS光纜相較于OPGW而言,在防雷擊方面具有明顯優(yōu)勢;且由于其采用低密度材料,在敷設(shè)時更加便于施工,對輸電線路影響更小;此外,該光纜敷設(shè)采用桿塔添加形式,維修和線路優(yōu)化工作便于展開。該光纜應(yīng)用的主要缺點在于電腐蝕情況較為明顯。OPPC光纜目前主要在發(fā)達國家應(yīng)用,其主要特點是能夠與相導(dǎo)線復(fù)合使用,借助相導(dǎo)線的高壓對光纜形成天然的保護,成為OPGW以及ADSS光纜敷設(shè)盲區(qū)的最佳替代品。三者相比,OPPC以及OPGW光纜主要適用于新建線路中,而ADSS光纜則主要用于老舊線路加掛時使用。

3.1.2電力通信技術(shù)問題

電力通信技術(shù)目前主要問題有兩種:第一,電力線纜本身的射頻干擾以及載波頻率過低,都對其尋找合適的替代品帶來較大難度,另外,新材料應(yīng)用的技術(shù)難題也困擾著電力通信技術(shù)的發(fā)展。第二,互聯(lián)網(wǎng)通用的TCP/IP協(xié)議無法兼容與電力線通信,許多新技術(shù)難以得到應(yīng)用。針對目前電力通信技術(shù)的主要問題,一方面可以從開發(fā)新型信息承載材料入手,解決電力線纜的使用弊端;另一方面,BPL標(biāo)準(zhǔn)開發(fā)的發(fā)展,將為未來電力線兼容互聯(lián)網(wǎng)協(xié)議提供標(biāo)準(zhǔn)體制上的極大助力。

3.2信息安全技術(shù)問題

智能電網(wǎng)從自身分布式的系統(tǒng)以及終端獲取運行數(shù)據(jù)信息,實現(xiàn)數(shù)據(jù)的交換,因而,信息傳輸?shù)陌踩c否直接關(guān)系到電網(wǎng)運行的安全,甚至能夠影響國家戰(zhàn)略部署和社會安定。因此智能電網(wǎng)ICS/MCS系統(tǒng)的安全問題顯得愈發(fā)重要。ICS/MCS系統(tǒng)的安全問題主要包括物理安全、運行安全以及信息安全三個方面。而由于智能電網(wǎng)的數(shù)字化程度高,易遭受網(wǎng)絡(luò)惡意代碼的攻擊,對電網(wǎng)造成極大威脅,這類威脅主要分為主觀威脅和客觀威脅兩類。客觀威脅主要來自電網(wǎng)內(nèi)部,包括自身電力設(shè)備及網(wǎng)絡(luò)設(shè)備的損壞或故障,由于工作人員的疏忽帶來的威脅也屬于客觀威脅;而主觀威脅則主要來自系統(tǒng)外部,主要包括商業(yè)間諜、犯罪分子以及網(wǎng)絡(luò)黑客的攻擊。智能電網(wǎng)信息安全防護的重點在于保證信息的完整性以及及時性,一旦信息完整性被破壞,無法及時進行傳遞,會造成整個電網(wǎng)運行的控制指令的錯誤甚至電網(wǎng)癱瘓。而傳統(tǒng)信息安全中所指的私密性在電網(wǎng)信息安全中反而處于較低的優(yōu)先級。為保證智能電網(wǎng)信息安全,需建立完整的信息安全方案,主要目的是:①設(shè)備接入控制:防止除系統(tǒng)許可的各類電氣設(shè)備、網(wǎng)絡(luò)設(shè)備等之外的設(shè)備接入系統(tǒng)。②數(shù)據(jù)信息認(rèn)證:確認(rèn)系統(tǒng)接收信息來源的合法性和信息完整性。主要技術(shù)手段可采用:第一,對終端各設(shè)備進行離線注冊并分別分配密鑰,并采用基于IBE策略的訪問控制及認(rèn)證,確保終端設(shè)備接入的合法性。第二,采用基于HASH函數(shù)的信息完整性確認(rèn)技術(shù),確保系統(tǒng)接收到信息的完整性。

3.3標(biāo)準(zhǔn)體系構(gòu)建問題

目前,對智能電網(wǎng)的繼續(xù)發(fā)展形成掣肘的主要問題之一便是標(biāo)準(zhǔn)體系遲遲未能完善。智能電網(wǎng)的建設(shè)牽涉到種類繁多的電氣設(shè)備、網(wǎng)絡(luò)設(shè)備,類型多樣,需要構(gòu)建一個統(tǒng)一的標(biāo)準(zhǔn)體系來確保各設(shè)備之間協(xié)調(diào)運行,形成這個標(biāo)準(zhǔn)體系的主要組成包括通信協(xié)議和標(biāo)準(zhǔn)。其中通信協(xié)議主要包括互聯(lián)網(wǎng)TCP/IP通信協(xié)議,而通信標(biāo)準(zhǔn)除了包括BPL標(biāo)準(zhǔn)外,還包括BACnet、IECTC57、IEC61400-25、IEEE802和1588等。從電網(wǎng)的發(fā)電、輸電、配電、送電和用電五大環(huán)節(jié)中,前三個環(huán)節(jié)目前在我國基本形成了比較完善的通信協(xié)議標(biāo)準(zhǔn)體系,以IEEE體系作為基本標(biāo)準(zhǔn),對電網(wǎng)廣域時間進行同步,同時借助PTP等協(xié)議對發(fā)電控制系統(tǒng)進行精確調(diào)節(jié)。但是,在送用電環(huán)節(jié),由于涉及到的用戶較多,用電設(shè)備種類覆蓋面積大,因此尚未與電氣生產(chǎn)商達成廣泛共識,形成統(tǒng)一的送用電標(biāo)準(zhǔn)體系,該項工程將會是未來智能電網(wǎng)發(fā)展的重點。

4結(jié)語

第9篇:基本通信協(xié)議范文

關(guān)鍵詞:同步串行接口;SPI;FPGA;Verilog HDL

中圖分類號:TP319文獻標(biāo)識碼:A文章編號:16727800(2012)009009202

0引言

SPI(串行設(shè)備接口)是一種廣泛使用的串行數(shù)據(jù)傳輸協(xié)議,主要用于微處理器與外設(shè)的高速通訊。由于它速度快,通信協(xié)議簡單,占用外部IO口少,相對來說較穩(wěn)定,因此廣泛應(yīng)用于AD轉(zhuǎn)換器、串行EEPROM、高速時鐘、FLASH、DDS以及LCD顯示驅(qū)動等領(lǐng)域。

另外,SPI口的時鐘速度、數(shù)據(jù)位長度、時鐘模式可以靈活控制,實質(zhì)上是一個長度可編程的移位寄存器,為提高其集成性和經(jīng)濟性,經(jīng)常通過其它芯片模擬SPI。本文介紹了一種基于FPGA設(shè)計模擬SPI的方法,完成了SPI的基本功能,具有一定的實用價值。

1SPI協(xié)議基礎(chǔ)

SPI是一種同步串行通信方式,數(shù)據(jù)是一位接一位進行傳輸?shù)?,主要是以主從方式工作的。主設(shè)備(Master)與從設(shè)備(Slavel)之間的連線方式如圖1,其中,主設(shè)備一個,從設(shè)備可為一個或多個。

MOSI:主設(shè)備數(shù)據(jù)輸出從設(shè)備數(shù)據(jù)輸入;MISO從設(shè)備數(shù)據(jù)輸出主設(shè)備數(shù)據(jù)輸入;SCK:時鐘信號由主設(shè)備產(chǎn)生,MOSI、MISO都是基于此時鐘信號完成數(shù)據(jù)傳輸;SSEL片選控制信號,控制芯片是否被選中成為SPI的從設(shè)備,低電平有效。SPI工作時序如圖2。

2SPI模塊代碼設(shè)計

本設(shè)計中SPI同步串口的設(shè)計主要采用硬件描述語言Verilog HDL來完成,由于FPGA模擬SPI主設(shè)備的設(shè)計與FPGA模擬SPI從設(shè)備的設(shè)計思路基本一致,而且FPGA模擬SPI主設(shè)備的設(shè)計更為復(fù)雜,所以,下面以FPGA為主設(shè)備為例介紹SPI同步串口的實現(xiàn)方法。

FPGA模擬SPI主設(shè)備實現(xiàn)的邏輯實現(xiàn)框圖如圖3所示。它主要包含3個模塊的設(shè)計:SCK產(chǎn)生模塊、發(fā)送數(shù)據(jù)模塊、接收數(shù)據(jù)模塊,下面將一一介紹其程序的實現(xiàn)方法。

2.1SCK產(chǎn)生模塊

同步時鐘信號SCK一般由輸入時鐘信號CLK分頻產(chǎn)生,在FPGA中對時鐘進行分頻一般有兩種方法:鎖相環(huán)的IP核分頻和直接采用Verilog HDL語言分頻。SCK的大小可由設(shè)計者靈活控制,但前提是一定要滿足從設(shè)備的時序要求,從設(shè)備對SCK一般包含3個方面的限定:SCK的周期最小值、SCK高電平的最小值、SCK低電平的最小值。

2.2數(shù)據(jù)發(fā)送模塊

如上圖3可知,數(shù)據(jù)發(fā)送模塊主要包含3個輸入信號時鐘信號CLK、復(fù)位信號RESET和兩個輸出信號片選信號SSEL、主設(shè)備發(fā)送給從設(shè)備的串行數(shù)據(jù)MOSI。

片選控制信號SSEL置低時有效,主設(shè)備開始和從設(shè)備進行數(shù)據(jù)交換,數(shù)據(jù)交換完成的是以字節(jié)為基本單位,當(dāng)FPGA模擬SPI主設(shè)備時,字節(jié)數(shù)可以根據(jù)從設(shè)備的不同而自動調(diào)節(jié)。主從設(shè)備一般有兩種數(shù)據(jù)交換方式:若主設(shè)備在SCK上升沿發(fā)送和下降沿接收,則從設(shè)備也在SCK上升沿發(fā)送和下降沿接收;若主設(shè)備在SCK下降沿發(fā)送和上升沿接收,則從設(shè)備也在SCK下降沿發(fā)送和上升沿接收。設(shè)計SSEL信號時一般要考慮以下幾點:①SSEL到SCK上升沿的最小時間;②SSEL到SCK下降沿的最小時間;③數(shù)據(jù)交換的字節(jié)數(shù)。

假若主設(shè)備在SCK上升沿發(fā)送,數(shù)據(jù)交換為2個字節(jié)(16bit),數(shù)據(jù)發(fā)送模塊設(shè)計代碼的流程如圖4。

其中,Txdata為發(fā)送的16bit數(shù)據(jù)寄存器,發(fā)送開始時先將i置15,檢測到SCK的第一個上升沿時,將片選信號SSEL拉低選中從設(shè)備,并將Txdata的最高位Txdata[15]送到MOSI串行線上,在SCK的下一個上升沿再將Txdata的次高位Txdata[14]送到MOSI串行線上,依此類推,一直到將Txdata的最低位Txdata[0]送到MOSI串行線后,若又檢測到SCK的上升沿,將片選信號SSEL拉高停止發(fā)送。

2.3數(shù)據(jù)接收模塊

數(shù)據(jù)接收模塊與數(shù)據(jù)發(fā)送模塊有所不同,主要包含五個輸入信號CLK、RESET、SSEL、SCK、從設(shè)備發(fā)送給主設(shè)備的串行數(shù)據(jù)MISO,無輸出信號。同樣,以數(shù)據(jù)交換為2個字節(jié)(16bit)為例,SCK下升沿接收數(shù)據(jù),數(shù)據(jù)接收模塊設(shè)計代碼的流程如圖5。

其中,Rxdata為16bit的接收緩沖器,SSEL拉低時開始接收數(shù)據(jù),一旦檢測到SCK下降沿,將MISO上的串行數(shù)據(jù)存入Rxdata的最低位Rxdata[0]中,當(dāng)又檢測到SCK的下降沿時,將Rxdata左移一位,并再將MISO上的串行數(shù)據(jù)存入Rxdata[0]中,依此類推,當(dāng)接收緩沖器 Rxdata全部更新一遍時,若檢測到SCK上升沿,將Rxdata 存儲值賦給Data_recieved,Data_recieved為最終接收到的16bit數(shù)據(jù)。

3仿真驗證及性能評估

FPGA芯片選擇Altera公司的Cyclone II系列的EP2C8T144I8,對整個FPGA為SPI主設(shè)備的設(shè)計在QuattusII 7.1中進行邏輯綜合,發(fā)現(xiàn)整個設(shè)計僅占用36個查找表的資源,用戶可以根據(jù)需要集成多個SPI主設(shè)備或從設(shè)備,F(xiàn)PGA內(nèi)部時鐘最高可達到200MHz,通過分頻基本可滿足大部分的SPI設(shè)備對SCK的要求,另外,F(xiàn)PGA具有非常強大的外部接口單元,可以兼容。各種電平的接口,可與大部分的SPI設(shè)備直接連接。

在Modelsim SE 6.5中對整個設(shè)計進行仿真,其中Txdata為發(fā)送的數(shù)據(jù),在測試程序中設(shè)定,Data_recieved為接收到的數(shù)據(jù),整個測試過程就是一個自循環(huán)的過程,接收到的數(shù)據(jù)和發(fā)送的數(shù)據(jù)一致。若txdata=36785 (二進制為1000111110110001),SCK為CLK的十分頻,則仿真結(jié)果如圖6。

4結(jié)語

文中介紹了SPI的通信協(xié)議及其在FPGA上的代碼實現(xiàn)方法。用FPGA實現(xiàn)SPI接口通信,通過對設(shè)計代碼作少許的修改,SPI的時鐘速度、數(shù)據(jù)位長度、時鐘模式都可以根據(jù)實際需要靈活控制。另外,SPI串口實現(xiàn)占用的FPGA邏輯資源并不太多,設(shè)計者可以根據(jù)需要外擴同時連接幾個SPI主從設(shè)備??傊肍PGA實現(xiàn)SPI接口通信具有一定的實用價值。

參考文獻: