• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于FPGA的工業(yè)現(xiàn)場總線偵聽器的設(shè)計與實現(xiàn)*

    2014-07-18 11:59:01宛世源唐小琦
    關(guān)鍵詞:網(wǎng)卡數(shù)控系統(tǒng)以太網(wǎng)

    宛世源,宋 寶,唐小琦

    (華中科技大學(xué) 國家數(shù)控系統(tǒng)工程技術(shù)研究中心,武漢 430074)

    ?

    基于FPGA的工業(yè)現(xiàn)場總線偵聽器的設(shè)計與實現(xiàn)*

    宛世源,宋 寶,唐小琦

    (華中科技大學(xué) 國家數(shù)控系統(tǒng)工程技術(shù)研究中心,武漢 430074)

    分析了網(wǎng)絡(luò)偵聽在工業(yè)現(xiàn)場總線中的應(yīng)用需求以及目前工業(yè)現(xiàn)場總線偵聽的應(yīng)用狀況,在EtherCAT偵聽器和網(wǎng)絡(luò)轉(zhuǎn)換網(wǎng)關(guān)設(shè)計的基礎(chǔ)上提出了一種基于FPGA的總線偵聽器設(shè)計方法并加以實現(xiàn),采用了NCUC-Bus工業(yè)現(xiàn)場總線進行了偵聽實驗,實驗結(jié)果表明所設(shè)計的偵聽器能夠?qū)崟r地偵聽總線通信鏈路并準確地解析偵聽到的數(shù)據(jù)幀。

    網(wǎng)絡(luò)偵聽;工業(yè)現(xiàn)場總線;數(shù)據(jù)幀

    0 引言

    隨著數(shù)控加工朝著高速高精發(fā)展,工業(yè)現(xiàn)場總線已經(jīng)成為了數(shù)控系統(tǒng)通信的主流。為了方便研究人員開發(fā)調(diào)試總線以及用戶更好地使用和維護總線,需要一種偵聽總線鏈路通信狀態(tài),實時解析通信數(shù)據(jù)的總線偵聽器。

    工業(yè)現(xiàn)場總線的偵聽一般借助于以太網(wǎng)的偵聽,也就是將總線數(shù)據(jù)幀發(fā)送至以太網(wǎng)卡,然后偵聽網(wǎng)卡上的數(shù)據(jù)幀,從而實現(xiàn)對總線的偵聽。在目前工業(yè)現(xiàn)場總線偵聽的應(yīng)用中,文獻[1]利用德國倍福公司開發(fā)的偵聽器將EtherCAT總線數(shù)據(jù)幀發(fā)送至以太網(wǎng)卡,捕捉網(wǎng)卡上的數(shù)據(jù)幀,然后根據(jù)EtherCAT數(shù)據(jù)幀格式對捕獲到的數(shù)據(jù)幀進行解析,實現(xiàn)了對EtherCAT總線的偵聽。但是這種偵聽器只適用于以太網(wǎng)兼容的工業(yè)現(xiàn)場總線。文獻[2]設(shè)計了基于DSP和FPGA的網(wǎng)絡(luò)轉(zhuǎn)換網(wǎng)關(guān),實現(xiàn)了TCP/IP協(xié)議,完成了工業(yè)現(xiàn)場總線與以太網(wǎng)之間的互聯(lián)通信,這樣就能夠?qū)崿F(xiàn)對非以太網(wǎng)兼容的工業(yè)現(xiàn)場總線的偵聽。在這兩種設(shè)計方法的基礎(chǔ)上,本文裁剪了文獻[2]方法中硬件結(jié)構(gòu),只采用FPGA設(shè)計了一種硬件結(jié)構(gòu)相對簡單,通用性相對較好的總線偵聽器。

    1 總線偵聽的實現(xiàn)原理

    工業(yè)現(xiàn)場總線一般為主從結(jié)構(gòu),偵聽器串聯(lián)在通信鏈路中,將總線數(shù)據(jù)幀轉(zhuǎn)換為以太網(wǎng)幀,發(fā)送至上位機(PC),同時將接收到的總線數(shù)據(jù)幀原封不動地轉(zhuǎn)發(fā)至下一個從站,這樣不會影響到總線的正常通信。拓補結(jié)構(gòu)如圖1所示。

    圖1 總線偵聽拓補結(jié)構(gòu)

    在以太網(wǎng)偵聽中將網(wǎng)卡設(shè)置為混雜模式就能捕獲任意一幀經(jīng)過網(wǎng)卡的數(shù)據(jù)[3-4],因此只要將總線數(shù)據(jù)幀封裝成以太網(wǎng)幀發(fā)送至PC網(wǎng)卡就能借助以太網(wǎng)的偵聽來實現(xiàn)總線的偵聽,從而省略對TCP/IP協(xié)議的實現(xiàn)。如圖2所示,以太網(wǎng)幀包含6個域,通過填充這6個域來實現(xiàn)以太網(wǎng)幀的封裝。①前導(dǎo)碼:前導(dǎo)碼前7個字節(jié)的值為0X55,最后一個字節(jié)的值為0XD5;②目的地址:由于網(wǎng)卡設(shè)置為混雜模式,目的地址可以隨意

    設(shè)置;③源地址:由于網(wǎng)卡設(shè)置為混雜模式,源地址可以隨意設(shè)置;④類型:類型域為0X0800表示IPV4數(shù)據(jù)報;⑤數(shù)據(jù):數(shù)據(jù)域由總線數(shù)據(jù)幀來填充;⑥CRC:根據(jù)不同的數(shù)據(jù)幀計算得到。

    圖2 以太網(wǎng)幀的封裝

    這種封裝方式屏蔽掉了總線數(shù)據(jù)幀格式的不同,只需要將總線數(shù)據(jù)幀原封不動地填充到以太網(wǎng)幀的數(shù)據(jù)域,因此對于不同協(xié)議的工業(yè)現(xiàn)場總線它都是適用的。

    偵聽器硬件架構(gòu)如圖3所示,采用的FPGA為EP2C5T144C8,相對于文獻[4]中DSP(TMS320F2812) +FPGA(EP2C8Q208C8)的硬件架構(gòu),它的硬件是相對簡單的。FPGA完成組幀、轉(zhuǎn)發(fā)功能,網(wǎng)絡(luò)芯片DM9161A實現(xiàn)數(shù)據(jù)的接收和發(fā)送。采用RJ45網(wǎng)口來連接PC、火線口和ST光纖口連接從站,能夠?qū)崿F(xiàn)三種不同傳輸介質(zhì)間的通信轉(zhuǎn)換。

    圖3 總線偵聽器硬件結(jié)構(gòu)

    總線偵聽上位機是基于以太網(wǎng)偵聽設(shè)計的,主要功能是偵聽、解析以及顯示總線數(shù)據(jù)幀。它的結(jié)構(gòu)如圖4所示,主要由偵聽模塊、解析模塊和顯示模塊三個部分構(gòu)成。

    圖4 偵聽器上位機結(jié)構(gòu)

    偵聽模塊偵聽網(wǎng)卡上的以太網(wǎng)幀,由解析模塊取出其數(shù)據(jù)域,然后根據(jù)相應(yīng)的總線協(xié)議進行解析,顯示模塊對解析的數(shù)據(jù)作界面顯示。

    2 總線偵聽器的FPGA設(shè)計

    圖7 Signaltap仿真

    總線偵聽器的FPGA程序采用自底向上的設(shè)計方法,主要實現(xiàn)了總線數(shù)據(jù)幀和以太網(wǎng)幀之間的轉(zhuǎn)換以及對總線數(shù)據(jù)幀的轉(zhuǎn)發(fā)。主要包括5個模塊:①轉(zhuǎn)發(fā)模塊;②幀長度獲取模塊;③數(shù)據(jù)緩存模塊;④CRC計算模塊;⑤幀封裝模塊。整體架構(gòu)如圖5所示,輸入信號為接收數(shù)據(jù)有效標志rxdv_m,總線數(shù)據(jù)rxd_m[1..0],以及時鐘phy_clk,輸出信號為轉(zhuǎn)發(fā)總線數(shù)據(jù)txd_f[1..0],發(fā)送使能txen_f,以太網(wǎng)數(shù)據(jù)txd[1..0],發(fā)送使能txen。

    圖5 FPGA程序整體架構(gòu)

    在FPGA程序設(shè)計中數(shù)據(jù)的轉(zhuǎn)發(fā)在接收到數(shù)據(jù)的同時進行這樣可以減少由于偵聽器的轉(zhuǎn)發(fā)帶來的通信延遲,數(shù)據(jù)的緩存區(qū)不能夠溢出,一般總線數(shù)據(jù)幀不會超過1000個字節(jié),因此深度為10(1024個字節(jié))的緩存區(qū)是足夠的。CRC的計算和幀的封裝在新的一幀數(shù)據(jù)到來時就開始,這樣能夠確保CRC及時計算完成以及在下一幀數(shù)據(jù)到來之前已經(jīng)封裝完畢發(fā)送出去。在這些模塊中CRC計算模塊是最為關(guān)鍵的,調(diào)試時通過4個固定的字節(jié)0XFF來調(diào)試CRC計算模塊,如果計算時序正確的話,這4個字節(jié)的CRC計算結(jié)果是0X00000000,最后可以通過IRIS發(fā)包軟件來確認CRC計算模塊,方法是IRIS給偵聽器發(fā)送一幀自己設(shè)定好的數(shù)據(jù),然后用CRC模塊對這幀數(shù)據(jù)計算CRC,通過Signaltap觀察計算結(jié)果,如果與IRIS添加的CRC校驗相一致,那么CRC計算模塊是準確無誤的,這樣就可以放心地封裝以太網(wǎng)幀。

    程序的流程如圖6所示,當有通信數(shù)據(jù)時,轉(zhuǎn)發(fā)數(shù)據(jù),存儲數(shù)據(jù),獲取數(shù)據(jù)幀長度,這些都是并行處理的。然后開始計算CRC,封裝以太網(wǎng)幀,沒有通信數(shù)據(jù)時就處于空閑等待狀態(tài)。

    圖6 FPGA程序流程

    行仿真觀察,采用的工業(yè)現(xiàn)場總線為NCUC-Bus。在圖7中rxd_m是接收到的NCUC-Bus幀,crc32是計算得到的CRC,txd是封裝后發(fā)送的以太網(wǎng)幀。

    3 實驗驗證

    采用圖1的拓補,使用華中8型數(shù)控系統(tǒng),3個伺服,3個伺服電機,偵聽器以及一臺普通的PC,連接好設(shè)備,上電,操作數(shù)控系統(tǒng)進行通信,打開上位機,捕獲數(shù)據(jù),可以看到偵聽到的一系列總線數(shù)據(jù)幀,點擊想要查看的數(shù)據(jù)幀就可一看到這幀數(shù)據(jù)的具體內(nèi)容,如圖8所示。

    圖8 偵聽到的數(shù)據(jù)幀(左)幀解析的詳細結(jié)果(右)

    4 結(jié)束語

    本文基于FPGA設(shè)計的工業(yè)現(xiàn)場總線偵聽器能夠完成工業(yè)現(xiàn)場總線和以太網(wǎng)之間的通信轉(zhuǎn)換,實現(xiàn)了對NCUC-Bus總線的偵聽,為總線的開發(fā)調(diào)試和維護使用提供了一個有效的工具,這種設(shè)計方法具有硬件結(jié)構(gòu)相對簡單,通用性較好的特點,對于其他形式的總線偵聽或許有一定的借鑒意義。

    [1] 劉喆,郇極,劉艷強.基于XML的EtherCAT工業(yè)以太網(wǎng)協(xié)議解析技術(shù)[J].北京航空航天大學(xué)學(xué)報,2011(9):1087-1090.

    [2] 陳明,宋寶,唐小琦.基于DSP和FPGA的網(wǎng)絡(luò)轉(zhuǎn)換開關(guān)[J].計算機應(yīng)用,2011(10): 2618-2620.

    [3] 李少凡,汪為農(nóng).網(wǎng)絡(luò)偵聽器的實現(xiàn)及其優(yōu)化[J].上海交通大學(xué)報,1998,32(10)84-86.

    [4] 王英龍,王連海.網(wǎng)絡(luò)偵聽以及反偵聽的原理和實現(xiàn)[J].計算機應(yīng)用研究,2001(12):61-63.

    [5] 宋寶,陳灝,唐小琦.現(xiàn)場總線NCUC-Bus的技術(shù)特點與應(yīng)用[J].機床與自動化,2012(8):58-61.

    [6] Clive “Max” Maxfield. FPGA權(quán)威指南[M].北京:人民郵電出版社,2012.

    [7] 周義剛,何嶺松.在嵌入式PC上實現(xiàn)數(shù)控機床的網(wǎng)絡(luò)監(jiān)控和遠程診斷[J].機床與液壓,2004(10):270-273.

    [8] 張向利.基于以太網(wǎng)的數(shù)控系統(tǒng)現(xiàn)場總線技術(shù)研究[D].武漢:華中科技大學(xué),2008.

    [9] 胥軍,方彥軍.嵌入式現(xiàn)場總線協(xié)議轉(zhuǎn)換網(wǎng)關(guān)開發(fā)[J].計算機工程,2006,6(12):255-257.

    [10] 鄧衛(wèi),裴瑋,齊智平.基于ARM技術(shù)的以太網(wǎng)CAN現(xiàn)場總線協(xié)議轉(zhuǎn)換網(wǎng)關(guān)的設(shè)計與實現(xiàn)[J].機電一體化,2007,13(8):28-33.

    (編輯 李秀敏)

    The Design and Implementation of Industry Field Bus Sniffer Based on FPGA

    WAN Shi-yuan, SONG Bao, TANG Xiao-qi

    (National Numerical Control System Engineering Research Center, Hua Zhong University of Science and Technology, Wuhan 430074)

    The need and current application status of network sniffing on the industry field bus is analyzed. Based on the sniffer of EtherCAT and the network conversion gateway, a design of bus sniffer by FPGA is proposed and implemented. Experiment with NCUC-Bus also verifies that the bus sniffer can monitor the communication link in real time and parses the frame exactly.

    network sniffer; industry field bus; data frame

    1001-2265(2014)01-0093-03

    10.13462/j.cnki.mmtamt.2014.01.026

    2013-05-03;

    2013-05-22

    高檔數(shù)控機床與基礎(chǔ)制造裝備”科技重大專項“開放式高檔數(shù)控系統(tǒng)、伺服裝置和電機成套產(chǎn)品開發(fā)與綜合驗證(2012ZX04001012);高檔數(shù)控機床與基礎(chǔ)制造裝備科技重大專項“高精度、高分辨率絕對式光柵旋轉(zhuǎn)編碼器研制(2012ZX04001041)

    宛世源(1989— ),男,湖南邵陽人,華中科技大學(xué)碩士研究生,主要研究方向為數(shù)控技術(shù)、現(xiàn)場總線,(E-mail)wan_shiyuan@qq.com; 唐小琦(1957—),男,湖北邵東人,華中科技大學(xué)教授,博士生導(dǎo)師,博士,主要研究方向為數(shù)控技術(shù)、交流伺服驅(qū)動、非線性控制。

    TH165; TN915 .05

    A

    猜你喜歡
    網(wǎng)卡數(shù)控系統(tǒng)以太網(wǎng)
    在DDS 中間件上實現(xiàn)雙冗余網(wǎng)卡切換的方法
    基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計與實現(xiàn)
    Server 2016網(wǎng)卡組合模式
    基于FANUC 32i A數(shù)控系統(tǒng)的外部測量設(shè)計
    西門子840D sl數(shù)控系統(tǒng)在SC125大型車銑鏜床技術(shù)改造中的應(yīng)用
    基于FANUC Oi mate TD數(shù)控系統(tǒng)的手動功能開發(fā)
    數(shù)控系統(tǒng)中GUI軟件平臺設(shè)計和實現(xiàn)
    談實時以太網(wǎng)EtherCAT技術(shù)在變電站自動化中的應(yīng)用
    電子制作(2017年24期)2017-02-02 07:14:44
    挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
    一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計
    新昌县| 咸丰县| 深圳市| 仙桃市| 丰镇市| 华宁县| 棋牌| 汕头市| 东兰县| 桂东县| 井研县| 康保县| 内丘县| 洛川县| 南康市| 安义县| 合水县| 泉州市| 涞水县| 扬中市| 贵港市| 金坛市| 和静县| 营口市| 开封县| 襄垣县| 张家口市| 油尖旺区| 新和县| 柳江县| 邢台市| 安远县| 张北县| 葫芦岛市| 平潭县| 郎溪县| 连城县| 南部县| 台江县| 方城县| 涞源县|