• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA IEC61850-9-2硬件解碼器設(shè)計

      2014-01-15 10:00:22黃其培李興武
      電子設(shè)計工程 2014年19期
      關(guān)鍵詞:狀態(tài)機解碼傳輸

      黃其培,匡 彪,李興武

      (昆明船舶設(shè)備研究中心 云南 昆明 650051)

      而今互聯(lián)網(wǎng)時代,隨著社會經(jīng)濟的不斷發(fā)展,新技術(shù)不斷涌現(xiàn),電力已經(jīng)成為人們的必需品,變電站的數(shù)字化已成為變電站發(fā)展的趨勢。數(shù)字化變電站采用IEC61850標(biāo)準(zhǔn)進行建模,在IEC61850標(biāo)準(zhǔn)的統(tǒng)一規(guī)約下,站內(nèi)設(shè)備間傳送的信息必須按該標(biāo)準(zhǔn)所規(guī)定的相關(guān)協(xié)議進行編解碼[1]。由此可知,依據(jù)IEC61850標(biāo)準(zhǔn)對站內(nèi)流動信息的編解碼在數(shù)字變電站建設(shè)中有著不可替代的地位。研究編解碼的快速實現(xiàn)方法具有較高應(yīng)用、學(xué)術(shù)價值。

      目前國內(nèi)數(shù)字站數(shù)據(jù)采集與傳輸中,IEC61850-9-1、9-2都有一定的應(yīng)用,由9-1幀格式固定,編解碼方面軟硬件都有實現(xiàn),對于9-2幀結(jié)構(gòu)的不確定性,其編解碼實現(xiàn)較為復(fù)雜,目前主要是采用軟件形式實現(xiàn)。隨著網(wǎng)絡(luò)管理功能,交換機技術(shù)的迅速發(fā)展和其成本的降低,9-2相對于9-1在安裝靈活、便于實現(xiàn)跨間隔保護及光纖連接簡潔等方面的優(yōu)勢越發(fā)突出,勢必9-2將得到更多的應(yīng)用,當(dāng)前關(guān)于9-2的研究,主要是通過ARM芯片和軟件來實現(xiàn),由于該方法處理速度較慢,當(dāng)隨著采樣率的提高,其性能未能改善,不能很好的滿足系統(tǒng)實時性要求,不利于系統(tǒng)工作的穩(wěn)定性,因此,對一種更快速的實現(xiàn)方法的研究迫在眉睫。

      基于速度、實時性的考慮,本文提出了采用FPGA實現(xiàn)9-2數(shù)據(jù)幀快速解碼的設(shè)計方案,通過軟件仿真和在線數(shù)據(jù)測試,滿足了設(shè)計要求,為后期的進一步數(shù)據(jù)處理提供了可靠保證。

      1 IEC61850-9-2標(biāo)準(zhǔn)

      IEC61850-9-2標(biāo)準(zhǔn)采用以太網(wǎng)模式,面向任意間隔,通信通道的采樣數(shù)據(jù)傳輸形式可任意組合,便于實現(xiàn)跨間隔的二次功能的采樣值的數(shù)據(jù)傳送[2]。9-2采樣值應(yīng)用協(xié)議數(shù)據(jù)單元(APDU)采用與基本編碼規(guī)則(BER)相關(guān)的ASN.1語法對通過ISO/IEC8802-3傳輸?shù)牟蓸又敌畔⑦M行編碼,則基于IEC61850-9-2標(biāo)準(zhǔn)的APDU幀格式如圖1所示[3]。

      2 設(shè)計的功能劃分和實現(xiàn)方案

      本文設(shè)計主要分為數(shù)據(jù)解碼和網(wǎng)絡(luò)傳輸兩個部分實現(xiàn),實現(xiàn)過程采用模塊化設(shè)計,其功能模塊包括存儲器、解碼模塊、網(wǎng)絡(luò)傳輸模塊。其中解碼模塊中設(shè)有寄存器,CPU可以通過訪問相應(yīng)的寄存器實現(xiàn)對解碼模塊的設(shè)置和狀態(tài)信息的讀取。功能模塊框圖如圖2所示。

      由圖可知,當(dāng)系統(tǒng)開始工作時,CPU通過Avalon總線接口對存儲器、解碼模塊和以太控制器進行初始化設(shè)置,解碼模塊與網(wǎng)絡(luò)傳輸模塊之間采用流控制模式傳輸,使得解碼模塊可以在不受CPU干預(yù)的情況下進行解碼[4]。在解碼過程中,解碼模塊從網(wǎng)絡(luò)上獲取數(shù)據(jù),進行實時解碼,以實現(xiàn)幀結(jié)構(gòu)數(shù)據(jù)類分離,并對數(shù)據(jù)進行分類存儲,用戶可以隨時訪問解碼模塊寄存器和存儲器,以獲取自己關(guān)心的信息內(nèi)容(如解碼狀態(tài)、APDU配置信息、采樣速率、采樣值序列等)。

      圖1 基于IEC61850-9-2的APDU幀格式Fig.1 The form of APDU of IEC61850-9-2

      圖2 系統(tǒng)功能框圖Fig.2 Function diagram of system

      研究工作的實現(xiàn)分兩個階段:1)針對具體的9-2數(shù)據(jù)幀的結(jié)構(gòu)特點進行了解碼模塊設(shè)計和仿真,解碼模塊仿真采用離線形式,即仿真時所解碼的數(shù)據(jù)幀源于FPGA片上RAM(由CPU初始化)。通過對解碼模塊的仿真,驗證了其功能上的正確性。2)在實現(xiàn)解碼功能的基礎(chǔ)上,對解碼模塊進行了連網(wǎng)測試,驗證了整個解碼系統(tǒng)的正確性和實用性。

      3 解碼模塊

      解碼模塊運用Verilog HDL進行代碼編寫,其設(shè)計的重、難點在于Decode_FSM和TLV_FSM狀態(tài)機的編寫。狀態(tài)機采用Mealy型設(shè)計;對于狀態(tài)常量,Decode_FSM采用獨熱碼,TLV_FSM采用二進制編碼[5]。

      3.1 Decode_FSM狀態(tài)機

      Decode_FSM狀態(tài)機由14個狀態(tài)常量構(gòu)成,其狀態(tài)轉(zhuǎn)移圖如圖3所示。其中IDLE狀態(tài)是狀態(tài)機處于等待解碼狀態(tài);READ狀態(tài)是狀態(tài)機使能Avalon主端口讀操作狀態(tài);在WAIT_READ狀態(tài),狀態(tài)機將從Avalon總線捕獲讀返回的數(shù)據(jù),并對數(shù)據(jù)進行過濾條件的判斷;在TLV_TAG狀態(tài),主要實現(xiàn)對APDU中所包含的數(shù)據(jù)類型進行解碼,并對APDU完整性進行判斷,有誤則終止解碼,同時轉(zhuǎn)入IDLE狀態(tài);DATA_CLASSIFICATION狀態(tài)下,依據(jù)Flag_gen輸出標(biāo)志位來完成下一個狀態(tài)的轉(zhuǎn)移;WRITE_ETH和WAIT_WRITE_ETH狀態(tài)用于實現(xiàn)以太配置信息的存儲;WRITE_APDU和WAIT_WRITE_APDU用于實現(xiàn)APDU配置信息的存儲;WRITE_ASDU和WAIT_WRITE_ASDU狀態(tài)用于實現(xiàn)ASDU配置信息的存儲;WRITE_SAMPDATA和WAIT_WRITE_SAMPDATA用于實現(xiàn)采樣值序列的存儲;當(dāng)完成一幀數(shù)據(jù)的解碼,進入DONE。

      3.2 TLV_FSM狀態(tài)機

      TLV_FSM狀態(tài)機共包括5個狀態(tài)常量,其狀態(tài)轉(zhuǎn)移圖如圖4所示。TLV_IDLE狀態(tài)是等待TLV編碼的長度域(L域)解碼,沒有進行解碼將一直處于該狀態(tài);TLV_STRUCT_LENGTH狀態(tài)主要是對APDU中結(jié)構(gòu)類型數(shù)據(jù)的L域進行解碼;TLV_N_STRUCT_LENGTH_JUDGE狀態(tài)用于實現(xiàn)對基本類型數(shù)據(jù)的L域編碼進行類型判斷;TLV_N_STRUCT_DEFINITE_LONG用于實現(xiàn)基本類型數(shù)據(jù)的L域編碼為長定長型的解碼;TLV_INDEFINITE用于實現(xiàn)L域編碼為非定長型的解析。

      3.3 軟件仿真

      通過SOPC builder[6]構(gòu)建Nios系統(tǒng),對解碼模塊進行軟件仿真,軟件仿真流程如圖5所示。圖6為存放于RAM中用于仿真的待解碼的一幀數(shù)據(jù),仿真結(jié)果如圖7。通過兩圖對比可知,解碼模塊很好的實現(xiàn)了數(shù)據(jù)幀的分離解析,表明了解碼的正確性,并在CPU工作頻率為50 MHz時,解碼一幀557 Bytes的9-2數(shù)據(jù)幀所花費的時間約為54 μs。

      4 網(wǎng)絡(luò)傳輸模塊

      運用SOPC builder構(gòu)建了網(wǎng)絡(luò)傳輸模塊,解碼模塊與網(wǎng)絡(luò)模塊采用Avalon-ST接口連接,在LOOPBACK模式下,對解碼模塊進行了連網(wǎng)測試,測試數(shù)據(jù)流向圖如圖8所示。仿真測試數(shù)據(jù)源來自FPGA片上RAM,其中包括完整的且符合過濾條件的數(shù)據(jù)幀(下面稱為正確的數(shù)據(jù)幀)、不完整的數(shù)據(jù)幀以及不符合過濾條件的數(shù)據(jù)幀。圖9為RAM中用于仿真測試的數(shù)據(jù)源。在測試過程中,為了對解碼模塊在數(shù)據(jù)過濾和解碼方面的性能進行測試,這里采用具有不同過濾條件的20幀數(shù)據(jù)用于測試,軟件測試流程圖如圖10所示。

      在測試過程中,從數(shù)據(jù)發(fā)送情況看,這里利用MMS Ethernet抓包軟件在PC機端對發(fā)送的數(shù)據(jù)進行抓包,抓包結(jié)果如圖11所示。由抓包結(jié)果表明了網(wǎng)絡(luò)模塊成功發(fā)送了20幀數(shù)據(jù)。

      圖3 Decode_FSM狀態(tài)機狀態(tài)轉(zhuǎn)移圖Fig.3 Status tranfer diagram of Decode_FSM

      圖4 TLV_FSM狀態(tài)機狀態(tài)轉(zhuǎn)移圖Fig.4 Status tranfer diagram of TLV_FSM

      圖5 解碼模塊的軟件驗證流程圖Fig.5 Flow chart of software checking of decoding module

      在loopback模式下,發(fā)送的數(shù)據(jù)從網(wǎng)絡(luò)(dp83848網(wǎng)絡(luò)芯片)環(huán)回到網(wǎng)絡(luò)模塊接收端,同時解碼模塊將對接收到得數(shù)據(jù)進行檢測分析。解碼測試結(jié)果通過在Nios II IDE中查看變量值,清楚的反應(yīng)了整個解碼過程。測試結(jié)果如圖12所示。

      圖6 待解碼9-2數(shù)據(jù)幀F(xiàn)ig.6 Encoded data of 9-2 frame

      從變量查看結(jié)果可知,網(wǎng)絡(luò)接收端收到了來自網(wǎng)絡(luò)的20幀數(shù)據(jù),并傳送給了解碼模塊進行檢測,其中有8幀正確的數(shù)據(jù)幀、2幀非9-2數(shù)據(jù)幀及10幀錯誤的數(shù)據(jù)幀。這里對非9-2數(shù)據(jù)幀不做分析且丟棄;對于錯誤的數(shù)據(jù)幀(1幀MAC地址不符合過濾條件、1幀不符合APPID過濾條件、1幀APDU配置信息有誤以及7幀ASDU出錯)分析后,也選擇丟棄;而對于正確的數(shù)據(jù),給出了每一幀數(shù)據(jù)解碼情況,變量數(shù)組中每一個組元對應(yīng)一個數(shù)據(jù)幀,其中包括:幀長度、一幀數(shù)據(jù)所含ASDU數(shù)、各字段數(shù)據(jù)存放的基地址以及各字段數(shù)據(jù)的長度值。

      最后,對解碼模塊進行了589815幀數(shù)據(jù)的測試,測試結(jié)果如圖13,從結(jié)果可知,解碼系統(tǒng)能夠穩(wěn)定可靠的工作,并能給出正確的結(jié)果,滿足設(shè)計要求。

      5 結(jié) 論

      圖7 9-2數(shù)據(jù)幀解碼信息Fig.7 Decoding data of 9-2 frame

      圖8 Loopback測試數(shù)據(jù)流向圖Fig.8 The direction diagram of shift tested data under loopback mode

      圖9 數(shù)據(jù)發(fā)送區(qū)待解碼的數(shù)據(jù)幀F(xiàn)ig.9 Encoding data frame in sending area of storage

      圖10 解碼系統(tǒng)驗證流程Fig.10 Flow chart of checking of decoding system

      圖11 發(fā)送數(shù)據(jù)抓包結(jié)果Fig.11 The case of intercpeting frame for sending data

      圖12 20幀數(shù)據(jù)解碼結(jié)果Fig.12 The decoding result of 20 frame

      圖13 在線測試結(jié)果Fig.13 The decoding result of online data

      基于IEC6150-9-2數(shù)據(jù)幀解碼實時性考慮,本設(shè)計采用FPGA實現(xiàn)了快速解碼。通過解碼模塊嵌入Nios II的SOPC系統(tǒng),對模塊進行了軟件仿真和在線數(shù)據(jù)測試,驗證了方案的正確性和實用性,很好的實現(xiàn)了對9-2數(shù)據(jù)幀的篩選檢測與幀結(jié)構(gòu)數(shù)據(jù)類分離存儲,為后期進一步數(shù)據(jù)處理提供可靠保證,滿足了實時性的要求,并在系統(tǒng)工作時鐘為50 MHz,測得解碼一幀557 Bytes的9-2數(shù)據(jù)幀的時間約為54 μs。本設(shè)計所研究的IEC61850-9-2數(shù)據(jù)幀解碼模塊,主要是為了能夠很方便的集成在數(shù)字化變電站的IED中,成為其設(shè)備的一部分,以此實現(xiàn)設(shè)備間實時通信。

      [1]劉東,張沛超,李曉露.面向?qū)ο蟮碾娏ο到y(tǒng)自動化[M].北京:中國電力出版社,2009.

      [2]IEC.Communication networks and systems in substations,Part 9-2:Specific Communication Service Mapping(SCSM)Sample values over ISO/IEC 8802-3 link[S].2006.

      [3]朱超,黃燦,梅軍,等.基于FPGA與ARM的智能合并單元設(shè)計[J].電網(wǎng)技術(shù),2011(6):13.ZHU Chao,HUANG Can,MEI Jun,et al.Design of smart merging unit based on FPGA and ARM[J].Power System Technology,2011(6):13.

      [4]徐欣,于紅旗,易凡,等.基于FPGA的嵌入式系統(tǒng)設(shè)計[M].北京:機械工業(yè)出版社,2004.

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

      [6]Altera Corporation.Nios II Software Developer’s Handbook[EB/OL].[2013-11-08].http://wenku.baidu.com/link?url=519 Qb6uLjyOmo-MlVkrqIYzVqsjy2b0uR-KJp7JwErW_ycQG pbpSI8pjYmFUWDmkD5rhSE4x4VeuyHYtV-wbj89erko_0Kt_wTg4zrPpKmS.

      猜你喜歡
      狀態(tài)機解碼傳輸
      《解碼萬噸站》
      混合型隨機微分方程的傳輸不等式
      牽引8K超高清傳輸時代 FIBBR Pure38K
      解碼eUCP2.0
      中國外匯(2019年19期)2019-11-26 00:57:32
      基于有限狀態(tài)機的交會對接飛行任務(wù)規(guī)劃方法
      NAD C368解碼/放大器一體機
      Quad(國都)Vena解碼/放大器一體機
      電子制作(2018年18期)2018-11-14 01:48:00
      支持長距離4K HDR傳輸 AudioQuest Pearl、 Forest、 Cinnamon HDMI線
      FPGA設(shè)計中狀態(tài)機安全性研究
      广安市| 庆城县| 云南省| 怀远县| 成武县| 高密市| 桓仁| 安远县| 西华县| 屯门区| 赫章县| 南皮县| 石门县| 高密市| 惠水县| 武平县| 浦北县| 江津市| 临汾市| 长葛市| 开鲁县| 化州市| 东台市| 江西省| 清徐县| 辽阳县| 华宁县| 兰州市| 康定县| 都匀市| 哈巴河县| 连州市| 乌拉特前旗| 定南县| 秭归县| 碌曲县| 南木林县| 大同市| 韶关市| 五指山市| 务川|