《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于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組,兩組的邏輯相同?,F以接口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亚洲国产精品_日韩亚洲一区二区
欧美伊人影院| 亚洲一级高清| 在线亚洲欧美专区二区| 亚洲大胆在线| 国内精品久久久久久 | 韩日成人在线| 国产一区二区视频在线观看| 国产精品日韩高清| 国产精品看片资源| 国产精品久久一区主播| 国产精品麻豆va在线播放| 国产精品久久久久av免费| 欧美视频免费| 国产精品国产三级国产 | 亚洲精品美女91| 亚洲欧洲视频| 亚洲精品日本| 一本久道久久综合狠狠爱| 夜夜嗨av一区二区三区网站四季av | 亚洲黄色性网站| 亚洲欧洲在线一区| 亚洲精品午夜| 一区二区三区波多野结衣在线观看| 一区二区av| 亚洲伊人久久综合| 午夜精品理论片| 欧美在线观看一区二区| 亚洲国产成人av在线| 亚洲国产精品嫩草影院| 亚洲美女黄色| 亚洲午夜电影| 欧美在线免费视屏| 每日更新成人在线视频| 欧美福利视频在线| 欧美日韩一区二区在线视频 | 小黄鸭精品aⅴ导航网站入口| 欧美在线啊v| 久热精品视频在线| 欧美激情一区二区久久久| 欧美日韩中文精品| 国产欧美91| 伊人伊人伊人久久| 亚洲精品美女91| 亚洲在线免费视频| 亚洲国产高清一区| 日韩视频在线永久播放| 亚洲资源在线观看| 久久精品国产第一区二区三区| 老司机精品视频网站| 欧美日韩三级视频| 国产日韩欧美电影在线观看| 在线看国产一区| 中文在线一区| 亚洲第一网站| 一区二区三区四区五区在线| 欧美在线看片| 欧美久久久久久| 国产欧美日韩精品丝袜高跟鞋 | 国产精品mm| 国产一区在线播放| 亚洲免费成人av电影| 亚洲影视九九影院在线观看| 亚洲国产激情| 亚洲视频在线观看| 久久久国产一区二区三区| 欧美大片在线观看一区| 国产精品日韩欧美一区| 在线观看亚洲a| 亚洲新中文字幕| 亚洲国产一区二区精品专区| 亚洲午夜激情在线| 免费观看30秒视频久久| 国产精品一级二级三级| 亚洲国内精品| 欧美伊人影院| 亚洲欧美成人精品| 免费欧美在线| 国产欧美一区二区三区在线老狼 | 欧美亚洲专区| 欧美精品久久久久久久久久| 国产一区二区三区黄| 日韩亚洲欧美一区二区三区| 欧美中文字幕视频在线观看| 宅男精品导航| 久热国产精品视频| 国产女同一区二区| 99av国产精品欲麻豆| 亚洲国产精品久久久久婷婷884| 香蕉久久夜色| 欧美日韩精品综合| 一区二区视频免费在线观看 | 国产偷国产偷亚洲高清97cao| 一本色道久久综合狠狠躁的推荐| 亚洲成色999久久网站| 亚洲永久在线观看| 欧美成人在线影院| 国产真实久久| 亚洲欧美日韩精品久久久| 一区二区三区国产精华| 男女精品视频| 国内精品模特av私拍在线观看| 亚洲视频国产视频| 伊人精品视频| 欧美一区二区三区视频在线| 午夜精彩国产免费不卡不顿大片| 欧美日本中文| 最新国产成人在线观看| 亚洲国产精品高清久久久| 久久久国产午夜精品| 国产欧美日韩激情| 亚洲一区免费| 亚洲影院在线| 国产精品拍天天在线| 一区二区三区产品免费精品久久75| 99热免费精品在线观看| 欧美成人免费网| 在线免费观看欧美| 亚洲高清视频一区| 久久青青草综合| 国际精品欧美精品| 久久精品99国产精品日本| 久久久久久久久久看片| 国产丝袜一区二区三区| 性欧美超级视频| 久久国产精品久久w女人spa| 国产精品嫩草影院一区二区| 亚洲一区二区三区中文字幕| 亚洲男人天堂2024| 国产精品v亚洲精品v日韩精品| 亚洲人成在线观看网站高清| 99视频国产精品免费观看| 欧美—级a级欧美特级ar全黄| 亚洲国产日韩欧美一区二区三区| 亚洲精品乱码久久久久久蜜桃麻豆 | 久久精品国产一区二区三区免费看| 国产欧美欧洲在线观看| 欧美一区激情视频在线观看| 久久精品欧洲| 精品1区2区| 亚洲精品久久久久久久久久久久久 | 亚洲二区免费| 日韩视频在线观看一区二区| 欧美日韩精品系列| 在线视频中文亚洲| 性色一区二区| 国产一区二区三区久久久| 亚洲大胆在线| 欧美国产日韩精品免费观看| 亚洲精品视频在线播放| 亚洲欧美精品| 国产日韩欧美一区二区| 久久精品国产亚洲精品| 欧美福利视频一区| 亚洲一品av免费观看| 久久久精品999| 亚洲高清视频在线观看| 在线亚洲自拍| 国产欧美一区二区精品婷婷| 亚洲第一天堂av| 欧美日韩爆操| 亚洲一区二区在线| 久久久亚洲午夜电影| 91久久久久| 午夜精彩国产免费不卡不顿大片| 国产一区二区按摩在线观看| 亚洲精品国产精品乱码不99| 欧美视频中文字幕在线| 欧美一级网站| 欧美激情国产日韩| 中文精品99久久国产香蕉| 久久久国产视频91| 亚洲免费播放| 久久精品在线| 国产欧美日韩综合精品二区| 亚洲国产色一区| 欧美午夜无遮挡| 欧美在线免费视频| 欧美精品一区二区三区视频| 亚洲一区二区免费看| 猛男gaygay欧美视频| 日韩视频免费观看高清完整版| 欧美在线国产| 亚洲美女电影在线| 久久噜噜噜精品国产亚洲综合| 亚洲伦理久久| 久久免费视频在线观看| 亚洲最黄网站| 久久激情综合| 亚洲精品在线视频| 久久久精品视频成人| 一本色道久久精品| 免费看亚洲片| 香蕉成人啪国产精品视频综合网| 欧美激情一区二区三区在线视频观看 | 久久成人这里只有精品| 日韩一级片网址| 久久久99精品免费观看不卡| 亚洲六月丁香色婷婷综合久久| 久久精品在线免费观看| 亚洲视频在线观看免费|