基于rmii接口的smv/goose報文的fpga實(shí)現(xiàn)方法
【專利摘要】本發(fā)明公開了基于RMII接口的SMV/GOOSE報文的FPGA實(shí)現(xiàn)方法,步驟一、對FPGA內(nèi)部寄存器進(jìn)行初始化,將報文數(shù)據(jù)緩存至發(fā)送緩沖區(qū),等待發(fā)送使能信號;步驟二、接收到使能信號后,發(fā)送使能端拉高,首先發(fā)送前導(dǎo)數(shù)據(jù),用于接收方實(shí)現(xiàn)同步及提取時鐘信息,接著發(fā)送SFD信號,用于通知接收方有效數(shù)據(jù)的開始;步驟三、報文數(shù)據(jù)按SMV/GOOSE報文幀格式依次發(fā)送幀頭部分和應(yīng)用協(xié)議數(shù)據(jù)單元;步驟四、當(dāng)報文數(shù)據(jù)達(dá)到要發(fā)送的長度時,數(shù)據(jù)傳輸結(jié)束。保證瞬時數(shù)據(jù)的傳輸要求,SMV接口可以高效、快速的將波形數(shù)據(jù)進(jìn)行外傳,減小數(shù)據(jù)傳輸?shù)难訒r時間。GOOSE接口可以充分保證數(shù)據(jù)的傳輸時效性。
【專利說明】
基于RM丨丨接口的SMV/GOOSE報文的FPGA實(shí)現(xiàn)方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及電力系統(tǒng)數(shù)據(jù)通訊領(lǐng)域,尤其涉及一種基于RMII接口的SMV/G00SE報 文的FPGA實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002] SMV是Sampled Measured Value的縮寫,米樣測量值,也稱SV(Sampled Value),一 種用于實(shí)時傳輸數(shù)字采樣信息的通信服務(wù)。采樣值(SMV)報文在數(shù)據(jù)鏈路層的傳輸都是基 于IEEE802.3的以太網(wǎng)結(jié)構(gòu)。
[0003] GOOSE是Generic Object Oriented Substation Event的縮寫,面向通用對象的 變電站事件,是IEC 61850標(biāo)準(zhǔn)中用于滿足變電站自動化系統(tǒng)快速報文需求的機(jī)制。
[0004] 隨著以太網(wǎng)交換機(jī)芯片的集成度越來越高,1/0 口引腳的數(shù)目增加,功耗也隨著增 加。傳統(tǒng)的Mil (Media Independent Interface,媒體獨(dú)立接口)接口有16個引腳,此接口也 可以實(shí)現(xiàn)SMV/G00SE的發(fā)送,但是會造成芯片尺寸的增加和功耗的增大,并加大了 PCB設(shè)計 的復(fù)雜度。嚴(yán)重消耗了 FPGA的硬件資源,并給硬件布局布線帶來的相當(dāng)大的困難,對于合并 單元的升級造成障礙,加大了合并單元的成本。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的就是為了解決上述問題,提供一種基于RMII接口的SMV/G00SE報文 的FPGA實(shí)現(xiàn)方法,能夠保證瞬時數(shù)據(jù)的傳輸要求,SMV接口可以高效、快速的將波形數(shù)據(jù)進(jìn) 行外傳,減小數(shù)據(jù)傳輸?shù)难訒r時間,G00SE接口可以充分保證數(shù)據(jù)的傳輸時效性。
[0006] 為了實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
[0007] 基于RMII接口的SMV/G00SE報文的FPGA實(shí)現(xiàn)方法,包括以下步驟:
[0008] 步驟一、對FPGA內(nèi)部寄存器進(jìn)行初始化,將報文數(shù)據(jù)緩存至發(fā)送緩沖區(qū),等待發(fā)送 使能信號;
[0009] 步驟二、接收到使能信號后,發(fā)送使能端拉高,首先發(fā)送前導(dǎo)數(shù)據(jù),用于接收方實(shí) 現(xiàn)同步及提取時鐘信息,接著發(fā)送幀起始定界符sro信號,用于通知接收方有效數(shù)據(jù)的開 始;
[0010]步驟三、報文數(shù)據(jù)按SMV/G00SE報文幀格式依次發(fā)送幀頭部分和應(yīng)用協(xié)議數(shù)據(jù)單 元;
[0011] 步驟四、當(dāng)報文數(shù)據(jù)達(dá)到要發(fā)送的長度時,數(shù)據(jù)傳輸結(jié)束。
[0012] 所述步驟二中,前導(dǎo)數(shù)據(jù)為7個字節(jié)的0x55,SH)信號為1個字節(jié)的0xd5。
[0013] 每當(dāng)物理層芯片時鐘下降沿時,通過TXD[1:0]端口發(fā)送出2bit數(shù)據(jù),每發(fā)送完一 個字節(jié),計數(shù)器加一。
[0014]所述步驟三中幀頭部分包括目的地址、源地址、優(yōu)先級標(biāo)記、以太網(wǎng)類型碼、APPID (application identification,應(yīng)用標(biāo)識)以及長度(Length,SMV/G00SE的字節(jié)長度)。 [0015]應(yīng)用協(xié)議數(shù)據(jù)單元包括控制信息及采樣數(shù)據(jù)。
[0016]所述步驟三的傳送方法為,將緩沖區(qū)中報文數(shù)據(jù)送至發(fā)送端口,進(jìn)入報文傳輸狀 態(tài),將報文數(shù)據(jù)按字節(jié)存放至發(fā)送緩沖寄存器,同時將要發(fā)送字節(jié)輸出到CRC(Cyclic Redundancy Code,循環(huán)冗余校驗(yàn)碼)校驗(yàn)?zāi)K,4個物理層PHY時鐘后,發(fā)送完一個字節(jié)數(shù) 據(jù),同時將CRC值更新,送回發(fā)送控制模塊,等待下一字節(jié)數(shù)據(jù)。
[0017] CRC校驗(yàn)?zāi)K用來檢驗(yàn)除前導(dǎo)同步碼、幀起始定界符和幀校驗(yàn)序列以外內(nèi)容在傳 輸過程中是否出現(xiàn)錯誤。
[0018]所述步驟四中,當(dāng)計數(shù)器值等于要發(fā)送的長度時表明報文發(fā)送完畢,此時將最后 的CRC校驗(yàn)值通過TXD端口送出,數(shù)據(jù)傳輸結(jié)束。
[0019]在基準(zhǔn)時鐘REF_CLK的下降沿輸出TXD [ 1:0 ]數(shù)據(jù),然后在接下來的上升沿將數(shù)據(jù) 發(fā)送出去,保證足夠長時間的數(shù)據(jù)建立和保持時間;分別發(fā)送同步幀數(shù)據(jù)和SFD信號以及數(shù) 據(jù),并在數(shù)據(jù)發(fā)送完后緊跟著發(fā)送CRC校驗(yàn)碼數(shù)據(jù),完成整個以太網(wǎng)數(shù)據(jù)的發(fā)送過程。
[0020] 基于RMII接口的SMV/G00SE報文的FPGA實(shí)現(xiàn)系統(tǒng),包括發(fā)送控制模塊和雙口 RAM芯 片,所述發(fā)送控制模塊的兩個輸出端分別與雙口 RAM芯片的R_Clk讀時鐘端口和R_En讀使能 端口連接,發(fā)送控制模塊的一個輸出端通過地址產(chǎn)生器與雙口 RAM芯片的RData_Ad數(shù)據(jù)地 址端口連接,還有一個輸出端口直接連接RMII接口;
[0021] 所述雙口 RAM芯片輸出Data_out端口直接連接RMII接口的同時還通過并行CRC32 連接RMII接口;
[0022] 上層控制器的一個輸出端直接連接發(fā)送控制模塊的輸入端,另外的四個輸出端分 別連接雙口 RAM芯片的W_En端口、Data_In端口、WData_Ad端口及W_Clk端口。
[0023]本發(fā)明的有益效果:
[0024]保證瞬時數(shù)據(jù)的傳輸要求,SMV接口可以高效、快速的將波形數(shù)據(jù)進(jìn)行外傳,減小 數(shù)據(jù)傳輸?shù)难訒r時間。GOOSE接口可以充分保證數(shù)據(jù)的傳輸時效性。
【附圖說明】
[0025] 圖1為本發(fā)明所提供的方法的流程圖;
[0026] 圖2為RMII的發(fā)送時序;
[0027]圖3為整個數(shù)據(jù)的發(fā)送時序圖;
[0028]圖4為程序占用資源圖;
[0029] 圖5為SMV報文;
[0030] 圖6為程序原理圖。
【具體實(shí)施方式】
[0031]下面結(jié)合附圖與實(shí)施例對本發(fā)明作進(jìn)一步說明。
[0032] 如圖1所示,基于RMII接口的SMV/G00SE報文的FPGA實(shí)現(xiàn)方法,包括:
[0033]步驟一:對FPGA內(nèi)部寄存器進(jìn)行初始化,將報文數(shù)據(jù)緩存至發(fā)送緩沖區(qū);等待發(fā)送 使能信號;
[0034]步驟二:接收到使能信號后,發(fā)送使能端TX_EN拉高,進(jìn)入數(shù)據(jù)傳輸狀態(tài);每當(dāng)PHY 芯片時鐘下降沿通過TXD[1:0](發(fā)送數(shù)據(jù)線)端口發(fā)送出2bit數(shù)據(jù),每發(fā)送完一個字節(jié),計 數(shù)器加一;首先發(fā)送7個字節(jié)的"0x55"(Preamble),用于接收方實(shí)現(xiàn)同步及提取時鐘信息, 接著發(fā)送為1個字節(jié)的"0xd5"(SFD),用于通知接收方有效數(shù)據(jù)的開始;
[0035]步驟三:將緩沖區(qū)中報文數(shù)據(jù)送至發(fā)送端口,進(jìn)入報文傳輸狀態(tài)。將報文數(shù)據(jù)按字 節(jié)存放至發(fā)送緩沖寄存器,同時將要發(fā)送字節(jié)輸出到CRC校驗(yàn)?zāi)K,4個PHY時鐘后,發(fā)送完 一個字節(jié)數(shù)據(jù),同時將CRC值更新,送回發(fā)送控制模塊,等待下一字節(jié)數(shù)據(jù)。報文數(shù)據(jù)按SMV/ GOOSE報文幀格式依次發(fā)送幀頭部分(目的地址、源地址、優(yōu)先級標(biāo)記、以太網(wǎng)類型碼、APPID 以及Length等)、APDU(應(yīng)用協(xié)議數(shù)據(jù)單元,包括控制信息及采樣數(shù)據(jù));
[0036]步驟四:當(dāng)計數(shù)器值等于Length時表明報文發(fā)送完畢,此時將最后的CRC校驗(yàn)值通 過TXD端口送出,數(shù)據(jù)傳輸結(jié)束。
[0037] RMII的發(fā)送時序如圖2所示,在REF_CLK的下降沿輸出TXD [ 1:0 ]數(shù)據(jù),然后在接下 來的上升沿將數(shù)據(jù)發(fā)送出去,保證足夠長時間的數(shù)據(jù)建立和保持時間。分別發(fā)送同步幀數(shù) 據(jù)和SH)信號以及數(shù)據(jù),并在數(shù)據(jù)發(fā)送完后緊跟著發(fā)送CRC校驗(yàn)碼數(shù)據(jù),完成整個以太網(wǎng)數(shù) 據(jù)的發(fā)送過程。
[0038]如圖3所示,整個數(shù)據(jù)的發(fā)送時序圖,CPU將需要發(fā)送的數(shù)據(jù)填入發(fā)送緩沖區(qū)以后, 使能(TxEn_Phy)拉高,然后發(fā)送7個字節(jié)的"0x55",用于接收方實(shí)現(xiàn)同步及提取時鐘信息; 發(fā)送SFD為1個字節(jié)的"0xd5",用于通知接收方有效數(shù)據(jù)的開始,發(fā)送完前導(dǎo)數(shù)據(jù)和SH)以 后,發(fā)送以太網(wǎng)幀頭,之后將緩沖區(qū)域的數(shù)據(jù)按照PHY時鐘進(jìn)行發(fā)送,每發(fā)送完一個字節(jié)計 算一次CRC的值,直到數(shù)據(jù)發(fā)送完畢,輸出CRC的值,此時SMV/G00SE報文發(fā)送完成。
[0039]如圖4所示,總共消耗172個邏輯門,占用1%的內(nèi)存,消耗內(nèi)存較少,所占用FPGA的 總資源較少。
[0040] 如圖5所示,使用Wireshark抓包工具獲取SMV報文,然后我們就能知道MAC目的地 址為(^€€€€€€€€€€€1源地址為(^01000)040001,5]\^報文對應(yīng)的以太網(wǎng)類型為(^88匕3, APPID為0x4000,長度Length為0x0077 (119);緊接著為4個字節(jié)的保留字,0x60為APDU標(biāo)記, 0x6d為APDU的長度,0x80為ASDU數(shù)目標(biāo)記,0x01為ASDU數(shù)目長度,0x82為采樣值計數(shù)器標(biāo) 記,0x02代表采樣值計數(shù)器長度有2個字節(jié),0x0521代表采樣值計數(shù)器值(即SmpCnt值為 1313),每次取得新采樣值時加1,在采樣值被時鐘信號同步(即SmpSynch = True)且同步信 號出現(xiàn)時計數(shù)器應(yīng)置0; 0x83為配置版本號標(biāo)記,0x04表示配置版本號長度有4個字節(jié),即緊 接著的0x00000001,表明配置版本號值為1,接下來的0x85代表采樣值同步標(biāo)記,Length = 0x01,Value = 0x01;采樣值被時鐘信號同步則置為1,否則置為0; 0x87為采樣值序列標(biāo)記, 0x30則代表采樣值序列長度有64個字節(jié),并配置了 8路數(shù)據(jù),每一路數(shù)據(jù)占8個字節(jié),前四個 字節(jié)表示數(shù)據(jù)的值域,后四個字節(jié)表示數(shù)據(jù)的品質(zhì)位。
[0041 ] 編譯環(huán)境:
[0042] FPGA采用的是Altera公司生產(chǎn)的Cyclonelll系列的EP3C10E144C8,此芯片共有 144個引腳封裝,10320個邏輯門單元,414K內(nèi)部存儲器和94個I/O口。實(shí)現(xiàn)中采用Verilog HDL硬件描述語言進(jìn)行描述,使用模塊化設(shè)計構(gòu)建整個并行硬件處理系統(tǒng)。Verilog HDL適 合算法級、寄存器傳輸級、邏輯級、門級和版圖級等各個層次的電路設(shè)計和描述。如圖6所 示,給出了報文發(fā)送硬件實(shí)現(xiàn)結(jié)構(gòu)框圖,通過寫時鐘和寫使能將SMV采樣序列值的8個通道 的數(shù)據(jù)填充進(jìn)去,之后將緩沖區(qū)域的數(shù)據(jù)通過RMII接口行發(fā)送,每發(fā)送完一個字節(jié)計算一 次CRC的值,直到數(shù)據(jù)發(fā)送完畢,輸出CRC的值,此時SMV/G00SE報文發(fā)送完成。原理圖如圖6 所示。
[0043] MAC層數(shù)據(jù)發(fā)送模塊的設(shè)計
[0044] 1,定義輸入輸出接口,輸入接口為Phy_Clk(模塊輸入時鐘),Phy_Tran_En(數(shù)據(jù)包 發(fā)送觸發(fā)信號),Crc_In(校驗(yàn)值輸入);輸出接口為Data_0ut(數(shù)據(jù)輸出)Clk_CRC320ut(校 驗(yàn)時鐘),PhyTx_En(發(fā)送使能信號),Phy_Txd(發(fā)送數(shù)據(jù)線)。
[0045] 2,定義寄存器和參數(shù)。寄存器包括:reg DataValid_CRC320ut(校驗(yàn)數(shù)據(jù)有效有效 標(biāo)志位)reg Calc_CRC320ut(校驗(yàn)數(shù)據(jù)計算有效標(biāo)志位),reg Clk_CRC320ut(校驗(yàn)數(shù)據(jù)計 算時鐘位),reg RmiiTx_En(RMII接口,輸出使能控制位),reg PhyTx_En(RMII接口,輸出使 能線),reg[l :0]Phy_Txd(RMII接口,輸出數(shù)據(jù)線),reg TxEn_Flag(數(shù)據(jù)包發(fā)送使能標(biāo)志 位),reg[9:0]TxData_Count(包含APPID數(shù)據(jù)發(fā)送計數(shù)),reg[ 'ADDR_SZ_1:0]TxAllData_ Count (所有數(shù)據(jù)發(fā)送計數(shù),幀頭除外)reg[2:0]TxPreaSfd_Count (數(shù)據(jù)幀首部發(fā)送計數(shù)包 括字節(jié)同步碼和SFD),reg [ 1:0 ] TxByte_Count (字節(jié)發(fā)送計數(shù),一個字節(jié)拆成4部分發(fā)送,小 端形式,低位在前),reg[2:0]TxCrc_Count,(四字節(jié)CRC數(shù)據(jù)發(fā)送計數(shù)),reg[l :0]State_ Send(狀態(tài)機(jī)寄存器,reg[' ADDR_SZ-1:0]Length(數(shù)據(jù)發(fā)送的總長度);內(nèi)部相關(guān)參數(shù)包括: parameter Preamble = 8 'h55(Preamble前導(dǎo)碼),parameter SFD = 8 'hD5(SFD,幀起始定界 符),parameter SFDCountEnd = 3'd7(SFD所在地址位置),parameter LengthByteAdd=10' d21(數(shù)據(jù)長度所在地址以0..開頭),發(fā)送狀態(tài)機(jī)參數(shù):parameter State_PreaSfd = 2'dO (發(fā)送幀頭),?&瓜1116丨613丨&丨6_麻0802 = 2'(11(發(fā)送數(shù)據(jù)幀)4&瓜1116丨613丨&丨6_?03 = 2'(12 (發(fā)送校驗(yàn)序列)。
[0046] 3,初始化寄存器。
[0047] 4,發(fā)送幀頭和數(shù)據(jù),接收到使能信號后,發(fā)送使能端TX_EN拉高,進(jìn)入數(shù)據(jù)傳輸狀 態(tài);每當(dāng)PHY芯片時鐘下降沿通過TXD[1:0]端口發(fā)送出2bit數(shù)據(jù),每發(fā)送完一個字節(jié),計數(shù) 器加一;首先發(fā)送7個字節(jié)的"0x55"(Preamble),用于接收方實(shí)現(xiàn)同步及提取時鐘信息,接 著發(fā)送為1個字節(jié)的"〇 xd5"(sro),用于通知接收方有效數(shù)據(jù)的開始;將緩沖區(qū)中報文數(shù)據(jù) 送至發(fā)送端口,進(jìn)入報文傳輸狀態(tài)。將報文數(shù)據(jù)按字節(jié)存放至發(fā)送緩沖寄存器,同時將要發(fā) 送字節(jié)輸出到CRC校驗(yàn)?zāi)K,4個PHY時鐘后,發(fā)送完一個字節(jié)數(shù)據(jù),同時將CRC值更新,送回 發(fā)送控制模塊,等待下一字節(jié)數(shù)據(jù)。報文數(shù)據(jù)按SMV/G00SE報文幀格式依次發(fā)送幀頭部分 (目的地址、源地址、優(yōu)先級標(biāo)記、以太網(wǎng)類型碼、APPID以及Length等)、APDU(應(yīng)用協(xié)議數(shù)據(jù) 單元,包括控制信息及采樣數(shù)據(jù));
[0048] 5,當(dāng)計數(shù)器值等于要發(fā)送的長度時表明報文發(fā)送完畢,此時將最后的CRC校驗(yàn)值 通過TXD端口送出,數(shù)據(jù)傳輸結(jié)束。
[0049] 按照以上的原理具體的程序如下所示。
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057] CRC校驗(yàn)?zāi)K的設(shè)計
[0058] CRC校驗(yàn)?zāi)K用來檢驗(yàn)除前導(dǎo)同步碼、幀起始定界符和幀校驗(yàn)序列以外內(nèi)容在傳 輸過程中是否出現(xiàn)錯誤,程序的實(shí)現(xiàn)如下:
[0059]
[0060]
[0061] 目前以太網(wǎng)物理層功能通常是直接采用專業(yè)的物理層芯片來完成。物理層為以太 網(wǎng)上的各個設(shè)備之間的數(shù)據(jù)通信提供了傳輸介質(zhì)及互連設(shè)備,并且向數(shù)據(jù)鏈路層設(shè)備提供 標(biāo)準(zhǔn)接口。IEEE802.3給出了MAC層與PHY層接口的標(biāo)準(zhǔn)定義,常用的接口有Mil、RMII、GMII 等。
[0062] MII(Media Independent Interface)即媒體獨(dú)立接口。它是IEEE-802.3定義的以 太網(wǎng)行業(yè)標(biāo)準(zhǔn)。它包括一個數(shù)據(jù)口,以及一個MAC和PHY之間的管理接口。數(shù)據(jù)接口包括分別 用于發(fā)送器和接收器的兩條獨(dú)立信道。每條信道都有自己的數(shù)據(jù)、時鐘和控制信號。MII數(shù) 據(jù)接口總共需要16個信號。管理接口是個雙信號接口:一個是時鐘信號,另一個是數(shù)據(jù)信 號。通過管理接□,上層能監(jiān)視和控制PHY。"介質(zhì)無關(guān)"表明在不對MAC硬件重新設(shè)計或替換 的情況下,任何類型的PHY設(shè)備都可以正常
[0063] RMII(Reduced Media Independent Interface)即簡化的MII接口,在數(shù)據(jù)的收發(fā) 上它比MII接口少了一倍的信號線,一般要求是50M的總線時鐘。RMII-般用在多端口的交 換機(jī)上,它不是每個端口安排收發(fā)兩個時鐘,而是所有的數(shù)據(jù)端口公用一個時鐘用于所有 端口的收發(fā),節(jié)省了不少的端口數(shù)目。RMII的接口有7根數(shù)據(jù)線,比MII少了一倍。工作。支持 10/100M的物理環(huán)境,工作頻率為5M/50M。
[0064] 智能變電站作為智能電網(wǎng)建設(shè)的核心環(huán)節(jié),是智能電網(wǎng)安全穩(wěn)定運(yùn)行的基礎(chǔ)。由 于電子式互感器在智能變電站中的應(yīng)用,改變了傳統(tǒng)變電站保護(hù)測控裝置直接模擬采樣并 進(jìn)行數(shù)據(jù)運(yùn)算的方式,對裝置軟、硬件平臺及數(shù)據(jù)接收處理方法提出了新的要求。所以研究 適用于RMII接口發(fā)送SMV/G00SE的方法具有重要的意義。此外,通過RMII接口發(fā)送SMV/ G00SE,采用SMV對采樣點(diǎn)進(jìn)行快速傳輸,保證數(shù)據(jù)的實(shí)時性,解決了大數(shù)據(jù)的吞吐能力。采 用GOOSE數(shù)據(jù)傳輸協(xié)議,可對事件信息進(jìn)行快速傳輸,減小通信延時,有助于對電網(wǎng)狀態(tài)的 實(shí)時把控。通過SMV和GOOSE高速接口可以對實(shí)時的波形數(shù)據(jù)及遙信位置進(jìn)行外傳,此接口 適用于上層應(yīng)用需要波形數(shù)據(jù),并且對數(shù)據(jù)延時有較高要求的場合。
[0065] 上述雖然結(jié)合附圖對本發(fā)明的【具體實(shí)施方式】進(jìn)行了描述,但并非對本發(fā)明保護(hù)范 圍的限制,所屬領(lǐng)域技術(shù)人員應(yīng)該明白,在本發(fā)明的技術(shù)方案的基礎(chǔ)上,本領(lǐng)域技術(shù)人員不 需要付出創(chuàng)造性勞動即可做出的各種修改或變形仍在本發(fā)明的保護(hù)范圍以內(nèi)。
【主權(quán)項(xiàng)】
1. 基于RMII接口的SMV/GOOSE報文的FPGA實(shí)現(xiàn)方法,其特征是,包括以下步驟: 步驟一、對FPGA內(nèi)部寄存器進(jìn)行初始化,將報文數(shù)據(jù)緩存至發(fā)送緩沖區(qū),等待發(fā)送使能 信號; 步驟二、接收到使能信號后,發(fā)送使能端拉高,首先發(fā)送前導(dǎo)數(shù)據(jù),用于接收方實(shí)現(xiàn)同 步及提取時鐘信息,接著發(fā)送幀起始定界符SFD信號,用于通知接收方有效數(shù)據(jù)的開始; 步驟三、報文數(shù)據(jù)按SMV/G00SE報文幀格式依次發(fā)送幀頭部分和應(yīng)用協(xié)議數(shù)據(jù)單元; 步驟四、當(dāng)報文數(shù)據(jù)達(dá)到要發(fā)送的長度時,數(shù)據(jù)傳輸結(jié)束。2. 如權(quán)利要求1所述基于RMII接口的SMV/G00SE報文的FPGA實(shí)現(xiàn)方法,其特征是,所述 步驟二中,前導(dǎo)數(shù)據(jù)為7個字節(jié)的0x55,SFD信號為1個字節(jié)的0xd5。3. 如權(quán)利要求1所述基于RMII接口的SMV/GOOSE報文的FPGA實(shí)現(xiàn)方法,其特征是,每當(dāng) 物理層芯片時鐘下降沿時,通過TXD[1:0]端口發(fā)送出2bit數(shù)據(jù),每發(fā)送完一個字節(jié),計數(shù)器 加一。4. 如權(quán)利要求1所述基于RMII接口的SMV/GOOSE報文的FPGA實(shí)現(xiàn)方法,其特征是,所述 步驟三中幀頭部分包括目的地址、源地址、優(yōu)先級標(biāo)記、以太網(wǎng)類型碼、應(yīng)用標(biāo)識APPID以及 長度。5. 如權(quán)利要求1所述基于RMII接口的SMV/GOOSE報文的FPGA實(shí)現(xiàn)方法,其特征是,應(yīng)用 協(xié)議數(shù)據(jù)單元包括控制信息及采樣數(shù)據(jù)。6. 如權(quán)利要求1所述基于RMII接口的SMV/GOOSE報文的FPGA實(shí)現(xiàn)方法,其特征是,所述 步驟三的傳送方法為,將緩沖區(qū)中報文數(shù)據(jù)送至發(fā)送端口,進(jìn)入報文傳輸狀態(tài),將報文數(shù)據(jù) 按字節(jié)存放至發(fā)送緩沖寄存器,同時將要發(fā)送字節(jié)輸出到CRC校驗(yàn)?zāi)K,4個PHY時鐘后,發(fā) 送完一個字節(jié)數(shù)據(jù),同時將CRC值更新,送回發(fā)送控制模塊,等待下一字節(jié)數(shù)據(jù)。7. 如權(quán)利要求6所述基于RMII接口的SMV/GOOSE報文的FPGA實(shí)現(xiàn)方法,其特征是,CRC校 驗(yàn)?zāi)K用來檢驗(yàn)除前導(dǎo)同步碼、幀起始定界符和幀校驗(yàn)序列以外內(nèi)容在傳輸過程中是否出 現(xiàn)錯誤。8. 如權(quán)利要求3所述基于RMII接口的SMV/GOOSE報文的FPGA實(shí)現(xiàn)方法,其特征是,所述 步驟四中,當(dāng)計數(shù)器值等于要發(fā)送的長度時表明報文發(fā)送完畢,此時將最后的CRC校驗(yàn)值通 過TXD端口送出,數(shù)據(jù)傳輸結(jié)束。9. 如權(quán)利要求1所述基于RMII接口的SMV/GOOSE報文的FPGA實(shí)現(xiàn)方法,其特征是,在基 準(zhǔn)時鐘REF_CLK的下降沿輸出TXD[1:0]數(shù)據(jù),然后在接下來的上升沿將數(shù)據(jù)發(fā)送出去,保證 足夠長時間的數(shù)據(jù)建立和保持時間;分別發(fā)送同步幀數(shù)據(jù)和SFD信號以及數(shù)據(jù),并在數(shù)據(jù)發(fā) 送完后緊跟著發(fā)送CRC校驗(yàn)碼數(shù)據(jù),完成整個以太網(wǎng)數(shù)據(jù)的發(fā)送過程。10. 基于RMII接口的SMV/GOOSE報文的FPGA實(shí)現(xiàn)系統(tǒng),其特征是,包括發(fā)送控制模塊和 雙口 RAM芯片,所述發(fā)送控制模塊的兩個輸出端分別與雙口 RAM芯片的R_CIk讀時鐘端口和 R_En讀使能端口連接,發(fā)送控制模塊的一個輸出端通過地址產(chǎn)生器與雙口 RAM芯片的 RData_Ad數(shù)據(jù)地址端口連接,還有一個輸出端口直接連接RMII接口; 所述雙口 RAM芯片輸出Data_out端口直接連接RMII接口的同時還通過并行CRC32連接 RMII接口; 上層控制器的一個輸出端直接連接發(fā)送控制模塊的輸入端,另外的四個輸出端分別連 接雙口 RAM 芯片的 W_En 端口、Data_In 端口、WData_Ad 端口及 W_Clk 端口。
【文檔編號】H04L7/04GK105897395SQ201610209498
【公開日】2016年8月24日
【申請日】2016年4月6日
【發(fā)明人】程新功, 張 浩, 于明珠, 丁冬睿, 李石清, 張靜亮, 殷文月, 邵振振, 王玉真
【申請人】濟(jì)南大學(xué)