《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的EtherCAT協議鏈路冗余研究
基于FPGA的EtherCAT協議鏈路冗余研究
2017年電子技術應用第9期
黃 兵,豐大軍,劉云龍,王 皓
華北計算機系統工程研究所,北京100083
摘要: EtherCAT是一種實時工業以太網協議,使用鏈路冗余技術是實現鏈路穩定性和可靠性的重要手段。介紹了基于FPGA的EtherCAT鏈路冗余原理,設計通過FPGA實現主站與從站、從站與從站之間的通信鏈路與冗余鏈路的自動切換,從而實現EtherCAT的鏈路冗余。通過測試驗證了此方法的可行性,增加了EtherCAT系統的可靠性與可維護性。
關鍵詞: EtherCAT FPGA 冗余
中圖分類號: TP23
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.179010
中文引用格式: 黃兵,豐大軍,劉云龍,等. 基于FPGA的EtherCAT協議鏈路冗余研究[J].電子技術應用,2017,43(9):80-82,86.
英文引用格式: Huang Bing,Feng Dajun,Liu Yunlong,et al. Research on link redundancy of EtherCAT protocol based on FPGA[J].Application of Electronic Technique,2017,43(9):80-82,86.
Research on link redundancy of EtherCAT protocol based on FPGA
Huang Bing,Feng Dajun,Liu Yunlong,Wang Hao
National Computer System Engineering Research Institute of China,Beijing 100083,China
Abstract: EtherCAT is a real-time industrial Ethernet protocol. The use of link redundancy is an important means of achieving link stability and reliability. This article describes the FPGA based EtherCAT link redundancy principle. This design uses FPGA to achieve the automatically switch of the communication link and redundant link between master station and slave station,or the slave and the slave,in order to achieve the link redundancy of EtherCAT. The feasibility of this method is verified by testing.
Key words : EtherCAT;FPGA;redundancy

0 引言

    EtherCAT最初是由德國的倍福公司基于標準以太網技術提出的工業以太網,是一種具有靈活網絡拓撲結構的技術[1]。EtherCAT技術具有速度快、同步性能好、支持多種拓撲結構、采用標準以太網幀、帶寬利用率高等優點[2]。工業以太網中冗余技術是提高以太網系統可靠性和可維護性最有效的手段之一[3]。鏈路冗余是應對網口故障(包括主站網卡本身故障和連接)及鏈路故障(指從站節點之間的鏈路存在斷開情況,如網線斷開)的補救措施。通常在對系統穩定運行要求比較高的情況下,就需要應用鏈路冗余技術。鏈路冗余是一種單一容錯機制,即如果鏈路在某一處發生故障,依然可以與各個從站保持數據的傳輸。當通信恢復時主要的通信方向也會恢復。如果不止一個地方發生通信中斷,所有的必須在發生另一個錯誤之前恢復。文獻[4]中介紹了一種工業以太網EtherCAT冗余和熱插拔技術,此種方法采用環型冗余結構,將最后一個 ESC節點連接到主站,此種方法雖然可以解決單點故障,但是在故障修理時需要斷電,且不能解決多點故障。為了解決此問題,本文通過介紹基于FPGA的EtherCAT的鏈路冗余原理,設計通過FPGA實現主站與從站、從站與從站之間的通信鏈路與冗余鏈路的自動切換,從而實現EtherCAT的鏈路冗余,增加了EtherCAT 系統的可靠性與可維護性 。

1 EtherCAT原理

    EtherCAT是一種實時工業以太網技術,采用主從站結構,如圖1所示。主站發送以太網幀給各從站,從站通過尋址從數據幀中抽取對應的數據或將數據插入數據幀,然后將該數據幀傳輸到下一個EtherCAT從站。最后一個EtherCAT從站發回經過完全處理的報文,并由第1個從站作為響應報文發送給主站。主站使用標準的以太網接口卡或具有以太網接口的嵌入式工業控制計算機,EtherCAT從站使用專用的從站控制芯片ESC,采取接收轉發機制,以太網幀可以雙向通行,但只有以太網幀由下行電報方向進入時,相應的報文才能得到處理,如果指定轉發的網口未連接,ESC自動將以太網幀沿原入口返回。

ck4-t1.gif

    EtherCAT數據直接使用以太網數據幀,使用的幀類型為0x88A4。EtherCAT數據包括2 B的數據頭和44 B~1 498 B的數據。數據區由一個或多個EtherCAT子報文組成,每個子報文對應獨立的設備和從站存儲區。每個EtherCAT 子報文包括子報文頭、數據域和相應的工作計數器(Working Counter,WKC),子報文尋址到從站節點并交換數據后,工作計數器將被增加,用以記錄該子報文的處理狀態。子報文頭中,8 bit命令字節指定了子報文類型(讀寫類型,尋址類型);8 bit索引號給出子報文編碼。32 bit的子報文地址指定了對從站的操作地址,尋址類型定義了尋址方式;8 bit長度用以指示報文數據區的字節數;R為4 bit的保留位;4 bit M表示本報文是否為最后一個報文;16 bit中斷目前保留。

2 基于FPGA的鏈路冗余原理

    在EtherCAT通信鏈路運行過程中,可能會存在如下幾種故障:

    (1)網口故障,包括主站網卡本身故障和連接。

    (2)鏈路故障,指從站節點之間的鏈路存在斷開情況,比如網線斷開。

    為了能夠增加EtherCAT系統的可靠性及可維護性,在EtherCAT主站與從站的鏈路之間通過FPGA增加了冗余功能,每一條鏈路都有對應的冗余鏈路作為備用。鏈路1出現故障時,可以通過FPGA自動切到冗余鏈路1;鏈路2出現故障時,通過FPGA自動切到冗余鏈路2。這樣如果鏈路在某一處發生故障,依然可以與各個從站保持數據的傳輸。當通信恢復時主要的通信方向也會恢復,極大地增強了系統的穩定性和可維護性。

    如圖2所示,EtherCAT主從站網絡構成框圖中,冗余卡為基于FPGA的鏈路冗余卡,通過通信鏈路1與主機冗余型CPU連接,冗余鏈路1與備機冗余型CPU連接,實現主從站之間的主備切換冗余。通過通信鏈路2與下一級冗余卡的鏈路1連接,冗余鏈路2與下一級冗余卡的冗余鏈路1連接,實現EtherCAT的鏈路冗余。

ck4-t2.gif

3 鏈路冗余的FPGA實現方法

    FPGA實現主站與從站、從站與從站之間的通信鏈路與冗余鏈路的自動切換功能。

    如圖3所示,FPGA的4個接口0、1、2、3與4條通信鏈路通過MII(Media Independent Interface)方式連接。FPGA的4個接口分為2組,接口0和接口1為1組,接口2和接口3為1組,兩組的邏輯相同。現以接口0和接口1說明冗余的切換方式:

ck4-t3.gif

    (1)FPGA復位狀態為接口;

    (2)運行過程中,通信鏈路1狀態不正常,冗余鏈路1正常,接口1切換為接口0;

    (3)冗余鏈路1正常時,通信鏈路1恢復正常,此時不切換,還是連接接口1;

    (4)冗余鏈路1不正常,通信鏈路1恢復正常,接口2切換為接口1運行。

    接口2和接口3的切換方式與接口0和接口1的切換方式相同。

    在FPGA實現過程中,主要是通過判別兩個接口的PHY(Physical Layer)的數據連接信號(linkmii)和數據有效信號(rx_dv)判斷鏈路的狀態。其中,接口0的數據連接信號為linkmii0,數據有效信號為rx_dv0,接口1的數據連接信號為linkmii1,數據有效信號為rx_dv1。因為PHY在數據傳輸過程中,rx_dv信號只在數據有效時拉高,因此,需要檢測時間閾值(cnt_time0、cnt_time1),即兩次rx_dv時間差,超過時間閾值(cnt_time0=1、cnt_time1=1)認為此接口無數據連接。接口0和接口1的切換條件判斷為:

    (1)當linkmii0為低,linkmii1為高,選擇為接口0;

    (2)當linkmii0為高,linkmii1為低,選擇為接口1;

    (3)以前狀態為接口1,當linkmii0為低,linkmii1為低,rx_dv0=1,cnt_time0=0,則選擇為接口0;

    (4)以前狀態為接口1,當linkmii0為低,linkmii1為低,rx_dv1=1,cnt_time1=0,則選擇為接口0;

    (5)以前狀態為接口0,當linkmii0為低,linkmii1為低,rx_dv1=1,cnt_time0=1,則選擇為接口0;    

    (6)以前狀態為接口1,當linkmii0為低,linkmii1為低,rx_dv0=1,cnt_time1=1,則選擇為接口0。

    接口2和接口3的切換選擇邏輯與此類似。

4 功能測試

    為了驗證此鏈路冗余方法的可行性,搭建了以ALTERA公司的Cyclone III EP3C40E484i為核心的測試系統,此芯片有332個IO管腳,39 600個LE,可滿足設計的要求。根據FPGA實現冗余鏈路的要求,現根據測試圖型將測試敘述如下:

    (1)圖4中,0時刻前為通信鏈路和冗余鏈路都沒有連接到冗余卡上(linkmii0=1,linkmii1=1),此時默認選擇接口0,0時刻后冗余鏈路連接到冗余卡上(linkmii1=0,linkmii0=1),此時切換為接口1。

ck4-t4.gif

    (2)圖5中,0時刻前為冗余鏈路連接到冗余卡上(linkmii1=0,linkmii0=1),通道選擇為接口1,0時刻后,冗余鏈路從冗余卡上斷開(linkmii1=1,linkmii0=1),此時通道回到默認接口1。

ck4-t5.gif

    (3)圖6中,0時刻前為通信鏈路與冗余鏈路都連接到冗余卡上(linkmii0=0,linkmii1=0),通道選擇為接口1,但此時通信鏈路有數據有效信號(rx_dv0=1),冗余鏈路沒有數據有效信號(rx_dv1=0),此時通道切換到接口0。

ck4-t6.gif

    (4)圖7中,0時刻前為通信鏈路與冗余鏈路都連接到冗余卡上(linkmii0=0,linkmii1=0),通道選擇為接口0,但此時冗余鏈路有數據有效信號(rx_dv1=1),通信鏈路沒有數據有效信號(rx_dv0=0),此時通道切換到接口1。

ck4-t7.gif

5 結論

    本文首先介紹EtherCAT的基本原理,以增加EtherCAT系統穩定性和可維護性為出發點,給出了基于FPGA的EtherCAT鏈路原理,設計通過FPGA實現主站與從站、從站與從站之間的通信鏈路與冗余鏈路的自動切換,從而實現EtherCAT的鏈路冗余。通過測試驗證此方法的可行性,增加了EtherCAT 系統的可靠性與可維護性。

參考文獻

[1] Geon Yoon,Dae H yun Kwon,Soon Chang Kon,et al.Ring topology-based redundancy Ethernet for industrial network[C].SICE-ICASE International Joint Conference,2006.

[2] EtherCAT Technology Group(ETG).EtherCAT:the Ethernet fieldbus[J].PC Control,2005(7):14-19.

[3] Madren Frank.Redundancy with standards in industrial Ethernet LANs[J].Engineer IT,2006:72-75.

[4] 郇極,肖文磊,劉艷強.工業以太網EtherCAT冗余和熱插拔技術[J].北京航空航天大學學報,2009(2):38-41.



作者信息:

黃  兵,豐大軍,劉云龍,王  皓

(華北計算機系統工程研究所,北京100083)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美综合一区| 99国产精品99久久久久久| 在线观看日韩av先锋影音电影院| 国产精品久久久久9999高清| 欧美日韩另类一区| 欧美啪啪一区| 欧美噜噜久久久xxx| 欧美国产专区| 欧美激情一二区| 欧美夫妇交换俱乐部在线观看| 美国成人直播| 欧美va天堂| 欧美日产一区二区三区在线观看| 欧美成年人视频网站| 欧美www在线| 欧美日本在线看| 国产精品av久久久久久麻豆网| 欧美日韩影院| 国产精品久久二区| 国产精品视频免费观看| 国产区在线观看成人精品| 国产日韩欧美成人| 韩国欧美一区| 亚洲国产高清高潮精品美女| 91久久精品国产91久久性色tv| 亚洲精品久久久久久久久久久久久| 亚洲精品免费看| 在线一区欧美| 亚洲欧美另类综合偷拍| 欧美中文在线观看| 最新国产精品拍自在线播放| 99国产精品久久久久老师| 一区二区三区www| 午夜亚洲视频| 久久久久久久网| 免费不卡中文字幕视频| 欧美黄免费看| 国产精品久久国产三级国电话系列 | 欧美精品一区二区在线观看| 欧美日本久久| 国产伦一区二区三区色一情| 国产在线拍偷自揄拍精品| 在线日韩av| 99re6热在线精品视频播放速度| 亚洲特黄一级片| 欧美一区二区三区精品 | 欧美成人激情在线| 欧美日韩国产一区二区| 国产精品免费一区二区三区在线观看 | 韩国女主播一区| 亚洲第一主播视频| 亚洲网站在线观看| 久久精品国产亚洲高清剧情介绍| 亚洲精品欧美激情| 亚洲欧美影音先锋| 榴莲视频成人在线观看| 欧美日韩国产成人精品| 国产视频在线观看一区二区| 亚洲欧洲日本mm| 欧美一区二区三区在线| 亚洲精品中文字幕在线| 欧美亚洲午夜视频在线观看| 乱中年女人伦av一区二区| 欧美日韩亚洲一区二| 国内成人精品一区| 99riav久久精品riav| 午夜精品久久久久99热蜜桃导演| 亚洲精品免费一二三区| 性欧美暴力猛交69hd| 欧美v亚洲v综合ⅴ国产v| 国产精品羞羞答答| 亚洲福利视频在线| 性欧美8khd高清极品| 一本久久a久久免费精品不卡| 久久精品水蜜桃av综合天堂| 欧美日韩一二区| 影音先锋日韩资源| 午夜精品福利一区二区三区av| 99国产精品久久久| 久久影院亚洲| 国产美女精品免费电影| 亚洲精品自在久久| 亚洲国产二区| 久久国产精品网站| 欧美深夜福利| 91久久久久久久久| 欧美资源在线| 亚洲欧美视频一区二区三区| 欧美欧美天天天天操| 在线日韩av片| 久久精品国产亚洲一区二区三区| 午夜精品福利在线| 欧美日韩卡一卡二| 亚洲激情网站免费观看| 亚洲大胆人体视频| 久久国产视频网| 国产精品香蕉在线观看| 一本色道久久综合亚洲二区三区| 亚洲精品美女久久7777777| 久久综合电影| 韩国精品在线观看| 欧美一区二区三区在线播放| 欧美一区二区三区啪啪| 国产精品久久久久999| 999亚洲国产精| 一区二区av| 欧美久久在线| 亚洲欧洲偷拍精品| 亚洲欧洲精品一区二区三区| 麻豆精品一区二区av白丝在线| 国产亚洲欧美日韩美女| 性久久久久久久久久久久| 欧美一区亚洲二区| 国产欧美一区二区精品忘忧草| 亚洲一级黄色片| 午夜精品久久久久久久男人的天堂| 欧美视频中文一区二区三区在线观看 | 欧美激情一区二区三区高清视频 | 国产亚洲激情| 午夜国产欧美理论在线播放| 亚洲欧美久久久久一区二区三区| 欧美午夜精品久久久久久人妖| 亚洲最新合集| 亚洲影院在线观看| 国产精品嫩草影院一区二区| 亚洲午夜精品国产| 香蕉久久精品日日躁夜夜躁| 国产精品免费电影| 西瓜成人精品人成网站| 久久国产精品久久国产精品| 国产一区二区三区无遮挡| 久久国产精品免费一区| 久久婷婷蜜乳一本欲蜜臀| 一区二区三区在线免费观看| 亚洲国产精品va在线观看黑人| 蜜桃av一区二区| 亚洲激情在线播放| 中文在线资源观看视频网站免费不卡| 欧美午夜无遮挡| 亚洲欧美中文日韩在线| 久久天天躁狠狠躁夜夜爽蜜月| 在线精品视频免费观看| 亚洲美女精品一区| 国产精品盗摄久久久| 性欧美videos另类喷潮| 久久亚洲视频| 91久久精品日日躁夜夜躁欧美 | 影音先锋亚洲电影| 99成人在线| 国产精品入口福利| 久久精品99国产精品日本| 欧美激情综合五月色丁香小说| av成人免费在线| 久久精品视频在线观看| 亚洲激情欧美激情| 亚洲欧美日韩精品在线| 国产一区二区三区精品久久久| 亚洲黄色av一区| 国产精品国产成人国产三级| 欧美一区二区黄色| 欧美激情中文不卡| 亚洲一区二区三区中文字幕在线| 久久精品国产v日韩v亚洲 | 国产日韩欧美制服另类| 欧美在线看片a免费观看| 久久久久免费| 亚洲日本一区二区三区| 亚洲欧美一区二区精品久久久| 国产欧美一区二区色老头 | 精品福利av| 在线视频你懂得一区二区三区| 国产精品久久久久久五月尺| 欧美在线看片| 亚洲欧美日韩一区| 黄色日韩在线| 亚洲无毛电影| 黄色精品在线看| 亚洲一区二区在线看| 黄色在线一区| 亚洲欧美在线一区| 91久久香蕉国产日韩欧美9色| 欧美亚洲一区三区| 亚洲人成网站999久久久综合| 欧美综合激情网| 亚洲裸体视频| 久久久亚洲国产天美传媒修理工| 亚洲九九精品| 久久婷婷国产综合精品青草| 一区二区91| 牛人盗摄一区二区三区视频| 亚洲免费在线看| 欧美日韩精品一区二区| 亚洲国产精品成人精品| 国产欧美精品在线播放| 一区二区三区四区国产| 在线观看视频免费一区二区三区| 欧美与黑人午夜性猛交久久久| 亚洲久久一区二区| 男人的天堂亚洲在线| 欧美亚洲在线视频|