為了將以太網通信技術應用于電力自動化系統當中,本文結合電力自動化系統實際詳細分析了嵌入式TCP/IP協議的選取原則,采用DSP芯片和網卡接口控制芯片設計了以太網接口,介紹了DSP芯片對網卡接口控制芯片的控制過程和TCP/IP協議棧處理數據包的流程,完成了嵌入式TCP/IP系統的開發。該系統可以將數據按網絡協議處理,實現數據的以太網傳輸。
引言
近幾年來,我國電力自動化工作取得了很大進展,電力自動化系統的通信方式也不斷改進。最早是用RS485總線將各種保護、遠動設備聯在一起,用主從方式與主機通信,方式簡單,技術缺陷也比較多。后來出現的現場總線技術因其組網方便、抗干擾能力強等特點得到廣泛的應用。
現場總線標準有多種,電力自動化系統中最常用的是LONWORKS總線和CAN總線兩種。LONWORKS總線通信速率為78kbps和1.25Mbps,CAN總線通信速率為1Mbps。隨著電網的發展,現場總線標準不統一、傳輸速率低(最大也僅為1Mbps左右)的局限性逐漸暴露出來。以太網具有通用性強、技術成熟、帶寬迅速增加等特性,工業控制領域出現嵌入式技術,尤其是DSP技術的發展和
DSP在工業控制領域的廣泛應用,使得在電力自動化系統設計時可以利用嵌入式技術實現以太網通信,為電力自動化提供開放式、全分布、可互操作性的通信平臺。網絡傳輸的實時性是電力自動化系統內部通信網的關鍵指標。以太網帶寬達到10Mb/s,可承受的網絡負荷很大,加上交換式智能集線器的使用,選擇10Mb/s以太網作為變電站自動化系統的內部通信網,其網絡傳輸實時性是有保證的。本文將著重討論嵌入式TCP/IP協議的選擇和DSP實現。
嵌入式協議的選擇
TCP/IP協議是一組不同層次上的多個協議的組合,通常被認為是一個包含鏈路層、網絡層、傳輸層和應用層的四層協議系統[2]。嵌入式系統是為完成某種特定的功能而設計的專用系統。嵌入式系統不要求(也不可能)實現所有的TCP/IP協議,所以嵌入式TCP/IP是對TCP/IP協議族進行選擇而形成的協議集合。
鏈路層協議的選擇
鏈路層協議的選擇鏈路層最基本的功能是將物理層提供的原始傳送比特流可能出錯的物理連接改造為邏輯上無差錯的數據連接,為其上層協議發送和接收數據包。以太網遵循IEEE802.3所規定的CSMA/CD(載波監聽多路訪問及沖突監測)協議,實現該協議可以采用通用的NIC(networkinterfacecontroller網絡接口控制)芯片。另外,以太網上數據的傳輸是采用網絡的MAC地址來進行識別的,這就要求系統有實現IP地址到MAC地址的轉換功能,即ARP(地址解析)協議。ARP協議包括ARP請求和ARP響應兩部分,系統要同其他計算機通信,就必須要支持ARP響應。ARP請求在本地建立了一個IP地址到MAC地址的映射,保證了對外通信的有的放矢。RARP(逆地址解析)協議主要用于解決如何從MAC地址得到IP地址,主要用于無盤工作站中。在本嵌入式系統中可以把IP地址存儲于本地存儲器中,不必從其他服務器得到IP地址,這樣就無需實現RARP協議。
網絡層協議的選擇
網絡層主要負責處理數據包在網絡中的活動。在TCP/IP協議族中,網絡層協議包括IP協議(網際協議)、ICMP協議(Internet控制報文協議)以及IGMP協議(Internet組管理協議)等。IP協議是TCP/IP族的核心協議,它使異構網絡之間的通信成為可能。因此RTU等系統數據跨越不同的網絡進行傳輸就必須要實現IP協議。ICMP中規定了多種協議類型和代碼,如果完全的實現也要耗費不少的系統資源,本嵌入式系統中,在ICMP協議中能夠測試網絡的連通情況即可,因此只需實現ICMP中類型號為0、代碼為0的Ping應答協議。IGMP協議主要用于支持主機和路由器進行組播,在將報文發給多個接收者時,嵌入式TCP/IP作為一種專用系統接入網絡的技術,為了降低處理協議的復雜程度,可以直接采用廣播方式,不必要采用組播的方式進行通信。因此在設計中不考慮實現IGMP協議。
傳輸層協議的選擇
傳輸層主要在兩臺主機之間提供端到端的通信。傳輸層有兩種不相同的傳輸協議:TCP(傳輸控制協議)和UDP(用戶數據報協議)。TCP是面向連接的,在不可靠的網絡服務上提供端到端的可靠字節流。TCP協議設計了嚴格的3次建立連接握手過程、4次關閉連接握手過程以及捎帶確認信息并通過滑動窗口進行流量控制的數據傳輸過程。UDP協議是用來提供不面向連接的,它只是簡單地把數據報從一臺主機發送到另一臺主機,但并不保證該數據報能到達另一端,可靠性必須由應用層來提供。在微機遠動和故障錄波等實時性要求不太高的設備中采用TCP協議,保證傳輸的質量。在微機保護和自動控制等實時性要求高的設備中采用UDP協議,其固有的傳輸可靠性低的缺陷可通過應用層的協議進行彌補。
應用層協議選擇
應用層協議主要是指用戶進程。在電力自動化系統中,可以采用國際標準遠動通信協議IEC60870-5-103或IEC60870-5-104協議等。IEC61850協議草案是IEC(國際電工委員會)針對電力系統自動化制定的面向對象和設備的無縫聯接通信協議。該協議正式公布以后,也可以采用。
基于芯片嵌入式的實現
基于DSP的嵌入式TCP/IP網絡通信系統主要包括DSP芯片和以太網控制器等芯片組成的以太網接口、驅動軟件和嵌入式TCP/IP協議棧。
硬件設計
TMS320LF240x是TI公司發布的一款具有很高的性價比,適合用于工業控制領域的芯片。TMS320LF2407控制器是240x系列中功能最強的一種控制器,在電力自動化系統中得到了廣泛應用。TMS320LF2407工作頻率高(40MHz),有很大的存儲空間(高達32K字的FLASH程序存儲器,可擴展外部64K字程序存儲器,64K字數據存儲器,64K字I/O尋址空間),也非常適合用來處理復雜的TCP/IP協議。
RTL8019AS是***REALTEK半導體公司生產的以太網控制器,其性能包括:支持EthernetⅡ和EEE802.3標準;支持8/16位數據總線;內置16K字的SRAM;全雙工,收發同時達到10Mbps;支持BNC,AUI,UTP介質。RTL8019AS可提供100腳的TQFP封裝,減少了PCB面積,更適合于嵌入式系統。
RTL8019AS通過CR寄存器中PS0和PS1位將寄存器組分為4頁。每頁包含16個寄存器,00H到1FH為各種寄存器的地址,10H-17H為遠端DMA端口,18H-1FH為復位端口(這些地址是相對于網卡I/O起始地址而言的,起始地址由配置寄存器的3-0bit決定)。TMS320LF2407對RTL8019AS的控制就是對寄存器編程,所以我們只用5根地址線與RTL8019AS相連。由于DSP與單片機不同,DSP的I/O空間與程序數據空間使用相同的地址區域,必須使用TMS320LF2407的控制信號IS控制對RTL8019AS寄存器的讀寫。TMS320LF2407的讀/寫速度很快,因此將RTL8019AS的IOCHRDY信號與TMS320LF2407的READY相連。需要注意的是TMS320LF2407和RTL8019AS工作電壓不同,之間的連線需要通過電平轉換。以太網接口電路如圖1所示。
軟件設計
以太網鏈路層遵循的IEEE802.3協議的CSMA/CD和CRC校驗等功能由網卡控制芯片Rtl8019as完成,TMS320LF2407芯片則完成其他TCP/IP協議的解釋和執行。TMS320LF2407控制RTL8019AS完成通信任務時,首先要對RTL8019AS復位,并對RTL8019AS的寄存器進行初始化,確定發送和接收的條件,然后才能發送數據或接收數據。當一幀數據發送結束、接收到一幀數據或出錯等事件發生時,RTL8019AS向TMS320LF2407申請中斷,TMS320LF2407響應中斷后根據中斷狀態寄存器的內容進行相應的處理。
在TMS320LF2407內部,DSP程序完成對數據的打包解包。系統復位后,系統首先發送ARP請求,建立地址映射,并內部中斷進行定時更新。DSP芯片根據情況將采集或收集到數據按照TCP協議或UDP協議格式打包,送入網卡芯片,由網卡芯片將數據輸出到局域網中。反之,當有數據從RJ45過來,網卡芯片產生外部中斷,請求DSP進行處理。DSP芯片對數據報進行分析,如果是ARP(物理地址解析)數據包,則程序轉入ARP處理程序。如果是IP數據包則進一步判斷是哪個協議向IP傳送數據。如果是ICMP協議,判斷是否為Ping請求,是則應答,不是丟棄該數據包;如果是TCP或UDP協議,且端口正確則按相應的協議處理數據,端口不正確丟棄數據包。程序框圖如圖2所示。
結論
本文結合電力系統自動化系統實際提出了一種基于DSP的嵌入式TCP/IP的實現,論述了協議的選擇和軟硬件的設計方法。實驗結果表明數據通過該系統處理以后可以直接送到以太網進行傳輸。這為在電力自動化系統當中應用以太網通信技術提供了一種解決方法。
評論
查看更多