• 
    

    
    

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

      ?

      基于FPGA的EtherCAT從站模塊設(shè)計(jì)

      2020-07-26 14:23吳超王成群徐偉強(qiáng)朱升宏賈宇波
      軟件導(dǎo)刊 2020年7期
      關(guān)鍵詞:通信協(xié)議

      吳超 王成群 徐偉強(qiáng) 朱升宏 賈宇波

      摘 要:EtherCAT作為高性能工業(yè)以太網(wǎng)的代表,憑借其低延遲、高速率、高吞吐率等特點(diǎn)在工業(yè)自動(dòng)化領(lǐng)域得到了廣泛應(yīng)用。針對(duì)目前EtherCAT從站需要依賴國(guó)外專用從站控制器芯片以保證網(wǎng)絡(luò)性能的問(wèn)題,提出一種使用FPGA芯片代替專用從站控制器芯片的EtherCAT從站軟硬件方案。利用示波器測(cè)量EtherCAT從站的各項(xiàng)性能,測(cè)試結(jié)果表明,該設(shè)計(jì)方案與其它采用專用控制器芯片的EtherCAT從站方案相比,可提高EtherCAT網(wǎng)絡(luò)的實(shí)時(shí)性能,減小通信周期抖動(dòng)。該方案降低了EtherCAT從站實(shí)現(xiàn)成本,且擁有自主知識(shí)產(chǎn)權(quán),可滿足工業(yè)通信高實(shí)時(shí)性、低時(shí)延的要求。

      關(guān)鍵詞:工業(yè)以太網(wǎng);通信協(xié)議;EtherCAT;FPGA

      DOI:10. 11907/rjdk. 192575 開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):

      中圖分類號(hào):TP319文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2020)007-0011-04

      The Design of EtherCAT Slave Module Based on FPGA

      WU Chao1,WANG Cheng-qun1,XU Wei-qiang1,ZHU Sheng-hong2,JIA Yu-bo1

      (1. School of Information, Zhejiang Sci-Tech University;2.H3C Co., Ltd., Hangzhou 310018,China)

      Abstract: As the representative of high performance industrial ethernet, EtherCAT has been widely used in the field of industrial automation due to its low latency, high speed and high throughput. Aiming at the current situation that EtherCAT slave station needs to rely on foreign special slave controller chips to ensure network performance, this paper proposes a hardware and software scheme of EtherCAT slave station using FPGA chips instead of special slave controller chips. The performance of the EtherCAT slave station is measured by an oscilloscope. The test results show that the design scheme can improve the real-time performance of the EtherCAT network and reduce the jitter of the communication cycle compared with other EtherCAT slave station schemes using dedicated controller chips. This scheme reduces the implementation cost of EtherCAT slave station and has independent intellectual property rights, which meets the requirements of high real-time and low delay in industrial communications.

      Key Words: industrial Ethernet; communication protocol; EtherCAT; FPGA

      0 引言

      隨著自動(dòng)化產(chǎn)業(yè)的發(fā)展,傳統(tǒng)現(xiàn)場(chǎng)總線技術(shù)由于帶寬及其利用率的問(wèn)題已無(wú)法滿足現(xiàn)代工業(yè)自動(dòng)化的需要,因此被稱為第二代工業(yè)網(wǎng)絡(luò)的實(shí)時(shí)以太網(wǎng)受到越來(lái)越多的關(guān)注。隨著工業(yè)4.0的提出,以太網(wǎng)與工業(yè)自動(dòng)化結(jié)合得更為緊密。目前,實(shí)時(shí)以太網(wǎng)憑借其成熟的特性已成為工業(yè)自動(dòng)化領(lǐng)域不可或缺的技術(shù)[1-3]。

      EtherCAT作為高性能工業(yè)以太網(wǎng)的代表,以其高速、實(shí)時(shí)性、低成本、拓?fù)潇`活等優(yōu)勢(shì)得到了快速發(fā)展,已成為工業(yè)控制領(lǐng)域流行的工業(yè)以太網(wǎng)解決方案。許多學(xué)者針對(duì)EtherCAT網(wǎng)絡(luò)作了大量研究,其中對(duì)于EtherCAT從站的研究最為普遍。如參考文獻(xiàn)[4]選用德國(guó)倍福公司的專用從站控制器芯片ET1100,提出一種基于ARM Cortex-M0微處理器的從站設(shè)計(jì)方案;參考文獻(xiàn)[5]在其基礎(chǔ)上提出一種獨(dú)立的EtherCAT從站模塊設(shè)計(jì)方案,并將其應(yīng)用于多軸閉環(huán)步進(jìn)電機(jī)驅(qū)動(dòng)中;參考文獻(xiàn)[6]選用德國(guó)倍福公司的專用從站控制器芯片ET1200,提出一種將EBUS接口電路應(yīng)用于EtherCAT從站模塊中的設(shè)計(jì)方案;參考文獻(xiàn)[7]提出一種基于專用從站控制器芯片ET1100與多核DSP的EtherCAT從站方案,該方案相較于現(xiàn)成商用從站的實(shí)時(shí)性具有較大提升。

      然而,目前幾乎所有EtherCAT從站都需要使用國(guó)外專用控制器芯片或硬件電路保證網(wǎng)絡(luò)性能,使用較多的控制器芯片有德國(guó)倍福公司的ET1100和ET1200等。針對(duì)這種情況,? ?本文在研究EtherCAT通信協(xié)議的基礎(chǔ)上,提出一種基于FPGA的EtherCAT從站設(shè)計(jì)方案,利用FPGA作為主控制器實(shí)現(xiàn)專用控制器芯片在EtherCAT通信中的功能。通過(guò)自己搭建的EtherCAT主從站測(cè)試數(shù)據(jù)精確度,示波器測(cè)試結(jié)果表明,主從站設(shè)備實(shí)時(shí)性良好,網(wǎng)絡(luò)抖動(dòng)小。本文設(shè)計(jì)方案擁有自主知識(shí)產(chǎn)權(quán),擺脫了對(duì)國(guó)外專用芯片和技術(shù)的依賴,可為將來(lái)我國(guó)不同工業(yè)應(yīng)用場(chǎng)合搭建低成本EtherCAT主從站提供參考。

      1 EtherCAT協(xié)議

      EtherCAT遵循開(kāi)放系統(tǒng)互聯(lián)模型,主要分為物理層、數(shù)據(jù)鏈路層和應(yīng)用層3層。物理層為信號(hào)傳輸提供物理鏈路,數(shù)據(jù)鏈路層為相連設(shè)備之間的數(shù)據(jù)通信提供支持,應(yīng)用層對(duì)數(shù)據(jù)鏈路層的請(qǐng)求作出反應(yīng)。EtherCAT采用標(biāo)準(zhǔn)的IEEE802.3以太網(wǎng)幀,其幀類型0x88A4用于與其它類型數(shù)據(jù)幀相區(qū)分。每個(gè)EtherCAT子報(bào)文都包含報(bào)文頭、報(bào)文數(shù)據(jù)和工作計(jì)數(shù)器3部分[8-12]。工作計(jì)數(shù)器記錄被子報(bào)文正確尋址的從站數(shù)目,記錄規(guī)則是讀或?qū)懗晒r(shí),WKC增加1;讀寫(xiě)操作成功時(shí),WKC增加3。EtherCAT數(shù)據(jù)幀結(jié)構(gòu)如圖1所示。

      EtherCAT采用集總幀的思想,主站發(fā)送一個(gè)含有多個(gè)子報(bào)文的數(shù)據(jù)幀給從站設(shè)備后,從站快速取出對(duì)應(yīng)子報(bào)文,并將要發(fā)送的數(shù)據(jù)寫(xiě)入報(bào)文中,繼續(xù)轉(zhuǎn)發(fā)給下一個(gè)從站。最后一個(gè)EtherCAT從站發(fā)回經(jīng)處理之后的數(shù)據(jù)幀,通信結(jié)束[13-15]。從站設(shè)備處理報(bào)文數(shù)據(jù)過(guò)程如圖2所示,其中Rx與Tx分別代表從站讀取與插入數(shù)據(jù)幀對(duì)應(yīng)子報(bào)文的過(guò)程。

      2 EtherCAT從站設(shè)計(jì)

      EtherCAT技術(shù)之所以成為工業(yè)控制領(lǐng)域流行的工業(yè)以太網(wǎng)解決方式,與其優(yōu)異的性能是分不開(kāi)的。EtherCAT技術(shù)采用集束幀技術(shù),采取一種“數(shù)據(jù)列車”的方式進(jìn)行設(shè)計(jì),以及“邊傳輸、邊處理”的方式實(shí)現(xiàn)高實(shí)時(shí)性。目前幾乎所有EtherCAT從站都需要使用國(guó)外專用從站控制器芯片以保證網(wǎng)絡(luò)性能,本設(shè)計(jì)使用FPGA作為控制芯片代替ET1100等專用從站控制器芯片在EtherCAT通信中協(xié)議解析中發(fā)揮作用。目前常見(jiàn)的EtherCAT從站設(shè)計(jì)方案與本文提出的EtherCAT從站設(shè)計(jì)方案比較如圖3所示。

      如何不依賴于專用芯片實(shí)現(xiàn)“飛讀飛寫(xiě)”功能,并轉(zhuǎn)發(fā)給下一個(gè)從站是一大難點(diǎn)。為了解決該問(wèn)題,本設(shè)計(jì)將EtherCAT從站控制器功能架構(gòu)分為:數(shù)據(jù)幀接收模塊、數(shù)據(jù)幀處理模塊、數(shù)據(jù)幀轉(zhuǎn)發(fā)模塊3部分。為方便數(shù)據(jù)幀管理,需要在EtherCAT從站控制器中設(shè)計(jì)3個(gè)FIFO(First Input First Output)模塊作為緩沖器,分別取名為Rec_fifo、Local_fifo和Tx_fifo。Rec_fifo主要用來(lái)存放接收到EtherCAT數(shù)據(jù)幀的所有子報(bào)文,Local_fifo主要用來(lái)接收當(dāng)前從站對(duì)應(yīng)子報(bào)文中的數(shù)據(jù),Tx_fifo則用來(lái)存放需要轉(zhuǎn)發(fā)出去的所有子報(bào)文。

      (1)數(shù)據(jù)幀接收模塊。EtherCAT從站一旦檢測(cè)到發(fā)送過(guò)來(lái)的EtherCAT數(shù)據(jù)幀,即將接收到的數(shù)據(jù)幀作一個(gè)初步解析,將所有子報(bào)文存入Rec_fifo中。在接收的同時(shí)還需要對(duì)數(shù)據(jù)幀進(jìn)行校驗(yàn),一旦校驗(yàn)結(jié)果與接收到的FCS不一致,則會(huì)舍棄接收到的數(shù)據(jù)幀。數(shù)據(jù)幀接收模塊還有一個(gè)重要作用即暫存所有子報(bào)文數(shù)量,一旦有一個(gè)子報(bào)文被讀出,則需要?jiǎng)討B(tài)更新剩余子報(bào)文數(shù)量。當(dāng)數(shù)據(jù)幀接收校驗(yàn)完成后,則等待對(duì)子報(bào)文的深度解析。

      (2)數(shù)據(jù)幀處理模塊。數(shù)據(jù)幀處理模塊對(duì)收到的EtherCAT數(shù)據(jù)幀作深度解析。當(dāng)數(shù)據(jù)幀接收完成后,數(shù)據(jù)幀處理模塊從Rec_fifo中取出第一個(gè)子報(bào)文頭,從中提取出一些關(guān)鍵信息,如子報(bào)文攜帶的命令、尋址地址、子報(bào)文中的數(shù)據(jù)長(zhǎng)度等。判斷尋址地址是否是當(dāng)前從站,如果是,則根據(jù)子報(bào)文頭中的數(shù)據(jù)長(zhǎng)度從Rec_fifo中讀出對(duì)應(yīng)數(shù)據(jù)存入到Local_fifo中,接著將重組的子報(bào)文頭和從站待發(fā)送的數(shù)據(jù)存入Tx_fifo中;如果不是,則將重組的子報(bào)文頭和Rec_fifo中的子報(bào)文數(shù)據(jù)直接送入到Tx_fifo中,其間延時(shí)很短。報(bào)文頭部和數(shù)據(jù)區(qū)處理完成后讀出WKC的值。根據(jù)上文介紹的WKC記錄規(guī)則,根據(jù)子報(bào)文頭中的命令對(duì)WKC計(jì)數(shù)值進(jìn)行處理后存進(jìn)Tx_fifo中。至此,第一個(gè)子報(bào)文即解析完成,根據(jù)數(shù)據(jù)幀接收模塊中的剩余子報(bào)文數(shù)量判斷是否還有子報(bào)文未讀出。如果有,則按照上述步驟讀取下一個(gè)子報(bào)文;如果沒(méi)有,則等待將新的EtherCAT數(shù)據(jù)幀轉(zhuǎn)發(fā)給下一個(gè)從站。

      (3)數(shù)據(jù)幀轉(zhuǎn)發(fā)模塊。數(shù)據(jù)幀轉(zhuǎn)發(fā)模塊功能主要是校驗(yàn)轉(zhuǎn)發(fā),一旦數(shù)據(jù)幀深度解析完成后,則將Tx_fifo中所有子報(bào)文組成標(biāo)準(zhǔn)的EtherCAT數(shù)據(jù)幀重新進(jìn)行校驗(yàn),并轉(zhuǎn)發(fā)給下一個(gè)從站。

      基于FPGA的EtherCAT從站軟件結(jié)構(gòu)如圖4所示,其中RxData表示接收的數(shù)據(jù),LocalData表示從站本地存儲(chǔ)的數(shù)據(jù),TxData表示發(fā)送出去的數(shù)據(jù)。根據(jù)上述設(shè)計(jì),每個(gè)EtherCAT從站只需判斷每個(gè)子報(bào)文中的地址與自己是否匹配。如果匹配,則取出對(duì)應(yīng)報(bào)文數(shù)據(jù),并將需要發(fā)送的數(shù)據(jù)插入報(bào)文中;如果不匹配,則快速讀出數(shù)據(jù)放入發(fā)送緩沖區(qū)中。通過(guò)以上設(shè)計(jì),再加上FPGA優(yōu)異的性能,可以大大提高EtherCAT從站對(duì)數(shù)據(jù)幀的處理速度,具有較強(qiáng)的網(wǎng)絡(luò)實(shí)時(shí)性。

      為了驗(yàn)證基于FPGA的EtherCAT從站性能,本文設(shè)計(jì)的EtherCAT從站硬件架構(gòu)如圖5所示。該硬件平臺(tái)既可作為EtherCAT的從站,也可作為EtherCAT主站使用。硬件平臺(tái)包含F(xiàn)PGA主芯片、百兆以太網(wǎng)收發(fā)器RTL8201、千兆以太網(wǎng)收發(fā)器RTL8211、網(wǎng)絡(luò)變壓器、RJ45接口、EEPROM及FLASH存儲(chǔ)器等。

      在本文設(shè)計(jì)的EtherCAT從站硬件結(jié)構(gòu)中,采用FPGA芯片代替了國(guó)外專用從站控制器芯片,F(xiàn)PGA選用Altera公司CycloneIV系列芯片EP4CE6E22C8N,晶振頻率為50M。百兆以太網(wǎng)的晶振頻率為25M,千兆以太網(wǎng)晶振頻率為125M。FPGA與百兆以太網(wǎng)之間采用MII接口協(xié)議,F(xiàn)PGA與千兆以太網(wǎng)之間采用GMII接口協(xié)議。本設(shè)計(jì)中對(duì)EtherCAT從站一些固有參數(shù)的配置則是通過(guò)IIC協(xié)議寫(xiě)入EEPROM中。本文設(shè)計(jì)的基于FPGA的EtherCAT從站硬件實(shí)物如圖6所示。

      3 EtherCAT從站性能分析與驗(yàn)證

      最小通信周期及抖動(dòng)是衡量網(wǎng)絡(luò)系統(tǒng)實(shí)時(shí)性能的重要指標(biāo),為了測(cè)試本文設(shè)計(jì)的基于FPGA的EtherCAT從站性能,通過(guò)示波器測(cè)量基于FPGA的EtherCAT主從站最小通信周期及抖動(dòng)。具體做法為EtherCAT主站發(fā)送兩個(gè)16-bit數(shù)據(jù)給單個(gè)從站,EtherCAT從站在接收完數(shù)據(jù)后,在報(bào)文中插入4個(gè)16-bit的數(shù)據(jù)返回給主站。示波器只要測(cè)量從EtherCAT主站發(fā)送數(shù)據(jù)幀到接收到從站返回?cái)?shù)據(jù)幀之間的時(shí)間間隔,即可得出網(wǎng)絡(luò)最小通信周期。一次測(cè)量結(jié)果如圖7所示。為了避免單次測(cè)量的偶然性,又進(jìn)行了30次測(cè)量,30次測(cè)量結(jié)果如表1所示。經(jīng)過(guò)計(jì)算,一主一從的最小通信周期平均值為21.6931μs,通信周期抖動(dòng)最大值為61.1ns。實(shí)驗(yàn)結(jié)果表明,在該實(shí)驗(yàn)方案中,整個(gè)EtherCAT網(wǎng)絡(luò)實(shí)時(shí)性強(qiáng),通信抖動(dòng)小。

      為驗(yàn)證本文設(shè)計(jì)的基于FPGA的EtherCAT從站的穩(wěn)定性和可靠性,進(jìn)行單個(gè)主站和3個(gè)從站的通信測(cè)試,具體做法為主站發(fā)送一個(gè)含有4個(gè)子報(bào)文的數(shù)據(jù)幀,每個(gè)子報(bào)文攜帶兩個(gè)16-bit數(shù)據(jù),每個(gè)從站取出屬于自己的子報(bào)文,并在數(shù)據(jù)幀中插入4個(gè)16-bit數(shù)據(jù)轉(zhuǎn)發(fā)給下一個(gè)從站,最后一個(gè)從站返回實(shí)驗(yàn)結(jié)果給主站。一次一主三從的最小通信周期測(cè)試結(jié)果如圖8所示。為了避免單次測(cè)量的偶然性,也進(jìn)行了30次測(cè)量,30次測(cè)量結(jié)果如表2所示。經(jīng)過(guò)計(jì)算,最小通信周期平均值為67.3977μs,通信周期抖動(dòng)最大值為79.9ns,測(cè)量結(jié)果符合預(yù)期設(shè)計(jì)要求。

      4 結(jié)語(yǔ)

      目前幾乎所有的EtherCAT從站都需要使用國(guó)外專用控制器以保證網(wǎng)絡(luò)性能,本文提出一種基于FPGA的從站軟硬件設(shè)計(jì)方案,利用FPGA芯片代替專用控制器芯片實(shí)現(xiàn)對(duì)EtherCAT數(shù)據(jù)幀的“飛讀飛寫(xiě)”功能。實(shí)驗(yàn)結(jié)果表明,該設(shè)計(jì)方案不僅可以大幅降低成本,而且與基于專用控制器芯片搭建的EtherCAT從站相比,實(shí)時(shí)性更強(qiáng),可靠性更高,為將來(lái)我國(guó)擺脫對(duì)國(guó)外專用芯片的依賴,搭建低成本EtnerCAT從站提供了參考依據(jù)。

      參考文獻(xiàn):

      [1] DANIELIS P, SKODZIK J, ALTMANN V, et al. Survey on real-time communication via ethernet in industrial automation environments[C]. Proceedings of the 2014 IEEE Emerging Technology and Factory Automation (ETFA), 2014: 1-8.

      [2] SOMMER J, GUNREBEN S, FELLER F, et al. Ethernet–a survey on its fields of application[J].? IEEE Communications Surveys & Tutorials, 2010, 12(2): 263-284.

      [3] GAJ P,JASPERNEITE J,F(xiàn)ELSER M. Computer communication within industrial distributed environment—a survey[J].? IEEE Transactions on Industrial Informatics, 2013, 9(1):182-189.

      [4] HUANG Y W,WU C H. Design and implementation of EtherCAT slave based on ARM cortex-M0[C]. Proceedings of the 2nd International Conference on Intelligent Technologies and Engineering Systems, 2014: 741-747.

      [5] NGUYEN Q V,KIM T W, MOON J Y, et al. Development of independent EtherCAT slave module and application to closed loop step motor drive with multi-axis[C]. 2016 International Conference on Computing, Communication and Automation (ICCCA), 2016: 912-917.

      [6] KANG C,PANG Y, MA C, et al. Design of EtherCAT slave module[C]. 2011 IEEE International Conference on Mechatronics and Automation, 2011: 1600-1604.

      [7] PARK S M, KIM H W, CHO H M, et al. Development of EtherCAT slave based on multi-core DSP[C]. 2018 15th International Conference on Control, Automation, Robotics and Vision (ICARCV).? IEEE, 2018: 157-161.

      [8] ZHOU C,XU J, YAO J, et al. Design of servo drive slaves based on EtherCAT[C]. The 27th Chinese Control and Decision Conference, 2015: 5999-6004.

      [9] LIU J, CHEN S, ZHANG G, et al. The development of a novel servo motor controller based on EtherCAT and FPGA[C]. 2016 Chinese Control and Decision Conference, 2016: 3174-3179.

      [10] 蒲婉玲. EtherCAT 主站與從站設(shè)計(jì)與實(shí)現(xiàn)[D].? 成都:電子科技大學(xué), 2018.

      [11] 楊勇軍. 基于EtherCAT工業(yè)以太網(wǎng)協(xié)議主從站設(shè)計(jì)[D].? 湘潭:湘潭大學(xué),2017.

      [12] DELGADO R, KIM S Y, YOU B J, et al. An EtherCAT-based real-time motion control system in mobile robot application[C].? 2016 13th International Conference on Ubiquitous Robots and Ambient Intelligence: 710-715.

      [13] KNEZIC M, DOKIC B, IVANOVIC Z. Topology aspects in EtherCAT networks[C].? Proceedings of 14th International Power Electronics and Motion Control Conference EPE-PEMC, 2010.

      [14] JUNG I K, LIM S. An EtherCAT based control system for human-robot cooperation[C]. 2011 16th International Conference on Methods & Models in Automation & Robotics,2011: 341-344.

      [15] KIM J H, JEON J W, LEE J H, et al. Migration from RS-485 to EtherCAT for closed loop step motor drive[C]. 2014 IEEE International Conference on Industrial Technology, 2014: 701-706.

      (責(zé)任編輯:黃 ?。?/p>

      猜你喜歡
      通信協(xié)議
      DCS本地總線通信協(xié)議與FFH1設(shè)備互操作技術(shù)研究與實(shí)現(xiàn)
      電子計(jì)算機(jī)聯(lián)鎖系統(tǒng)通信協(xié)議設(shè)計(jì)和應(yīng)用
      基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計(jì)
      基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計(jì)與研究
      基于NS-3的PLC多頻通信協(xié)議仿真平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
      RSSP-I、RSSP-Ⅱ及SAHARA三種安全通信協(xié)議實(shí)現(xiàn)技術(shù)簡(jiǎn)介
      舟曲县| 平果县| 西丰县| 石首市| 苏尼特左旗| 蓬安县| 河东区| 龙口市| 福安市| 绥江县| 西峡县| 东乡县| 财经| 安西县| 库车县| 阿荣旗| 墨脱县| 淳化县| 中西区| 麦盖提县| 张北县| 额济纳旗| 台东县| 祁东县| 奉节县| 大余县| 茶陵县| 永兴县| 教育| 汉沽区| 青田县| 北安市| 石狮市| 山西省| 利辛县| 万盛区| 乐平市| 宝丰县| 成武县| 塘沽区| 临沂市|