基于DSP的嵌入式TCP/IP協(xié)議的研究與實(shí)現(xiàn)
為了將以太網(wǎng)通信技術(shù)應(yīng)用于電力自動化系統(tǒng)當(dāng)中,本文結(jié)合電力自動化系統(tǒng)實(shí)際詳細(xì)分析了嵌入式TCP/IP協(xié)議的選取原則,采用DSP芯片和網(wǎng)卡接口控制芯片設(shè)計(jì)了以太網(wǎng)接口,介紹了DSP芯片對網(wǎng)卡接口控制芯片的控制過程和TCP/IP協(xié)議棧處理數(shù)據(jù)包的流程,完成了嵌入式TCP/IP系統(tǒng)的開發(fā)。該系統(tǒng)可以將數(shù)據(jù)按網(wǎng)絡(luò)協(xié)議處理,實(shí)現(xiàn)數(shù)據(jù)的以太網(wǎng)傳輸。
引言
近幾年來,我國電力自動化工作取得了很大進(jìn)展,電力自動化系統(tǒng)的通信方式也不斷改進(jìn)。最早是用RS485總線將各種保護(hù)、遠(yuǎn)動設(shè)備聯(lián)在一起,用主從方式與主機(jī)通信,方式簡單,技術(shù)缺陷也比較多。后來出現(xiàn)的現(xiàn)場總線技術(shù)因其組網(wǎng)方便、抗干擾能力強(qiáng)等特點(diǎn)得到廣泛的應(yīng)用。
現(xiàn)場總線標(biāo)準(zhǔn)有多種,電力自動化系統(tǒng)中最常用的是LONWORKS總線和CAN總線兩種。LONWORKS總線通信速率為78kbps和1.25Mbps,CAN總線通信速率為1Mbps。隨著電網(wǎng)的發(fā)展,現(xiàn)場總線標(biāo)準(zhǔn)不統(tǒng)一、傳輸速率低(最大也僅為1Mbps左右)的局限性逐漸暴露出來。以太網(wǎng)具有通用性強(qiáng)、技術(shù)成熟、帶寬迅速增加等特性,工業(yè)控制領(lǐng)域出現(xiàn)嵌入式技術(shù),尤其是DSP技術(shù)的發(fā)展和
DSP在工業(yè)控制領(lǐng)域的廣泛應(yīng)用,使得在電力自動化系統(tǒng)設(shè)計(jì)時可以利用嵌入式技術(shù)實(shí)現(xiàn)以太網(wǎng)通信,為電力自動化提供開放式、全分布、可互操作性的通信平臺。網(wǎng)絡(luò)傳輸?shù)膶?shí)時性是電力自動化系統(tǒng)內(nèi)部通信網(wǎng)的關(guān)鍵指標(biāo)。以太網(wǎng)帶寬達(dá)到10Mb/s,可承受的網(wǎng)絡(luò)負(fù)荷很大,加上交換式智能集線器的使用,選擇10Mb/s以太網(wǎng)作為變電站自動化系統(tǒng)的內(nèi)部通信網(wǎng),其網(wǎng)絡(luò)傳輸實(shí)時性是有保證的。本文將著重討論嵌入式TCP/IP協(xié)議的選擇和DSP實(shí)現(xiàn)。
嵌入式協(xié)議的選擇
TCP/IP協(xié)議是一組不同層次上的多個協(xié)議的組合,通常被認(rèn)為是一個包含鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層的四層協(xié)議系統(tǒng)[2]。嵌入式系統(tǒng)是為完成某種特定的功能而設(shè)計(jì)的專用系統(tǒng)。嵌入式系統(tǒng)不要求(也不可能)實(shí)現(xiàn)所有的TCP/IP協(xié)議,所以嵌入式TCP/IP是對TCP/IP協(xié)議族進(jìn)行選擇而形成的協(xié)議集合。
鏈路層協(xié)議的選擇
鏈路層協(xié)議的選擇鏈路層最基本的功能是將物理層提供的原始傳送比特流可能出錯的物理連接改造為邏輯上無差錯的數(shù)據(jù)連接,為其上層協(xié)議發(fā)送和接收數(shù)據(jù)包。以太網(wǎng)遵循IEEE802.3所規(guī)定的CSMA/CD(載波監(jiān)聽多路訪問及沖突監(jiān)測)協(xié)議,實(shí)現(xiàn)該協(xié)議可以采用通用的NIC(networkinterfacecontroller網(wǎng)絡(luò)接口控制)芯片。另外,以太網(wǎng)上數(shù)據(jù)的傳輸是采用網(wǎng)絡(luò)的MAC地址來進(jìn)行識別的,這就要求系統(tǒng)有實(shí)現(xiàn)IP地址到MAC地址的轉(zhuǎn)換功能,即ARP(地址解析)協(xié)議。ARP協(xié)議包括ARP請求和ARP響應(yīng)兩部分,系統(tǒng)要同其他計(jì)算機(jī)通信,就必須要支持ARP響應(yīng)。ARP請求在本地建立了一個IP地址到MAC地址的映射,保證了對外通信的有的放矢。RARP(逆地址解析)協(xié)議主要用于解決如何從MAC地址得到IP地址,主要用于無盤工作站中。在本嵌入式系統(tǒng)中可以把IP地址存儲于本地存儲器中,不必從其他服務(wù)器得到IP地址,這樣就無需實(shí)現(xiàn)RARP協(xié)議。
網(wǎng)絡(luò)層協(xié)議的選擇
網(wǎng)絡(luò)層主要負(fù)責(zé)處理數(shù)據(jù)包在網(wǎng)絡(luò)中的活動。在TCP/IP協(xié)議族中,網(wǎng)絡(luò)層協(xié)議包括IP協(xié)議(網(wǎng)際協(xié)議)、ICMP協(xié)議(Internet控制報文協(xié)議)以及IGMP協(xié)議(Internet組管理協(xié)議)等。IP協(xié)議是TCP/IP族的核心協(xié)議,它使異構(gòu)網(wǎng)絡(luò)之間的通信成為可能。因此RTU等系統(tǒng)數(shù)據(jù)跨越不同的網(wǎng)絡(luò)進(jìn)行傳輸就必須要實(shí)現(xiàn)IP協(xié)議。ICMP中規(guī)定了多種協(xié)議類型和代碼,如果完全的實(shí)現(xiàn)也要耗費(fèi)不少的系統(tǒng)資源,本嵌入式系統(tǒng)中,在ICMP協(xié)議中能夠測試網(wǎng)絡(luò)的連通情況即可,因此只需實(shí)現(xiàn)ICMP中類型號為0、代碼為0的Ping應(yīng)答協(xié)議。IGMP協(xié)議主要用于支持主機(jī)和路由器進(jìn)行組播,在將報文發(fā)給多個接收者時,嵌入式TCP/IP作為一種專用系統(tǒng)接入網(wǎng)絡(luò)的技術(shù),為了降低處理協(xié)議的復(fù)雜程度,可以直接采用廣播方式,不必要采用組播的方式進(jìn)行通信。因此在設(shè)計(jì)中不考慮實(shí)現(xiàn)IGMP協(xié)議。
傳輸層協(xié)議的選擇
傳輸層主要在兩臺主機(jī)之間提供端到端的通信。傳輸層有兩種不相同的傳輸協(xié)議:TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報協(xié)議)。TCP是面向連接的,在不可靠的網(wǎng)絡(luò)服務(wù)上提供端到端的可靠字節(jié)流。TCP協(xié)議設(shè)計(jì)了嚴(yán)格的3次建立連接握手過程、4次關(guān)閉連接握手過程以及捎帶確認(rèn)信息并通過滑動窗口進(jìn)行流量控制的數(shù)據(jù)傳輸過程。UDP協(xié)議是用來提供不面向連接的,它只是簡單地把數(shù)據(jù)報從一臺主機(jī)發(fā)送到另一臺主機(jī),但并不保證該數(shù)據(jù)報能到達(dá)另一端,可靠性必須由應(yīng)用層來提供。在微機(jī)遠(yuǎn)動和故障錄波等實(shí)時性要求不太高的設(shè)備中采用TCP協(xié)議,保證傳輸?shù)馁|(zhì)量。在微機(jī)保護(hù)和自動控制等實(shí)時性要求高的設(shè)備中采用UDP協(xié)議,其固有的傳輸可靠性低的缺陷可通過應(yīng)用層的協(xié)議進(jìn)行彌補(bǔ)。
應(yīng)用層協(xié)議選擇
應(yīng)用層協(xié)議主要是指用戶進(jìn)程。在電力自動化系統(tǒng)中,可以采用國際標(biāo)準(zhǔn)遠(yuǎn)動通信協(xié)議IEC60870-5-103或IEC60870-5-104協(xié)議等。IEC61850協(xié)議草案是IEC(國際電工委員會)針對電力系統(tǒng)自動化制定的面向?qū)ο蠛驮O(shè)備的無縫聯(lián)接通信協(xié)議。該協(xié)議正式公布以后,也可以采用。