国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

數(shù)字變電站IEC61850?GOOSE報文解碼器的FPGA實現(xiàn)

2015-09-16 23:25:16顏文吳潔李尚柏
現(xiàn)代電子技術 2015年18期

顏文 吳潔 李尚柏

摘 要: 在數(shù)字化變電站中,面向通用對象變電站事件(GOOSE)報文被用于傳輸跳合閘命令和狀態(tài)信息,它直接服務于保護測控裝置,記錄變電站實時的運行狀態(tài),報文的快速解碼能及時的排查偶發(fā)性故障。在詳細地分析IEC61850?GOOSE報文的結構后,考慮到報文傳輸?shù)膶崟r性要求,提出了GOOSE報文解碼的FPGA設計方案。重點敘述解碼模塊中兩個關鍵狀態(tài)機的設計,應用Verilog硬件描述語言在Qartus Ⅱ軟件平臺上實現(xiàn)了對解碼模塊的編寫,最后通過對解碼模塊的功能仿真和在線調試驗證了設計的合理性。

關鍵詞: 數(shù)字變電站; 硬件解碼; GOOSE報文; FPGA

中圖分類號: TN702?34; TP302 文獻標識碼: A 文章編號: 1004?373X(2015)18?0151?04

Abstract: In digital substation, general object oriented substation event (GOOSE) messages are used to transmit the switch command and status information. The messages are applied to protecting the measuring and control devices, and recording the real?time running state of the substation. The fast decoding to the messages can discover occasional malfunction. After analyzing the structure of IEC61850?GOOSE messages, the FPGA?based design scheme of GOOSE messages decoding is proposed by considering the real?time requirement of messages transmission. The design of two key state machines in decoding module is described emphatically. The compiling of decoding module was realized on Qartus Ⅱsoftware platform by using Verilog hardware description language. The rationality of this design was proved by function simulation of the decoding module and online debugging.

Keywords: digital substation; hardware decoding; GOOSE message; FPGA

0 引 言

變電站作為供電的樞紐,在電力系統(tǒng)中有著重要的地位,隨著電力行業(yè)的發(fā)展,對變電站的智能化要求也越來越高,數(shù)字化,網絡化成為其發(fā)展的趨勢。數(shù)字化變電站采用IEC61850標準進行建模和通信,實現(xiàn)了站內智能設備間的信息共享和不同設備的統(tǒng)一管理[1],GOOSE作為IEC61850標準中定義的變電站事件模型之一,其報文傳輸可靠性高,實時性好,廣泛地用于傳輸保護跳閘,信息閉鎖等重要信息。

數(shù)字變電站中傳輸?shù)腉OOSE報文是按照IEC61850標準的相關協(xié)議編碼的數(shù)據(jù)幀,接收信息的設備需要對數(shù)據(jù)幀進行解碼,并將解碼的數(shù)據(jù)保存起來便于后期的數(shù)據(jù)分析。

目前,國內數(shù)字變電站對IEC61850?GOOSE報文的解碼主要通過軟件形式在操作系統(tǒng)下實現(xiàn),相比硬件解碼而言,這種方式不僅處理速度較慢,而且還增加了成本。FPGA在數(shù)字信號處理和控制領域都有著成熟的應用,研究基于FPGA對GOOSE報文的解碼對于維護數(shù)字變電站的正常運行和保證通信的實時性有著重要的意義。

1 IEC61850標準的GOOSE協(xié)議

1.1 BER編碼規(guī)則

根據(jù)標準規(guī)定,GOOSE協(xié)議報文采用抽象語法記法(ASN.1)的基本編碼規(guī)則(BER)編碼[2],BER的語法格式為TLV三元組。標簽域(T)定義一種類型,長度域(L)定義值域的長度,值域(V)定義數(shù)據(jù)對象的值。根據(jù)V域不同,編碼結構分為基本類型和結構類型,基本類型只包含一個TLV,而結構類型的V域至少嵌套一個TLV,具體結構如圖1所示。

1.2 IEC61850?GOOSE的報文幀結構

GOOSE服務的通信協(xié)議棧由應用層、表示層、數(shù)據(jù)鏈路層和物理層組成[3],會話層、傳輸層和網絡層均為空,這樣可以縮短報文的長度,減少傳輸?shù)难訒r。應用層定義了GOOSE報文的應用協(xié)議數(shù)據(jù)單元(APDU),表示層遵循ASN.1 BER對APDU進行編碼,數(shù)據(jù)鏈路層基于ISO/IEC 8802?3標準設置報文的傳輸優(yōu)先級,以太網類型,組播地址等,IEC61850?GOOSE的報文幀結構見圖2。

2 系統(tǒng)的工作原理

遵循IEC61850?GOOSE協(xié)議的以太網數(shù)據(jù)幀通過RJ45接口和PHY以太網芯片后傳送給MAC太網控制器[4],正常工作時,MAC對實時接收到數(shù)據(jù)幀進行卸裝,對地址匹配的數(shù)據(jù)幀去除前導碼、定界符、填充數(shù)據(jù)和校驗序列后得到MAC幀,再由輸出緩沖器接口輸出給解碼模塊。解碼模塊根據(jù)配置信息對數(shù)據(jù)幀進行解碼,將以太網配置信息,APDU配置信息,GOOSE數(shù)據(jù)集分離,并分類存儲在RAM的不同位置,用戶可通過應用程序和MCU讀取需要的數(shù)據(jù)[5],工作原理如圖3所示。

3 解碼模塊的設計

GOOSE報文內容包括報頭的以太網配置信息,APDU頭部的配置信息和GOOSE數(shù)據(jù)集3個部分[6]。以太網配置信息的數(shù)據(jù)相對固定,可以直接的解析出來,而APDU 采用BER 編碼,數(shù)據(jù)不固定,需要根據(jù)標簽類型對APDU中的各個數(shù)據(jù)項進行解碼。

根據(jù)GOOSE報文的結構特點,把報文的解碼放在Frame_fsm(數(shù)據(jù)幀解碼狀態(tài)機)和Length_fsm(TLV數(shù)據(jù)格式L域解碼狀態(tài)機)2個狀態(tài)機中進行;前者控制整個數(shù)據(jù)幀解碼流程,后者實現(xiàn)對長度域的解碼。

3.1 Frame_fsm狀態(tài)機

Frame_fsm狀態(tài)機主要實現(xiàn)數(shù)據(jù)的讀取、過濾、分離和分類存儲,包括12個狀態(tài)常量,采用獨熱碼編碼[7]。其中Idle是待解碼狀態(tài),當start信號有效,進入Ready狀態(tài);Ready狀態(tài)下所有輸出狀態(tài)寄存器清零,準備數(shù)據(jù)幀的解析;Read狀態(tài)下從Avalon主接口讀取數(shù)據(jù);Wait_Read狀態(tài)下等待,直到讀取一次數(shù)據(jù)完成,并在此狀態(tài)下判斷讀到的數(shù)據(jù)是否符合過濾條件;Judge_Type狀態(tài)下對APDU包含的數(shù)據(jù)類型進行解析;WR_Heaer和Wait_WR_Header狀態(tài)下完成對以太網配置信息的存儲,如果寫傳輸中有延時則需要等待;同理,WR_APDU和Wait_WR_APDU狀態(tài)下完成對APDU配置信息的存儲;WR_Data和Wait_WR_Data狀態(tài)下,完成對GOOSE數(shù)據(jù)集的存儲;直到解析完整幀數(shù)據(jù),進入End狀態(tài),F(xiàn)rame_fsm狀態(tài)機的狀態(tài)轉移如圖4所示。

3.2 Length_fsm狀態(tài)機

Length_fsm狀態(tài)機完成對TLV數(shù)據(jù)格式的L域的解析,包括5個狀態(tài)常量,采用二進制編碼。Length_Idle是APDU中TLV數(shù)據(jù)格式的L域待解碼狀態(tài),根據(jù)輸出標志將結構類型數(shù)據(jù)和基本數(shù)據(jù)類型分開解碼;Struct狀態(tài)下對APDU中結構類型數(shù)據(jù)的L域解碼;Basic_Short狀態(tài)下對基本類型L域編碼方式為短定長型的數(shù)據(jù)解碼;Basic_Long狀態(tài)下對基本類型L域編碼方式為長定長型的數(shù)據(jù)解碼;Basic_Indef狀態(tài)下對基本類型L域編碼方式為非定長型的數(shù)據(jù)解碼,F(xiàn)rame_fsm狀態(tài)機的狀態(tài)轉移如圖5所示。

3.3 模塊的功能仿真

本文在Quartus Ⅱ9.1環(huán)境中完成了解碼模塊代碼的編寫,編譯后調用ModelSim?Altera 6.5b軟件進行了功能的仿真,驗證了設計的可靠性,仿真結果如圖6所示。從圖中可以看出,read_data是解碼模塊從數(shù)據(jù)緩沖區(qū)依次讀取的報文數(shù)據(jù),write_data為依次存放到內存中的數(shù)據(jù),前26 B是以太網配置的信息,從第27 B開始是GOOSE報文的APDU部分,此時Header_flag標志由1變?yōu)?,APDU_flag標志由0變?yōu)?,直到APDU配置信息結束,APDU_flag標志變?yōu)?,數(shù)據(jù)集標志Data_flag標志變?yōu)?,而Frame_state和Length_state表明解碼的狀態(tài)。

4 解碼模塊的軟件仿真驗證

運用SoPC?builder將解碼模塊集成到Nios Ⅱ系統(tǒng)中[8],再下載到FPGA芯片中進行在線仿真調試,用到的工具有Altera公司的Quartus Ⅱ 9.1,Nios Ⅱ IDE 9.1軟件和H3C40?V6 FPGA開發(fā)板,驗證流程如圖7所示。

將用于測試的GOOSE報文數(shù)據(jù)存儲在FPGA的RAM中,通過對存儲器初始化完成[9]。在Nios Ⅱ IDE的存儲器窗口下查看內存中一幀待解碼的GOOSE報文,當報文經過交換機到達網絡端口時,已經去掉TPID(0x8100)和TCI(0x4000)標志,該報文長158 B,存放的基地址為0x00020000,如圖8所示。

解碼完成后,在Nios Ⅱ IDE變量窗口可查看解碼的相關信息,如圖9所示。圖中計時器計數(shù)值為793,系統(tǒng)工作時鐘50 MHz,可計算出解碼所用的時間約為15.86 μs。

為了測試解碼模塊過濾報文的性能,在RAM中存放30幀數(shù)據(jù),包括符合過濾條件的GOOSE數(shù)據(jù)幀,不符合過濾條件的GOOSE數(shù)據(jù)幀和非GOOSE數(shù)據(jù)幀[10]。解碼完成后,在Nios Ⅱ IDE變量窗口查看結果,如圖10所示。從圖中可以看出完全符合條件的數(shù)據(jù)幀有12幀,不符合條件的數(shù)據(jù)幀被過濾掉了。Frame_Length數(shù)組中存放每1幀GOOSE報文的長度值,Header_base數(shù)組中存放報文以太網配置信息基地址,APDU_base數(shù)組中存放APDU配置信息基地址,Data_base數(shù)組中存放GOOSE數(shù)據(jù)集基地址,通過讀取解碼模塊返回的基地址,可以訪問內存中相應的已解碼數(shù)據(jù)。

5 結 語

本文基于FPGA實現(xiàn)了對IEC61850標準的GOOSE報文的快速解碼,通過對解碼模塊的功能仿真驗證了設計邏輯的正確性,在線的數(shù)據(jù)測試結果表明解碼模塊實現(xiàn)了對報文的過濾和不同數(shù)據(jù)類型的分類存儲。采用FPGA硬件方式對GOOSE報文解碼,其解析報文的速度快,滿足實時性的要求,有利于盡早地發(fā)現(xiàn)變電站故障,保障變電站的安全運行;FPGA資源豐富,許多功能模塊都能集成到一塊芯片上,可以方便地移植到數(shù)字變電站的智能設備中以實現(xiàn)快速通信。

參考文獻

[1] 羅承沐,張貴新.電感式互感器與數(shù)字變電站[M].北京:中國電力出版社,2012.

[2] 李永亮,葛維春,王之茗.IEC61850通訊標準中的編碼規(guī)范ASN.1[J].電力系統(tǒng)保護與控制,2008,36(22):66?70.

[3] 韓明峰,張捷,鄭永志.IEC61850?GOOSE實時通信的實現(xiàn)方法[J].電力自動化設備,2009,29(1):143?146.

[4] 楊柳.基于ARM和FPGA的電力光纖信號分析儀的設計[J].現(xiàn)代電子技術,2011,34(4):177?180.

[5] 楊新華,韓永軍.基于FPGA的數(shù)字化變電站計量儀表研究與設計[J].測控技術與儀器儀表,2012,38(5):91?93.

[6] 張侃君,夏勇軍,王晉等.智能變電站GOOSE通信技術[J].湖北電力,2013,37(1):7?10.

[7] 夏宇聞.Verilog數(shù)字信號系統(tǒng)設計教程[M].北京:北京航空航天大學出版社,2003.

[8] 李蘭英.Nios Ⅱ嵌入式軟核SoPC設計原理及應用[M].北京:北京航空航天大學出版社,2006.

[9] 趙倩.Verilog數(shù)字系統(tǒng)設計FPGA應用[M].北京:清華大學出版社,2012.

[10] 王松,黃曉明.GOOSE報文過濾方法研究[J].電力系統(tǒng)自動化,2008,32(19):54?57.

株洲市| 罗山县| 屏山县| 桃园县| 同德县| 松滋市| 平山县| 桂东县| 昌图县| 静宁县| 上虞市| 虞城县| 阆中市| 安康市| 富蕴县| 浑源县| 涡阳县| 慈溪市| 宁城县| 万全县| 吉木萨尔县| 凤阳县| 饶阳县| 柯坪县| 泽库县| 丹棱县| 顺昌县| 滨海县| 称多县| 太仓市| 五家渠市| 东兰县| 集安市| 县级市| 廊坊市| 洛阳市| 加查县| 油尖旺区| 新竹市| 剑阁县| 林州市|