亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA和PCI接口的EtherCAT從站網(wǎng)卡設(shè)計

        2018-10-23 01:50:02程天亨張舞杰
        自動化與儀表 2018年9期
        關(guān)鍵詞:狀態(tài)機工控機網(wǎng)卡

        程天亨,張舞杰

        (華南理工大學 機械與汽車工程學院,廣州 510640)

        在一些工業(yè)自動化流水線生產(chǎn)領(lǐng)域,為了滿足生產(chǎn)需求,需要使用工業(yè)相機甚至使用多臺工業(yè)相機進行數(shù)據(jù)測量。面對成像技術(shù)不斷發(fā)展和進步的新時期,相機分辨率高信息數(shù)據(jù)量較大,實時性和同步性需求高[1-2],多相機數(shù)據(jù)傳輸成為新時期迫切需要解決的問題。同時,隨著計算機技術(shù)和工業(yè)以太網(wǎng)技術(shù)的發(fā)展與融合,工業(yè)以太網(wǎng)由于其速度快、成本低、擴展性好、抗干擾性強等特點取得了廣泛的應(yīng)用。國際上許多著名的工業(yè)自動化公司也相繼提出工業(yè)以太網(wǎng)新標準。德國Beckhoff公司提出的 EtherCAT(Ethernet for control automation technology),具有靈活的網(wǎng)絡(luò)拓撲結(jié)構(gòu)、系統(tǒng)配置簡單、數(shù)據(jù)傳輸全雙工、高速高效、總線利用率較高等特點[3-5],可以有效地運用在多相機數(shù)據(jù)傳輸領(lǐng)域。

        然而工業(yè)相機的數(shù)據(jù)接口協(xié)議與EtherCAT協(xié)議不兼容。為解決工業(yè)相機接入EtherCAT網(wǎng)絡(luò)系統(tǒng)的問題,在此,提出一種將具有實時采集相機圖像和圖像處理功能的工控機作為從站設(shè)備與主站相連的解決方案,并設(shè)計了一款基于FPGA和PCI接口的EtherCAT從站網(wǎng)卡,將工控機接收到的圖像原始數(shù)據(jù)或圖像處理后的數(shù)據(jù)傳輸?shù)紼therCAT網(wǎng)絡(luò)中,實現(xiàn)與EtherCAT主站數(shù)據(jù)交互的功能。

        1 EtherCAT從站網(wǎng)卡組成框架

        EtherCAT從站網(wǎng)卡由微處理器、EtherCAT模塊以及網(wǎng)絡(luò)物理層模塊組成,其結(jié)構(gòu)如圖1所示。其中,EtherCAT模塊由EtherCAT協(xié)議控制器組成,用于實現(xiàn)物理層與數(shù)據(jù)鏈路層。文中選用倍福公司ET1100作為EtherCAT協(xié)議控制器;微處理器由FPGA芯片實現(xiàn),選用Altera公司Cyclone IV系列的EP4CE6F17C8;物理層網(wǎng)卡芯片采用KS8721BL。

        圖1 EtherCAT從站網(wǎng)卡設(shè)計框架Fig.1 Design framework of EtherCAT slave network card

        2 從站網(wǎng)卡硬件設(shè)計

        系統(tǒng)硬件包括FPGA與ET1100的PDI接口模塊、ET1100與以太網(wǎng)物理層PHY芯片的MII接口模塊和FPGA的PCI通信模塊。ET1100通過MII接口與以太網(wǎng)物理層芯片連接,再通過16位異步微處理的PDI接口與FPGA連接。從站網(wǎng)卡啟動后,接收到來自主站的報文數(shù)據(jù),F(xiàn)PGA通過內(nèi)部運行的狀態(tài)機與PCI和ET1100進行通信,完成工控機和主站的數(shù)據(jù)交互。

        2.1 EtherCAT PDI接口

        過程數(shù)據(jù)接口 PDI(process data interface)是實現(xiàn)從站控制器和應(yīng)用之間的接口。ET1100支持3類過程數(shù)據(jù)接口,分別為數(shù)字量I/O,SPI從機、8/16位同步/異步微處理接口。PDI接口類型由寄存器0x0140—0x141進行配置[6]。在此使用16位異步微處理器接口與FPGA相連。

        該總線接口使用復(fù)用的地址和數(shù)據(jù)總線,其ET1100和FPGA電路連接如圖2所示。

        圖2 ET1100與FPGA硬件接口Fig.2 Hardware interface between ET1100 and FPGA

        其工作原理為:當片選信號CS有效時,寫或者讀訪問開始。如果處于寫訪問,地址ADR和數(shù)據(jù)DATA隨著WR信號的下降沿而被置為有效值;寫訪問能通過WR信號或CS信號被置為無效。如果當前處于讀訪問時,地址ADR信號必須在RD信號的下降沿之前被置為有效值。讀出的數(shù)據(jù)會保持有效值直到ADR,RD或CS信號變化。

        2.2 EtherCAT MII接口

        ET1100可提供4個物理通信端口,每個端口都支持MII接口和EBUS接口。MII接口以工業(yè)以太網(wǎng)網(wǎng)線作為傳輸介質(zhì),可以與工控機直接相連,傳輸距離遠,可有效傳輸100 m[7]。文中采用雙MII接口,其ET1100和PHY芯片電路連接如圖3所示。

        圖3 ET1100與PHY芯片硬件接口Fig.3 Hardware interface between ET1100 and PHY chip

        2.3 PCI接口硬件設(shè)計

        外設(shè)組件互連標準PCI(peripheral component interconnection),是由Intel公司1991年推出的用于局部總線的標準。PCI總線具有即插即用、中斷共享、高速數(shù)據(jù)傳輸?shù)裙δ躘8]。其FPGA和PCI總線的電路連接如圖4所示。

        圖4 FPGA與PCI總線硬件接口Fig.4 Hardware interface between ET1100 and PCI bus

        PCI總線接口控制器設(shè)計中用到的信號,按照功能,可分為系統(tǒng)信號、地址數(shù)據(jù)信號、接口控制信號、錯誤報告信號和中斷信號[9]。系統(tǒng)信號包括CLK和RST信號,提供系統(tǒng)時鐘和系統(tǒng)復(fù)位信號。AD引腳為地址和數(shù)據(jù)的復(fù)用引腳。

        3 從站網(wǎng)卡軟件設(shè)計

        根據(jù)從站網(wǎng)卡設(shè)計框架,需要對微處理器FPGA進行模塊化、標準化的編程,其中包括對FPGA頂層模塊框架的結(jié)構(gòu)化設(shè)計,并根據(jù)邏輯操作需求設(shè)計合理的狀態(tài)機,提高設(shè)計的通用性[10]。

        3.1 FPGA頂層模塊框架

        在FPGA頂層模塊的設(shè)計中,首先設(shè)計接口模塊,使用FPGA提供的IP核構(gòu)造PCI總線,用于實現(xiàn)讀寫PCI數(shù)據(jù)的功能。

        在FPGA的程序開發(fā)中,由于PCI總線、PDI接口以及FPGA頂層狀態(tài)機處于3個不同的相互獨立的時鐘中,傳輸速率不匹配,會導致數(shù)據(jù)丟失的情況發(fā)生。為此引入異步FIFO技術(shù),用于存儲、緩沖多個異步時鐘之間的數(shù)據(jù)傳輸,實現(xiàn)不同時鐘系統(tǒng)之間快速準確地傳輸實時數(shù)據(jù)[11-12]。使用FPGA提供的IP核,構(gòu)造2個16位256雙字節(jié)大小的雙端口DPRAM模塊用于實現(xiàn)異步FIFO,分別取名為ET_RAM和PCI_RAM。ET_RAM用于存儲通過PDI接口從ET1100讀取到的數(shù)據(jù),PCI_RAM用于存儲通過PCI總線讀取到的數(shù)據(jù)。

        由于存在多個數(shù)據(jù)組合邏輯以及寄存器邏輯,在FPGA的頂層模塊中構(gòu)建有限狀態(tài)機實現(xiàn)預(yù)期的數(shù)據(jù)交互等邏輯操作。最終設(shè)計FPGA頂層模塊框架如圖5所示。

        圖5 FPGA頂層模塊設(shè)計框架Fig.5 FPGA top-level module design framework

        通過狀態(tài)機不同狀態(tài)遷移實現(xiàn)的邏輯操作如下:讀取PCI總線數(shù)據(jù)并寫入到PCI_RAM中,從PCI_RAM中獲取數(shù)據(jù)通過PDI接口輸出;讀取PDI接口數(shù)據(jù)并寫入到ET_RAM中,從ET_RAM獲取數(shù)據(jù)通過PCI總線接口輸出。

        3.2 FPGA狀態(tài)機

        狀態(tài)機是整個軟件設(shè)計中最核心的部分,各種控制、數(shù)據(jù)交換、命令都在狀態(tài)機的管理下進行[13]。狀態(tài)機一方面將存入FIFO數(shù)據(jù)結(jié)構(gòu)中的PCI輸入信號通過PDI接口發(fā)送出去,另一方面將讀取PDI接口的輸入信號存入FIFO,使應(yīng)用層用戶能夠順利的執(zhí)行讀寫操作,完成數(shù)據(jù)交互。狀態(tài)機通過設(shè)置數(shù)據(jù)長度,對多字節(jié)數(shù)據(jù)進行連續(xù)的讀寫操作,極大程度地提高讀寫效率。

        該狀態(tài)機共由13個狀態(tài)組成,采用異步復(fù)位方式,所有的狀態(tài)轉(zhuǎn)移都發(fā)生在時鐘上升沿。具體的控制流程如圖6所示。

        圖6 FPGA狀態(tài)機Fig.6 FPGA state machine

        4 測試驗證

        4.1 模塊功能性測試

        Altera公司Quartus 16.1軟件中的SignalTapII在線邏輯分析儀,可以在線監(jiān)視FPGA的數(shù)據(jù)引腳。Windriver是Jungo公司推出的一套設(shè)備驅(qū)動程序開發(fā)工具,可以對PCI總線進行配置和讀寫。Twin-CAT System Manager為倍福公司的總線配置工具,可以實現(xiàn)解析XML配置文件,管理從站狀態(tài),實現(xiàn)主從站之間數(shù)據(jù)的傳輸[14]。

        測試時,使用Windriver讀寫PCI總線數(shù)據(jù),使用TwinCAT與從站網(wǎng)卡設(shè)備進行數(shù)據(jù)通信,使用邏輯分析儀監(jiān)測FPGA狀態(tài)機與PCI和PDI模塊通信時是否正常運行。

        首先使用Windriver工具識別PCI設(shè)備,再由TwinCAT識別從站設(shè)備并使其進入OP狀態(tài)。使用Windriver向PCI設(shè)備的0xA00地址寫入數(shù)據(jù)0x12342345。FPGA頂層模塊獲取到PCI數(shù)據(jù)0x12342345后,根據(jù)地址寫入PCI_RAM。觀察邏輯分析儀,當FPGA狀態(tài)機進入PRE_WRITE1狀態(tài)后,從PCI_RAM中根據(jù)地址獲取到1個雙字節(jié)數(shù)據(jù)0x2345;接著WR和CS引腳被置低,數(shù)據(jù)0x2345通過PDI接口寫入ET1100中,WR和CS恢復(fù)高電平,寫操作結(jié)束。數(shù)據(jù)長度為16個雙字節(jié),故此處循環(huán)寫入16次。打開TwinCAT從站界面,正確讀取到從站0xA00地址輸出的數(shù)據(jù)0x12342345。

        接著使用TwinCAT工具對地址0x800輸入0x56786789。當FPGA狀態(tài)機進入PRE_READ1狀態(tài)時,RD和CS引腳被置低,通過PDI接口讀取到ET1100地址輸出0x800,輸出數(shù)據(jù)0x6789,將此時的數(shù)據(jù)和地址值存入ET_RAM中,接著RD和CS恢復(fù)高電平,寫操作結(jié)束。數(shù)據(jù)長度為16個雙字節(jié),此處循環(huán)讀取16次。頂層模塊會獲取ET_RAM相關(guān)數(shù)據(jù)并輸出到PCI總線中。在Windriver工具上正確讀取到0x800地址的數(shù)據(jù)值0x56786789,測試過程中FPGA狀態(tài)機邏輯分析儀讀寫階段的時序如圖7所示。觀察控制信號和數(shù)據(jù)信號變化,可以看出數(shù)據(jù)傳輸過程準確且快速。

        4.2 測試平臺搭建

        圖7 FPGA狀態(tài)機讀寫階段的時序Fig.7 Timing of FPGA state machine reading and writing phase

        為測試相機和工控機作為EtherCAT從站是否能正常工作,搭建了基于EtherCAT總線網(wǎng)絡(luò)的機械手流水線抓取系統(tǒng)。工業(yè)相機將抓取到的圖像數(shù)據(jù)通過千兆網(wǎng)卡傳輸?shù)焦た貦C端,經(jīng)過圖像處理得到機器人坐標值,再通過PCI總線傳輸?shù)綇恼揪W(wǎng)卡中,主站通過連接從站網(wǎng)卡和機器人驅(qū)動器,實現(xiàn)機器人對流水線目標物體的抓取。經(jīng)過試驗測試,主站能正常接收到從站網(wǎng)卡發(fā)送的坐標值并控制機器人抓取目標物體。

        在工控機上安裝Wireshark網(wǎng)絡(luò)數(shù)據(jù)包捕獲軟件,捕獲上述主從站通信過程中收發(fā)的EtherCAT數(shù)據(jù)幀并進行統(tǒng)計分析,數(shù)據(jù)幀發(fā)送到轉(zhuǎn)發(fā)的時間間隔為25 μs至幾μs之間。這個時間包括從站接收數(shù)據(jù)幀、從站處理數(shù)據(jù)幀、從站轉(zhuǎn)發(fā)數(shù)據(jù)幀的時間。可以看出該EtherCAT網(wǎng)絡(luò)的實時性能夠滿足設(shè)計需求。

        5 結(jié)語

        作為一種工業(yè)實時以太網(wǎng)技術(shù),EtherCAT因其高性能、高靈活性及完全開放性而引人注目。文中闡述了基于FPGA和PCI接口的EtherCAT從站網(wǎng)卡設(shè)計方案,并介紹了從站網(wǎng)卡軟硬件設(shè)計細節(jié),為開發(fā)從站設(shè)備提供了有力的參考。使用具有EtherCAT從站功能的FPGA板卡,通過PCI接口將工控機作為具有圖像采集及圖像處理功能的從站模塊接入EtherCAT總線系統(tǒng)中,構(gòu)建了一種工業(yè)相機和工控機融合的EtherCAT從站系統(tǒng)。該方案改變并拓寬了EtherCAT從站形式,通過試驗驗證了該設(shè)計從站能夠很好地工作。

        猜你喜歡
        狀態(tài)機工控機網(wǎng)卡
        在DDS 中間件上實現(xiàn)雙冗余網(wǎng)卡切換的方法
        定制工控機在老舊線路計算機聯(lián)鎖設(shè)備中的應(yīng)用
        基于有限狀態(tài)機的交會對接飛行任務(wù)規(guī)劃方法
        Server 2016網(wǎng)卡組合模式
        中壓電子束焊工控機Windows NT系統(tǒng)文件丟失故障的修復(fù)方法
        挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
        中國工控機市場新Style
        自動化博覽(2014年6期)2014-02-28 22:32:09
        新漢 前插拔CoreTM-i系列無風扇工控機
        自動化博覽(2014年4期)2014-02-28 22:31:15
        FPGA設(shè)計中狀態(tài)機安全性研究
        黑龍江科學(2011年2期)2011-03-14 00:39:36
        基于反熔絲FPGA的有限狀態(tài)機加固設(shè)計
        亚洲中文无码成人影院在线播放| 免费福利视频二区三区| 在线观看中文字幕一区二区三区 | 91美女片黄在线观看| 艳妇臀荡乳欲伦交换在线播放| 国产午夜精品一区二区三区| 骚小妹影院| 国产精品开放小视频| 亚洲精品理论电影在线观看| 娇柔白嫩呻吟人妻尤物| 婷婷成人亚洲综合国产| 国产剧情亚洲一区二区三区| 国产激情一区二区三区成人| 手机看片久久第一人妻| 又湿又紧又大又爽a视频国产| 欧美日韩一区二区三区在线观看视频 | 一出一进一爽一粗一大视频免费的| 亚洲综合无码| 久久久2019精品视频中文字幕| 日韩精品免费在线视频| 久久精品亚洲成在人线av| 国产三级精品av在线| 永久免费毛片在线播放| 成人毛片av免费| 欧美情侣性视频| 久久99精品久久久久久国产人妖| 亚洲国产日韩综一区二区在性色| 久久久精品国产亚洲av网| av黄色大片久久免费| 久久九九精品国产av| 77777_亚洲午夜久久多人| 丰满人妻熟妇乱又伦精品软件| 亚洲精品午睡沙发系列| 区二区三区玖玖玖| 国产精品天堂| av网址大全在线播放| 国产亚洲一本二本三道| h视频在线免费观看视频| 午夜视频在线观看视频在线播放 | 超碰日韩AV在线| 少妇高潮太爽了免费网站|